Multipath Load Sharing with two ISPs
From CT3
Contents |
Cisco documentation describing BGP multipath load sharing states:
- All attributes must be the same. The attributes include weight, local preference, autonomous system path (entire attribute and not just length), origin code, Multi Exit Discriminator (MED), and Interior Gateway Protocol (IGP) distance.
- The next hop router for each multipath must be different.
These restrictions work well when we load share to one ISP over multiple links. Unfortunately requirement of having identical AS paths doesn't work well for situation when we want to load share to two different ISPs.
Fortunately, Cisco has undocumented command that allows us to bypass this requirement (AS paths still have to be te same length, but don't have to be identical).
bgp bestpath as-path multipath-relax
Example
The impact of the hidden IOS command can be seen in the sample network displayed in the following figure.
The Router gets the BGP route for IP prefix 4.23.114.0/24 through two AS boundary routers from two different upstream ISPs with (obviously) two different AS paths of identical lenght and performs load sharing between them as illustrated by the following printouts.
- show ip bgp vpnv4 vrf INTERNET 4.23.114.0
BGP routing table entry for x.x.239.25:10:4.23.114.0/24, version 15640616
Paths: (2 available, best #2, table INTERNET)
Multipath: iBGP
Not advertised to any peer
33363 174 21889, imported path from x.x.239.27:10:4.23.114.0/24
x.x.239.27 (metric 2) from x.x.239.27 (x.x.239.27)
Origin IGP, metric 0, localpref 100, valid, internal, multipath
Extended Community: RT:10:27
DMZ-Link Bw 3125 kbytes
mpls labels in/out nolabel/93
4323 174 21889, imported path from x.x.239.26:10:4.23.114.0/24
x.x.239.26 (metric 2) from x.x.239.26 (x.x.239.26)
Origin IGP, metric 0, localpref 100, valid, internal, multipath, best
Extended Community: RT:10:26
DMZ-Link Bw 1875 kbytes
mpls labels in/out nolabel/240811
- show ip route vrf INTERNET 4.23.114.0
Routing entry for 4.23.114.0/24
Known via "bgp x", distance 200, metric 0
Tag 4323, type internal
Last update from x.x.239.26 07:51:45 ago
Routing Descriptor Blocks:
* x.x.239.27 (Default-IP-Routing-Table), from x.x.239.27, 07:51:45 ago
Route metric is 0, traffic share count is 8
AS Hops 4
Route tag 4323
x.x.239.26 (Default-IP-Routing-Table), from x.x.239.26, 07:51:45 ago
Route metric is 0, traffic share count is 5
AS Hops 4
Route tag 4323
- show ip cef vrf INTERNET 4.23.114.0
4.23.114.0/24, version 3468003, epoch 0, per-destination sharing
0 packets, 0 bytes
tag information set
local tag: VPN-route-head
via x.x.239.27, 0 dependencies, recursive
traffic share 8
next hop x.x.239.15, FastEthernet1/1 via x.x.239.27/32
valid adjacency
tag rewrite with Fa1/1, x.x.239.15, tags imposed: {93}
via x.x.239.26, 0 dependencies, recursive
traffic share 5
next hop x.x.239.13, FastEthernet1/0 via x.x.239.26/32
valid adjacency
tag rewrite with Fa1/0, x.x.239.13, tags imposed: {240811}
0 packets, 0 bytes switched through the prefix
tmstats: external 0 packets, 0 bytes
internal 0 packets, 0 bytes

BlogMarks
del.icio.us
digg
Newsvine
reddit
Slashdot