BGP Route Reflecting
Before we start the lab we need to know why using route reflector, so for our topology
R1 R2 R3 R4 are in AS 100
iBGP peering
R1-R2
R1-R3
R1-R4
EBGP
R1-R5
R1-R6
each router advertises the following subnets in the BGP
R1 1.1.0.0/24 10.1.15.0/24 10.1.16.0/24
R2 2.2.0.0/24
R3 3.3.0.0/24
R4 4.4.0.0/24
R5 5.5.0.0/24
R6 6.6.0.0/24
Now lets check the BGP on various routers
on R1
As we can see R1 BGP table looks good, we have all the routes from all neighbors
R5 also looks good, all routes are received into BGP
now let’s check R2
so on R2 we haven’t received the 2 loopbacks of R3 and R4
what about R3
Also on R3 the loopbacks of R2 and R4 are missing
Tis normal behavior for BGP, routes received from iBGP peers are only advertised to EBGP peers but not to other iBGP to prevent loops
so in order for us to overcome this we basically have 3 solutions:
1- configure full mesh between all iBGP peers
2- use route reflectors
3- use confederation
The full mesh topology maybe feasible for small numbers of iBGP peers but using (N x (N – 1))/2 rule this means that if we have 6 routers we need 15 iBGP sessions which is not very scalable
in our case we will use route reflectors
so we will configure R2 and R3 as Route-Reflector clients and we will not configure R4 as route reflector client for now
The way we do this is under R1 BGP configurations
router bgp 100
neighbor 10.1.12.2 route-reflector-client
neighbor 10.1.13.3 route-reflector-client
Now let’s see the BGP table on R2
so we can see that now we are receiving the routes from R3 and R4
one thing to notice here that route-reflectors don’t change th next hop attribute as we can see
Also if we check R4 BGP table
we see that R2 and R3 are now received in R4 although R4 is not configured as route-reflector client
These are the 3 rules for route-reflecting
1-Routes learned from EBGP peers will be advertised to other EBGP peers, RR clients and non-clients
2- Routes learned from RR clients will be advertised to EBGP peers, other RR clients and non clients
3- Routes learned from non clients will be advertised to EBGP peers, RR clients but not to other non clients
That’s why R4 loopback was advertised to R1 and R2 and R1 and R2 loopback were advertised no R4
The term luster is basically RR and it’s clients
so when we check the BGP route 4.4.0.0 we will see the cluster list :10.1.16.1
this is R1 router-id
R3(config-router)#do sh ip bgp 4.4.0.0
BGP routing table entry for 4.4.0.0/24, version 16
Paths: (1 available, best #1, table Default-IP-Routing-Table)
Not advertised to any peer
Local
10.1.14.4 (metric 30720) from 10.1.13.1 (10.1.16.1)
Origin IGP, metric 0, localpref 100, valid, internal, best
Originator: 10.1.34.4, Cluster list: 10.1.16.1
R1(config-router)#do sh ip bgp | in ID
BGP table version is 13, local router ID is 10.1.16.1
Cluster lists are used to prevent loops when we have multiple clusters in the BGP domains as advertisements will be discarded if they have our own cluster-list
Comments
Post a Comment