BGP Synchronization Rule

Today I am going to talk about one of the basic feature of the BGP named as BGP Synchronization. Your first question : what is BGP Synchronization ? 

BGP Synchronization means that the BGP should not advertise a route until all of the routers within the AS have learned about the route via an IGP. Hope it clears the concept. Let me explain you in another way. It means if you got a ebgp route from the external neighbor via router A (as a assumption) and you want to send it to router B which is connected to another ebgp neighbour, the routes can only be learned to router B once learned by internal routers via IGP protocol.

Let me take an topology and explanation to it and further we can go with the configuration where we will disable the Synchronization as we don't want the traffic to be known to the IGP protocol.

Fig 1.1- BGP Synchronization

As shown in the above topology, if Router C sends updates about network 170.10.0.0 and received by  Router A. Now Routers A and B are running IBGP as shown in the diagram so Router B receives updates about network 170.10.0.0 via IBGP. If Router B wants to reach network 170.10.0.0, it sends traffic to Router E. If Router A does not redistribute network 170.10.0.0 into an IGP, Router E has no way of knowing that network 170.10.0.0 exists and will drop the packets. 

If Router B advertises to AS 400 that it can reach 170.10.0.0 before Router E learns about the network via IGP, traffic coming from Router D to Router B with a destination of 170.10.0.0 will flow to Router E and be dropped. 

So it is handled by synchronization rule of BGP, which i already explained to above when i started this article. In this case, Router B waits to hear about network 170.10.0.0 via an IGP before it sends an update to Router D. 

Sometimes we have the situation where we want to disable synchronization. So with the Disabling synchronization BGP  will converge more quickly, but it might result in dropped transit packets. 

Let me take the configuration where i can shown you how to disable the Synchronization on router A, B and D as we are getting the routes from router C and need to passed it to the router D and further to other routers. In this case we need to disable Synchronization rule to avoid the routes known to the internal IGP.

Commands on Router A 
 !
   router bgp 100
   network 150.10.0.0
   neighbor 3.3.3.4 remote-as 100
   neighbor 2.2.2.1 remote-as 300
   no synchronization
!

Commands on Router B
!   
   router bgp 100
   network 150.10.0.0
   neighbor 1.1.1.2 remote-as 400
   neighbor 3.3.3.3 remote-as 100
   no synchronization
 !

Commands on Router D
!
   router bgp 400
   neighbor 1.1.1.1 remote-as 100
   network 175.10.0.0
!

Hope the above configurations and the concept clears to you. I will come up with many more articles on BGP .