|
Overview:
Normally in IBGP, a full mesh of BGP relationships is required (because of the BGP split horizon rule). A BGP router will not advertise a route learned via another IBGP router to a third IBGP router. By relaxing this restriction and by providing additional control, we can allow a router to advertise (reflect) IBGP learned routes to other IBGP routers. This will reduce the number of IBGP peers within an AS.
Here we are demonstrating how few relationships can be configured in a given topology. If we were not using route reflectors AS 1 will have needed: 6(6-1)/2 = 15 neighbor relationships. Now have only got 7 with full redundancy
Our Diagram:
Physical Topology

BGP Topology

================================================ R1 Config: ================================================
router bgp 2 no synchronization bgp router-id 1.1.1.1 network 1.1.1.1 mask 255.255.255.255 network 10.1.1.1 mask 255.255.255.0 network 10.1.9.0 mask 255.255.255.0 network 11.1.1.1 mask 255.255.255.255 neighbor 2.2.2.2 remote-as 1 neighbor 2.2.2.2 ebgp-multihop 255 neighbor 2.2.2.2 update-source Loopback0 neighbor 6.6.6.6 remote-as 1 neighbor 6.6.6.6 ebgp-multihop 255 neighbor 6.6.6.6 update-source Loopback0 no auto-summary ! ip classless ip route 2.2.2.2 255.255.255.255 10.1.1.2 ip route 6.6.6.6 255.255.255.255 10.1.9.2 no ip http server ! ================================================ R2 Config: ================================================
router ospf 1 router-id 2.2.2.2 network 2.2.2.2 0.0.0.0 area 0 network 10.0.0.0 0.255.255.255 area 0 ! router bgp 1 no synchronization bgp router-id 2.2.2.2 network 2.2.2.2 mask 255.255.255.255 network 10.1.2.0 mask 255.255.255.0 network 10.1.4.0 mask 255.255.255.0 network 10.1.5.0 mask 255.255.255.0 neighbor 1.1.1.1 remote-as 2 neighbor 1.1.1.1 ebgp-multihop 255 neighbor 1.1.1.1 update-source Loopback0 neighbor 3.3.3.3 remote-as 1 neighbor 3.3.3.3 update-source Loopback0 neighbor 3.3.3.3 next-hop-self neighbor 4.4.4.4 remote-as 1 neighbor 4.4.4.4 update-source Loopback0 neighbor 4.4.4.4 route-reflector-client neighbor 4.4.4.4 next-hop-self neighbor 5.5.5.5 remote-as 1 neighbor 5.5.5.5 update-source Loopback0 neighbor 5.5.5.5 route-reflector-client neighbor 5.5.5.5 next-hop-self neighbor 6.6.6.6 remote-as 1 neighbor 6.6.6.6 update-source Loopback0 neighbor 6.6.6.6 next-hop-self no auto-summary ! ip classless ip route 1.1.1.1 255.255.255.255 10.1.1.1 no ip http server ip bgp-community new-format
================================================ R3 Config: ================================================
router ospf 1 router-id 3.3.3.3 network 3.3.3.3 0.0.0.0 area 0 network 10.0.0.0 0.255.255.255 area 0 ! router bgp 1 no synchronization bgp router-id 3.3.3.3 network 3.3.3.3 mask 255.255.255.255 network 10.1.4.0 mask 255.255.255.0 network 10.1.6.0 mask 255.255.255.0 network 10.1.8.0 mask 255.255.255.0 neighbor 2.2.2.2 remote-as 1 neighbor 2.2.2.2 update-source Loopback0 neighbor 4.4.4.4 remote-as 1 neighbor 4.4.4.4 update-source Loopback0 neighbor 4.4.4.4 route-reflector-client neighbor 4.4.4.4 next-hop-self neighbor 5.5.5.5 remote-as 1 neighbor 5.5.5.5 update-source Loopback0 neighbor 5.5.5.5 route-reflector-client neighbor 5.5.5.5 next-hop-self neighbor 6.6.6.6 remote-as 1 neighbor 6.6.6.6 update-source Loopback0 no auto-summary
================================================ R4 Config: ================================================
router ospf 1 router-id 4.4.4.4 network 4.4.4.4 0.0.0.0 area 0 network 10.0.0.0 0.255.255.255 area 0 ! router bgp 1 no synchronization bgp router-id 4.4.4.4 network 4.4.4.4 mask 255.255.255.255 network 10.1.5.0 mask 255.255.255.0 network 10.1.7.0 mask 255.255.255.0 neighbor 2.2.2.2 remote-as 1 neighbor 2.2.2.2 update-source Loopback0 neighbor 3.3.3.3 remote-as 1 neighbor 3.3.3.3 update-source Loopback0 neighbor 3.3.3.3 route-map setnexthop in no auto-summary
================================================ R5 Config: ================================================
router ospf 1 router-id 5.5.5.5 network 5.5.5.5 0.0.0.0 area 0 network 10.0.0.0 0.255.255.255 area 0 ! router bgp 1 no synchronization bgp router-id 5.5.5.5 network 5.5.5.5 mask 255.255.255.255 network 10.1.6.0 mask 255.255.255.0 network 10.1.7.0 mask 255.255.255.0 neighbor 2.2.2.2 remote-as 1 neighbor 2.2.2.2 update-source Loopback0 neighbor 3.3.3.3 remote-as 1 neighbor 3.3.3.3 update-source Loopback0 no auto-summary
================================================ R6 Config: ================================================
router bgp 1 no synchronization bgp router-id 6.6.6.6 network 6.6.6.6 mask 255.255.255.255 network 10.1.2.0 mask 255.255.255.0 network 10.1.3.0 mask 255.255.255.0 network 10.1.9.0 mask 255.255.255.0 neighbor 1.1.1.1 remote-as 2 neighbor 1.1.1.1 ebgp-multihop 255 neighbor 1.1.1.1 update-source Loopback0 neighbor 2.2.2.2 remote-as 1 neighbor 2.2.2.2 update-source Loopback0 neighbor 2.2.2.2 route-reflector-client neighbor 2.2.2.2 next-hop-self neighbor 3.3.3.3 remote-as 1 neighbor 3.3.3.3 update-source Loopback0 neighbor 3.3.3.3 route-reflector-client neighbor 3.3.3.3 next-hop-self neighbor 7.7.7.7 remote-as 1 neighbor 7.7.7.7 update-source Loopback0 neighbor 7.7.7.7 route-reflector-client neighbor 7.7.7.7 next-hop-self no auto-summary
================================================ R7 Config: ================================================
router ospf 1 network 7.7.7.7 0.0.0.0 area 0 network 10.0.0.0 0.255.255.255 area 0 ! router bgp 1 no synchronization network 7.7.7.7 mask 255.255.255.255 network 10.1.3.0 mask 255.255.255.0 network 10.1.8.0 mask 255.255.255.0 neighbor 6.6.6.6 remote-as 1 neighbor 6.6.6.6 update-source Loopback0 no auto-summary
================================================ R1 Output: ================================================

================================================ R2 Output: ================================================

================================================ R3 Output: ================================================

================================================ R4 Output: ================================================

================================================ R5 Output: ================================================

================================================ R6 Output: ================================================

*********************************************************************************************
TO PROVE REDUNDANCY:
*********************************************************************************************
================================================ R4 Output: ================================================

================================================ Kill link between R5 and R3 (10.1.6.0 network) ================================================
Link up:

Link down:

Lost only one ping!!!

================================================ Kill link between R2 and R1 (network 10.1.1.0) ================================================
Start ping:

Kill link:

Lost two pings:

Trace:

================================================ Kill link between R1 and R2 , between R7 and R6 ================================================
Start ping:

Kill links:
Kill link on R1

Kill link on R7

Ping:

Therefore lost 36 pings = +- 1 min

|