Watching BGP neighbors form.

BGP can be considered quite the routing protocol and typically tends to intimidate those that do not fully understand it. So I’m basically going to start from the ground up here and start from the forming of BGP neighbors.

Here is our topology, something nice and simple.

Now we are going to configure the BGP neighbor statements on our two routers.

While I run the debug ip bgp ipv4 unicast command on Router2:

From the debug output we see the two routers form a neighbor relationship as it goes through all of its phases.

It starts from the Idle state, Idle is the phase that any BGP connection starts.

Now you see move from Idle to Active in the Active state the BGP device is still trying to setup BGP session with its peer.

Then you see we go from Active to OpenSent which shows we received a BGP Open message from the peer.

Now continuing over the next few lines, you see this device sending out its Open message with its BGP version, AS number, and hold time. After that you will see the device receive an Open message from it’s neighbor and acknowledge its neighbor’s BGP capabilities.

Now third line from the bottom we will see the status go from OpenSent to OpenConfirm, in this phase the BGP peers are simply waiting to receive a keep alive from the other.

Then almost immediately we go from OpenConfirm to Established, and the BGP neighbor is up.

To verify this we will issue the sh ip bgp nei summary command and verify the neighbor has been up for the last 5 seconds and no prefixes have been received. If the neighbor ship was not up then it would tell us the State of the adjacency (instead of the number of prefixes received).