EBGP Multihop

eBGP (external BGP) by default requires two Cisco IOS routers to be directly connected to each other in order to establish a neighbor adjacency. This is because eBGP routers use a TTL of one for their BGP packets. When the BGP neighbor is more than one hop away, the TTL will decrement to 0 and it will be discarded.

Continue reading

BGP Peer Groups on Cisco IOS

When you configure BGP on a router it’s possible that some of the BGP neighbors share the exact same configuration. This can be annoying since you have to type in the exact same commands for each of these neighbors. Also, when BGP prepares updates it does this separately for each neighbor. This means that it has to use CPU resources to prepare the update for each neighbor.

Continue reading

BGP Private and Public AS Range

Just like IP addresses, ASNs (Autonomous System Numbers) have to be unique on the Internet. The main reason for this is that BGP uses the AS number for its loop prevention mechanism. When BGP learns about a route that has its own AS number in its path then it will be discarded.

Here’s an example:

Continue reading

How to Read the BGP Table

All prefixes that BGP learns are stored in the BGP table. In this blog we’ll take a look at this table and we will learn how to read it. We’ll start with a simple topology and finish with a quick peek at a full Internet routing table.

Continue reading

BGP Auto-Summary

In a previous blog, we discussed how the BGP network command works. When we enable auto-summary for BGP, the way the network command works changes slightly.

Normally when you advertise a network in BGP you have to type in the exact network and subnet maskthat you want to advertise or it won’t be placed in the BGP table.

Continue reading

BGP Next Hop Self

One potential issue with iBGP is that it doesn’t change the next hop IP address. Sometimes this can cause reachability issues. Let’s look at an example:

Continue reading

BGP Neighbor Adjacency States

Just like OSPF or EIGRP, BGP establishes a neighbor adjacency with other BGP routers before they exchange any routing information. Unlike other routing protocols however, BGP does not use broadcast or multicast to “discover” other BGP neighbors.

Continue reading

BGP Messages

BGP uses a variety of messages for establishing the connection, exchanging routing information, checking if the remote BGP neighbor is still there and/or notifying the remote side if any errors occur.

To do all of this, BGP uses 4 messages:

Continue reading

How to configure BGP MED Attribute

MED (or metric) is the sixth BGP attribute:

  • MED can be used to advertise to your neighbors how they should enter your AS.
  • MED is exchanged between autonomous systems.
  • The lowest MED is the preferred path.
  • MED is propagated to all routers within the neighbor AS but not passed along any other autonomous systems.

Continue reading

BGP Prevent Transit AS

By default BGP will advertise all prefixes to EBGP (External BGP) neighbors. This means that if you are multi-homed (connected to two or more ISPs) that you might become a transit AS. Let’s look at the following example:

Continue reading

BGP Soft Reconfiguration

When we change the BGP routing policy (changing the attributes or adding filters) we need to reset the BGP session before the new policy takes effect. This is no problem in a lab but it’s something you don’t want to do in a production network. In fact, there are 3 methods how you can refresh your BGP policies:

Continue reading

BGP Route Refresh Capability

A long time ago there was no method to dynamically request a re-advertisement of the prefixes of one of your BGP neighbors. When you change your policy, somehow you have to compare all the prefixes from your BGP neighbor against your new policy.

Continue reading