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.