BGP Route Reflector
A BGP Route Reflector (RR) is a solution used in iBGP (Internal BGP) environments to reduce the number of iBGP peerings required in a large autonomous system (AS). It addresses the iBGP full mesh requirement, which can become impractical as the number of routers increases.
Why is a BGP Route Reflector used?
In a standard iBGP setup:
- iBGP does not advertise routes learned from one iBGP peer to another iBGP peer (to prevent routing loops).
- This requires a full mesh of iBGP sessions between all iBGP routers, which scales poorly (N*(N–1)/2 sessions for N routers).
To overcome this, we use a Route Reflector, which reflects iBGP-learned routes to other iBGP routers.
Mechanism of BGP Route Reflector
In a Route Reflector (RR) setup:
- The RR client peers with the RR.
- The RR peers with other RR clients and optionally other non-clients or RRs.
- The RR breaks the full-mesh requirement by reflecting iBGP routes from:
- Client → Client
- Client → Non-client
- Non-client → Client (if configured)
Route Advertisement Rules:
| Source of Route | RR Advertisement To |
|---|---|
| eBGP | All clients and non-clients |
| RR Client | All other clients + non-clients |
| Non-client iBGP | Only to RR clients |
Key Advantages
- Scalability: Reduces the number of iBGP peerings drastically.
- Simplified Design: Especially in large AS with many iBGP routers.
- Hierarchy: Multiple RRs can be deployed in a hierarchical manner to further scale.
onfiguration on Cisco CSR Router (IOS XE)
Let’s say:

- R1 is the Route Reflector
- R2 and R3 are its RR clients
Step-by-step:
router bgp 65000
bgp router-id 1.1.1.1
bgp log-neighbor-changes
neighbor 10.0.0.2 remote-as 65000
neighbor 10.0.0.2 update-source Loopback0
neighbor 10.0.0.2 route-reflector-client
neighbor 10.0.0.3 remote-as 65000
neighbor 10.0.0.3 update-source Loopback0
neighbor 10.0.0.3 route-reflector-client
🔹
route-reflector-clientcommand tells the router to reflect routes between the clients.
On R2 and R3 (the clients), normal iBGP config:
bashCopyEditrouter bgp 65000
bgp router-id 2.2.2.2
bgp log-neighbor-changes
neighbor 10.0.0.1 remote-as 65000
neighbor 10.0.0.1 update-source Loopback0
Best Practices
- Use loopback interfaces and iBGP peering over loopbacks with
update-source. - Deploy redundant RRs for high availability.
- Avoid overloading a single RR with too many clients.
- Consider cluster-id to identify RR clusters and avoid loops between RRs.
Summary
| Feature | Explanation |
|---|---|
| Purpose | Reduce iBGP full mesh |
| Mechanism | Reflect routes between iBGP clients |
| Key Role | Reflector breaks iBGP loop-prevention restriction |
| Configuration | route-reflector-client in BGP |
| Cisco Support | Fully supported on Cisco CSR routers (IOS XE) |
Q&A list on BGP Route Reflector (RR) — Question can be asked in interviews and exams, ranging from beginner to expert levels.
Q1: What is a BGP Route Reflector?
A: A BGP Route Reflector (RR) is a router within an iBGP autonomous system that allows iBGP routes to be advertised between other iBGP routers (clients), helping to eliminate the full-mesh iBGP requirement.
Q2: Why is a Route Reflector needed in iBGP?
A: Because iBGP does not forward routes learned from one iBGP peer to another, a full mesh of iBGP peers is required. Route Reflectors solve this scalability issue by reflecting routes between clients.
Q3: What is a Route Reflector Client?
A: An RR client is a BGP peer configured under the Route Reflector to receive reflected iBGP routes. The RR treats it differently from regular peers and forwards iBGP routes learned from one client to another.
Q4: What is the basic rule of route advertisement in iBGP with Route Reflectors?
A: A Route Reflector can send:
- Routes learned from a client → to other clients and non-clients
- Routes from a non-client → to clients
- Routes from eBGP → to everyone (clients and non-clients)
Q5: Can RR clients still have full mesh between them?
A: Yes, RR clients can be fully meshed, but it’s optional. The purpose of RR is to eliminate the need for such mesh.
Q6: What are the benefits of using Route Reflectors?
A:
- Reduces iBGP session complexity
- Easier to scale iBGP networks
- Logical hierarchy possible for BGP control plane
Q7: Can one router act as both RR and client?
A: No, a router can either be a Route Reflector or a client in a particular BGP relationship — not both in the same session.
Q8: What is suboptimal routing in RR topology?
A: If traffic paths are chosen based on control plane (RR reflection) rather than data plane optimization, packets may take longer or inefficient paths.
Q9: What are the drawbacks of a single RR design?
A:
- Single point of failure
- Control plane bottleneck
- No redundancy
- Might not reflect all best paths in complex topologies
Q10: What is the role of route-reflector-client in Cisco IOS configuration?
A: It designates a BGP neighbor as a client. This allows the router to reflect routes learned from this client to other clients and non-clients.
Example:
neighbor 10.1.1.2 route-reflector-client
Q11: Is it recommended to configure route policies (prefix lists, route-maps) on Route Reflectors?
A: It can be done but should be used cautiously. Improper filters on RR can cause incomplete route visibility across the AS.
Q12: What is BGP Add-Path and how does it relate to RR?
A: Add-Path allows a BGP speaker to advertise multiple paths for the same prefix. It helps RR provide better path diversity to clients instead of just one best path.