eBGP multihop
eBGP multihop can be used to loadshare traffic across multiple links between eBGP peers.
Consider the topology below.
By default eBGP sessions can only be established between directly connected interfaces. If you want to connect to a non-connected interface or to a non-connected neighbor, you have to use the eBGP-multihop feature.
For this to work, you need to add a static route or routes if you want to load share so that BGP knows how to reach the non-connected interface.
To prevent the creation of loops through oscillating routes, the multihop will not be established if the only route to the multihop peer is the default route (0.0.0.0).(CCO)
The Video below shows how eBGP-multihop can be used to load-share traffic across multiple links between eBGP peers. Only a single eBGP-multihop session is required, the underlying static routes will load share the traffic. This can be confirmed in the FIB.
(Download and watch the video below on your iPod or iPhone).
The commands used in the above scenario can be found below.
R1
!
interface Loopback0
ip address 1.1.1.1 255.255.255.255
!
interface FastEthernet1/0
ip address 10.0.0.1 255.255.255.252
!
interface FastEthernet1/1
ip address 10.0.0.5 255.255.255.252
!
router bgp 1
neighbor 2.2.2.2 remote-as 2
neighbor 2.2.2.2 ebgp-multihop 2
neighbor 2.2.2.2 update-source Loopback0
!
ip route 2.2.2.2 255.255.255.255 10.0.0.2
ip route 2.2.2.2 255.255.255.255 10.0.0.6
R2
!
interface Loopback0
ip address 2.2.2.2 255.255.255.255
!
interface FastEthernet1/0
ip address 10.0.0.2 255.255.255.252
!
interface FastEthernet1/1
ip address 10.0.0.6 255.255.255.252
!
interface Loopback1
ip address 192.168.1.1 255.255.255.0
!
router bgp 2
network 192.168.1.0
neighbor 1.1.1.1 remote-as 1
neighbor 1.1.1.1 ebgp-multihop 2
neighbor 1.1.1.1 update-source Loopback0
!
ip route 1.1.1.1 255.255.255.255 10.0.0.1
ip route 1.1.1.1 255.255.255.255 10.0.0.5



I believe, there is command
to use beside update-source loopback0, (For EBGP Peer Only)
I believe if I am not mistaken
the command is disable-connected-check under router bgp process
Hi!
Nice article.
Weiping you don’t have to use disable-connected-check when you use ebgp-multihop. Use of disable-connected-check is an alternative to ebgp-multihop, and has nothing to do with update-source “interface”. Actually update-source command has to be used in both configuration.
Good luck!
Nice article. But what is 192.168.1.0 network.
why it is only in router 2.
Nice one and understandable, same question as matt asked about 192.168.1.0 network
Hi Rankeshwar
I haven’t looked at this for a while. but basically if my memory serves me correctly the reason I configured the address 192.168.1.0 was to demonstrate the load sharing behavior that can be achieved using ebgp multihop as in the scenario. I dont know if you’ve had time to watch the video but you will see that cef see the route to 192.168.10 via both fast1/0 and fast1/1.
Hope that clarifies things.
Zarar
Hi,
Do the neighbor ip need to be the loopback or the can it be the fa ip address? For this eBGP multi-hop. Thanks
ZeKai
eBGP itself can peer directly with the neighbors physical interface, however if you did that then the next hop for all routes would be the remote peers physical interface and not the loopback and hence you wouldn’t get any load sharing.
So what is the difference between ebgp multihop and using maximum-paths 2 ?