BGP Troubleshooting Tips – Neighbor Formation

The Border Gateway Protocol is actually a very complex IP routing protocol. It’s quite a specialised protocol and is normally used for routing between different systems or routing domains.  You’ll find BGP used by ISPs and those companies with very large corporate networks. In the 1990s when there were many company mergers and acquisitions BGP became very popular.  It was a very useful protocol for joining up all those different networks and systems.

There are some characteristics of BGP that must be considered before troubleshooting.  One of those is that of neighbour formation, which are always defined statically.  The formation depends upon a TCP connection and you can view that on a router by using the show ip bgp neighbor command.

You’ll get quite a lot of information from this command but the most useful will be at the top of the output.  The single most important piece of information is  that of the BGP state.  This will switch from Idle to Active to Open and finally Established during the neighbor formation process.  If it’s anything other than established then the formation has not taken place.

Other parameters that might be useful are the version.  Cisco support all versions on their routers in practice you’ll most commonly find BGP4. BGP is though rather clever at working with different versions of itself, it will negotiate down to the lowest common version of the protocol being run.  Keep an eye on the table version information which will increment if there is a change in the BGP routing.  If you see a persistently increasing table version, then this could indicate an unstable network or perhaps a flapping route

The last item of note is the neighbor uptime figure which can also act as a pointer to some cause of network instability.   The BGP router ID is recorded as the highest IP address or loopback address which is available on that device.  It’s a great little protocol and it’s only when you use it connect different networks that you can see it’s flexibility.  I’ve actually successfully managed to route through a series of proxies and devices and streamed video with very little problems.  The idea came from this post http://www.onlineanonymity.org/uk-tv/how-to-watch-uk-tv-in-usa/ which uses a proxy server to fool various media sites about your location.  The idea is that if you hide behind a proxy server with a UK IP address for example you can watch British TV in the US.