eBGP Multihop



In some cases, a Cisco router can run eBGP with a third party router that doesn't allow the two external peers to be directly connected. To achieve this, you can use eBGP multihop, which allows the neighbor connection to be established between two non−directly−connected external peers. The multihop is used only for eBGP and not for iBGP. The following example illustrates of eBGP multihop.





RTA#
router bgp 100
neighbor 180.225.11.1 remote−as 300
neighbor 180.225.11.1 ebgp−multihop
RTB#
router bgp 300
neighbor 129.213.1.2 remote−as 100

RTA is indicating an external neighbor that isn't directly connected. RTA needs to indicate that it's using ebgp−multihop. On the other hand, RTB is indicating a neighbor that is directly connected (129.213.1.2), which is why it doesn't need the ebgp−multihop command. You should also configure an IGP or static routing to allow the non−connected neighbors to reach each other.
The following example shows how to achieve load balancing with BGP in a particular case where we have eBGP over parallel lines.

eBGP Multihop (Load Balancing)



RTA#
int loopback 0
ip address 150.10.1.1 255.255.255.0
router bgp 100
neighbor 160.10.1.1 remote−as 200
neighbor 160.10.1.1 ebgp−multihop
neighbor 160.10.1.1 update−source loopback 0
network 150.10.0.0
ip route 160.10.0.0 255.255.0.0 1.1.1.2
ip route 160.10.0.0 255.255.0.0 2.2.2.2
RTB#
int loopback 0
ip address 160.10.1.1 255.255.255.0
router bgp 200
neighbor 150.10.1.1 remote−as 100
neighbor 150.10.1.1 update−source loopback 0
neighbor 150.10.1.1 ebgp−multihop
network 160.10.0.0
ip route 150.10.0.0 255.255.0.0 1.1.1.1
ip route 150.10.0.0 255.255.0.0 2.2.2.1
The above example illustrates the use of loopback interfaces, update−source and ebgp−multihop. This is a workaround in order to achieve load balancing between two eBGP speakers over parallel serial lines. In normal situations, BGP picks one of the lines to send packets on, and load balancing wouldn't happen. By introducing loopback interfaces, the next hop for eBGP is the loopback interface. We use static routes (we could also use an IGP) to introduce two equal cost paths to reach the destination. RTA has two choices to reach next hop 160.10.1.1: one via 1.1.1.2 and the other one via 2.2.2.2, and the same for RTB.