EBGP Multihop

Hi Walid,

This will work as long as R1 is the router that initiates the TCP connection for BGP. It uses the IP address from the update-source command as the source (1.1.1.1) to initiate the connection and 2.2.2.2 as the destination. R2 responds with its 2.2.2.2 address.

When R2 initiates the connection, it uses the IP address on the interface that faces R1 (192.168.12.2) which doesn’t match the neighbor command on R1.

A quick way to verify that R1 is the TCP client is to look at the port numbers:

R1#show ip bgp neighbors | include port:  
Local host: 1.1.1.1, Local port: 28823
Foreign host: 2.2.2.2, Foreign port: 179
R2#show ip bgp neighbors | include port:
Local host: 2.2.2.2, Local port: 179
Foreign host: 1.1.1.1, Foreign port: 28823

You can see this in action in wireshark. Take a look at this capture:

https://www.cloudshark.org/captures/96e0d64cc32a

I did a clear ip bgp * on R2. In packet 6, you can see that R2 did an attempt from 192.168.12.2 that R1 refuses in packet 7. When R1 initiates it from R1, it works.

Hope this helps!

Rene

1 Like