Continuing on with route reflectors, here is an example.
The specifics of the topology don’t matter too much. R0, R1, R3, and R6 are all in AS1 and happen to be sitting on the same LAN segment. R1 connects to R2 over a serial line, and R2 is in AS2. R3 is the route reflector, R1 and R6 are clients. R0 is outside the cluster.
Configs:
r0#sh run | begin router bgp router bgp 1 no synchronization bgp log-neighbor-changes neighbor 10.50.0.3 remote-as 1 no auto-summary r1#sh run | begin router bgp router bgp 1 bgp log-neighbor-changes neighbor 10.50.0.3 remote-as 1 neighbor 192.168.3.10 remote-as 2 r2#sh run | begin router bgp router bgp 2 bgp log-neighbor-changes network 10.2.2.0 mask 255.255.255.0 network 11.0.0.0 neighbor 192.168.3.9 remote-as 1 r3#sh run | begin router bgp router bgp 1 no synchronization bgp log-neighbor-changes network 10.3.3.0 mask 255.255.255.0 network 10.50.0.0 mask 255.255.0.0 neighbor 10.50.0.1 remote-as 1 neighbor 10.50.0.2 remote-as 1 neighbor 10.50.0.2 route-reflector-client neighbor 10.50.0.4 remote-as 1 neighbor 10.50.0.4 route-reflector-client r6#sh run | begin router bgp router bgp 1 no synchronization bgp log-neighbor-changes neighbor 10.50.0.3 remote-as 1 no auto-summary
Now, looking at the BGP entries for 11/8 which comes from R2.
From the route reflector itself:
r3#show ip bgp 11.0.0.0 BGP routing table entry for 11.0.0.0/8, version 6 Paths: (1 available, best #1, table Default-IP-Routing-Table) Advertised to non peer-group peers: 10.50.0.1 10.50.0.4 2, (Received from a RR-client) 192.168.3.10 (metric 74) from 10.50.0.2 (10.1.1.1) Origin IGP, metric 0, localpref 100, valid, internal, best
This says that we got the announcement from R1 (10.50.0.2), and are re-advertising it to 10.50.0.1 and 10.50.0.4. This is not normal iBGP behaviour, but since we’re a route-reflector, that’s ok. Look at the same prefix on r0, which is outside the cluster:
r0>show ip bgp 11.0.0.0 BGP routing table entry for 11.0.0.0/8, version 4 Paths: (1 available, best #1, table Default-IP-Routing-Table) Not advertised to any peer 2 192.168.3.10 (metric 74) from 10.50.0.3 (10.3.3.1) Origin IGP, metric 0, localpref 100, valid, internal, best Originator: 10.1.1.1, Cluster list: 10.3.3.1
We got it from 10.50.0.3, and see the Originator/Cluster List attributes have been added.
Looking from a client, the story is the same:
r6#show ip bgp 11.0.0.0 BGP routing table entry for 11.0.0.0/8, version 8 Paths: (1 available, best #1, table Default-IP-Routing-Table) Not advertised to any peer 2 192.168.3.10 (metric 74) from 10.50.0.3 (10.3.3.1) Origin IGP, metric 0, localpref 100, valid, internal, best Originator: 10.1.1.1, Cluster list: 10.3.3.1
So, we’ve reduced the number of iBGP sessions required by using route reflectors.
Content Copyright Sean Walberg
BGP Route Reflectors Example