Equal-cost load balancing is the ability of a router to distribute outbound traffic using all interfaces that have the same metric from the destination address. Load balancing uses network segments and bandwidth more efficiently. For IP, Cisco IOS Software applies load balancing using up to four equal-cost paths by default.
Figure 1 shows the EIGRP for IPv4 network topology. In this topology, R3 has two EIGRP equal-cost routes for the network between R1 and R2, 172.16.3.0/30. One route is via R1 at 192.168.10.4/30 and the other route is via R2 at 192.168.10.8/30.
The show ip protocols command can be used to verify the number of equal-cost paths currently configured on the router. The output in Figure 2 shows that R3 is using the default of four equal-cost paths.
The routing table maintains both routes. Figure 3 shows that R3 has two EIGRP equal-cost routes for the 172.16.3.0/30 network. One route is via R1 at 192.168.10.5 and the other route is via R2 at 192.168.10.9. Looking at the topology in Figure 1, it may seem as if the path via R1 is the better route because there is a 1544 kb/s link between R3 and R1, whereas the link to R2 is only a 1024 kb/s link. However, EIGRP only uses the slowest bandwidth in its composite metric which is the 64 kb/s link between R1 and R2. Both paths have the same 64 kb/s link as the slowest bandwidth, this results in both paths being equal.
When a packet is process-switched, load balancing over equal-cost paths occurs on a per-packet basis. When packets are fast-switched, load balancing over equal-cost paths occurs on a per-destination basis. Cisco Express Forwarding (CEF) can perform both per packet and per-destination load balancing.
Cisco IOS, by default, allows load balancing using up to four equal-cost paths; however, this can be modified. Using the maximum-paths router configuration mode command, up to 32 equal-cost routes can be kept in the routing table.
Router(config-router)# maximum-paths value
The value argument refers to the number of paths that should be maintained for load balancing. If the value is set to 1, load balancing is disabled.