Previous Table of Contents Next


Load Balancing

As noted previously, IGRP supports the function of both equal- and unequal-cost load balancing (if configured), which provides multiple active routes through the network. This can both aid performance and improve convergence—when an alternate route is already in use, it can be used for additional traffic that was normally destined for the failed link.

Unequal-cost load balancing relies on an IGRP setting called variance to be set to a value other than the default of 1. The method in which packets are balanced differs based on the type of switching in use.

Recall that the router can forward packets based on process switching, in which each packet is processed by the processor, or fast switching, in which case forwarding is not reliant on the processor for each datagram. For this presentation, please consider fast switching to encompass all other forms of switching, including autonomous and distributed.

In process switching, load balancing is allocated based on the bandwidth of the link. As shown in Figure 4.3, this would yield one packet on a 64Kbps circuit to every two packets on a 128Kbps circuit. This also assumes that variance is configured at 2.


FIGURE 4.3  Process-switched load balancing

In fast switching, the overhead incurred for per-packet load balancing would be significant. As a result, the router forwards packets on a perdestination basis. As illustrated in Figure 4.4, this yields two destinations serviced by one router to every one destination serviced by the other router in the load-balanced installation. Variance should remain at 1 for fast-switched load balancing to avoid pinhole congestion. Pinhole congestion traps a higher demand connection to a slower link—an undesirable characteristic.


FIGURE 4.4  Fast-switched load balancing

IGRP Convergence

The most significant test of a dynamic routing protocol is observed in its response to a network failure. Based on the characteristics of the routing protocol, the network may recover (assuming redundant paths) quickly or slowly. The amount of time required for the network to recover is called convergence.

IGRP was designed to reduce convergence time, and while it is not as fast as EIGRP, it can handle most outages in less than the 90-second update interval. This is made possible by the use of triggered updates.

Triggered updates will occur when the routing protocol is informed of a link failure. This is instantaneous for Fiber Distributed Data Interface (FDDI) and Token Ring, or when carrier detect is lost. For other network interfaces, failure is determined by keepalives, and failure is dependent on the keepalive timer interval. The following output provides an example of the keepalive timer as shown in the show interface command:

Router_A#show interface s0 Serial0 is up, line protocol is up Hardware is MK5025 Description: Circuit Internet address is 10.1.5.181/24 MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec, rely 255/255, load 2/255 SMDS hardware address is c121.3555.7443 Encapsulation SMDS, loopback not set, keepalive set (10 sec) ARP type: SMDS, ARP Timeout 04:00:00 Mode(s): D15 compatibility Last input 00:00:00, output 00:00:00, output hang never Last clearing of "show interface" counters 1w1d Queueing strategy: fifo Output queue 0/40, 0 drops; input queue 1/75, 0 drops 5 minute input rate 41000 bits/sec, 18 packets/sec 5 minute output rate 17000 bits/sec, 17 packets/sec 12401968 packets input, 171211114 bytes, 0 no buffer Received 0 broadcasts, 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort 10583498 packets output, 1920074976 bytes, 0 underruns 0 output errors, 0 collisions, 0 interface resets 0 output buffer failures, 0 output buffers swapped out 0 carrier transitions

Upon failure, IGRP will transmit a triggered update to notify its neighbors of the unreachable networks. The neighbors, or adjacent routers, will then trigger updates to their neighbors, ultimately leading to the information reaching all routers in the network. Each of these triggered updates occurs independently from the regular update, although the triggered update and the regular update may coincide. Holddown timers are also used to assist in the convergence process. By default, the holddown timer is equal to three times the update interval of IGRP, plus 10 seconds. This results in a default holddown time of 280 seconds, during which time the router will not respond to routes that have been poisoned, or advertised as unreachable. It is important to note that some designers eliminate the holddown timer on links with high bandwidth. Without the holddown function, it is possible to generate a significant amount of traffic during the convergence process. The command to manipulate this function is no metric holddown. Normally, if a higher metric route to a destination appears, it is poisoned to prevent loops.


Triggered updates are invoked on link-state changes only.

Designers should also note that the holddown timer does not dictate convergence times when load balancing is configured and that routes are flushed based on the flush timer. The flush timer is seven times the update interval, or 630 seconds, by default.

Network Design in the Real World: IGRP

In the financial and insurance industries, it seems as if every Cisco shop migrated to IGRP and has been cursed ever since. It is unfortunate that the protocol has garnered this reputation, as it is an improvement over IP RIP.

The majority of the problems associated with IGRP involve its lack of VLSM support. In addition, the proprietary nature of the protocol further limits its flexibility in the network.

Today, few networks are being designed around IGRP, and most companies have committed to migrations away from the protocol. There is little doubt that it will remain in use for some time, but EIGRP, OSPF, RIP v2, and other protocols will certainly replace it in the long run.

It is important to note that EIGRP configuration, discussed in the next section, is very similar to IGRP—an effort by Cisco to facilitate conversion.

Network Design with EIGRP

The Enhanced Interior Gateway Routing Protocol (EIGRP) is one of the more interesting protocols for the network designer to consider. First, the protocol is proprietary to Cisco, which will greatly limit the designer’s options in incorporating other vendors’ hardware. Second, the protocol offers many of the benefits found in OSPF without requiring a rigid design model. Unfortunately, it is this second item that frequently causes problems in EIGRP—designers and administrators use EIGRP without understanding it or planning for its use. This may be due to its position as a replacement for IGRP, which frequently adds the complexity of incorporating the legacy network into the design.

EIGRP is based on the distance-vector model, although it is quite advanced and shares components of link-state as well. The protocol supports variable-length subnet masks (VLSM), which can greatly assist the designer in IP address allocation. EIGRP works to prevent loops and speed convergence, both factors that assist the network architect. EIGRP also supports equal-cost load balancing, which can greatly augment the bandwidth and reliability of the network. Unequal-cost load balancing is also supported with the variance mechanism.

If there were a single negative factor with EIGRP, it would have to be its lack of documentation and use in the real world. This situation is quickly changing, but many companies have deployed IP EIGRP only to later remove it because of CPU, memory, and route-flapping issues. Once properly configured and designed, EIGRP quickly redeems itself, given its powerful features. One criterion towards this goal is to avoid using EIGRP in hub-and-spoke designs, as these configurations quickly demonstrate the protocol’s inability to scale and converge. This presentation of EIGRP will focus solely on IP EIGRP; it is important to note that EIGRP will support AppleTalk and IPX routing. However, separate tables are maintained for each of the three supported protocols, and each protocol uses separate hello messages, timers, and metrics.

In addition to the separate routing, topology, and neighbor tables maintained on the router for each protocol, EIGRP uses reliable and unreliable transports to provide routing functions. The primary mechanism in EIGRP is the hello datagram, which is used to maintain verification that a router is still active. When a topology change event occurs in the network, the protocol will establish a connection-oriented communications channel for the updates.


Many of the EIGRP commands and default behaviors are similar to IGRP in order to augment migration efforts. For example, EIGRP performs an automatic classful summarization like IGRP, although EIGRP adds VLSM support.


Previous Table of Contents Next