Friday, 7 December 2018

BGP Route Reflectors (RR)




Route reflectors (RR) are one of the methods to get rid of the full-mesh of IBGP peers in your network. The route reflector allows all IBGP speakers within your autonomous system to learn about the available routes without creating loops.

There are three types of peering in route reflector:


  1. EBGP neighbor
  2. IBGP client neighbor
  3. IBGP non-client neighbor

When we configure a route reflector (RR), we have to tell the router the other IBGP router is a client or non-client. A  IBGP client is an IBGP router that the route reflector will “reflect” routes to, the non-client is just a regular IBGP neighbor.


When a route reflector forwards a route updates, there are a few rules that must follow:

  • A route learned from an EBGP neighbor can be forwarded to another EBGP neighbor, a client and non-client.
  • A route learned from a client can be forwarded to another EBGP neighbor, client and non-client.
  • A route learned from a non-client can be forwarded to another EBGP neighbor and client, but not to a non-client.




In other words: Route Reflector-RR to advertise route received from an iBGP peers to other iBGP peers. All the valid client update server Route Reflector-RR and server update to all the valid clients.
Each client only establish neighbor relationship with servers, client are not allow to establish neighbor with other clients. Route Reflector (servers) establish neighbor relationship with other servers (if you have more the one servers) and clients.


I hope now you have an idea what is route reflector, so let see the configuration:







Route-Reflector Configuration:-

Topology:

Goal:
  • configure the topology as per our diagram.
  • configure EIGRP 65100 to provide connectivity between peers 
  • advertise all the directly connected interfaces
  • configure BGP AS 65100 as per our diagram using loopbacks.
  • configure router 5 as Route-Reflector server and rest of the routers will play client role.




R1#show ip interface brief

Interface              IP-Address      OK? Method Status                Protocol
FastEthernet0/0        10.1.1.1        YES manual up                    up
Serial3/0                    1.1.1.1         YES manual up                    up
Serial3/3                    4.1.1.2         YES manual up                    up
Serial3/6                 15.1.1.1        YES manual up                    up
Loopback0              11.0.0.1        YES manual up                    up
Loopback1              11.0.1.1        YES manual up                    up
Loopback2              11.0.2.1        YES manual up                    up
Loopback3              11.0.3.1        YES manual up                    up
R2#show ip interface brief
Interface              IP-Address      OK? Method Status                Protocol
FastEthernet0/0        20.1.1.1        YES manual up                    up
Serial3/0                     1.1.1.2         YES manual up                    up
Serial3/1                     2.1.1.1         YES manual up                    up
Serial3/4                  25.1.1.1        YES manual up                    up
Loopback0              12.0.0.1        YES manual up                    up
Loopback1              12.0.1.1        YES manual up                    up
Loopback2              12.0.2.1        YES manual up                    up
Loopback3              12.0.3.1        YES manual up                    up



R3#show ip interface brief
Interface              IP-Address      OK? Method Status                Protocol
FastEthernet0/0        30.1.1.1        YES manual up                    up
Serial3/1                    2.1.1.2         YES manual up                    up
Serial3/2                    3.1.1.1         YES manual up                    up
Serial3/5                  35.1.1.1        YES manual up                    up
Loopback0              13.0.0.1        YES manual up                    up
Loopback1              13.0.1.1        YES manual up                    up
Loopback2              13.0.2.1        YES manual up                    up
Loopback3              13.0.3.1        YES manual up                    up



R4#show ip interface brief
Interface              IP-Address      OK? Method Status                Protocol
FastEthernet0/0        40.1.1.1        YES manual up                    up
Serial3/2                    3.1.1.2         YES manual up                    up
Serial3/3                    4.1.1.1         YES manual up                    up
Serial3/7                  45.1.1.1        YES manual up                    up
Loopback0              14.0.0.1        YES manual up                    up
Loopback1              14.0.1.1        YES manual up                    up
Loopback2              14.0.2.1        YES manual up                    up
Loopback3              14.0.3.1        YES manual up                    up



R5#show ip interface brief
Interface              IP-Address      OK? Method Status                Protocol
FastEthernet0/0        50.1.1.1        YES manual up                    up
Serial3/4                   25.1.1.2        YES manual up                    up
Serial3/5                   35.1.1.2        YES manual up                    up
Serial3/6                   15.1.1.2        YES manual up                    up
Serial3/7                   45.1.1.2        YES manual up                    up
Loopback0              150.0.0.1       YES manual up                    up
Loopback1              150.0.1.1       YES manual up                    up
Loopback2              150.0.2.1       YES manual up                    up
Loopback3              150.0.3.1       YES manual up                    up


R1(config)#router eigrp 65100
R1(config-router)#network 1.0.0.0
R1(config-router)#network 4.0.0.0
R1(config-router)#network 15.0.0.0
R1(config-router)#network 11.0.0.0
R1(config-router)#network 10.0.0.0
R1(config-router)#no auto-summary
R1(config-router)#exit


R2(config)#router eigrp 65100
R2(config-router)#network 1.0.0.0
R2(config-router)#network 2.0.0.0
R2(config-router)#network 20.0.0.0
R2(config-router)#network 12.0.0.0
R2(config-router)#network 25.0.0.0
R2(config-router)#no auto-summary
R2(config-router)#exit


R3(config)#router eigrp 65100
R3(config-router)#network 2.0.0.0
R3(config-router)#network 3.0.0.0
R3(config-router)#network 13.0.0.0
R3(config-router)#network 30.0.0.0
R3(config-router)#no auto-summary
R3(config-router)#exit


R4(config)#router eigrp 65100
R4(config-router)#network 3.0.0.0
R4(config-router)#network 4.0.0.0
R4(config-router)#network 14.0.0.0
R4(config-router)#network 40.0.0.0
R4(config-router)#network 45.0.0.0
R4(config-router)#no auto-summary
R4(config-router)#exit


R5(config)#router eigrp 65100
R5(config-router)#network 150.0.0.0
R5(config-router)#network 50.0.0.0
R5(config-router)#network 15.0.0.0
R5(config-router)#network 25.0.0.0
R5(config-router)#network 35.0.0.0
R5(config-router)#network 45.0.0.0
R5(config-router)#no auto-summary
R5(config-router)#exit


R1(config)#router bgp 65100

R1(config-router)#neighbor 12.0.0.1 remote-as 65100
R1(config-router)#neighbor 12.0.0.1 update-source loopback 0

R1(config-router)#neighbor 14.0.0.1 remote-as 65100
R1(config-router)#neighbor 14.0.0.1 update-source loopback 0


R1(config-router)#neighbor 150.0.0.1 remote-as 65100
R1(config-router)#neighbor 150.0.0.1 update-source loopback 0


R1(config-router)#network 10.0.0.0
R1(config-router)#no synchronization
R1(config-router)#no auto-summary
R1(config-router)#exit

R2(config)#router bgp 65100
R2(config-router)#neighbor 11.0.0.1 remote-as 65100
R2(config-router)#neighbor 11.0.0.1 update-source loopback 0

R2(config-router)#neighbor 13.0.0.1 remote-as 65100
R2(config-router)#neighbor 13.0.0.1 update-source loopback 0

R2(config-router)#  neighbor 150.0.0.1 remote-as 65100
R2(config-router)#  neighbor 150.0.0.1 update-source loopback 0

R2(config-router)#network 20.0.0.0
R2(config-router)#no auto-summary
R2(config-router)#no synchronization
R2(config-router)#exit





R3(config)#router bgp 65100
R3(config-router)#neighbor 12.0.0.1 remote-as 65100
R3(config-router)#neighbor 12.0.0.1 update-source loopback 0


R3(config-router)#neighbor 14.0.0.1 remote-as 65100
R3(config-router)#neighbor 14.0.0.1 update-source loopback 0

R3(config-router)#neighbor 150.0.0.1 remote-as 65100
R3(config-router)#neighbor 150.0.0.1 update-source loopback 0

R3(config-router)#network 30.0.0.0
R3(config-router)#no auto-summary
R3(config-router)#no synchronization
R3(config-router)#exit


R4(config)#router  bgp 65100
R4(config-router)#neighbor 13.0.0.1 remote-as 65100
R4(config-router)#neighbor 13.0.0.1 update-source loopback 0

R4(config-router)#neighbor 11.0.0.1 remote-as 65100
R4(config-router)#neighbor 11.0.0.1 update-source loopback 0


R4(config-router)#  neighbor 150.0.0.1 remote-as 65100
R4(config-router)#  neighbor 150.0.0.1 update-source loopback 0



R4(config-router)#network 40.0.0.0
R4(config-router)#no auto-summary
R4(config-router)#no synchronization
R4(config-router)#exit


R5(config)#router bgp 65100
R5(config-router)#neighbor 11.0.0.1 remote-as 65100
R5(config-router)#neighbor 11.0.0.1 update-source loopback 0

R5(config-router)#neighbor 12.0.0.1 remote-as 65100
R5(config-router)#neighbor 12.0.0.1 update-source loopback 0


R5(config-router)#neighbor 13.0.0.1 remote-as 65100
R5(config-router)#neighbor 13.0.0.1 update-source loopback 0

R5(config-router)#neighbor 14.0.0.1 remote-as 65100
R5(config-router)#neighbor 14.0.0.1 update-source loopback 0

R5(config)#router bgp 65100
R5(config-router)#neighbor 11.0.0.1 route-reflector-client

*Dec  7 14:07:56.415: %BGP-5-ADJCHANGE: neighbor 11.0.0.1 Down RR client config change
*Dec  7 14:07:56.419: %BGP_SESSION-5-ADJCHANGE: neighbor 11.0.0.1 IPv4 Unicast topology base removed from session  RR client config change
*Dec  7 14:07:57.291: %BGP-5-ADJCHANGE: neighbor 11.0.0.1 Up


R5(config-router)#neighbor 12.0.0.1 route-reflector-client

*Dec  7 14:08:04.183: %BGP-5-ADJCHANGE: neighbor 12.0.0.1 Down RR client config change
*Dec  7 14:08:04.187: %BGP_SESSION-5-ADJCHANGE: neighbor 12.0.0.1 IPv4 Unicast topology base removed from session  RR client config change
*Dec  7 14:08:04.407: %BGP-5-ADJCHANGE: neighbor 12.0.0.1 Up

R5(config-router)#neighbor 13.0.0.1 route-reflector-client


*Dec  7 14:08:15.187: %BGP-5-ADJCHANGE: neighbor 13.0.0.1 Down RR client config change
*Dec  7 14:08:15.187: %BGP_SESSION-5-ADJCHANGE: neighbor 13.0.0.1 IPv4 Unicast topology base removed from session  RR client config change
*Dec  7 14:08:15.683: %BGP-5-ADJCHANGE: neighbor 13.0.0.1 Up

R5(config-router)#neighbor 14.0.0.1 route-reflector-client

*Dec  7 14:08:33.659: %BGP-5-ADJCHANGE: neighbor 14.0.0.1 Down RR client config change
*Dec  7 14:08:33.663: %BGP_SESSION-5-ADJCHANGE: neighbor 14.0.0.1 IPv4 Unicast topology base removed from session  RR client config change
*Dec  7 14:08:33.983: %BGP-5-ADJCHANGE: neighbor 14.0.0.1 Up

R5(config-router)#end


R5#show ip bgp 10.1.1.1
BGP routing table entry for 10.0.0.0/8, version 7
Paths: (1 available, best #1, table default, RIB-failure(17))
  Advertised to update-groups:
     2
  Refresh Epoch 2
  Local, (Received from a RR-client)
    11.0.0.1 (metric 2297856) from 11.0.0.1 (11.0.3.1)
      Origin IGP, metric 0, localpref 100, valid, internal, best
      rx pathid: 0, tx pathid: 0x0
R5#show ip bgp 20.1.1.1
BGP routing table entry for 20.0.0.0/8, version 9
Paths: (1 available, best #1, table default, RIB-failure(17))
  Advertised to update-groups:
     2
  Refresh Epoch 2
  Local, (Received from a RR-client)
    12.0.0.1 (metric 2297856) from 12.0.0.1 (12.0.3.1)
      Origin IGP, metric 0, localpref 100, valid, internal, best
      rx pathid: 0, tx pathid: 0x0
R5#show ip bgp 30.1.1.1
BGP routing table entry for 30.0.0.0/8, version 11
Paths: (1 available, best #1, table default, RIB-failure(17))
  Advertised to update-groups:
     2
  Refresh Epoch 2
  Local, (Received from a RR-client)
    13.0.0.1 (metric 2809856) from 13.0.0.1 (13.0.3.1)
      Origin IGP, metric 0, localpref 100, valid, internal, best
      rx pathid: 0, tx pathid: 0x0


R5#show ip bgp 40.1.1.1
BGP routing table entry for 40.0.0.0/8, version 13
Paths: (1 available, best #1, table default, RIB-failure(17))
  Advertised to update-groups:
     2
  Refresh Epoch 2
  Local, (Received from a RR-client)
    14.0.0.1 (metric 2297856) from 14.0.0.1 (14.0.3.1)
      Origin IGP, metric 0, localpref 100, valid, internal, best
      rx pathid: 0, tx pathid: 0x0


R1#show ip bgp 20.1.1.1
BGP routing table entry for 20.0.0.0/8, version 3
Paths: (2 available, best #2, table default, RIB-failure(17))
  Not advertised to any peer
  Refresh Epoch 1
  Local
    12.0.0.1 (metric 2297856) from 150.0.0.1 (150.0.3.1)
      Origin IGP, metric 0, localpref 100, valid, internal
      Originator: 12.0.3.1, Cluster list: 150.0.3.1
      rx pathid: 0, tx pathid: 0
  Refresh Epoch 1
  Local
    12.0.0.1 (metric 2297856) from 12.0.0.1 (12.0.3.1)
      Origin IGP, metric 0, localpref 100, valid, internal, best
      rx pathid: 0, tx pathid: 0x0



No comments:

PIM Sparse Mode

PIM Sparse Mode  ( PIM-SM )  PIM  Sparse Mode explicitly builds unidirectional shared trees rooted at a ( RP ) rendezvous point per...