This chapter covers the following topics, which you need to understand to pass the CCNP/CCDP/CCIP BSCI exam:
■ Conﬁguring EIGRP
■ Verifying the EIGRP operation
■ Troubleshooting the EIGRP operation
Configuring EIGRP in Enterprise Networks
The topics in this chapter detail the steps to conﬁguring the EIGRP protocol for integrated routing on a Cisco network. This chapter assumes knowledge of routing protocols, in particular, link-state routing protocols and the terminology, concepts, and operation of EIGRP. This chapter introduces EIGRP conﬁguration commands by explaining the required commands and then discussing the optional conﬁguration commands that can be used.
”Do I Know This Already?” Quiz
The purpose of the “Do I Know This Already?” quiz is to help you decide what parts of this chapter to use. If you already intend to read the entire chapter, you do not necessarily need to answer these questions now.
The 12-question quiz, derived from the major sections in the “Foundation Topics” portion of the chapter, helps you to determine how to spend your limited study time.
Table 14-1 outlines the major topics discussed in this chapter and the “Do I Know This Already?” quiz questions that correspond to those topics.
Table 14-1 “Do I Know This Already?” Foundation Topics Section-to-Question Mapping
CAUTION The goal of self-assessment is to gauge your mastery of the topics in this chapter. If you do not know the answer to a question or are only partially sure of the answer, you should mark this question wrong for purposes of the self-assessment. Giving yourself credit for an answer you correctly guess skews your self-assessment results and might provide you with a false sense of security.
1. What command starts the EIGRP routing process?
a. router eigrp
b. router eigrp autonomous-system-number
c. ip routing eigrp
d. ip eigrp routing
2. What happens if no network command is conﬁgured?
a. The EIGRP process is not activated on any interface.
b. The EIGRP defaults to all interfaces.
c. The EIGRP process can receive, but cannot send, updates.
d. The router prompts you for the networks.
3. What happens immediately after the network command is conﬁgured?
a. Updates are sent.
b. The routing table is created.
c. Hellos are sent on appropriate interfaces.
d. Networks are advertised.
4. Where in the EIGRP network is it possible to summarize IP addresses?
a. At the IANA major network boundary
b. At the ASBR
c. At the ABR
d. Anywhere in the network
5. Where is the command ip summary-address eigrp autonomous-system-number address mask conﬁgured?
a. At the routing process
b. At the interface
c. After the network command
d. At the EXEC command prompt
6. What command is used to change the Hello timer?
a. eigrp hello-interval seconds
b. hello interval seconds
c. ip hello-interval eigrp autonomous-system-number seconds
d. ip eigrp hello timer seconds
7. Which of the following commands will show the holdtime?
a. show ip eigrp topology
b. show ip eigrp traffic
c. show ip eigrp holdtime
d. show ip eigrp neighbors
8. Which command shows the state of the links with the neighbors?
a. show ip eigrp traffic
b. show ip eigrp topology
c. show ip eigrp adjacencies
d. show ip eigrp database
9. What is shown in the show ip eigrp traffic command?
c. Queries and replies
10. What is displayed in the command debug ip eigrp summary ?
a. A summary of EIGRP activity
b. A summary of the contents of the neighbor database
c. The process taken when a change is made in a summary route
d. A summary of topology database
11. Which command is used to see the types of packets sent and received, as well as the statistics
on routing decisions?
a. show ip eigrp traffic
b. show eigrp events
c. debug ip eigrp packets
d. debug ip eigrp traffic
12. How many different packet types can be seen in the command debug eigrp packet ?
The answers to the “Do I Know This Already?” quiz are found in Appendix A, “Answers to Chapter ‘Do I Know This Already?’ Quizzes and Q&A Sections.” The suggested choices for your next step are as follows:
■ 6 or less overall score —Read the entire chapter. This includes the “Foundation Topics” and “Foundation Summary” sections, the “Q&A” section, and the “Scenarios” at the end of the chapter.
■ 7–9 overall score —Begin with the “Foundation Summary” section, and then go to the “Q&A” section and the “Scenarios” at the end of the chapter. If you have trouble with these exercises, read the appropriate sections in “Foundation Topics.”
■ 10 or more overall score —If you want more review on these topics, skip to the “Foundation Summary” section, and then go to the “Q&A” section and the “Scenarios” at the end of the chapter. Otherwise, move to the next chapter.
The commands for EIGRP are consistent with the other IP routing protocols. Although IP routing is on automatically, the chosen routing protocol must be conﬁgured and the participating interfaces must be identiﬁed.
EIGRP allows for variable-length subnet mask (VLSM) and, therefore, summarization, because the mask is sent in the update packets. Although summarization is automatic, EIGRP summarizes at the IANA or major network boundary. To summarize within the IANA number, it must be manually conﬁgured. Unlike OSPF, which can summarize only at the area border router (ABR), EIGRP can summarize not only at any router, but also at any interface on any router.
NOTE EIGRP has evolved over the past few years. It is essential that, in a practical situation, you research the commands and conﬁguration for the IOS software code level that is installed in your network.
This section covers the following:
■ Required commands for conﬁguring EIGRP
■ Optional commands for EIGRP
■ Optional EIGRP commands speciﬁc to WANs
Required Commands for Configuring EIGRP
The router needs to understand how to participate in the EIGRP network. Therefore, it requires the following:
■ The EIGRP process —The routing protocol needs to be started on the router.
■ The EIGRP autonomous system number —All routers sharing routing updates and participating in the larger network must be identiﬁed as part of the same autonomous system. A router will not accept an update from a router conﬁgured with a different autonomous system number.
■ Participating router interfaces —The router might not want to have all its interfaces to send or receive EIGRP routing updates. A classic example is a dialup line to a remote ofﬁce. If there is only one subnet at the remote ofﬁce, it would be more efﬁcient to use default and static route commands, because any updates would dial the line.
By default (unless the setup script is used), there is no IP routing protocol running on the Cisco router. This is not true of other protocols, however. If an IPX network address is conﬁgured on an interface, for example, the IPX RIP process will be automatically started.
To conﬁgure EIGRP as the routing protocol, the following command syntax is used:
Router(config)#router eigrp autonomous-system-number
Although EIGRP has been turned on, it has no information about how to operate. The connected networks that are to be sent in the EIGRP updates and the interfaces that participate in the EIGRP updates must be deﬁned. If the EIGRP information is not speciﬁed, the process with insufﬁcient conﬁguration will never start.
NOTE Most versions of the IOS software do not offer an error message when the conﬁguration is incomplete, which can make troubleshooting more difﬁcult. Refer to the section titled “Verifying the EIGRP Operation,” later in this chapter for more information.
The following command syntax shows the use of the network command prior to Cisco IOS release 12.0(4)T:
The network command in EIGRP plays a similar role to that of the network command in RIP or IGRP. Like OSPF, in which it is possible to identify the speciﬁc address of an interface, the network command for EIGRP can be stated with a mask option, allowing you to identify which interfaces are to run EIGRP. However, it is important to remember that EIGRP does not use areas. The ability to deﬁne the network mask was introduced in Cisco IOS release 12.04 (T).
NOTE A common error is to conﬁgure the network command with an inappropriate wildcard mask when you are confused as to which class of address is being used. Be sure to identify the correct wildcard mask to avoid the situation in which EIGRP only runs on some, if any, of the interfaces.
The new syntax is as follows:
Router(config-router)#network network-number [ wildcard-network-mask]
Router(config-router)#no network network-number [ wildcard-network-mask]
The following syntax illustrates the use of the network command (the router has two Ethernet interfaces):
Router(config-if)#ip address 184.108.40.206 255.255..255.0
Router(config-if)#ip address 220.127.116.11 255.255.255.0
The following command indicates that EIGRP will run on interface e1 only:
Router(config)#rroouutteerr eeiiggrrpp 100
Router(config-router)#network 18.104.22.168 0.0.0.0
In versions prior to the IOS release 12.04 (T), the network command acted differently. As soon as the ﬁrst part of the command was conﬁgured, the operating system corrected the address to the Internet or major (classful) network number. In this case, example network 22.214.171.124 would be connected to 126.96.36.199, which would include both e1 and e2.
After the network has been deﬁned to EIGRP, it identiﬁes the interfaces directly connected to the routers that share that network address. In some instances, it is not a good idea to have EIGRP updates running across certain interfaces, for example, links connecting to stub routers or to another routing protocol or autonomous system. Before 12.04(T), you would prevent EIGRP from sending updates through an interface by issuing the passive-interface command.
When a passive interface is created, it prevents Hellos from being sent between routers. This means that the routers cannot become neighbors, which results in no routing updates being either sent or received. However, the address of the interface is sent in updates out of nonpassive interfaces.
The passive interface allows the network address to be connected to stub routers (a typical frame relay hub-and-spoke conﬁguration). The Ethernet network on the other side of the stub router might be included into the routing tables and propagated throughout the network, without using resources on the Ethernet link or on the router.
Once the interfaces on the router that are participating in the EIGRP domain using the network command are identiﬁed, the following happens:
■ Updates are received on the interface.
■ Updates are sent out the interfaces.
■ The network are advertised out all EIGRP interfaces.
■ If appropriate, the Hello protocol is propagated.
Optional Commands for Configuring EIGRP
The optional commands are used to tune the way EIGRP works within your network. They should be used in reference to the design of the network and its technical requirements.
This section considers the following optional EIGRP commands described in Table 14-2.
Table 14-2 Optional Commands for Configuring EIGRP
Summarization with EIGRP
Summarization in EIGRP solves the same scaling issues seen in other networks. The difference in the conﬁguration between EIGRP and OSPF is that the OSPF is summarized only at the area boundary. Because EIGRP does not use the concept of areas, summarization can be conﬁgured on any router interface in the network. Consideration of where to summarize is determined by the hierarchical structure of the network. If summarization is not conﬁgured, EIGRP will automatically summarize at the class boundary.
NOTE Other chapters in this book have dealt with summarization in detail. For the sake of brevity, only those details related speciﬁcally to EIGRP are conveyed here. For more information about summarization, refer to Chapter 8, “Using OSPF Across Multiple Areas,” and the sections “Design Considerations in Multiple Area OSPF” and “Summarization” in particular.
Summarization has advantages for EIGRP above and beyond the beneﬁt of smaller routing tables, as explained in Chapter 13, “Using EIGRP in Enterprise Networks.” Summarization reduces the amount of resources needed by both the network and the routers within the network. The reduced routing tables speed up the lookup when forwarding data that is process switched. Summarization also reduces the scope of the queries sent out by a router. If a router has no feasible successor, it queries its neighbor for an alternative route. If the neighbor has no route to offer, the query is forwarded on until a route is found or the search is exhausted. If summarization has been conﬁgured, the route that is being queried might have been summarized, and thus the query will end. Thus, summarization can limit the scope of the query, because when a subnet is hidden in summarization, a reply of unknown network will be returned to the router that can purge the route from the databases.
There are two commands for summarization with EIGRP: no auto-summary and ip summaryaddress eigrp autonomous-system-number address mask. The ﬁrst command, no auto-summary , disables the automatic summarization. This command applies to the entire router. With no autosummary conﬁgured, information on all the known subnets is sent out of every interface. If there are slow serial interfaces or congested links, these links could become overwhelmed. The solution is to conﬁgure the ip summary-address eigrp command on all interfaces, which in turn demands careful deployment of addresses.
Manual summarization is conﬁgured at the interface level, as shown here:
Router(config-if)#ip summary-address eigrp autonomous-system-number address mask
IOS software release 12.0 made it possible for you to conﬁgure a remote router as an EIGRP stub router. A stub router is typically used on small capacity routers in a hub-and-spoke WAN environment. The stub router in EIGRP is similar to the concept of On Demand Routing (ODR) described in Chapter 1, “IP Routing Principles.” ODR is used in similar situations but has no routing protocol conﬁgured on the stub router. ODR uses CDP to maintain connectivity between the stub routers and core router sending a default route to the stub. Stub routers in EIGRP networks use EIGRP to send limited information between the stub and the core routers.
As in ODR, the router in an EIGRP network has no other neighbors and accesses the network through a distribution layer router. It is not necessary, therefore, for this remote router to have a complete routing table that may overwhelm its limited resources. The remote router needs only a default route to the distribution router that can serve all its needs.
Another reason to conﬁgure the remote router as a stub is to lend a hand to the rest of the network. If a query is sent to a remote router, the delays involved can result in the path being Stuck in Active (SIA). If the stub conﬁguration has been applied, the router responds to queries as inaccessible, thus limiting the scope of the query range and preventing SIA from occurring.
The following command structure shows the syntax of the eigrp stub command:
Router(config-router)# eigrp stub [receive-only | connected | static | summary]
Table 14-3 explains the syntax of this command.
Table 14-3 The eigrp stub Command Syntax and Description
Figure 14-1 shows a group of routers connected over WAN links. These routers are stub routers
because they have no other networks connected to them.
Figure 14-1 The eigrp stub Router Command
Example 14-1 is the conﬁguration for Router B in Figure 14-1.
Example 14-1 The EIGRP Stub Router Command
Load Balancing in EIGRP
EIGRP automatically load balances across links of equal cost. Whether the trafﬁc is sent on a perdestination or round-robin basis depends on the internal switching within the router. It is possible to conﬁgure EIGRP to load balance across unequal-cost paths using the variance command.
The variance command allows the administrator to identify the metric scope for including additional paths by the use of a multiplier parameter. The command structure follows:
The multiplier argument is the metric value used for load balancing. It can be a value from 1 to 128. The default is 1, which means equal-cost load balancing.
Example 14-2 shows the conﬁguration of the variance command.
Example 14-2 The variance Command
If the variance number is higher than the default of 1, the EIGRP process multiplies the best (lowest) cost or metric value for a path by the number stated as the variance multiplier. All paths to the same destination that have metrics within this new range are now included in load balancing. The amount of trafﬁc sent over each link is proportional to the metric for the path.
For example, the route to Network A in Figure 14-2 has four paths to it from Router F, and the best path gave a metric value of 10. The available routes shown in Figure 14-2 reﬂect these paths:
F to E to A = 30
F to D to B = 15
F to C to B = 15
F to C to G = 10
Figure 14-2 Including Unequal Paths in Load Balancing
NOTE Only those paths that are in the topology table as feasible successor (FS) are eligible to be included in the variance command. Also, the example and ﬁgure shown are highly simpliﬁed for the purpose of explanation.
If the variance command was conﬁgured with a variance, or multiplier, of 2, the best metric is 10 * 2 = 20. Any route with a metric of 20 or better will be placed in the routing table.
These paths would all load-balance trafﬁc from Router F to Network A:
F to D to B = 15
F to C to B = 15
F to C to G = 10
One-and-a-half packets would be sent across the path F to C to G for every one packet sent across the other two available paths.
The router rounds the number of packets to be sent to 2 packets, giving a trafﬁc ratio of 3:2.
Tuning the EIGRP Process
There are many ways to tune a network, including load balancing across multiple paths, summarizing routes, and reducing the frequency of the update timers. There is, however, a trade-off between reducing the resources required to maintain the network and the stability of the network. The fewer Hellos that are sent out, for instance, the longer the network might take to notice a failure, and convergence of the network would be delayed. When the network does not have an accurate understanding of the available routes, the router cannot forward packets with any conﬁdence.
The Hello timer and the receipt of ACKs are particularly important because EIGRP sends out incremental updates. The process sends updates only when a failure is seen or to advertise a new network, which makes it important to have a reliable and immediate method of noticing the link has died. Hence, reliable transport protocol (RTP) for EIGRP was created. Furthermore, it is the responsibility of the neighbor to ﬁrst notice and then inform the rest of the network through an update that the network is no longer available.
You can conﬁgure the Hello timer, but you must consider how changing such a fundamental element impacts the accurate running of EIGRP. The hold timer indicates how long a route is held without a Hello being heard before the route is deemed to be no longer in existence. Both the Hello timer and the hold timer are discussed in the next sections.
The Hello Interval Timer
Tuning the Hello interval directly affects the ability of the network to notice a change in the state of a neighbor. Only after a router’s interface is recognized as being down, or the router has failed to hear from a neighbor after a proscribed amount of time, does the router declare the neighbor dead and take the necessary action to update the routing table and the rest of the network.
For these reasons, the ip hello-interval eigrp command is typically used to decrease the time between Hellos to ensure that the network is more stable and converges more quickly. Although this increases the amount of bandwidth consumed, it is a minimal cost. This command becomes very useful in WANs, particularly when nonbroadcast multiaccess (NBMA) clouds are used. EIGRP treats both Frame Relay and Switched Multimegabit Data Service (SMDS) as NBMA technologies, resulting in Hello timers that assume a low bandwidth medium (less than T1 speeds) and that set the timer to 60 seconds by default.
The command to change how often the Hellos are sent to neighbors is as follows:
Router(config-if)#ip hello-interval eigrp autonomous-system-number seconds
The autonomous system number identiﬁes the EIGRP process to the autonomous system.
The number of seconds to wait between each Hello is conﬁgured at the end of the command. An example of this conﬁguration follows:
Router(config)#interface Serial 0
Router(config-if)#ip hello-interval eigrp 100 10
The defaults for Hello packet timers are as follows:
■ High bandwidth links (every 5 seconds):
— Broadcast media, such as Ethernet, Token Ring, and FDDI
— Point-to-point serial links, such as PPP or HDLC leased circuits, Frame Relay pointto- point subinterfaces, and ATM
— Point-to-point subinterfaces
— High bandwidth (greater than T1) multipoint circuits, such as ISDN PRI and Frame Relay
■ Low bandwidth links (every 60 seconds):
— Multipoint circuits T1 bandwidth or slower, such as Frame Relay multipoint interfaces, ATM multipoint interfaces, and ATM
— Switched virtual circuits and ISDN BRIs
The Hold Timer
The holdtime is how long the router waits without hearing a Hello from the neighbor before pronouncing it unavailable. The holdtime is three times that of the Hello timer by default, but changing the rate at which EIGRP sends Hello packets does not automatically change the holdtime. The hold timer must be changed manually using the ip hold-time eigrp command. The command syntax follows:
Router(config-if)#ip hold–time eigrp autonomous-system-number seconds
The following example shows the syntax in context:
Router(config)#interface ethernet 0
Router(config-if)#ip hold-time eigrp 100 30