I wud just like to know differences between BGP Synchronisation, IBGP and IGP.
What does BGP Synchronisation does when it is ON ?
What does BGP Synchronisation does when it is OFF?
Synchronization states that a BGP router with synchronization enabled will not advertise iBGP-learned routes to other eBGP peers if it is not able to validate those routes in its IGP.
> Assuming that IGP has a route to iBGP-learned routes, the router will announce the iBGP routes to eBGP peers (thus you'll have to redistribute BGP into IGP to have it working).
> Otherwise the router treats the route as not being synchronized with IGP and does not advertise it.
The best practice is to disable synchronization but have all routers in the network running BGP, and accordingly full meshed (or use a RR or Confederation) accordingly routing loop and back holes are prevented
Additionally to what Mohammed have said, here is an example:
|internet| <-> |R1|
1. Router R1 receives a route over BGP from internet (e.g. 22.214.171.124/8)
show ip bgp: "*>126.96.36.199/8"
and it has internal routes through IGP:
show ip route eigrp: "D 172.16.0.0/12"
2. SYNCHRONIZATION OFF:
Router R1 has following routes in the routing table:
sh ip route:
2. SYNCHRONIZATION ON:
Router R2 has following routes in the routing table:
Why doesn't it have BGP route you ask? Because Synchronization says that BGP can use the route only in case when IGP has that route too.
If you would add a static route, or redistribute routes into IGP, then the route would appear in IGP, and BGP will be able to use it.
Not a good idea for internet routes, and generally it is not used with modern design principles.