Per the Cisco documentation,
"The BGP synchronization rule states that if an AS provides transit service to another AS, BGP should not advertise a route until all of the routers within the AS have learned about the route via an IGP."
In the above rule, is this assuming that the IGP is distributing it's routes into BGP?
You must include the previous paragraph so this paragraph can be understood properly and not taken out of context.
The preceding paragraph states:
"When an AS provides transit service to other ASs and if there are non-BGP routers in the AS, transit traffic might be dropped if the intermediate non-BGP routers have not learned routes for that traffic via an IGP."
In other words, routers not running BGP must have the routes from BGP in their IGP. Routers running BGP must redistribute their routes into IGP and from IGP back into BGP to avoid the route to be dropped.
So, we are talking mutual redistribution between the IGP and BGP then, when synchronization enters the picture either enabled or not correct?
That's correct and that's the reason Cisco changed its default from enabled to disabled.
The rule stipulates;
If BGP synchronization is enabled, there must be a match for the prefix in the IP routing table in order for an internal BGP (iBGP) path to be considered a valid path.
Frankly, yes, it is. This is also the reason why the synchronization is by default off in newer IOSes - it is hardly thinkable today to redistribute thousands of BGP networks into an IGP.
synchronization rule will come into the picture when your topology is not full-mesh ibgp peership or lack of RR or confederation and therefore for reachability from external AS to another AS via transit AS, you need to redistrbute external network into IGP and via IGP, end to end reachability will occure.
hope this help u!!
I am sorry but I believe you are incorrect here. The synchronization feature in BGP requires that the networks known by iBGP must be also advertised by an IGP protocol before the BGP advertises them further. Note that even if you have a full BGP mesh or properly running route reflector, an active synchronization will cause each of these BGP speakers to just store the BGP-advertised networks in their BGP databases and wait for the IGP to advertise these networks. Until that, these networks will not be considered usable for BGP purposes.
means if we turn on synch. on all bgp routers after conf full mesh ibgp or RR or confederation, then we need to redistribute external routes into igp and then bgp router will check into the igp table before advertising to ibgp neighbor or ebgp neighbor and after this we can correctly assume that internet table and ibg table are synchronized properly..
am i correct..
Yes, you are correct. Whenever a BGP is about to select the best path for each destination, it considers only valid paths in the BGP database. If the synchronization is turned on, then the path must be also advertised by an IGP protocol, otherwise the path will be considered invalid.
Check these documents for more detail:
From what I have read,
You would need synchronization turned off and a full mesh of the IGP between R1, R2, R3, R4, R5.
From what you described, it looks like sychronization is doing what it is supposed to do.