BGP Route Reflector [Explained & Configuration]

Introduction:

According to the BGP Split Horizon rule, iBGP peers do not re-advertise routes that were learned from other iBGP peers. one of the workarounds is to design iBGP ASN in Full-mech topology, but the problem is that it doesn’t scale well.

you can check the Split horizon explanation from here:



Why do we need BGP Route Reflector

BGP requires that all iBGP peers have to be in a full-mesh topology. However, this requirement does not scale well when there are many iBGP peers. Instead of configuring a confederation, another way to reduce the iBGP mesh is to configure a route reflector.

With route reflectors, all iBGP peers don’t require a full mesh topology because there is a method to pass learned routes to neighbors. In this model, an iBGP peer is configured to be a route reflector responsible for passing iBGP learned routes to a set of iBGP neighbors.


BGP Route Reflector Configuration example:


The figure below illustrates a simple iBGP configuration with 4 iBGP speakers (Routers R1, R2, and R3 and R4) in the ASN 65001. With Route Reflector in place, when Router R2 receives a route from an external neighbor, it must advertise it to router R1 which is the Route Reflector.


The RR has formed an iBGP peer with all nodes in ASN 65001. So when a route comes to RR, it will be advertised to all Route Reflector Clients defined in the router R1 BGP configuration.




Routers Configurations:

R1 Configuration:

hostname R1

interface Ethernet0/0
 ip address 172.16.1.9 255.255.255.252
 half-duplex
!
interface Ethernet0/1
 ip address 172.16.1.1 255.255.255.252
 half-duplex
!
interface Ethernet0/2
 ip address 172.16.1.5 255.255.255.252
 half-duplex
!
router bgp 65001
 no synchronization
 bgp log-neighbor-changes
 network 172.16.1.0 mask 255.255.255.252
 network 172.16.1.4 mask 255.255.255.252
 network 172.16.1.8 mask 255.255.255.252
 neighbor 172.16.1.2 remote-as 65001
 neighbor 172.16.1.2 route-reflector-client
 neighbor 172.16.1.6 remote-as 65001
 neighbor 172.16.1.6 route-reflector-client
 neighbor 172.16.1.6 route-map CHANGE_NEXT_HOP1 out
 neighbor 172.16.1.10 remote-as 65001
 neighbor 172.16.1.10 route-reflector-client
 no auto-summary
!
route-map CHANGE_NEXT_HOP1 permit 10
 set ip next-hop 172.16.1.5



R2 Configuration:

hostname R2

interface Ethernet0/0
 ip address 172.16.1.2 255.255.255.252
 half-duplex
!
interface Ethernet0/1
 ip address 172.16.1.13 255.255.255.252
 half-duplex
!

router bgp 65001
 no synchronization
 bgp log-neighbor-changes
 neighbor 172.16.1.1 remote-as 65001
 neighbor 172.16.1.1 next-hop-self
 neighbor 172.16.1.14 remote-as 65002
 no auto-summary
!



R3 Configuration:

hostname R3
!
interface Ethernet0/0
 ip address 172.16.1.6 255.255.255.252
 half-duplex
!
router bgp 65001
 no synchronization
 bgp log-neighbor-changes
 neighbor 172.16.1.5 remote-as 65001
 no auto-summary



R4 Configuration:

hostname R4

interface Ethernet0/0
 ip address 172.16.1.10 255.255.255.252
 half-duplex
!
router bgp 65001
 no synchronization
 bgp log-neighbor-changes
 neighbor 172.16.1.9 remote-as 65001
 no auto-summary




R5 Configuration:

hostname R5
!
interface Loopback0
 ip address 5.5.5.5 255.255.255.255
!
interface Ethernet0/0
 ip address 172.16.1.14 255.255.255.252
 half-duplex
!
router bgp 65002
 no synchronization
 bgp log-neighbor-changes
 network 5.5.5.5 mask 255.255.255.255
 neighbor 172.16.1.13 remote-as 65001
 no auto-summary



Verifications:

R1:

R1#show ip bgp
BGP table version is 18, local router ID is 172.16.1.9
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*>i5.5.5.5/32       172.16.1.2               0    100      0 65002 i
*> 172.16.1.0/30    0.0.0.0                  0         32768 i
*> 172.16.1.4/30    0.0.0.0                  0         32768 i
*> 172.16.1.8/30    0.0.0.0                  0         32768 i
R1#show ip route
Codes: 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

Gateway of last resort is not set

     5.0.0.0/32 is subnetted, 1 subnets
B       5.5.5.5 [200/0] via 172.16.1.2, 01:52:02
     172.16.0.0/30 is subnetted, 3 subnets
C       172.16.1.8 is directly connected, Ethernet0/0
C       172.16.1.4 is directly connected, Ethernet0/2
C       172.16.1.0 is directly connected, Ethernet0/1
R1#



R3:

R3#show ip bgp
BGP table version is 10, local router ID is 172.16.1.6
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*>i5.5.5.5/32       172.16.1.5               0    100      0 65002 i
*>i172.16.1.0/30    172.16.1.5               0    100      0 i
r>i172.16.1.4/30    172.16.1.5               0    100      0 i
*>i172.16.1.8/30    172.16.1.5               0    100      0 i
R3#show ip ro
R3#show ip route
Codes: 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

Gateway of last resort is not set

     5.0.0.0/32 is subnetted, 1 subnets
B       5.5.5.5 [200/0] via 172.16.1.5, 00:22:54
     172.16.0.0/30 is subnetted, 3 subnets
B       172.16.1.8 [200/0] via 172.16.1.5, 00:47:08
C       172.16.1.4 is directly connected, Ethernet0/0
B       172.16.1.0 [200/0] via 172.16.1.5, 00:47:02
R3#ping 5.5.5.5

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 5.5.5.5, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 88/130/172 ms
R3#



R5:

R5#show ip bgp
BGP table version is 5, local router ID is 172.16.1.14
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 5.5.5.5/32       0.0.0.0                  0         32768 i
*> 172.16.1.0/30    172.16.1.13                            0 65001 i
*> 172.16.1.4/30    172.16.1.13                            0 65001 i
*> 172.16.1.8/30    172.16.1.13                            0 65001 i
R5#show ip ro
R5#show ip route
Codes: 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

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
     172.16.0.0/30 is subnetted, 4 subnets
C       172.16.1.12 is directly connected, Ethernet0/0
B       172.16.1.8 [20/0] via 172.16.1.13, 00:45:52
B       172.16.1.4 [20/0] via 172.16.1.13, 00:46:22
B       172.16.1.0 [20/0] via 172.16.1.13, 00:45:52
R5#
bilel949401

bilel949401

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
Learn Duty
0
Would love your thoughts, please comment.x
()
x