Notes:
- In the simplest of route-reflection designs, a central peering point is chosen for all devices in the iBGP domain, and all peers of this device are defined as clients
- BGP route reflectors, as defined in RFC 2796, are used in large-scale iBGP deployments to reduce the need for [n*(n-1)/2] fully meshed peerings
The route reflector can have three type of peerings:
- EBGP neighbor
- IBGP client neighbor
- BGP non-client neighbor
When a route reflector forwards a route, there are a couple of rules:
1. A route learned from an EBGP neighbor can be forwarded to another EBGP neighbor, a client and non-client.
2. A route learned from a client can be forwarded to another EBGP neighbor, client and non-client.
3. A route learned from a non client can be forwarded to another EBGP neighbor and client, but not to a non-client.
TOPOLOGY:
CONFIGURATIONS:
RR-Client1 BGP Configurations:
router bgp 1
no synchronization
bgp log-neighbor-changes
network 10.10.10.10 mask 255.255.255.255
neighbor 192.168.12.2 remote-as 1
no auto-summary
RR BGP Configurations:
router bgp 1
no synchronization
bgp log-neighbor-changes
network 192.168.12.0
network 192.168.23.0
neighbor 192.168.12.1 remote-as 1
neighbor 192.168.12.1 route-reflector-client
neighbor 192.168.23.3 remote-as 1
neighbor 192.168.23.3 route-reflector-client
no auto-summary
RR-Client2 BGP Configurations:
router bgp 1
no synchronization
bgp log-neighbor-changes
neighbor 192.168.12.2 remote-as 1
neighbor 192.168.23.2 remote-as 1
neighbor 192.168.23.2 route-reflector-client
no auto-summary
Verifications
RR-Client1#show ip route
Codes: L – local, C – connected, S – static, R – RIP, M – mobile, B – BGP
D – EIGRP, EX – EIGRP external, O – OSPF, IA – OSPF inter area
N1 – OSPF NSSA external type 1, N2 – OSPF NSSA external type 2
E1 – OSPF external type 1, E2 – OSPF external type 2
i – IS-IS, su – IS-IS summary, L1 – IS-IS level-1, L2 – IS-IS level-2
ia – IS-IS inter area, * – candidate default, U – per-user static route
o – ODR, P – periodic downloaded static route, + – replicated route
Gateway of last resort is not set
10.0.0.0/32 is subnetted, 1 subnets
C 10.10.10.10 is directly connected, Loopback0
192.168.12.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.12.0/24 is directly connected, Serial4/0
L 192.168.12.1/32 is directly connected, Serial4/0
B 192.168.23.0/24 [200/0] via 192.168.12.2, 00:45:32
RR-Client1#show ip bgp summary
BGP router identifier 10.10.10.10, local AS number 1
BGP table version is 5, main routing table version 5
3 network entries using 360 bytes of memory
3 path entries using 156 bytes of memory
2/2 BGP path/bestpath attribute entries using 248 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 764 total bytes of memory
BGP activity 3/0 prefixes, 3/0 paths, scan interval 60 secs
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
192.168.12.2 4 1 65 63 5 0 0 00:53:30 2
RR-Client1#show ip bgp 10.10.10.10
BGP routing table entry for 10.10.10.10/32, version 2
Paths: (1 available, best #1, table default)
Advertised to update-groups:
2
Local
0.0.0.0 from 0.0.0.0 (10.10.10.10)
Origin IGP, metric 0, localpref 100, weight 32768, valid, sourced, local, best
RR-Client1#
Take away from RR – Route Reflector client:
- If a route-reflector sees a prefix that is coming from a Route-Reflector Client, they are tagged internally as being received from a client peer and can be advertise to other route-reflector peers.
RR#show ip bgp 10.10.10.10
BGP routing table entry for 10.10.10.10/32, version 2
Paths: (1 available, best #1, table default)
Advertised to update-groups:
3
Local, (Received from a RR-client)
192.168.12.1 from 192.168.12.1 (10.10.10.10)
Origin IGP, metric 0, localpref 100, valid, internal, best
- When a route is advertised, or “reflected,” from the route reflector to a client or non-client, BGP attributes such as the next-hop value are not updated:
RR#show ip bgp neighbors 192.168.23.3 advertised-routes
BGP table version is 4, local router ID is 22.22.22.22
Status codes: s suppressed, d damped, h history, * valid, > best, i – internal,
r RIB-failure, S Stale
Origin codes: i – IGP, e – EGP, ? – incomplete
Originating default network 0.0.0.0
Network Next Hop Metric LocPrf Weight Path
*>i10.10.10.10/32 192.168.12.1 0 100 0 i
*> 192.168.12.0 0.0.0.0 0 32768 i
*> 192.168.23.0 0.0.0.0 0 32768 i
Total number of prefixes 3
RR#
Take away from Route-Reflector Client2:
- RR-Client2 will also introduce another attribute called Originator which is the source of the prefix that is advertise. The Originator ID, is set by the route reflector as the BGP router-id of the neighbor from which it learned the prefix. If router-ID is not configured, it will select the highest loopback address.
- When any BGP speaker learns a route from an iBGP neighbor, and the Originator ID matches their own local router-id/loopback the route is discarded. This is why it is essential that the BGP router-id value be unique throughout the entire routing domain, just like in OSPF and EIGRP. This is BGP split horizon concepts. The IBGP split horizon rule was created to prevent loops, since our route reflector violates this rule we have to think of a new rule for loop prevention.
- RR-Client2 will introduce an attribute called Cluster list which will be the highest Loopback interface of Route-reflector Client.
- The Cluster List, contains the Cluster-IDs of the route reflectors that the route transited through in the network. Unless the bgp cluster-id command is manually configured under the BGP routing process, the value defaults to the router-id of the route reflector. If no router-id configured, it will used the highest loopback address.
RR-Client2#show ip bgp 10.10.10.10
BGP routing table entry for 10.10.10.10/32, version 17
Paths: (1 available, no best path)
Not advertised to any peer
Local
192.168.12.1 (inaccessible) from 192.168.23.2 (100.100.100.100)
Origin IGP, metric 0, localpref 100, valid, internal
Originator: 10.10.10.10, Cluster list: 100.100.100.100
RR-Client2#
RR-Client2#ping 10.10.10.10
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.10.10.10, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 20/28/44 ms
RR-Client2#

Leave a comment