I have another confusion regarding BGP.I have the below setup in lab.
Routers B,C,D are in AS200
Router A is in AS100 and it is connected to Router B through EBGP.
Router E is in AS300 and it is connected to Router D through EBGP.
Router B and D and IBGP neighbours.
Now if Router A is advertising a network to Router B it will propogated to Router D but it is not installed in the routing table..please explain why.
This is most commonly a next-hop unreachable issue, agree with SSLIN, we need show ip bgp and show ip route for further help.
Hmmmmm, so D learns the route from B via BGP but does not install it in the routing table? If this is correct, this is typically a next-hop unreachable issue (as per the previous reply) or could be BGP syncronisation if enabled.
To glean further info, try 'show ip bgp rib-failure' and if it is a syncronisation problem you may want to disable it in the BGP process, or redistribute the BGP route(s) into the IGP (do this with extreme caution if there are a lot of routes).
I have configured the next-hop-self on the IBGP neihgbor who is advertising this subnet but still i cannot see the route in routing table but it is in bgp table.
As suggested by Darren do you have synchronisation turned on ? Are you running an IGP within AS200 ?
As requested could you post "sh ip bgp" and "sh ip route"
If synchornisation is on then you need to have an exact match in the IGP routing table for the BGP route you are trying to advertise.
Could you turn synchronisation off and recheck ie.
router bgp 64523
I want to know if syn is on why its is required to have the exact match in IGP routing table in order to advertise.
And what is going to happen if i turn off the syn.
EDIT: And i know that if syn is off then the route will be in bgp table and still it will not be installed in routing table and even if it is installed then it can advertise it to AS300 but if the traffic is coming from As300 it will forwadred to RouterD but it will not be able forward that traffic becoz it not directly connected with router B the IBGP session is established from router D.
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.
Synchronization was intended to prevent black-holes in transit networks having routers that are not running BGP, but in modern networks since the internet routing table has gone over 220,000 route, then synchronization is not an option, and to substitute its role, the transit network will have to run BGP on all the routers (or even use tunnels or MPLS to go over routers that don't run BGP) and eventually disable synchronization.
NOTE Synchronization is disabled by default in Cisco IOS Software Release 12.2(8)T and later.
So u mean to say that if u want to keep the syn disable then u need to run BGP on all u r routers in the AS..?.
Guys,by seeing all this responses i think i am still not able to figure out the usage and operation of BGP,and i think i m missing the concept of BGP.Please explain.
As far as i know and read BGP is used to exchange routing information between different AS.Still learning...
Synchronization is basically BGP's method of avoiding routing loops and black holes states (mainly if there are devices in the network that doens't run BGP), simply if your AS passes traffic from another AS to a third AS (your AS is a transit AS), BGP should not advertise any route to an eBGP neighbor before all the routers in your AS have learned about the route via IGP. BGP waits until IGP has propagated the route within the AS. Then, BGP advertises the route to external peers - eBGP.
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 black holes are prevented without using synchronization - Another valid couple of solutions is to redistribute BGP into IGP (This is the only case where synchronization can be kept enabled) or tunnel BGP over GRE or MPLS (to mitigate having routers not running BGP in the path).
The reason of having all routers running iBGP in full mesh when disabling sycnhronization is to prevent routing loops and black holes, and it is not obligatory in the configuration context when disabling synchronization.
There is also a special case with OSPF (which might be a factor in your case), if the matching route is learned from an OSPF neighbor, its OSPF router ID must match the BGP router ID of the iBGP neighbor.
Finally to solve your confusion about BGP, think of it as an application that runs over IGP (BGP is TCP after all), this application is used to advertise prefixes between ASs (and sometimes in the cases of SP it is used to advertise prefixes between the provider PEs), and this application has some rules to follow for routing loops and black holes free operation, these rules mainly govern the relation between BGP and its backbone IGP.
I hope that i've been informative.
If you can please post router B and D configuration, show ip bgp and show ip route, this would help us analysis this.
 Hi Jon, how are you, i hope everything is going great.
Well currently i dnot have the configs as i was doing this on dynamips.But both the neighbors can see each other and they are exchanging routes.But router which is the iBGP peer is not installing the routes in its routing table.
Yep, things going well altho as i mentioned to Sundar not making huge progress on CCIE.
How are you, are they still working you hard after your R&S CCIE ? and are you thinking of another one yet :-)
Nice to hear that things are going well, but sad to hear that you aren't making a huge progress on your CCIE, i felt a strong initial enthusiasm from your side, is this related to being work busy, or is it a bad study mood.
As for my self, yes they are still working me hard, but i am starting to take my breath, and i think that i'll start SP soon :)
I think the "next-hop-self" options in the command "neighbor