BGP routing asymmetry

Jul 05, 2005 1 Replies

Hello all, I'm having a curious problem relating to how IBGP transfers routing information. Here is the scenery:



- 2 Routers belonging to the same AS using IBGP to interact



- Each router communicates with a different ISP trough EBGP



- Router A communicates with ISP A and has a higher Local Preference than Router B (150 and 50)



ISP A --- ROUTER A ---- ROUTER B --- ISP B



Configuration:



ROUTER A configuration



router bgp MY-AS no synchronization bgp router-id ROUTER-A bgp default local-preference 150 network zzz.zzz.zzz.zzz neighbor ISP-A remote-as ISP-A-AS neighbor ISP-A soft-reconfiguration inbound neighbor ROUTER-B remote-as MY-AS neighbor ROUTER-B soft-reconfiguration inbound



ROUTER B configuration



router bgp MY-AS no synchronization bgp router-id ROUTER-B bgp default local-preference 50 network vvv.vvv.vvv.vvv neighbor ISP-B remote-as ISP-B-AS neighbor ISP-B soft-reconfiguration inbound neighbor ROUTER-A remote-as MY-AS neighbor ROUTER-A soft-reconfiguration inbound


After issuing: SH IP BGP SUMMARY



ROUTER A #sh ip bgp summary ... Neighbor PfxRcd ISP A 164428 ROUTER B 996



ROUTER B #sh ip bgp summary ... Neighbor PfxRcd ISP B 164394 ROUTER A 164394


So the resulting SH IP BGP shows the following:



ROUTER B#sh ip bgp BGP table version is 5700819, local router ID is ROUTER B Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete



Network Next Hop Metric LocPrf Weight Path



  • X.0.0.0 xxx.xxx.xxx.xxx 0 aaaa fghh wer i

*>i yyy.yyy.yyy.yyy 0 150 0 bbbb jfgj erttt ytuty i
  • Y.0.0.0 xxx.xxx.xxx.xxx 0 aaaa ewerwwe jbvn i

*>i yyy.yyy.yyy.yyy 0 150 0 bbbb fsdff ghjt i ...


ROUTER A#sh ip bgp BGP table version is 8295544, local router ID is ROUTER A Status codes: s suppressed, d damped, h history, *
valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete



Network Next Hop Metric LocPrf Weight Path



*>X.0.0.0 xxx.xxx.xxx.xxx 0 aaaa fggg wer i
*
>Y.0.0.0 xxx.xxx.xxx.xxx 0 aaaa sfdfg fghh whhf i ...


As you can see the ROUTER A doesn't have all the alternative routes that should be accessed through Router B in case ISP A connectivity fails. So the ROUTER B has all the alternatives, and ROUTER A doesn't. In other words, if ROUTER A has connectivity loss with ISP A, there will be some major time delay to establish all the connectivity through ISP B in ROUTER B. All processes had the time to stabilize and converge their routing information. Can someone explain-me why this happens?



Cheers



A router only advertises the best route. Since the routes that B learned from A are better than the ones that B learned from its ISP, it doesn't advertise the ISP routes back to A.

When A loses its ISP connection it will withdraw all the routes that it sent to B. Then B's ISP routes will be best, and it will advertise them to A.

This should only take a few seconds if A and B have a high speed connection.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required