Configuring and Verifying EIGRP
This section covers the commands used to configure EIGRP features. The following topics are discussed:
- Basic EIGRP configuration
- Configuring the ip default-network command for EIGRP
- Route summarization
- EIGRP load balancing
- EIGRP and WAN links
Basic EIGRP Configuration
Follow these steps to configure basic EIGRP for IP:
- Step 1 Enable EIGRP and define the autonomous system using the router eigrp autonomous-system-number global configuration command. In this command, the autonomous-system-number identifies the autonomous system and is used to indicate all routers that belong within the internetwork. This value must match on all routers within the internetwork.
Step 2 Indicate which networks are part of the EIGRP autonomous system using the network network-number [wildcard-mask] router configuration command. Table 3-1 summarizes the parameters of this command.
Table 3-1. network Command Parameters
This parameter can be a network, a subnet, or the address of an interface. It determines which links on the router to advertise to, which links to listen to advertisements on, and which networks are advertised.
(Optional) An inverse mask used to determine how to interpret the network-number. The mask has wildcard bits, where 0 is a match and 1 is do not care. For example, 0.0.255.255 indicates a match in the first 2 octets.
If you do not use the optional wildcard mask, the EIGRP process assumes that all directly connected networks that are part of the major network will participate in the EIGRP routing process, and EIGRP will attempt to establish EIGRP neighbor relationships from each interface that is part of the overall Class A, B, or C network.
Use the optional wildcard mask to identify a specific IP address, subnet, or network. The router interprets the network number using the wildcard mask to determine which connected networks will participate in the EIGRP routing process. If you want to specify an interface address, use the mask 0.0.0.0 to match all 4 octets of the address. An address and wildcard mask combination of 0.0.0.0 255.255.255.255 matches all interfaces on the router.
Step 3 For serial links, define the link's bandwidth for the purposes of sending routing update traffic on the link. If you do not define the bandwidth value for these interfaces, EIGRP assumes that the bandwidth on the link is the default, which varies with interface type. Recall that EIGRP uses bandwidth as part of its metric calculation. If the link is actually slower than the default, the router might not be able to converge, or routing updates might become lost. The percent of the interface's bandwidth that EIGRP uses can also be limited, as described in the section "EIGRP and WAN Links" later in this chapter. To define the bandwidth, use the bandwidth kilobits interface configuration command. In this command, kilobits indicates the intended bandwidth in kbps.
For generic serial interfaces such as PPP and HDLC, set the bandwidth to match the line speed. For Frame Relay point-to-point interfaces, set the bandwidth to the committed information rate (CIR). For Frame Relay multipoint connections, set the bandwidth to the sum of all CIRs, or if the permanent virtual circuits (PVCs) have different CIRs, set the bandwidth to the lowest CIR multiplied by the number of PVCs on the multipoint connection.
Basic EIGRP Configuration Example
Figure 3-17 shows a sample network, including the configuration of Router A for EIGRP.
Figure 3-17 Basic EIGRP Configuration Sample Network
All routers in the network are part of autonomous system 109. (For EIGRP to establish a neighbor relationship, all neighbors must be in the same autonomous system.)
Because the wildcard mask is not used in Router A's configuration, all interfaces on Router A that are part of network 10.0.0.0/8 and network 172.16.0.0/16 participate in the EIGRP routing process. In this case, this includes all four interfaces. Note that network 192.168.1.0 is not configured in the EIGRP configuration on Router A, because Router A does not have any interfaces in that network.
Instead, suppose that the configuration in Example 3-2 was entered onto Router A.
Example 3-2. Alternative Configuration of Router A in Figure 3-17
routerA(config)#router eigrp 109 routerA(config-router)#network 10.1.0.0 routerA(config-router)#network 10.4.0.0 routerA(config-router)#network 172.16.7.0 routerA(config-router)#network 172.16.2.0
Because no wildcard mask was specified, Router A would automatically change the network commands to have classful networks, and the resulting configuration would be as shown in Example 3-3.
Example 3-3. Router A's Interpretation of the Configuration in Example 3-2
router eigrp 109 network 10.0.0.0 network 172.16.0.0
Alternatively, consider what would happen if the configuration shown in Example 3-4 was entered for Router A.
Example 3-4. Another Alternative Configuration of Router A in Figure 3-17
routerA(config)#router eigrp 109 routerA(config-router)#network 10.1.0.0 0.0.255.255 routerA(config-router)#network 10.4.0.0 0.0.255.255 routerA(config-router)#network 172.16.2.0 0.0.0.255 routerA(config-router)#network 172.16.7.0 0.0.0.255
In this case, Router A uses the wildcard mask to determine which directly connected interfaces participate in the EIGRP routing process for autonomous system 109. All interfaces that are part of networks 10.1.0.0/16, 10.4.0.0/16, 172.16.2.0/24, and 172.16.7.0/24 participate in the EIGRP routing process for autonomous system 109; in this case, all four interfaces participate.
EIGRP Configuration Example Using the Wildcard Mask
Figure 3-18 shows another sample network that runs EIGRP in autonomous system 100. The configuration for Router C uses the wildcard mask, because Router C has subnets of Class B network 172.16.0.0 on all interfaces. Router C connects to a router external to autonomous system 100 on its serial interface, and the administrator does not want to run EIGRP with the same autonomous system number there. Without using the wildcard mask, Router C would send EIGRP packets to the external network. This would waste bandwidth and CPU cycles and would provide unnecessary information to the external network. The wildcard mask tells EIGRP to establish a relationship with EIGRP routers from interfaces that are part of network 172.16.3.0/24 or 172.16.4.0/24, but not 172.16.5.0/24.
Figure 3-18 EIGRP Configuration with Wildcard Mask Example
Configuring the ip default-network Command for EIGRP
The EIGRP default route can be created with the ip default-network network-number global configuration command. A router configured with this command considers the network-number the last-resort gateway that it will announce to other routers. The network must be reachable by the router that uses this command before it announces it as a candidate default route to other EIGRP routers. The network number in this command must also be passed to other EIGRP routers so that those routers can use this network as their default network and set their gateway of last resort to this default network. This means that the network must either be an EIGRP-derived network in the routing table, or be generated with a static route and redistributed into EIGRP.
Multiple default networks can be configured; downstream routers then use the EIGRP metric to determine the best default route.
For example, in Figure 3-19, Router A is directly attached to external network 172.31.0.0/16. Router A is configured with the 172.31.0.0 network as a candidate default network using the ip default-network 172.31.0.0 command. Router A also has that network listed in a network command under the EIGRP process and, therefore, passes it to Router B. On Router B, the EIGRP-learned 172.31.0.0 network is flagged as a candidate default network (indicated by the * in the routing table). Router B also sets the gateway of last resort as10.5.1.1 (Router A) to reach the default network of 172.31.0.0.
Figure 3-19 EIGRP ip default-network Sample Network
Example 3-5. EIGRP Passes a Default Route Only if it is Configured to Do So
Router#show run <output omitted> interface serial 0/0/0 ip address 10.1.1.1 255.255.255.0 ! ip route 0.0.0.0 0.0.0.0 serial 0/0/0 ! router eigrp 100 network 0.0.0.0 <output omitted>
Some EIGRP features, such as automatically summarizing routes at a major network boundary, have distance vector characteristics. Traditional distance vector protocols, which are classful routing protocols, must summarize at network boundaries. They cannot presume the mask for networks that are not directly connected, because masks are not exchanged in the routing updates.
Summarizing routes at classful major network boundaries creates smaller routing tables. Smaller routing tables, in turn, make the routing update process less bandwidth intensive. Cisco distance vector routing protocols have autosummarization enabled by default. As mentioned earlier, EIGRP has its roots in IGRP and, therefore, summarizes at the network boundary by default. For EIGRP, this feature can be turned off.
The inability to create summary routes at arbitrary boundaries with a major network has been a drawback of distance vector protocols since their inception. EIGRP has added functionality to allow administrators to create one or more summary routes within a network on any bit boundary (as long as a more specific route exists in the routing table). When the last specific route of the summary goes away, the summary route is deleted from the routing table. The minimum metric of the specific routes is used as the metric of the summary route.
When summarization is configured on a router's interface, a summary route is added to that router's routing table, with the route's next-hop interface set to null0—a directly connected, software-only interface. The use of the null0 interface prevents the router from trying to forward traffic to other routers in search of a more precise, longer match, thus preventing traffic from looping within the network. For example, if the summarizing router receives a packet to an unknown subnet that is part of the summarized range, the packet matches the summary route based on the longest match. The packet is forwarded to the null0 interface (in other words, it is dropped or sent to the bit bucket). This prevents the router from forwarding the packet to a default route and possibly creating a loop.
For effective summarization, blocks of contiguous addresses (subnets) should funnel back to a common router so that a single summary route can be created and then advertised. The number of subnets that can be represented by a summary route is directly related to the difference in the number of bits between the subnet mask and the summary mask. The formula 2n, where n equals the difference in the number of bits between the summary and subnet masks, indicates how many subnets can be represented by a single summary route. For example, if the summary mask contains 3 fewer bits than the subnet mask, eight (23 = 8) subnets can be aggregated into one advertisement.
For example, if network 10.0.0.0 is divided into /24 subnets and some of these subnets are summarized to the summarization block 10.1.8.0/21, the difference between the /24 networks and the /21 summarizations is 3 bits; therefore, 23 = 8 subnets can be aggregated. The summarized subnets range from 10.1.8.0/24 through 10.1.15.0/24.
When creating summary routes, the administrator needs to specify the IP address of the summary route and the summary mask. Cisco IOS handles the details of proper implementation, such as metrics, loop prevention, and removal of the summary route from the routing table if none of the more specific routes are valid.
Configuring Manual Route Summarization
EIGRP automatically summarizes routes at the classful boundary, but, as discussed, in some cases you might want to turn off this feature. For example, if you have discontiguous subnets, you need to disable autosummarization. Note that an EIGRP router does not perform automatic summarization of networks in which it does not participate.
To turn off automatic summarization, use the no auto-summary router configuration command. Use the ip summary-address eigrp as-number address mask [admin-distance] interface configuration command to manually create a summary route at an arbitrary bit boundary, as long as a more specific route exists in the routing table. Table 3-2 summarizes the parameters for this command.
Table 3-2. ip summary-address eigrp Command Parameters
EIGRP autonomous system number.
The IP address being advertised as the summary address. This address does not need to be aligned on Class A, B, or C boundaries.
The IP subnet mask being used to create the summary address.
(Optional) Administrative distance. A value from 0 to 255.
For example, Figure 3-20 shows a discontiguous network 172.16.0.0. By default, both Routers A and B summarize routes at the classful boundary; as a result, Router C would have two equally good routes to network 172.16.0.0 and would perform load balancing between Router A and Router B. This would not be correct routing behavior.
Figure 3-20 Summarizing EIGRP Routes
As shown in Example 3-6, you can disable the automatic route summarization on Router A; the same configuration would be done on Router B. With this configuration, Router C knows precisely that 172.16.1.0 is reached via Router A and that 172.16.2.0 is reached only via Router B. The routing tables of the routers in the 10.0.0.0 network, including Router C, now include these discontiguous subnets.
Example 3-6. Turning Off EIGRP Autosummarization on Router A (and Router B) in Figure 3-20
RouterA(config)#router eigrp 1 RouterA(config-router)#network 10.0.0.0 RouterA(config-router)#network 172.16.0.0 RouterA(config-router)#no auto-summary
An EIGRP router autosummarizes routes for only networks to which it is attached. If a network was not autosummarized at the major network boundary, as is the case in this example on Routers A and B because autosummarization is turned off, all the subnet routes are carried into Router C's routing table. Router C will not autosummarize the 172.16.1.0 and 172.16.2.0 subnets because it does not own the 172.16.0.0 network. Therefore, Router C would send routing information about the 172.16.1.0 subnet and the 172.16.2.0 subnet to the WAN.
Forcing a summary route out Router C's interface s0/0/0, as shown in Example 3-7, helps reduce route advertisements about network 172.16.0.0 to the world.
Example 3-7. Forcing Summarization on Router C in Figure 3-20
RouterC#show run <output omitted> router eigrp 1 network 10.0.0.0 network 192.168.4.0 ! <output omitted> int s0/0/0 ip address 192.168.4.2 255.255.255.0 ip summary-address eigrp 1 172.16.0.0 255.255.0.0 <output omitted>
Example 3-8 illustrates Router C's routing table. Router C has both 172.16.1.0 and 172.16.2.0, the discontiguous subnets, in its routing table, and the summary route to null 0.
Example 3-8. Routing Table of Router C in Figure 3-20
RouterC#show ip route <output omitted> Gateway of last resort is not set 172.16.0.0/16 is variably subnetted, 3 subnets, 2 masks D 172.16.0.0/16 is a summary, 00:00:04, Null0 D 172.16.1.0/24 [90/156160] via 10.1.1.2, 00:00:04, FastEthernet0/0 D 172.16.2.0/24 [90/20640000] via 10.2.2.2, 00:00:04, Serial0/0/1 C 192.168.4.0/24 is directly connected, Serial0/0/0 10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks C 10.2.2.0/24 is directly connected, Serial0/0/1 C 10.1.1.0/24 is directly connected, FastEthernet0/0 D 10.0.0.0/8 is a summary, 00:00:05, Null0 RouterC#
EIGRP Load Balancing
Load balancing increases the utilization of network segments, thus increasing effective network bandwidth.
By default, the Cisco IOS balances between a maximum of four equal-cost paths for IP. Using the maximum-paths maximum-path router configuration command, you can request that up to 16 equally good routes be kept in the routing table (set maximum-path to 1 to disable load balancing). 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 is on a per-destination basis.
EIGRP can also balance traffic across multiple routes that have different metrics; this is called unequal-cost load balancing. The degree to which EIGRP performs load balancing is controlled by the variance multiplier router configuration command. The multiplier is a variance value, between 1 and 128, used for load balancing. The default is 1, which means equal-cost load balancing. The multiplier defines the range of metric values that are accepted for load balancing. For example, in Figure 3-21, a variance of 2 is configured, and the range of the metric values (the FDs) for Router E to get to Network Z is 20 to 45. This range of values is used in the procedure to determine the feasibility of a potential route.
Figure 3-21 EIGRP Load Balancing with a Variance of 2
Only paths that are feasible can be used for load balancing; the routing table indicates only feasible paths. The two feasibility conditions are as follows:
- The local best metric (the current FD) must be greater than the best metric (the AD) learned from the next router. In other words, the next router in the path must be closer to the destination than the current router; this prevents routing loops.
- The variance multiplied by the local best metric (the current FD) must be greater than the metric through the next router (the alternative FD).
If both of these conditions are met, the route is called feasible and can be added to the routing table.
To control how traffic is distributed among routes when multiple routes exist for the same destination network and they have different metrics, use the traffic-share [balanced | min across-interfaces] router configuration command. With the keyword balanced, the router distributes traffic proportion-ately to the ratios of the metrics associated with the different routes. With the min across-interfaces option, the router uses only routes that have minimum costs. (In other words, all routes that are feasible and within the variance are kept in the routing table, but only those with the minimum cost are used.)
In Figure 3-21, Router E has three paths to Network Z, with the following metrics:
- Path 1: 30 (via B)
- Path 2: 20 (via C)
- Path 3: 45 (via D)
Router E uses Router C as the successor because its FD is lowest (20). With the variance 2 command applied to Router E, the path through Router B meets the criteria for load balancing. In this case, the FD through Router B is less than twice the FD for the successor (Router C). Router D is not considered for load balancing because the FD through Router D is greater than twice the FD for the successor (Router C). In this example, however, Router D would never be a feasible successor, no matter what the variance is. Router D is not a feasible successor because its AD of 25 is greater than Router E's FD of 20; therefore, to avoid a potential routing loop, Router D is not considered closer to the destination than Router E and cannot be a feasible successor.
In another example of unequal load balancing, four paths to a destination have the following different metrics:
- Path 1: 1100
- Path 2: 1100
- Path 3: 2000
- Path 4: 4000
By default, the router routes to the destination using both Paths 1 and 2. Assuming no potential routing loops exist, you would use the variance 2 command to load balance over Paths 1, 2, and 3, because 1100 * 2 = 2200, which is greater than the metric through Path 3. Similarly, to also include Path 4, you would issue the variance 4 command.
EIGRP and WAN Links
EIGRP operates efficiently in WAN environments and is scalable on both point-to-point links and NBMA multipoint and point-to-point links. Because of the inherent differences in links' operational characteristics, default configuration of WAN connections might not be optimal. A solid understanding of EIGRP operation coupled with knowledge of link speeds can yield an efficient, reliable, scalable router configuration.
EIGRP Link Utilization
You can adjust this percentage on an interface or subinterface with the ip bandwidth-percent eigrp as-number percent interface configuration command. The as-number is the EIGRP autonomous system number. The percent parameter is the percentage of the configured bandwidth that EIGRP can use. You can set the percentage to a value greater than 100, which might be useful if the bandwidth is configured artificially low for routing policy reasons. Example 3-9 shows a configuration that allows EIGRP to use 40 kbps (200 percent of the configured bandwidth, 20 kbps) on the interface. It is essential to make sure that the line is provisioned to handle the configured capacity. (The next section, "Examples of EIGRP on WANs," provides more examples of when this command is useful.)
Example 3-9. Adjusting the EIGRP Link Utilization
Router(config)#interface serial0/0/0 Router(config-if)#bandwidth 20 Router(config-if)#ip bandwidth-percent eigrp 1 200
Cisco IOS assumes that point-to-point Frame Relay subinterfaces are operating at the default speed of the interface. In many implementations, however, only fractional T1 speeds are available. Therefore, when configuring these subinterfaces, set the bandwidth to match the contracted CIR.
When configuring multipoint interfaces (especially for Frame Relay, but also for ATM and ISDN PRI), remember that the bandwidth is shared equally by all neighbors. That is, EIGRP uses the bandwidth command on the physical interface divided by the number of Frame Relay neighbors connected on that physical interface to get the bandwidth attributed to each neighbor. EIGRP configuration should reflect the correct percentage of the actual available bandwidth on the line.
Each installation has a unique topology, and with that comes unique configurations. Differing CIR values often require a hybrid configuration that blends the characteristics of point-to-point circuits with multipoint circuits. When configuring multipoint interfaces, configure the bandwidth to represent the minimum CIR times the number of circuits. This approach might not fully use the higher-speed circuits, but it ensures that the circuits with the lowest CIR will not be overdriven. If the topology has a small number of very low-speed circuits, these interfaces are typically defined as point-to-point so that their bandwidth can be set to match the provisioned CIR.
Examples of EIGRP on WANs
In Figure 3-22, Router C's interface has been configured for a bandwidth of 224 kbps. Four neighbors exist in this pure multipoint topology, so each circuit is allocated one-quarter of the configured bandwidth on the interface, and this 56-kbps allocation matches the provisioned CIR of each circuit.
Figure 3-22 Frame Relay Multipoint in Which All VCs Share the Bandwidth Evenly
Example 3-10 shows the configuration for Router C's Serial 0 interface.
Example 3-10. Adjusting the bandwidth Command on an Interface on Router C in Figure 3-22
RouterC(config)#interface serial 0 RouterC(config-if)#encapsulation frame-relay RouterC(config-if)#bandwidth 224
In Figure 3-23, one of the circuits has been provisioned for a 56-kbps CIR, and the other circuits have a higher CIR. This interface has been configured for a bandwidth that represents the lowest CIR multiplied by the number of circuits being supported (56 * 4 = 224). This configuration protects against overwhelming the slowest-speed circuit in the topology.
Figure 3-23 Frame Relay Multipoint in Which VCs Have Different CIRs
Figure 3-24 presents a hybrid solution. There is only one low-speed circuit, and other VCs are provisioned for a higher CIR.
Figure 3-24 Frame Relay Multipoint and Point-to-Point
Example 3-11 shows the configuration applied to Router C in Figure 3-24.
Example 3-11. Adjusting the Bandwidth for a Frame Relay Subinterface on Router C in Figure 3-24
RouterC(config)#interface serial 0.1 multipoint RouterC(config-subif)#bandwidth 768 RouterC(config-subif)#exit RouterC(config)#interface serial 0.2 point-to-point RouterC(config-subif)#bandwidth 56
Example 3-11 shows the low-speed circuit configured as point-to-point. The remaining circuits are designated as multipoint, and their respective CIRs are added up to set the interface's bandwidth.
Figure 3-25 illustrates a common hub-and-spoke oversubscribed topology with 10 VCs to the remote sites. (Only 4 of the 10 remote sites are shown in the figure.)
Figure 3-25 Frame Relay Hub-and-Spoke Topology
The circuits are provisioned as 56-kbps links, but there is insufficient bandwidth at the interface to support the allocation. For example, if the hub tries to communicate to all remote sites at the same time, the bandwidth that is required exceeds the available link speed of 256 kbps for the hub—10 times the CIR of 56 kbps equals 560 kbps. In a point-to-point topology, all VCs are treated equally and are therefore configured for exactly one-tenth of the available link speed (25 kbps).
Example 3-12 shows the configuration used on Routers C and G of Figure 3-25.
Example 3-12. EIGRP WAN Configuration: Point-to-Point Links on Routers C and G in Figure 3-25
RouterC(config)#interface serial 0.1 point-to-point RouterC(config-subif)#bandwidth 25 RouterC(config-subif)#ip bandwidth-percent eigrp 63 110 <output omitted> RouterC(config)#interface serial 0.10 point-to-point RouterC(config-subif)#bandwidth 25 RouterC(config-subif)#ip bandwidth-percent eigrp 63 110 RouterG(config)#interface serial 0 RouterG(config-if)#bandwidth 25 RouterG(config-if)#ip bandwidth-percent eigrp 63 110
By default, EIGRP uses 50 percent of a circuit's configured bandwidth. As mentioned, EIGRP configuration should reflect the correct percentage of the actual available bandwidth on the line. Therefore, in an attempt to ensure that EIGRP packets are delivered through the Frame Relay network in Figure 3-25, each subinterface has the EIGRP allocation percentage raised to 110 percent of the specified bandwidth. This adjustment causes EIGRP packets to receive approximately 28 kbps of the provisioned 56 kbps on each circuit. This extra configuration restores the 50-50 ratio that was tampered with when the bandwidth was set to an artificially low value.