Sei sulla pagina 1di 5

BGP Synchronization

This tutorial explains the BGP synchronization rule. To understand what this is
all about, make sure you understand why we need IBGP first. If you are a
little fuzzy about IBGP, BGP split horizon and why we need IBGP full mesh
adjacencies then please read my IBGP tutorial first. Having said that, lets
look at the synchronization rule.
BGP synchronization is an old rule from the days where we didnt run IBGP
on all routers within a transit AS. In short, BGP will not advertise
something that it learns from an IBGP neighbor to an EBGP neighbor if the
prefix cant be validated in its IGP.
Its best explained with an example, take a look below:

Above we see 5 routers and 3 autonomous systems. When we want to get


from R1 to R5 well have to cross AS2, this makes AS2 our transit AS.
EBGP has been configured between R1/R2 and also between R4/R5. IBGP is
configured between R2/R4 and R3 on top doesnt run BGP at all.
The routers within AS2 are configured with OSPF, this is required since R2/R4
have to be able to reach each other to establish the IBGP session.
R1 will advertise a prefix in BGP, AS2 and AS3 will learn about this prefix
Let me show you the configurations:

OSPF Configuration
The OSPF configuration is really straight-forward. R2 and R4 have a loopback
interface that is used for the IBGP peering which is advertised in OSPF:
R2#
router ospf 1
network 2.2.2.0 0.0.0.255 area 0
network 192.168.23.0 0.0.0.255 area
R3#
router ospf 1
network 3.3.3.0 0.0.0.255 area 0
network 192.168.23.0 0.0.0.255 area
network 192.168.34.0 0.0.0.255 area
R4#
router ospf 1
network 4.4.4.0 0.0.0.255 area 0
network 192.168.34.0 0.0.0.255 area

0
0

Let me also show you the BGP configuration

BGP Configuration
The configuration of R1 is simple, its configured to run EBGP with R2 and it
advertises network 1.1.1.0 /24 into BGP:
R1#
router bgp 1
no synchronization
bgp log-neighbor-changes
network 1.1.1.0 mask 255.255.255.0
neighbor 192.168.12.2 remote-as 2
no auto-summary

R2 runs EBGP with R1 and IBGP with R4:


R2#
router bgp 2
no synchronization
bgp log-neighbor-changes
neighbor 4.4.4.4 remote-as 2
neighbor 4.4.4.4 update-source Loopback0
neighbor 4.4.4.4 next-hop-self
neighbor 192.168.12.1 remote-as 1
no auto-summary

R4 is similar to R2:
R4#
router bgp 2
no synchronization
bgp log-neighbor-changes
neighbor 2.2.2.2 remote-as 2
neighbor 2.2.2.2 update-source Loopback0
neighbor 2.2.2.2 next-hop-self
neighbor 192.168.45.5 remote-as 3

no auto-summary

And finally R5, it only runs EBGP with R4:


R5#show run | b router bgp
router bgp 3
no synchronization
bgp log-neighbor-changes
neighbor 192.168.45.4 remote-as 2
no auto-summary

By default, BGP synchronization is disabled. You can see the no


synchronization command in the configurations of the routers above. Lets
take a before and after look..

BGP synchronization disabled


Well take a look at R4 and R5, see if they learned about the 1.1.1.0 /24
network which is advertised on R1 and forwarded by R2 through IBGP:
R4#show ip bgp
BGP table version is 10, local router ID is 4.4.4.4
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
r>i1.1.1.0/24

Next Hop
2.2.2.2

Metric LocPrf Weight Path


0 100
01i

R4 knows about this prefix and installed itwhat about R5?


R5#show ip bgp
BGP table version is 6, local router ID is 5.5.5.5
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
*> 1.1.1.0/24

Next Hop
192.168.45.4

Metric LocPrf Weight Path


021i

Great, R5 also knows about this network. The problem in this scenario
however is that we will never get any IP packets from AS3 to AS1 since R3
doesnt run BGPit will never learn about network 1.1.1.0 /24 so whenever
R4 forwards something, it will be dropped. Take a look at R3 here:
R3#show ip route 1.1.1.0
% Network not in table

To synchronization rule was created to prevent this problem. Lets find out
how it works

BGP synchronization enabled


Let me show you what happens when we enable it, you have to do this on
the border routers (R2 and R4):

R2(config)#router bgp 2
R2(config-router)#synchronization
R4(config)#router bgp 2
R4(config-router)#synchronization

Take a look again at R4:


R4#show ip bgp
BGP table version is 11, local router ID is 4.4.4.4
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
* i1.1.1.0/24

Next Hop
2.2.2.2

Metric LocPrf Weight Path


0 100
01i

R4 sees the network in its BGP table but refuses to install it.

Potrebbero piacerti anche