Latest

BGP: eBGP and Multihop

 BGP: eBGP and Multihop

External BGP states as eBGP is used to connect the networks in different AS and is usually directly connected. As an example showing below is the eBGP between two routers. The important point is the Next hop is self. AD for external BGP is 20

Fig 1.1- eBGP topology

Configuration on NDNA_R1 router as below

router bgp 100
bgp router-id 5.5.5.1
neighbor 10.10.10.2 remote-as 200
neighbor 20.20.20.2 remote-as 300
neighbor 10.10.10.2 send-community
neighbor 20.20.20.2 send-community

NDNA_R1 # sh ip bgp summary

BGP router identifier 5.5.5.1, local AS number 100
Neighbor    V   AS   MsgRcvd   MsgSent   TblVer  InQ   OutQ   Up/Down     State 
10.10.10.2  4   200   468       510       266     0     0      07:26:43    up           Established
20.20.20.2  4   300   162       221       134     0     0      01:12:13     up          Established

eBGP Multihop
eBGP multihop is often used to load balance traffic over multiple links. So eBGP peering is always to be set on the loopback interfaces.

Now lets take an example where we can say there are two links between NDNA_R1 and NDNA_R2 as shown below 

Fig 1.2- eBGP with Multihop

Configuration on NDNA_R1 router as below

router bgp 100
neighbor 10.10.10.2 remote-as 200
neighbor 10.10.10.2 update-source loopback 0
neighbor 10.10.10.2 ebgp-multihop 2

!
ip route 10.10.10.2 255.255.255.255 s0/0
ip route 10.10.10.2 255.255.255.255 s1/0
!

So here we are using two routes with the same IP address but the interfaces are S0/0 and S1/0 as shown.

EBGP Multihop is used for peering with routers that are more than one hop apart. Since eBGP peering by default has a TTL value of 1, if two routers are not directly linked (or using tunneling mechanisms), they will drop the IP packet in transport since the TTL is too low to reach the destination eBGP peer. 

As a solution, we can set the multihop feature in order to increase the TTL value for IP packets sent during eBGP sessions.