Tuesday, December 21, 2010
BGP synchronization - How well do you understand it ? (Short Post)
As per BGP Synchronization rule "If your autonomous system is passing traffic from another AS to a third AS, BGP should not advertise a route before all routers in your AS have learned about the route via IGP."
So BGP will wait until the IGP has propagated the route within the AS and then it will advertise that route to external peers.
If you will not be passing traffic from a different autonomous system through your AS, or if all routers in your AS will be running BGP, you can disable synchronization. Disabling this feature can allow you to carry fewer routes in your IGP and allow BGP to converge more quickly.
The IGP routing table MUST be synchronized with iBGP routing table.
Ummm... So this is what most people know and think.
But does that mean if I am having a transit AS and Synchronization is not "OFF" and I am not running any IGP such as RIP, EIGRP, OSPF or IS-IS; in such case I can't pass the transit traffic?
Or Can I ? :-)
Lets take a look at topology and setup basic bgp peerings. Later we come back to this point.
So until now we are not running any IGP and tried to fix next hop issues with "next hop self" command.
I would like to mention here that our only concern is traffic from R4 to R5 and vice versa.
Now since we are not running IGP lets try to put static routes for R4 and R5's loopback on R2 and see if it helps somehow. Though I have added static routes for R1/R3's loopback but it was not under our objective.
Now lets verify if static routes helped us overcome rule of synchronization and allowed R2 to advertise R4's(BB1) Loopback to R3 and R5's (BB2) Loopback address to R1.
So we can see that routes are getting advertised now. Now lets hop on to R1/R3 and fix this issue in same way along with fixing next hop issues with static routes.
So what we understand now is that in BGP Synchronization rule the term IGP doesn't necessarily means IGP routing in itself like RIP, OSPF, EIGRP or IS-IS but IGP reachability. Or more precisely we can say it talks about control plane reachability.
CCIE - 0::0/0 Null0