I recently learnt that Route reflectors are an efficient alternative to full mesh IBGP peering in a large AS. Imagine a network like: D1 - AS1 <e> R_P <i> RR <i> R_Q <e> AS3 - D3

  • D1 and D3 are public networks known to AS1 and AS3.
  • R_P, RR and R_Q are from AS2. RR is a route reflector.
  • <e> eBGP peering
  • <i> iBGP peering

When R_P advertises D1 (learnt via eBGP) to RR which in turn advertises it to R_Q, the next hop for D1 will be R_P (assume it has next-hop-self configured). So, when R_Q needs to route traffic destined for D1, it will have to do a recursive route lookup for R_P (the next hop for that route). This is not possible without an IGP/static route right ?

  • 2
    Cisco has a workaround by setting the next hop as the route reflector. That works fine for your scenario where the traffic must pass through the route reflector anyway. It can get more complicated in situations where there are other paths to the real next hop, and you should use an IGP in those cases, otherwise it can get messy to get it properly configured.
    – Ron Maupin
    Sep 23, 2021 at 20:30
  • Oh.. thanks for that info. So, it seems an IGP is a better option compared to the cisco specific setting, since it helps cover both scenarios.
    – Jayanth
    Sep 24, 2021 at 11:30
  • 1
    Did any answer help you? if so, you should accept the answer so that the question does not keep popping up forever, looking for an answer. Alternatively, you could post and accept your own answer.
    – Ron Maupin
    Dec 23, 2021 at 22:13

2 Answers 2


BGP generally assumes that AS is running an IGP, to interconnect its routers.

When R_Q receives a route that goes through R_P, it will have to lookup a route to R_P route through IGP as a part of BGP route calculation

  • if R_Q cannot find a route to R_P it ignores the route
  • at some time in BGP decision process, the IGP metric for the route is taken into account. E.g., if there are two routers connected to AS1 R_P1 and R_P2 both of which advertise route to D1, R_Q will prefer one of them based on IGP cost of paths P_Q - P_P1 and P_Q - P_P2. (see BGP decision process here)
  • if at some point IGP route fails or IGP metric changes, BGP needs to "re-do" its consideration for the received route (see sec 9.1.2 of rfc4271)
  • in order to install entry in a forwarding table, R_Q needs to select its next hop on the route to R_P which is resolved through IGP. (same section)

Note: in full mesh BGP routers are not directly connected. IGP is needed to route packets from one router to the other, irrespective of whether route reflectors are used or not.

Note: packets are routed inside AS with IGP. Route D1 needs to be somehow disseminated inside IGP as well.

  • 2
    I haven't read the book, but i do not quite understand how these two issues are related. If a host inside AS2 connected to say router R_X wants to send a packet to D1, how would R_X know where to send packet, route reflectors or no route reflectors. Or if R_Q receives a packet towards D1. It does need to somehow send this packet through the whole AS to R_P. Without tunnels of any sort, every router on the path needs to know that D1 is routed towards R_P.
    – Effie
    Sep 24, 2021 at 12:03
  • Ok. Agreed. If there is an intermediate IGP hop, it still needs to have a route for D1/D2.
    – Jayanth
    Sep 24, 2021 at 14:19

BGP will not install a route to routing table unless its next-hop adress is reachable. This reachability can be achieved however you like. Maybe even using BGP itself to advertise this next-hop👀....but its probably a bad idea (since you don't want these addresses to be reachable from other ASes). Note that RR doesn't have to be in the path to reach the route - RR can even be a software package located on a some VM on some server that handles many other services.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.