EIGRP
Cisco Systems released EIGRP in the early 1990s as an evolution of IGRP toward a more scalable routing protocol for large internetworks. EIGRP is a classless protocol that permits the use of VLSMs and that supports CIDR for the scalable allocation of IP addresses. EIGRP does not send routing updates periodically, as does IGRP. EIGRP allows for authentication with simple passwords or with MD5. EIGRP autosummarizes networks at network borders and can load-balance over unequalcost paths. Packets using EIGRP use IP protocol 88. Only Cisco routers can use EIGRP.
EIGRP is an advanced distance-vector protocol that implements some characteristics similar to those of link-state protocols. Some Cisco documentation refers to EIGRP as a hybrid protocol. EIGRP advertises its routing table to its neighbors as distance-vector protocols do, but it uses hellos and forms neighbor relationships as link-state protocols do. EIGRP sends partial updates when a metric or the topology changes on the network. It does not send full routing-table updates in periodic fashion as do distance-vector protocols. EIGRP uses DUAL to determine loop-free paths to destinations. This section discusses DUAL.
By default, EIGRP load-balances traffic if there are several paths with equal cost to the destination. EIGRP performs unequal-cost load balancing if you configure it with the variance <n> command. EIGRP includes routes that are equal to or less that n times the minimum metric route to a destination. As in RIP and IGRP, EIGRP also summarizes IP networks at network boundaries.
EIGRP internal routes have an administrative distance of 90. EIGRP summary routes have an administrative distance of 5, and EIGRP external routes (from redistribution) have an administrative distance of 170.
EIGRP Components
EIGRP has four components that characterize it:
Protocol-dependent modules
Neighbor discovery and recovery
Reliable Transport Protocol (RTP)
DUAL
Know the role of the EIGRP components, which are described in the following sections.
Protocol-Dependent Modules
EIGRP uses different modules that independently support IP, Internetwork Packet Exchange (IPX), and AppleTalk routed protocols. These modules are the logical interface between DUAL and routing protocols such as IPX RIP, AppleTalk Routing Table Maintenance Protocol (RTMP), and IGRP. The EIGRP module sends and receives packets but passes received information to DUAL, which makes routing decisions.
EIGRP automatically redistributes with IGRP if you configure both protocols with the same autonomous system number. When configured to support IPX, EIGRP communicates with the IPX RIP and forwards the route information to DUAL to select the best paths. AppleTalk EIGRP automatically redistributes routes with AppleTalk RTMP to support AppleTalk networks. AppleTalk is not a CCDA objective and is not covered in this book.
Neighbor Discovery and Recovery
EIGRP discovers and maintains information about its neighbors. It multicasts hello packets (224.0.0.10) every 5 seconds for most networks. The router builds a table with EIGRP neighbor information. The holdtime to maintain a neighbor is three times the hello time: 15 seconds. If the router does not receive a hello in 15 seconds, it removes the neighbor from the table. EIGRP multicasts hellos every 60 seconds on multipoint WAN interfaces (X.25, Frame Relay, ATM) with speeds less than 1544 Mbps, inclusive. The neighbor holdtime is 180 seconds on these types of interfaces. To summarize, hello/holdtime timers are 5/15 seconds for high-speed links and 60/180 seconds for low-speed links.
Example 12-4 shows an EIGRP neighbor database. The table lists the neighbor's IP address, the interface to reach it, the neighbor holdtime timer, and the uptime.
Example 12-4 EIGRP Neighbor Database
Router# show ip eigrp neighbor IP-EIGRP neighbors for process 100 H Address Interface Hold Uptime SRTT RTO Q Seq Type (sec) (ms) Cnt Num 1 172.17.1.1 Se0 11 00:11:27 16 200 0 2 0 172.17.2.1 Et0 12 00:16:11 22 200 0 3
RTP
EIGRP uses RTP to manage EIGRP packets. RTP ensures the reliable delivery of route updates and also uses sequence numbers to ensure ordered delivery. It sends update packets using multicast address 224.0.0.10. It acknowledges updates using unicast hello packets with no data.
DUAL
EIGRP implements DUAL to select paths and guarantee freedom from routing loops. J.J. Garcia Luna-Aceves developed DUAL, which is mathematically proven to result in a loop-free topology, providing no need for periodic updates or route-holddown mechanisms that make convergence slower.
DUAL selects a best path and a second best path to reach a destination. The best path selected by DUAL is the successor, and the second best path (if available) is the feasible successor. The feasible distance is the lowest calculated metric of a path to reach the destination. The topology table in Example 12-5 shows the feasible distance. The example also shows two paths (Ethernet 0 and Ethernet 1) to reach 172.16.4.0/30. Because the paths have different metrics, DUAL chooses only one successor.
Example 12-5 Feasible Distance as Shown in the EIGRP Topology Table
Router8# show ip eigrp topology IP-EIGRP Topology Table for AS(100)/ID(172.16.3.1) Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply, r - reply Status, s - sia Status P 172.16.4.0/30, 1 successors, FD is 2195456 via 172.16.1.1 (2195456/2169856), Ethernet0 via 172.16.5.1 (2376193/2348271), Ethernet1 P 172.16.1.0/24, 1 successors, FD is 281600 via Connected, Ethernet0
The route entries in Example 12-5 are marked P as in the "passive" state. A destination is in passive state when the router is not performing any recomputations for the entry. If the successor goes down and the route entry has feasible successors, the router does not need to perform any recomputations and does not go into active state.
DUAL places the route entry for a destination into active state if the successor goes down and there are no feasible successors. EIGRP routers send query packets to neighboring routers to find a feasible successor to the destination. A neighboring router can send a reply packet that indicates it has a feasible successor or a query packet. The query packet indicates that the neighboring router does not have a feasible successor and will participate in the recomputation. A route does not return to passive state until it has received a reply packet from each neighboring router. If the router does not receive all the replies before the "active-time" timer expires, DUAL declares the route as stuck-in-active (SIA). The default active timer is 3 minutes.
EIGRP Timers
EIGRP sets updates only when necessary and sends them only to neighboring routers. There is no periodic update timer.
EIGRP uses hello packets to learn of neighboring routers. On high-speed networks, the default hello packet interval is 5 seconds. On multipoint networks with link speeds of T1 and slower, hello packets are unicast every 60 seconds.
The holdtime to maintain a neighbor adjacency is three times the hello time: 15 seconds. If a router does not receive a hello within the holdtime, it removes the neighbor from the table. Hellos are multicast every 60 seconds on multipoint WAN interfaces (X.25, Frame Relay, ATM) with speeds less than 1544 Mbps, inclusive. The neighbor holdtime is 180 seconds on these types of interfaces. To summarize, hello/holdtime timers are 5/15 seconds for high-speed links and 60/180 seconds for multipoint WAN links less than 1544 Mbps, inclusive.
NOTE
EIGRP does not send updates using a broadcast address; instead, it sends them to the multicast address 224.0.0.10 (all EIGRP routers).
EIGRP Metrics
EIGRP uses the same composite metric as IGRP, but the BW term is multiplied by 256 for finer granularity. The composite metric is based on bandwidth, delay, load, and reliability. MTU is not an attribute for calculating the composite metric.
EIGRP calculates the composite metric with the following formula:
EIGRPmetric = {k1 x BW + [(k2 x BW)/(256 load)] + k3 x delay} x {k5/(reliability + k4)}
In this formula, BW is the lowest interface bandwidth in the path, and delay is the sum of all outbound interface delays in the path. The router dynamically measures reliability and load. It expresses a 100 percent reliability as 255/255. It expresses load as a fraction of 255. An interface with no load is represented as 1/255.
Bandwidth is the inverse minimum bandwidth (in kbps) of the path in bits per second scaled by a factor of 256 x 107. The formula for bandwidth is
(256 x 107)/BWmin
The delay is the sum of the outgoing interface delays (in microseconds) to the destination. A delay of all 1s (that is, a delay of hexadecimal FFFFFFFF) indicates that the network is unreachable. The formula for delay is
[sum of delays] x 256
Reliability is a value between 1 and 255. Cisco IOS routers display reliability as a fraction of 255. That is, 255/255 is 100 percent reliability or a perfectly stable link; a value of 229/255 represents a 90 percent reliable link.
Load is a value between 1 and 255. A load of 255/255 indicates a completely saturated link. A load of 127/255 represents a 50 percent saturated link.
By default, k1=k3=1 and k2=k4=k5=0. The default composite metric, adjusted for scaling factors, for EIGRP is
EIGRPmetric = 256 x { [107/BWmin] + [sum_of_delays] }
BWmin is in kbps, and the sum_of_delays is in 10s of microseconds. The bandwidth and delay for an Ethernet interface are 10 Mbps and 1 ms, respectively.
The calculated EIGRP BW metric is
256 x 107/BW = 256 x 107/10,000 = 256 x 10,000 = 256,000
The calculated EIGRP delay metric is
256 x sum of delay = 256 x 1 ms = 256 x 100 x 10 microseconds = 25,600 (in tens of microseconds)
Table 12-3 shows some default values for bandwidth and delay.
Table 12-3 Default EIGRP Values for Bandwidth and Delay
Media Type |
Delay |
Bandwidth |
Satellite |
5120 (2 seconds) |
5120 (500 Mbps) |
Ethernet |
25,600 (1 ms) |
256,000 (10 Mbps) |
T-1 (1.544 Mbps) |
512,000 (20,000 ms) |
1,657,856 |
64 kbps |
512,000 |
40,000,000 |
56 kbps |
512,000 |
45,714,176 |
As with IGRP, you use the metric weights subcommand to change EIGRP metric computation. You can change the k values in the EIGRP composite metric formula to select which EIGRP metrics to use. The command to change the k values is the metric weights tos k1 k2 k3 k4 k5 subcommand under router eigrp n. The tos value is always 0. You set the other arguments to 1 or 0 to alter the composite metric. For example, if you want the EIGRP composite metric to use all the parameters, the command is as follows:
router eigrp n metric weights 0 1 1 1 1 1
EIGRP Packet Types
EIGRP uses five packet types:
HelloEIGRP uses hello packets in the discovery of neighbors. They are multicast to 224.0.0.10. By default, EIGRP sends hello packets every 5 seconds (60 seconds on WAN links with 1544 Mbps speeds or less).
AcknowledgmentAn acknowledgment packet acknowledges the reception of an update packet. It is a hello packet with no data. EIGRP sends acknowledgment packets to the unicast address of the sender of the update packet.
UpdateUpdate packets contain routing information for destinations. EIGRP unicasts update packets to newly discovered neighbors; otherwise, it multicasts update packets to 224.0.0.10 when a link or metric changes. Update packets are acknowledged to ensure reliable transmission.
QueryEIGRP sends query packets to find feasible successors to a destination. Query packets are always multicast.
ReplyEIGRP sends reply packets to respond to query packets. Reply packets provide a feasible successor to the sender of the query. Reply packets are unicast to the sender of the query packet.
EIGRP Design
When designing a network with EIGRP, remember that it supports VLSMs, CIDR, and network summarization. EIGRP allows for the summarization of routes in a hierarchical network. EIGRP is not limited to 16 hops as RIP is; therefore, the network diameter can exceed this limit. EIGRP does not broadcasts its routing table periodically so there is no large network overhead. You can use EIGRP for large networks; it is a potential routing protocol for the core of a large network. EIGRP further provides for route authentication.
As shown in Figure 12-6, when you use EIGRP, all segments can have different subnet masks.
Figure 12-6 EIGRP Design
EIGRP Summary
The characteristics of EIGRP follow:
Hybrid routing protocol (distance vector that has link-state protocol characteristics).
Uses IP protocol 88.
Classless protocol (supports VLSMs).
Default composite metric uses bandwidth and delay.
You can factor load and reliability into the metric.
Sends partial route updates only when there are changes.
Support for authentication.
Uses DUAL for loop prevention.
By default, equal-cost load balancing. Unequal-cost load balancing with the variance command.
Administrative distance is 90 for EIGRP internal routes, 170 for EIGRP external routes, and 5 for EIGRP summary routes.
Potential routing protocol for the core of a network; used in large networks.