All prefixes that BGP learns are stored in the BGP table. In this lesson we’ll take a look at this table and you 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.
Here’s the topology we will use. 4 routers, each in a different autonomous system:
Want to take a look for yourself? Here you will find the startup configuration of each device.
hostname R1 ! interface fastEthernet0/0 ip address 192.168.12.1 255.255.255.0 ! interface fastEthernet0/1 ip address 192.168.13.1 255.255.255.0 ! router bgp 1 neighbor 192.168.12.2 remote-as 2 neighbor 192.168.13.3 remote-as 3 ! end
hostname R2 ! interface fastEthernet0/0 ip address 192.168.12.2 255.255.255.0 ! interface fastEthernet0/1 ip address 192.168.24.2 255.255.255.0 ! router bgp 2 neighbor 192.168.12.1 remote-as 1 neighbor 192.168.24.4 remote-as 4 ! end
hostname R3 ! interface fastEthernet0/0 ip address 192.168.13.3 255.255.255.0 ! interface fastEthernet0/1 ip address 192.168.34.3 255.255.255.0 ! router bgp 3 neighbor 192.168.13.1 remote-as 1 neighbor 192.168.34.4 remote-as 4 ! end
hostname R4 ! interface Loopback 0 ip address 18.104.22.168 255.255.255.255 ! interface fastEthernet0/0 ip address 192.168.24.4 255.255.255.0 ! interface fastEthernet0/1 ip address 192.168.34.4 255.255.255.0 ! router bgp 4 network 22.214.171.124 mask 255.255.255.255 neighbor 192.168.24.2 remote-as 2 neighbor 192.168.34.3 remote-as 3 ! end
The BGP configurations are pretty straight-forward, we are using eBGP here. Note that R4 advertises a network (loopback interface) in BGP.
Reading the BGP Table
Let’s take a look at the BGP tables. We’ll start with R4:
R4#show ip bgp BGP table version is 2, local router ID is 192.168.34.4 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 *> 126.96.36.199/32 0.0.0.0 0 32768 i
Ok so what do we see here? Let’s start with the items I highlighted in red first. This router has network 188.8.131.52/32 in its BGP table and in front of the network there’s the *> symbol:
- The * means that this is a valid route and that BGP is able to use it.
- The > means that this entry has been selected as the best path.
The next hop is 0.0.0.0. The next hop of 0.0.0.0 means that this network originated on this router, that makes sense since I used the network command on R4 to advertise this network into BGP.
Further to the right you see metric, local preference and weight. These are the BGP attributes that are used to select the best path.
Path will show the AS path, there’s nothing there since this network was advertised in BGP on this router. On the other routers you’ll see something here.
The ‘i’ is the origin code and indicates that this network was advertised into BGP using the network command, the table says it refers to IGP but it doesn’t have anything to do with “interior gateway protocols”. When you redistribute something into BGP it will show up with the ? symbol. You will never see the ‘e’ symbol, this refers to EGP (Exterior Gateway Protocol) which is the predecessor of BGP.
Some of the other things you see here is the BGP table version, every time the best path changes this number will increase. You can see the BGP router ID of this router and there are some other status codes:
- supressed: BGP knows the network but won’t advertise it, this can occur when the network is part of a summary.
- damped: BGP doesn’t advertise this network because it was flapping too often (network appears, disapears, appears, etc.) so it got a penalty.
- history: BGP learned this network but doesn’t have a valid route at the moment.
- RIB-failure: BGP learned this network but didn’t install it in the routing table. This occurs when another routing protocol with a lower administrative distance also learned it.
- stale: this is used for non-stop forwarding, this entry has to be refreshed when the remote BGP neighbor has returned.
Let’s look at the BGP tables of the other routers, we’ll continue with R2:
R2#show ip bgp BGP table version is 2, local router ID is 192.168.24.2 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 *> 184.108.40.206/32 192.168.24.4 0 0 4 i
The output of R2 is similar to what we have seen on R4 but there are two important differences. The first one is the next hop, R2 learned about this network from 192.168.24.4. The second thing is the AS path, it’s showing AS 4.
Let’s check R1:
What mean a network is dampened and History in the BGP table?
I’ll create a separate post for this, it’s about BGP Dampening.
When a route is unstable, it’s possible that it gets advertised and then removed again all the time…we don’t want to see this, we want our BGP tables to be steady and stable.
To prevent this from happening, a route that appears and disappears gets a “penalty”. Once you exceed a certain threshold, it won’t be advertised for a certain time. This is called “dampening”.
I’ll cook up some examples for this so you can see how it works.
Ok excellent thanks.
How do you use the glass server?
Take a look at this website:
BGP Looking Glass
Scroll all the way to the bottom to this section:
CATEGORY 2 - IPv4 AND IPv6 BGP ROUTE SERVERS BY REGION (TELNET ACCESS)
Here you will find routers/servers with telnet addresses. Just telnet to one of them and you can take a look around in the BGP routing table.