Load-Balancing

Problem

You want to load-balance traffic over two or more links, between two eBGP or iBGP neighbors.

Solution

Although BGP goes to great lengths to ensure that there is only one path for each route by default, Cisco routers also allow you to configure load-balancing for equal cost paths:

Router1#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router1(config)#router bgp 65500
Router1(config-router)#maximum-paths 4 
Router1(config-router)#exit
Router1(config)#end
Router1#

Discussion

This option is useful when there are multiple paths to a particular adjacent AS. As you can see from the following BGP route table, there are three different options for these routes:

Router1#show ip bgp
BGP table version is 12, local router ID is 172.18.5.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*  10.0.0.0         192.168.1.5                            0 65510 65520 i
*>                  192.168.2.5              0             0 65520 i
*                   192.168.3.5                            0 65520 i
*  172.25.0.0       192.168.1.5                            0 65510 65520 i
*>                  192.168.2.5              0             0 65520 i
*                   192.168.3.5                            0 65520 i
Router1#

But without the maximum-paths command enabled, there is only one route for each of these destinations in the IP routing table:

Router1#show ip route bgp
     172.25.0.0/16 is variably subnetted, 2 subnets, 2 masks
B       172.25.0.0/16 [20/0] via 192.168.2.5, 00:06:58
B    10.0.0.0/8 [20/0] via 192.168.2.5, 00:06:58

We then increase the maximum path value to 4 from the default ...

Get Cisco IOS Cookbook, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.