Route Reflection Myth

A co-worker and I were recently talking about the use of Route Reflectors (RR). He mentioned reading about that when you designate a Route Reflector client, it turns the RR server service on for the router, and whether designated or not, all iBGP peers would become RR clients. I could have sworn I had done a lab and forgotten to assign an iBGP neighbor as a RR client, and the expected routes were not showing up (until I properly set the router up as a RR client). Since I already had a CCNP class on deck, I decided this could easily be decided by a quick lab.

I set up the above scenario to test the hypothesis. R2 is a RR server for R3 and R4. R1 and R5 are both iBGP peers with R2. R1 has advertised its loopback interface (1.1.1.1/32) into BGP via a network statement.

I pulled the following rules from wikipedia:

RR servers propagate routes inside the AS based on the following rules:

  • If a route is received from nonclient peer, reflect to clients only.
  • If a route is received from a client peer, reflect to all nonclient peers and also to client peers, except the originator of the route.
  • If a route is received from an EBGP peer, reflect to all client and nonclient peers.

Based on the above rules, R2 received the 1.1.1.1/32 route from a nonclient peer and should reflect to its clients (R3, R4). Because R5 is a nonclient, it should not receive the route. This scenario should prove whether enabling a single RR client enables all iBGP peers as RR clients, or not.

The results supported my previous lab experience, that RR clients must be individually configured. I’ve included the pertinent configs from all of the routers, and the routing tables from R3 (showing the reflected route) and R5 (lacking the reflected route). Please keep in mind these configurations were generated to validate a hypothesis and are not reflective of best practices.


———————————————–
hostname R1
!
interface Loopback0
 ip address 1.1.1.1 255.255.255.255
!
interface FastEthernet0/0
 ip address 192.168.1.0 255.255.255.254
 duplex auto
 speed auto
!
router ospf 1
 router-id 0.0.0.1
 log-adjacency-changes
 network 192.168.1.0 0.0.0.255 area 0
!
router bgp 1
 no synchronization
 bgp log-neighbor-changes
 network 1.1.1.1 mask 255.255.255.255
 neighbor 192.168.1.1 remote-as 1
 no auto-summary
!  
———————————————–
hostname R2
!
interface Loopback0
 ip address 2.2.2.2 255.255.255.255
!
interface FastEthernet0/0
 ip address 192.168.1.1 255.255.255.254
 duplex auto
 speed auto
!
interface Serial0/0
 ip address 192.168.1.4 255.255.255.254
 clock rate 2000000
!
interface FastEthernet0/1
 ip address 192.168.1.2 255.255.255.254
 duplex auto
 speed auto
!
interface Serial0/1
 ip address 192.168.1.6 255.255.255.254
 clock rate 2000000
!
router ospf 1
 router-id 0.0.0.2
 log-adjacency-changes
 network 192.168.1.0 0.0.0.255 area 0
!
router bgp 1
 no synchronization
 bgp log-neighbor-changes
 neighbor 192.168.1.0 remote-as 1
 neighbor 192.168.1.3 remote-as 1
 neighbor 192.168.1.5 remote-as 1
 neighbor 192.168.1.5 route-reflector-client
 neighbor 192.168.1.7 remote-as 1
 neighbor 192.168.1.7 route-reflector-client
 no auto-summary
! 
———————————————–
hostname R3
!
interface Serial0/0
 ip address 192.168.1.5 255.255.255.254
 clock rate 2000000
!
router ospf 1
 router-id 0.0.0.3
 log-adjacency-changes
 network 192.168.1.0 0.0.0.255 area 0
!
router bgp 1
 no synchronization
 bgp log-neighbor-changes
 neighbor 192.168.1.4 remote-as 1
 no auto-summary
!
———————————————–
hostname R4
!
interface Serial0/1
 ip address 192.168.1.7 255.255.255.254
 clock rate 2000000
!
router ospf 1
 router-id 0.0.0.4
 log-adjacency-changes
 network 192.168.1.0 0.0.0.255 area 0
!
router bgp 1
 no synchronization
 bgp log-neighbor-changes
 neighbor 192.168.1.6 remote-as 1
 no auto-summary
!
———————————————–
hostname R5
!
interface Loopback0
 ip address 5.5.5.5 255.255.255.255
!
interface FastEthernet0/1
 ip address 192.168.1.3 255.255.255.254
 duplex auto
 speed auto
!
router ospf 1
 router-id 0.0.0.5
 log-adjacency-changes
 network 192.168.1.0 0.0.0.255 area 0
!
router bgp 1
 no synchronization
 bgp log-neighbor-changes
 neighbor 192.168.1.2 remote-as 1
 no auto-summary
!
———————————————–
R5#show ip route

Gateway of last resort is not set

     5.0.0.0/32 is subnetted, 1 subnets
C       5.5.5.5 is directly connected, Loopback0
     192.168.1.0/31 is subnetted, 4 subnets
O       192.168.1.0 [110/20] via 192.168.1.2, 02:14:27, FastEthernet0/1
C       192.168.1.2 is directly connected, FastEthernet0/1
O       192.168.1.4 [110/74] via 192.168.1.2, 02:13:31, FastEthernet0/1
O       192.168.1.6 [110/74] via 192.168.1.2, 02:13:21, FastEthernet0/1
———————————————–
R3#show ip route

Gateway of last resort is not set

     1.0.0.0/32 is subnetted, 1 subnets
B       1.1.1.1 [200/0] via 192.168.1.0, 02:06:36
     192.168.1.0/31 is subnetted, 4 subnets
O       192.168.1.0 [110/74] via 192.168.1.4, 02:13:17, Serial0/0
O       192.168.1.2 [110/74] via 192.168.1.4, 02:13:17, Serial0/0
C       192.168.1.4 is directly connected, Serial0/0
O       192.168.1.6 [110/128] via 192.168.1.4, 02:13:17, Serial0/0

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.