BGP Part 2: Here’s why you hate BGP

If you studied already other IGP protocols like OSPF or EIGRP you might find BGP kind of strange.

BGP is complex, it’s big and always it has another hidden configuration parameter; there is always something new to find about BGP.

Moreover, BGP do not even behave like it little IGP brothers. It does things it’s way.

You might hate BGP for several reasons, let’s discuss my top 3 reasons:

Reason# 1 Why don’t you come up? Please?  

I’ll start by sharing with you my frustrations when configuring or tshooting BGP in a form of a helpful text.

BGP don’t come up for many reasons, specially eBGP it’s very picky. iBGP it’s easier(not really).

Scenario 1 – The most simple eBGP

! Just the basic config to bring them up

*****

R1

Router bgp 100

Neighbor 192.1.12.2 remote-as 200

******

R2

Router bgp 200

Neighbor 192.1.12.1 remote-as 100

! Yeah, that’s it.

Scenario 2 – Multihop nightmare, eBGP style

Example config:

R1

Ip route 2.2.2.2 255.255.255.0 192.12.1.2

Ip route 2.2.2.2 255.255.255.0 192.12.2.2

Router bgp 100

neighbor 2.2.2.2 remote-as 200

neighbor 2.2.2.2 update-source loop1

neighbor 2.2.2.2 ebgp-multihop 2

!

*****

R2

Ip route 1.1.1.1 255.255.255.0 192.12.1.1

Ip route 1.1.1.1 255.255.255.0 192.12.2.1

router bgp 200

neighbor 1.1.1.1 remote-as 100

neighbor 1.1.1.1 update-source loop1

neighbor 1.1.1.1 ebgp-multihop 2

!

*****

Reason# 2 I don’t understand show ip bgp output

Here we have some examples of a busy BGP neighborhood, explained as best as I can to fit it here.

Below, in yellow color, an extended explanation about “rib failure”.

— Click on the pictures to enlarge them  —

Reason# 3 iBGP neighbors, aka why I cannot ping the other side?

Step#1: Here is a typical scenario below, AS#200 R2 announced a route coming from R1 network 1.11.11.0/24 to its neighbor R3.

Step#2: R2 and R3 are iBGP neighbors, iBGP by default will not change the next-hop of the route, meaning the route will be send with “reach via 10.12.1.1” which is the link between R1 and R2. R2 normally won’t redistribute into iBGP or IGP the external link to R1.

R3 has no idea how to reach network 10.12.1.0 so it won’t install it into the RIB and that route won’t be used for now. Will be shown as inaccessible.

 

Step#3: We add a command in R2 that tells any route to announce to R3 to set the next-hop as itself. Now the route will be forwarded again to R3 with R2 as a next hop.

Step #4: Now the new route will come to R3 with the next hop via R2, in this case R3 knows how to reach R2.

Step #5: R3 will have reachability to R2 and to the route, it will be installed in the RIB and start forwarding.

Final thoughts

BGP it’s a very powerful protocol/application, but with great power comes great complexity.

But that’s ok, soon or later BGP and you will be friends. And who knows, maybe more.

I hope I can help you to make that transition from BGP hate to BGP love faster.

What do you think? Which BGP part drives you mad?

#Check here for BGP part 1 for an introduction

# Check here for BGP filtering tricks.

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

Leave a Reply