OcNOS-SP : Layer 3 Guide : Layer 3 Unicast Configuration Guide : BGP : Multiple Route Reflectors
Multiple Route Reflectors
The basic rule of BGP is that a BGP speaker cannot advertise a route to an iBGP neighbor if that route was learned from another iBGP neighbor. Configuring a route reflector provides a means to circumvent this rule. The entire route reflector process is transparent to the clients, and no configuration is necessary on these clients.
Whenever an iBGP-speaking router receives a route update, it forwards the route to the neighbor without changing the nexthop IP address, thus making it an unreachable route, unless verified by an iGP (for example, neighbor x.x.x.x route-reflector-client).
A route learned from a non-RR client is advertised to RR clients but not to non-RR clients.
A route learned from a RR client is advertised to both RR clients and non-RR clients. Even the RR client that advertised the route will receive a copy and discards it because it sees itself as the originator.
A route learned from an EBGP neighbor is advertised to both RR clients and non-RR clients.
Topology
Figure 1-5: eBGP and iBGP Route Reflector Topology
R1
 
#configure terminal
Enter configure mode.
(config)#interface eth1
Enter interface mode
(config-if)#ip addr 1.1.1.1/24
Specify IP address for the interface.
(config-if)#exit
Exit interface mode
(config)#interface lo
Enter loopback interface mode.
(config-if)#ip address 100.100.100.100/32 secondary
Specify IP address for the interface.
(config-if)#exit
Exit loopback interface mode.
(config)#router bgp 100
Define the routing process with AS number 100.
(config-router)#neighbor 1.1.1.2 remote-as 200
Define the eBGP neighbor (R2).
(config-router)# address-family ipv4 unicast
Enter address-family ipv4 unicast mode
(config-router-af)# neighbor 1.1.1.2 activate
Activate the neighbor under address family mode
(config-router-af)#network 100.100.100.100/32
Advertise a route via eBGP connection to R2.
(config-router-af)#exit-address-family
Exit router mode.
(config-router)#commit
Commit the candidate configuration to the running configuration.
R2
 
#configure terminal
Enter configure mode.
(config)#interface eth1
Enter interface mode
(config-if)#ip address 1.1.1.2/24
Specify IP address for the interface.
(config-if)#exit
Exit interface mode
(config)#interface eth2
Enter interface mode
(config-if)#ip address 3.3.3.2/24
Specify IP address for the interface.
(config-if)#exit
Exit interface mode
(config)#interface eth3
Enter interface mode
(config-if)#ip address 4.4.4.2/24
Specify IP address for the interface.
(config-if)#exit
Exit interface mode
(config)#router bgp 200
Define the routing process with AS number 200.
(config-router)#neighbor 1.1.1.1 remote-as 100
Define the eBGP neighbor (R1).
(config-router)#neighbor 4.4.4.1 remote-as 200
Define the iBGP neighbor (R4).
(config-router)#neighbor 3.3.3.1 remote-as 200
Define the iBGP neighbor (R3).
(config-router)#bgp cluster-id 4
Define a cluster ID (4) when multiple Route Reflectors exist.
(config-router)# address-family ipv4 unicast
Enter address-family ipv4 unicast mode
(config-router-af)# neighbor 1.1.1.1 activate
Activate the neighbor under address family mode
(config-router-af)# neighbor 4.4.4.1 activate
Activate the neighbor under address family mode
(config-router-af)# neighbor 3.3.3.1 activate
Activate the neighbor under address family mode
(config-router-af)#neighbor 3.3.3.1 route-reflector-client
Configure R2 as the Route-Reflector and neighbor R3 as its client.
(config-router-af)#neighbor 4.4.4.1 route-reflector-client
Configure R2 as the Route-Reflector and neighbor R4 as its client.
(config-router-af)#exit-address-family
Exit address-family mode.
(config-router)#commit
Commit the candidate configuration to the running configuration.
R3
 
#configure terminal
Enter configure mode.
(config)#interface eth2
Enter interface mode
(config-if)#ip address 3.3.3.1/24
Assign an IP address
(config-if)#exit
Exit interface mode
(config)#interface eth1
Enter interface mode
(config-if)#ip addr 5.5.5.1/24
Assign an IP address
(config-if)#exit
Exit interface mode
(config)#router bgp 200
Define the routing process with AS number 200.
(config-router)#neighbor 3.3.3.2 remote-as 200
Define the iBGP neighbor (R2).
(config-router)#neighbor 5.5.5.2 remote-as 200
Define the iBGP neighbor (R5).
(config-router)# address-family ipv4 unicast
Enter address-family ipv4 unicast mode
(config-router-af)# neighbor 3.3.3.2 activate
Activate the neighbor under address family mode
(config-router-af)# neighbor 5.5.5.2 activate
Activate the neighbor under address family mode
(config-router-af)#neighbor 5.5.5.2 route-reflector-client
Configure R3 as the Route-Reflector and neighbor R5 as its client.
(config-router-af)#exit-address-family
Exit address-family mode.
(config-router)#commit
Commit the candidate configuration to the running configuration.
R4
 
#configure terminal
Enter configure mode
(config)#interface eth2
Enter interface mode
(config-if)#ip address 6.6.6.1/24
Specify an IP address for the interface.
(config-if)#exit
Exit interface mode
(config)#interface eth4
Enter interface mode
(config-if)#ip address 4.4.4.1/24
Specify an IP address for the interface.
(config-if)#exit
Exit interface mode
(config)#router bgp 200
Define the routing process with AS number 200.
(config-router)#neighbor 4.4.4.2 remote-as 200
Define the iBGP neighbor (R2).
(config-router)#neighbor 6.6.6.2 remote-as 200
Define the iBGP neighbor (R5).
(config-router)# address-family ipv4 unicast
Enter address-family ipv4 unicast mode
(config-router-af)# neighbor 4.4.4.2 activate
Activate the neighbor under address family mode
(config-router-af)# neighbor 6.6.6.2 activate
Activate the neighbor under address family mode
(config-router-af)#exit-address-family
Exit address-family mode.
(config-router)#exit
Exit router mode.
(config)#commit
Commit the candidate configuration to the running configuration.
R5
 
#configure terminal
Enter configure mode
(config)#interface eth1
Enter interface mode
(config-if)#ip address 5.5.5.2/24
Specify an IP address for the interface.
(config-if)#exit
Exit interface mode
(config-if)#interface eth2
Enter interface mode
(config-if)#ip address 6.6.6.2/24
Specify an IP address for the interface.
(config-if)#exit
Exit interface mode
(config)#router bgp 200
Define the routing process with AS number 200.
(config-router)#neighbor 5.5.5.1 remote-as 200
Define the iBGP neighbor (R3).
(config-router)#neighbor 6.6.6.1 remote-as 200
Define the iBGP neighbor (R4).
(config-router)# address-family ipv4 unicast
Enter address-family ipv4 unicast mode
(config-router-af)# neighbor 5.5.5.1 activate
Activate the neighbor under address family mode
(config-router-af)# neighbor 6.6.6.1 activate
Activate the neighbor under address family mode
(config-router-af)#exit-address-family
Exit address-family mode.
(config-router)#commit
Commit the candidate configuration to the running configuration.
Validation
R2
#show ip bgp neighbors
BGP neighbor is 1.1.1.1, remote AS 100, local AS 200, external link
BGP version 4, local router ID 10.12.4.196, remote router ID 192.160.50.2
BGP state = Established, up for 00:14:41
Last read 00:00:11, hold time is 90, keepalive interval is 30 seconds
Neighbor capabilities:
Route refresh: advertised and received (old and new)
Address family IPv4 Unicast: advertised and received
Received 32 messages, 0 notifications, 0 in queue
Sent 31 messages, 0 notifications, 0 in queue
Route refresh request: received 0, sent 0
Minimum time between advertisement runs is 30 seconds
For address family: IPv4 Unicast
BGP table version 2, neighbor version 2
Index 1, Offset 0, Mask 0x2
Community attribute sent to this neighbor (both)
1 accepted prefixes
0 announced prefixes
 
Connections established 1; dropped 0
Local host: 1.1.1.2, Local port: 50649
Foreign host: 1.1.1.1, Foreign port: 179
Nexthop: 1.1.1.2
Nexthop global: ::
Nexthop local: ::
BGP connection: non shared network
 
BGP neighbor is 3.3.3.1, remote AS 200, local AS 200, internal link
BGP version 4, local router ID 192.160.50.3, remote router ID 192.160.50.4
BGP state = Established, up for 00:04:17
Last read 00:00:17, hold time is 90, keepalive interval is 30 seconds
Neighbor capabilities:
Route refresh: advertised and received (old and new)
Address family IPv4 Unicast: advertised and received
Received 10 messages, 0 notifications, 0 in queue
Sent 13 messages, 0 notifications, 0 in queue
Route refresh request: received 0, sent 0
Minimum time between advertisement runs is 5 seconds
For address family: IPv4 Unicast
BGP table version 2, neighbor version 2
Index 3, Offset 0, Mask 0x8
Route-Reflector Client
Community attribute sent to this neighbor (both)
0 accepted prefixes
1 announced prefixes
 
Connections established 1; dropped 0
Local host: 3.3.3.2, Local port: 179
Foreign host: 3.3.3.1, Foreign port: 32973
Nexthop: 3.3.3.2
Nexthop global: ::
Nexthop local: ::
BGP connection: non shared network
 
BGP neighbor is 4.4.4.1, remote AS 200, local AS 200, internal link
BGP version 4, local router ID 192.160.50.3, remote router ID 192.160.50.6
BGP state = Established, up for 00:00:16
Last read 00:00:16, hold time is 90, keepalive interval is 30 seconds
Neighbor capabilities:
Route refresh: advertised and received (old and new)
Address family IPv4 Unicast: advertised and received
Received 2 messages, 0 notifications, 0 in queue
Sent 4 messages, 0 notifications, 0 in queue
Route refresh request: received 0, sent 0
Minimum time between advertisement runs is 5 seconds
For address family: IPv4 Unicast
BGP table version 2, neighbor version 2
Index 2, Offset 0, Mask 0x4
Route-Reflector Client
Community attribute sent to this neighbor (both)
0 accepted prefixes
1 announced prefixes
 
Connections established 1; dropped 0
Local host: 4.4.4.2, Local port: 179
Foreign host: 4.4.4.1, Foreign port: 60398
Nexthop: 4.4.4.2
Nexthop global: ::
Nexthop local: ::
BGP connection: non shared network
 
#show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
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, L1 - IS-IS level-1, L2 - IS-IS level-2,
ia - IS-IS inter area, E - EVPN,
v - vrf leaked
* - candidate default
 
IP Route Table for VRF "default"
C 1.1.1.0/24 is directly connected, eth1, 00:16:10
C 3.3.3.0/24 is directly connected, eth2, 00:15:59
C 4.4.4.0/24 is directly connected, eth3, 00:15:49
B 100.100.100.100/32 [20/0] via 1.1.1.1, eth1, 00:14:53
C 127.0.0.0/8 is directly connected, lo, 00:32:26
C 192.160.50.0/24 is directly connected, eth0, 00:32:22
 
Gateway of last resort is not set
 
 
#show ip bgp
BGP table version is 2, local router ID is 192.160.50.3
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
l - labeled, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
 
Network Next Hop Metric LocPrf Weight Path
*> 100.100.100.100/32
1.1.1.1 0 100 0 100 i
 
Total number of prefixes 1
Total number of neighbors 3
R1
#show bgp neighbors
BGP neighbor is 1.1.1.2, remote AS 200, local AS 100, external link
BGP version 4, local router ID 10.12.4.142, remote router ID 10.12.4.196
BGP state = Established, up for 00:16:11
Last read 00:00:11, hold time is 90, keepalive interval is 30 seconds
Neighbor capabilities:
Route refresh: advertised and received (old and new)
Address family IPv4 Unicast: advertised and received
Received 34 messages, 0 notifications, 0 in queue
Sent 36 messages, 0 notifications, 0 in queue
Route refresh request: received 0, sent 0
Minimum time between advertisement runs is 30 seconds
For address family: IPv4 Unicast
BGP table version 1, neighbor version 1
Index 1, Offset 0, Mask 0x2
Community attribute sent to this neighbor (both)
0 accepted prefixes
1 announced prefixes
 
Connections established 1; dropped 0
Local host: 1.1.1.1, Local port: 179
Foreign host: 1.1.1.2, Foreign port: 50649
Nexthop: 1.1.1.1
Nexthop global: ::
Nexthop local: ::
BGP connection: non shared network
 
 
#show ip bgp summary
BGP router identifier 192.160.50.2, local AS number 100
BGP table version is 1
1 BGP AS-PATH entries
0 BGP community entries
 
Neighbor V AS MsgRcv MsgSen TblVer InQ OutQ Up/Down State/PfxRcd
1.1.1.2 4 200 34 36 1 0 0 00:16:18 0
 
Total number of neighbors 1
 
Total number of Established sessions 1
#
R3
#show ip bgp
BGP table version is 1, local router ID is 192.160.50.4
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
l - labeled, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
 
Network Next Hop Metric LocPrf Weight Path
* i 100.100.100.100/32
1.1.1.1 0 100 0 100 i
 
Total number of prefixes 1
#
 
#show ip bgp neighbors
BGP neighbor is 3.3.3.2, remote AS 200, local AS 200, internal link
BGP version 4, local router ID 192.160.50.4, remote router ID 192.160.50.3
BGP state = Established, up for 00:06:15
Last read 00:00:15, hold time is 90, keepalive interval is 30 seconds
Neighbor capabilities:
Route refresh: advertised and received (old and new)
Address family IPv4 Unicast: advertised and received
Received 15 messages, 0 notifications, 0 in queue
Sent 14 messages, 0 notifications, 0 in queue
Route refresh request: received 0, sent 0
Minimum time between advertisement runs is 5 seconds
For address family: IPv4 Unicast
BGP table version 1, neighbor version 1
Index 1, Offset 0, Mask 0x2
Community attribute sent to this neighbor (both)
1 accepted prefixes
0 announced prefixes
 
Connections established 1; dropped 0
Local host: 3.3.3.1, Local port: 32973
Foreign host: 3.3.3.2, Foreign port: 179
Nexthop: 3.3.3.1
Nexthop global: ::
Nexthop local: ::
BGP connection: non shared network
 
BGP neighbor is 5.5.5.2, remote AS 200, local AS 200, internal link
BGP version 4, local router ID 192.160.50.4, remote router ID 192.160.50.5
BGP state = Established, up for 00:03:35
Last read 00:00:05, hold time is 90, keepalive interval is 30 seconds
Neighbor capabilities:
Route refresh: advertised and received (old and new)
Address family IPv4 Unicast: advertised and received
Received 9 messages, 0 notifications, 0 in queue
Sent 10 messages, 0 notifications, 0 in queue
Route refresh request: received 0, sent 0
Minimum time between advertisement runs is 5 seconds
For address family: IPv4 Unicast
BGP table version 1, neighbor version 1
Index 2, Offset 0, Mask 0x4
Route-Reflector Client
Community attribute sent to this neighbor (both)
0 accepted prefixes
0 announced prefixes
 
Connections established 1; dropped 0
Local host: 5.5.5.1, Local port: 179
Foreign host: 5.5.5.2, Foreign port: 39271
Nexthop: 5.5.5.1
Nexthop global: ::
Nexthop local: ::
BGP connection: non shared network
 
#
 
#show ip bgp summary
BGP router identifier 192.160.50.4, local AS number 200
BGP table version is 1
1 BGP AS-PATH entries
0 BGP community entries
 
Neighbor V AS MsgRcv MsgSen TblVer InQ OutQ Up/Down State/PfxRcd
3.3.3.2 4 200 15 14 1 0 0 00:06:26 1
5.5.5.2 4 200 9 10 1 0 0 00:03:46 0
 
Total number of neighbors 2
 
R4
#show ip bgp
BGP table version is 1, local router ID is 192.160.50.6
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
l - labeled, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
 
Network Next Hop Metric LocPrf Weight Path
* i 100.100.100.100/32
1.1.1.1 0 100 0 100 i
 
Total number of prefixes 1
#
 
#sh ip bgp neighbors
BGP neighbor is 4.4.4.2, remote AS 200, local AS 200, internal link
BGP version 4, local router ID 192.160.50.6, remote router ID 192.160.50.3
BGP state = Established, up for 00:03:58
Last read 00:00:28, hold time is 90, keepalive interval is 30 seconds
Neighbor capabilities:
Route refresh: advertised and received (old and new)
Address family IPv4 Unicast: advertised and received
Received 10 messages, 0 notifications, 0 in queue
Sent 9 messages, 0 notifications, 0 in queue
Route refresh request: received 0, sent 0
Minimum time between advertisement runs is 5 seconds
For address family: IPv4 Unicast
BGP table version 1, neighbor version 1
Index 1, Offset 0, Mask 0x2
Community attribute sent to this neighbor (both)
1 accepted prefixes
0 announced prefixes
 
Connections established 1; dropped 0
Local host: 4.4.4.1, Local port: 60398
Foreign host: 4.4.4.2, Foreign port: 179
Nexthop: 4.4.4.1
Nexthop global: ::
Nexthop local: ::
BGP connection: non shared network
 
BGP neighbor is 6.6.6.2, remote AS 200, local AS 200, internal link
BGP version 4, local router ID 192.160.50.6, remote router ID 192.160.50.5
BGP state = Established, up for 00:03:52
Last read 00:00:22, hold time is 90, keepalive interval is 30 seconds
Neighbor capabilities:
Route refresh: advertised and received (old and new)
Address family IPv4 Unicast: advertised and received
Received 9 messages, 0 notifications, 0 in queue
Sent 9 messages, 0 notifications, 0 in queue
Route refresh request: received 0, sent 0
Minimum time between advertisement runs is 5 seconds
For address family: IPv4 Unicast
BGP table version 1, neighbor version 1
Index 2, Offset 0, Mask 0x4
Community attribute sent to this neighbor (both)
0 accepted prefixes
0 announced prefixes
 
Connections established 1; dropped 0
Local host: 6.6.6.1, Local port: 48257
Foreign host: 6.6.6.2, Foreign port: 179
Nexthop: 6.6.6.1
Nexthop global: ::
Nexthop local: ::
BGP connection: non shared network
 
#
 
 
#show ip bgp summary
BGP router identifier 192.160.50.6, local AS number 200
BGP table version is 1
1 BGP AS-PATH entries
0 BGP community entries
 
Neighbor V AS MsgRcv MsgSen TblVer InQ OutQ Up/Down State/PfxRcd
4.4.4.2 4 200 11 10 1 0 0 00:04:09 1
6.6.6.2 4 200 10 10 1 0 0 00:04:03 0
 
Total number of neighbors 2
 
Total number of Established sessions 2
 
R5
#show ip bgp neighbors
BGP neighbor is 5.5.5.1, remote AS 200, local AS 200, internal link
BGP version 4, local router ID 192.160.50.5, remote router ID 192.160.50.4
BGP state = Established, up for 00:09:04
Last read 00:00:04, hold time is 90, keepalive interval is 30 seconds
Neighbor capabilities:
Route refresh: advertised and received (old and new)
Address family IPv4 Unicast: advertised and received
Received 20 messages, 0 notifications, 0 in queue
Sent 20 messages, 0 notifications, 0 in queue
Route refresh request: received 0, sent 0
Minimum time between advertisement runs is 5 seconds
For address family: IPv4 Unicast
BGP table version 1, neighbor version 1
Index 1, Offset 0, Mask 0x2
Community attribute sent to this neighbor (both)
0 accepted prefixes
0 announced prefixes
 
Connections established 1; dropped 0
Local host: 5.5.5.2, Local port: 39271
Foreign host: 5.5.5.1, Foreign port: 179
Nexthop: 5.5.5.2
Nexthop global: ::
Nexthop local: ::
BGP connection: non shared network
 
BGP neighbor is 6.6.6.1, remote AS 200, local AS 200, internal link
BGP version 4, local router ID 192.160.50.5, remote router ID 192.160.50.6
BGP state = Established, up for 00:07:36
Last read 00:00:06, hold time is 90, keepalive interval is 30 seconds
Neighbor capabilities:
Route refresh: advertised and received (old and new)
Address family IPv4 Unicast: advertised and received
Received 17 messages, 0 notifications, 0 in queue
Sent 18 messages, 0 notifications, 0 in queue
Route refresh request: received 0, sent 0
Minimum time between advertisement runs is 5 seconds
For address family: IPv4 Unicast
BGP table version 1, neighbor version 1
Index 2, Offset 0, Mask 0x4
Community attribute sent to this neighbor (both)
0 accepted prefixes
0 announced prefixes
 
Connections established 1; dropped 0
Local host: 6.6.6.2, Local port: 179
Foreign host: 6.6.6.1, Foreign port: 48257
Nexthop: 6.6.6.2
Nexthop global: ::
Nexthop local: ::
BGP connection: non shared network
#
 
#sh ip bgp summary
BGP router identifier 192.160.50.5, local AS number 200
BGP table version is 1
0 BGP AS-PATH entries
0 BGP community entries
 
Neighbor V AS MsgRcv MsgSen TblVer InQ OutQ Up/Down State/PfxRcd
5.5.5.1 4 200 20 20 1 0 0 00:09:20 0
6.6.6.1 4 200 17 18 1 0 0 00:07:52 0
 
Total number of neighbors 2
 
Total number of Established sessions 2
#
Last modified date: 10/16/2023