Document ID: 16406
Interactive: This document offers customized analysis of your Cisco device.
Enhanced Interior Gateway Routing Protocol (EIGRP) is an interior gateway protocol suited for many different topologies and media. In a well designed network, EIGRP scales well and provides extremely quick convergence times with minimal network traffic.
Some of the many advantages of EIGRP are:
very low usage of network resources during normal operation; only hello packets are transmitted on a stable network
when a change occurs, only routing table changes are propagated, not the entire routing table; this reduces the load the routing protocol itself places on the network
rapid convergence times for changes in the network topology (in some situations convergence can be almost instantaneous)
EIGRP is an enhanced distance vector protocol, relying on the Diffused Update Algorithm (DUAL) to calculate the shortest path to a destination within a network.
There are two major revisions of EIGRP, versions 0 and 1. Cisco IOS versions earlier than 10.3(11), 11.0(8), and 11.1(3) run the earlier version of EIGRP; some explanations in this paper may not apply to that earlier version. We highly recommend using the later version of EIGRP, as it includes many performance and stability enhancements.
A typical distance vector protocol saves the following information when computing the best path to a destination: the distance (total metric or distance, such as hop count) and the vector (the next hop). For instance, all the routers in the network in Figure 1 are running Routing Information Protocol (RIP). Router Two chooses the path to Network A by examining the hop count through each available path.
Since the path through Router Three is three hops, and the path through Router One is two hops, Router Two chooses the path through One and discards the information it learned through Three. If the path between Router One and Network A goes down, Router Two loses all connectivity with this destination until it times out the route of its routing table (three update periods, or 90 seconds), and Router Three re-advertises the route (which occurs every 30 seconds in RIP). Not including any hold-down time, it will take between 90 and 120 seconds for Router Two to switch the path from Router One to Router Three.
EIGRP, instead of counting on full periodic updates to re-converge, builds a topology table from each of its neighbor's advertisements (rather than discarding the data), and converges by either looking for a likely loop-free route in the topology table, or, if it knows of no other route, by querying its neighbors. Router Two saves the information it received from both Routers One and Three. It chooses the path through One as its best path (the successor) and the path through Three as a loop-free path (a feasible successor). When the path through Router One becomes unavailable, Router Two examines its topology table and, finding a feasible successor, begins using the path through Three immediately.
From this brief explanation, it is apparent that EIGRP must provide:
a system where it sends only the updates needed at a given time; this is accomplished through neighbor discovery and maintenance
a way of determining which paths a router has learned are loop-free
a process to clear bad routes from the topology tables of all routers on the network
a process for querying neighbors to find paths to lost destinations
We will cover each of these requirements in turn.
To distribute routing information throughout a network, EIGRP uses non-periodic incremental routing updates. That is, EIGRP only sends routing updates about paths that have changed when those paths change.
The basic problem with sending only routing updates is that you may not know when a path through a neighboring router is no longer available. You can not time out routes, expecting to receive a new routing table from your neighbors. EIGRP relies on neighbor relationships to reliably propagate routing table changes throughout the network; two routers become neighbors when they see each other's hello packets on a common network.
EIGRP sends hello packets every 5 seconds on high bandwidth links and every 60 seconds on low bandwidth multipoint links.
broadcast media, such as Ethernet, Token Ring, and FDDI
point-to-point serial links, such as PPP or HDLC leased circuits, Frame Relay point-to-point subinterfaces, and ATM point-to-point subinterface
high bandwidth (greater than T1) multipoint circuits, such as ISDN PRI and Frame Relay
multipoint circuits T1 bandwidth or slower, such as Frame Relay multipoint interfaces, ATM multipoint interfaces, ATM switched virtual circuits, and ISDN BRIs
The rate at which EIGRP sends hello packets is called the hello interval, and you can adjust it per interface with the ip hello-interval eigrp command. The hold time is the amount of time that a router will consider a neighbor alive without receiving a hello packet. The hold time is typically three times the hello interval, by default, 15 seconds and 180 seconds. You can adjust the hold time with the ip hold-time eigrp command.
Note that if you change the hello interval, the hold time is not automatically adjusted to account for this change - you must manually adjust the hold time to reflect the configured hello interval.
It is possible for two routers to become EIGRP neighbors even though the hello and hold timers do not match. The hold time is included in the hello packets so each neighbor should stay alive even though the hello interval and hold timers do not match.
While there is no direct way of determining what the hello interval is on a router, you can infer it from the output of show ip eigrp neighbors on the neighboring router.
router# show ip eigrp neighbors IP-EIGRP neighbors for process 1 H Address Interface Hold Uptime SRTT RTO Q Seq Type (sec) (ms) Cnt Num 1 10.1.1.2 Et1 13 12:00:53 12 300 0 620 0 10.1.2.2 S0 174 12:00:56 17 200 0 645 rp-2514aa# show ip eigrp neighbor IP-EIGRP neighbors for process 1 H Address Interface Hold Uptime SRTT RTO Q Seq Type (sec) (ms) Cnt Num 1 10.1.1.2 Et1 12 12:00:55 12 300 0 620 0 10.1.2.2 S0 173 12:00:57 17 200 0 645 rp-2514aa# show ip eigrp neighbor IP-EIGRP neighbors for process 1 H Address Interface Hold Uptime SRTT RTO Q Seq Type (sec) (ms) Cnt Num 1 10.1.1.2 Et1 11 12:00:56 12 300 0 620 0 10.1.2.2 S0 172 12:00:58 17 200 0 645
The value in the Hold column of the command output should never exceed the hold time, and should never be less than the hold time minus the hello interval (unless, of course, you are losing hello packets). If the Hold column usually ranges between 10 and 15 seconds, the hello interval is 5 seconds and the hold time is 15 seconds. If the Hold column usually has a wider range - between 120 and 180 seconds - the hello interval is 60 seconds and the hold time is 180 seconds. If the numbers do not seem to fit one of the default timer settings, check the interface in question on the neighboring router - the hello and hold timers may have been configured manually.
EIGRP does not build peer relationships over secondary addresses. All EIGRP traffic is sourced from the primary address of the interface.
When configuring EIGRP over a multi-access Frame Relay network (point-to-multipoint, and so on), configure the broadcast keyword in the frame-relay map statements. Without the broadcast keyword the adjacencies would not establish between two EIGRP routers. Refer to Configuring and Troubleshooting Frame Relay for more information.
There are no limitations on the number of neighbors that EIGRP can support. The actual number of supported neighbors depends on the capability of the device, such as:
amount of exchanged information, such as the number of routes sent
Now that these routers are talking to each other, what are they talking about? Their topology tables, of course! EIGRP, unlike RIP and IGRP, does not rely on the routing (or forwarding) table in the router to hold all of the information it needs to operate. Instead, it builds a second table, the topology table, from which it installs routes in the routing table.
Note: As of Cisco IOS versions 12.0T and 12.1, RIP maintains its own database from which it installs routes into the routing table.
To see the basic format of the topology table on a router running EIGRP, issue the show ip eigrp topology command. The topology table contains the information needed to build a set of distances and vectors to each reachable network, including:
lowest bandwidth on the path to this destination as reported by the upstream neighbor
minimum path maximum transmission unit (MTU)
route source (external routes are marked)
Feasible and reported distance are discussed later in this section.
EIGRP uses the minimum bandwidth on the path to a destination network and the total delay to compute routing metrics. Although you can configure other metrics, we do not recommend it, as it can cause routing loops in your network. The bandwidth and delay metrics are determined from values configured on the interfaces of routers in the path to the destination network.
For instance, in Figure 2 below, Router One is computing the best path to Network A.
It starts with the two advertisements for this network: one through Router Four, with a minimum bandwidth of 56 and a total delay of 2200; and the other through Router Three, with a minimum bandwidth of 128 and a delay of 1200. Router One chooses the path with the lowest metric.
Let us compute the metrics. EIGRP calculates the total metric by scaling the bandwidth and delay metrics. EIGRP uses the following formula to scale the bandwidth:
bandwidth = (10000000/bandwidth(i)) * 256
where bandwidth(i) is the least bandwidth of all outgoing interfaces on the route to the destination network represented in kilobits.
EIGRP uses the following formula to scale the delay:
delay = delay(i) * 256
where delay(i) is the sum of the delays configured on the interfaces, on the route to the destination network, in tens of microseconds. The delay as shown in the show ip eigrp topology or show interface commands is in microseconds, so you must divide by 10 before you use it in this formula. Throughout this paper, we use delay as it is configured and shown on the interface.
EIGRP uses these scaled values to determine the total metric to the network:
metric = [K1 * bandwidth + (K2 * bandwidth) / (256 - load) + K3 * delay] * [K5 / (reliability + K4)]
Note: These K values should be used after careful planning. Mismatched K values prevent a neighbor relationship from being built, which can cause your network to fail to converge.
Note: If K5 = 0, the formula reduces to Metric = [k1 * bandwidth + (k2 * bandwidth)/(256 - load) + k3 * delay].
The default values for K are:
K1 = 1
K2 = 0
K3 = 1
K4 = 0
K5 = 0
For default behavior, you can simplify the formula as follows:
metric = bandwidth + delay
Cisco routers do not perform floating point math, so at each stage in the calculation, you need to round down to the nearest integer to properly calculate the metrics. In this example, the total cost through Router Four is:
In this example, the total cost through Router Four is:
minimum bandwidth = 56k total delay = 100 + 100 + 2000 = 2200 [(10000000/56) + 2200] x 256 = (178571 + 2200) x 256 = 180771 x 256 = 46277376
And the total cost through Router Three is:
minimum bandwidth = 128k total delay = 100 + 100 + 1000 = 1200 [(10000000/128) + 1200] x 256 = (78125 + 1200) x 256 = 79325 x 256 = 20307200
So to reach Network A, Router One chooses the route through Router Three.
Note the bandwidth and delay values we used are those configured on the interface through which the router reaches its next hop to the destination network. For example, Router Two advertised Network A with the delay configured on its Ethernet interface; Router Four added the delay configured on its Ethernet, and Router One added the delay configured on its serial.
Feasible distance is the best metric along a path to a destination network, including the metric to the neighbor advertising that path. Reported distance is the total metric along a path to a destination network as advertised by an upstream neighbor. A feasible successor is a path whose reported distance is less than the feasible distance (current best path). Figure 3 illustrates this process:
Router One sees that it has two routes to Network A: one through Router Three and another through Router Four.
The route through Router Four has a cost of 46277376 and a reported distance of 307200.
The route through Router Three has a cost of 20307200 and a reported distance of 307200.
Note that in each case EIGRP calculates the reported distance from the router advertising the route to the network. In other words, the reported distance from Router Four is the metric to get to Network A from Router Four, and the reported distance from Router Three is the metric to get to Network A from Router Three. EIGRP chooses the route through Router Three as the best path, and uses the metric through Router Three as the feasible distance. Since the reported distance to this network through Router Four is less than the feasible distance, Router One considers the path through Router Four a feasible successor.
When the link between Routers One and Three goes down, Router One examines each path it knows to Network A and finds that it has a feasible successor through Router Four. Router One uses this route, using the metric through Router Four as the new feasible distance. The network converges instantly, and updates to downstream neighbors are the only traffic from the routing protocol.
Let us look at a more complex scenario, shown in Figure 4.
There are two routes to Network A from Router One: one through Router Two with a metric of 46789376 and another through Router Four with a metric of 20307200. Router One chooses the lower of these two metrics as its route to Network A, and this metric becomes the feasible distance. Next, let us look at the path through Router Two to see if it qualifies as a feasible successor. The reported distance from Router Two is 46277376, which is higher than the feasible distance - so this path is not a feasible successor. If you were to look in the topology table of Router One at this point (using show ip eigrp topology), you would only see one entry for Network A - through Router Four. (In reality there are two entries in the topology table at Router One, but only one will be a feasible successor, so the other will not be displayed in show ip eigrp topology; you can see the routes that are not feasible successors using show ip eigrp topology all-links ).
Let us suppose that the link between Router One and Router Four goes down. Router One sees that it has lost its only route to Network A, and queries each of its neighbors (in this case, only Router Two) to see if they have a route to Network A. Since Router Two does have a route to Network A, it responds to the query. Since Router One no longer has the better route through Router Four, it accepts this route through Router Two to Network A.
How does EIGRP use the concepts of feasible distance, reported distance, and feasible successor to determine if a path is valid, and not a loop? In Figure 4a, Router Three examines routes to Network A. Since split horizon is disabled (for example, if these are multipoint Frame Relay interfaces), Router Three shows three routes to Network A: through Router Four, through Router Two (path is two, one, three, four), and through Router One (path is one, two, three, four).
If Router Three accepts all of these routes, it results in a routing loop. Router Three thinks it can get to Network A through Router Two, but the path through Router Two passes through Router Three to get to Network A. If the connection between Router Four and Router Three goes down, Router Three believes it can get to Network A through one of the other paths, but because of the rules for determining feasible successors, it will never use these paths as alternates. Let us look at the metrics to see why:
total metric to Network A through Router Four: 20281600
total metric to Network A through Router Two: 47019776
total metric to Network A through Router One: 47019776
Since the path through Router Four has the best metric, Router Three installs this route in the forwarding table and uses 20281600 as its feasible distance to Network A. Router Three then computes the reported distance to Network A through Routers Two and One: 47019776 for the path through Router Two, and 47019776 for the path through Router One. Because both of these metrics are greater than the feasible distance, Router Three does not install either route as a feasible successor for Network A.
Suppose that the link between Routers Three and Four goes down. Router Three queries each of its neighbors for an alternative route to Network A. Router Two receives the query and, because the query is from its successor, searches each of the other entries in its topology table to see if there is a feasible successor. The only other entry in the topology table is from Router One, with a reported distance equal to the last known best metric through Router Three. Because the reported distance through Router One is not less than the last known feasible distance, Router Two marks the route as unreachable and queries each of its neighbors - in this case, only Router One - for a path to Network A.
Router Three also sends a query for Network A to Router One. Router One examines its topology table and finds that the only other path to Network A is through Router Two with a reported distance equal to the last known feasible distance through Router Three. Once again, since the reported distance through Router Two is not less than the last known feasible distance, this route is not a feasible successor. Router One marks the route as unreachable and queries its only other neighbor, Router Two, for a path to Network A.
This is the first level of queries. Router Three has queried each of its neighbors in an attempt to find a route to Network A. In turn, Routers One and Two have marked the route unreachable, and queried each of their remaining neighbors in an attempt to find a path to Network A. When Router Two receives the Router One query, it examines its topology table and notes that the destination is marked as unreachable. Router Two replies to Router One that Network A is unreachable. When Router One receives the Router Two query, it also sends back a reply that Network A is unreachable. Now Routers One and Two have both concluded that Network A is unreachable, and they reply to the original Router Three query. The network has converged, and all routes return to the passive state.
In the previous example, we assumed that split horizon was not in effect to show how EIGRP uses the feasible distance and the reported distance to determine if a route is likely to be a loop. In some circumstances, however, EIGRP uses split horizon to prevent routing loops as well. Before dealing with the details of how EIGRP uses split horizon, let us review what split horizon is and how it works. The split horizon rule states:
Never advertise a route out of the interface through which you learned it.
For instance, in Figure 4a, if Router One is connected to Routers Two and Three through a single multipoint interface (such as Frame Relay), and Router One learned about Network A from Router Two, it will not advertise the route to Network A back out the same interface to Router Three. Router One assumes that Router Three would learn about Network A directly from Router Two.
Poison reverse is another way of avoiding routing loops. Its rule states:
Once you learn of a route through an interface, advertise it as unreachable back through that same interface.
Let us say the routers in Figure 4a have poison reverse enabled. When Router One learns about Network A from Router Two, it advertises Network A as unreachable through its link to Routers Two and Three. Router Three, if it shows any path to Network A through Router One, removes that path because of the unreachable advertisement. EIGRP combines these two rules to help prevent routing loops.
EIGRP uses split horizon or advertises a route as unreachable when:
two routers are in startup mode (exchanging topology tables for the first time)
advertising a topology table change
sending a query
Let us examine each of these situations.
When two routers first become neighbors, they exchange topology tables during startup mode. For each table entry a router receives during startup mode, it advertises the same entry back to its new neighbor with a maximum metric (poison route).
In Figure 5, Router One uses variance to balance the traffic destined to Network A between the two serial links - the 56k link between Routers Two and Four, and the 128k link between Routers Three and Four (see the Load Balancing section for a discussion of variance).
Router Two sees the path through Router Three as a feasible successor. If the link between Routers Two and Four goes down, Router Two simply re-converges on the path through Router Three. Since the split horizon rule states that you should never advertise a route out the interface through which you learned about it, Router Two would not normally send an update. However, this leaves Router One with an invalid topology table entry. When a router changes its topology table in such a way that the interface through which the router reaches a network changes, it turns off split horizon and poison reverses the old route out all interfaces. In this case, Router Two turns off split horizon for this route, and advertises Network A as unreachable. Router One hears this advertisement and flushes its route to Network A through Router Two from its routing table.
Queries result in a split horizon only when a router receives a query or update from the successor it is using for the destination in the query. Let us take a look at the network in Figure 6.
Router Three receives a query concerning 10.1.2.0/24 (which it reaches through Router One) from Router Four. If Three does not have a successor for this destination because a link flap or other temporary network condition, it sends a query to each of its neighbors; in this case, Routers One, Two, and Four. If, however, Router Three receives a query or update (such as a metric change) from Router One for the destination 10.1.2.0/24, it does not send a query back to Router One, because Router One is its successor to this network. Instead, it only sends queries to Routers Two and Four.
In some circumstances, it takes a very long time for a query to be answered. So long, in fact, that the router that issued the query gives up and clears its connection to the router that is not answering, effectively restarting the neighbor session. This is known as a stuck in active (SIA) route. The most basic SIA routes occur when it simply takes too long for a query to reach the other end of the network and for a reply to travel back. For instance, in Figure 7, Router One is recording a large number of SIA routes from Router Two.
After some investigation, the problem is narrowed down to the delay over the satellite link between Routers Two and Three. There are two possible solutions to this type of problem. The first is to increase the amount of time the router waits after sending a query before declaring the route SIA. This setting can be changed using the timers active-time command.
The better solution, however, is to redesign the network to reduce the range of queries (so very few queries pass over the satellite link). Query range is covered in the Query Range section. Query range in itself, however, is not a common reason for reported SIA routes. More often, some router on the network can not answer a query for one of the following reasons:
the router is too busy to answer the query (generally due to high CPU utilization)
the router is having memory problems, and cannot allocate the memory to process the query or build the reply packet
the circuit between the two routers is not good - enough packets are getting through to keep the neighbor relationship up, but some queries or replies are getting lost between the routers
unidirectional links (a link on which traffic can only flow in one direction because of a failure)
Troubleshooting SIA routes is generally a three-step process:
Find the routes that are consistently being reported as SIA.
Find the router that is consistently failing to answer queries for these routes.
Find the reason that router is not receiving or answering queries.
The first step should be fairly easy. If you are logging console messages, a quick perusal of the log indicates which routes are most frequently marked SIA. The second step is more difficult. The command to gather this information is show ip eigrp topology active:
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply, r - Reply status A 10.2.4.0/24, 0 successors, FD is 512640000, Q 1 replies, active 00:00:01, query-origin: Local origin via 10.1.2.2 (Infinity/Infinity), Serial1 1 replies, active 00:00:01, query-origin: Local origin via 10.1.3.2 (Infinity/Infinity), r, Serial3 Remaining replies: via 10.1.1.2, r, Serial0
Any neighbors that show an R have yet to reply (the active timer shows how long the route has been active). Note that these neighbors may not show up in the Remaining replies section; they may appear among the other RDBs. Pay particular attention to routes that have outstanding replies and have been active for some time, generally two to three minutes. Run this command several times and you begin to see which neighbors are not responding to queries (or which interfaces seem to have a lot of unanswered queries). Examine this neighbor to see if it is consistently waiting for replies from any of its neighbors. Repeat this process until you find the router that is consistently not answering queries. You can look for problems on the link to this neighbor, memory or CPU utilization, or other problems with this neighbor.
If you run into a situation where it seems that the query range is the problem, it is always best to reduce the query range rather than increasing the SIA timer.
This section examines different scenarios involving redistribution. Please note that the examples below show the minimum required to configure redistribution. Redistribution can potentially cause problems, such as below-optimal routing, routing loops, or slow convergence. To avoid these problems, please see "Avoiding Problems Due to Redistribution" in Redistributing Routing Protocols.
In Figure 8, the routers are configured as follows:
router eigrp 2000 !--- The "2000" is the autonomous system network 172.16.1.0 0.0.0.255
router eigrp 2000 redistribute eigrp 1000 route-map to-eigrp2000 network 172.16.1.0 0.0.0.255 ! router eigrp 1000 redistribute eigrp 2000 route-map to-eigrp1000 network 10.1.0.0 0.0.255.255 route-map to-eigrp1000 deny 10 match tag 1000 ! route-map to-eigrp1000 permit 20 set tag 2000 ! route-map to-eigrp2000 deny 10 match tag 2000 ! route-map to-eigrp2000 permit 20 set tag 1000
router eigrp 1000 network 10.1.0.0 0.0.255.255
Router Three is advertising the network 10.1.2.0/24 to Router Two through autonomous system 1000; Router Two is redistributing this route into autonomous system 2000 and advertising it to Router One.
Note: The routes from EIGRP 1000 are tagged 1000 before redistributing them to EIGRP 2000. When routes from EIGRP 2000 are redistributed back to EIGRP 1000, the routes with 1000 tags are denied to ensure a loop-free topology. For more information on redistribution among routing protocols, please see Redistributing Routing Protocols.
On Router One, we see:
one# show ip eigrp topology 10.1.2.0 255.255.255.0 IP-EIGRP topology entry for 10.1.2.0/24 State is Passive, Query origin flag is 1, 1 Successor(s), FD is 46763776 Routing Descriptor Blocks: 18.104.22.168 (Serial0), from 22.214.171.124, Send flag is 0x0 Composite metric is (46763776/46251776), Route is External Vector metric: Minimum bandwidth is 56 Kbit Total delay is 41000 microseconds Reliability is 255/255 Load is 1/255 Minimum MTU is 1500 Hop count is 2 External data: Originating router is 10.1.2.1 AS number of route is 1000 External protocol is EIGRP, external metric is 46251776 Administrator tag is 1000 (0x000003E8)
Notice that although the link between Routers One and Two has a bandwidth of 1.544Mb, the minimum bandwidth shown in this topology table entry is 56k. This means that EIGRP preserves all metrics when redistributing between two EIGRP autonomous systems.
In Figure 9, we have changed the configurations as follows:
router eigrp 2000 network 172.16.1.0
router eigrp 2000 redistribute igrp 1000 route-map to-eigrp2000 network 172.16.1.0 ! router igrp 1000 redistribute eigrp 2000 route-map to-igrp1000 network 10.0.0.0 ! route-map to-igrp1000 deny 10 match tag 1000 ! route-map to-igrp1000 permit 20 set tag 2000 ! route-map to-eigrp2000 deny 10 match tag 2000 ! route-map to-eigrp2000 permit 20 set tag 1000
router igrp 1000 network 10.0.0.0
The configuration for Router One is shown below:
one# show ip eigrp topology 10.1.2.0 255.255.255.0 IP-EIGRP topology entry for 10.1.2.0/24 State is Passive, Query origin flag is 1, 1 Successor(s), FD is 46763776 Routing Descriptor Blocks: 126.96.36.199 (Serial0), from 188.8.131.52, Send flag is 0x0 Composite metric is (46763776/46251776), Route is External Vector metric: Minimum bandwidth is 56 Kbit Total delay is 41000 microseconds Reliability is 255/255 Load is 1/255 Minimum MTU is 1500 Hop count is 1 External data: Originating router is 10.1.1.1 AS number of route is 1000 External protocol is IGRP, external metric is 180671 Administrator tag is 1000 (0x000003E8)
IGRP metrics are preserved when routes are redistributed into EIGRP with a different autonomous system, but they are scaled by multiplying the IGRP metric by the constant 256. There is one caveat to redistribution between IGRP and EIGRP that should be noted. If the network is directly connected to the router doing the redistribution, it advertises the route with a metric of 1.
For example, the network 10.1.1.0/24 is directly connected to Router Two, and IGRP is routing for this network (there is a network statement under router IGRP that covers this interface). EIGRP is not routing for this network, but is learning about this directly-connected interface through redistribution from IGRP. On Router One, the topology table entry for 10.1.1.0/24 shows:
one# show ip eigrp topology 10.1.1.0 255.255.255.0 IP-EIGRP topology entry for 10.1.1.0/24 State is Passive, Query origin flag is 1, 1 Successor(s), FD is 2169856 Routing Descriptor Blocks: 184.108.40.206 (Serial0), from 220.127.116.11, Send flag is 0x0 Composite metric is (2169856/1), Route is External Vector metric: Minimum bandwidth is 1544 Kbit Total delay is 20000 microseconds Reliability is 0/255 Load is 1/255 Minimum MTU is 1500 Hop count is 1 External data: Originating router is 10.1.1.1 AS number of route is 1000 External protocol is IGRP, external metric is 0 Administrator tag is 1000 (0x000003E8)
Note that the reported distance from Router Two, which is bolded, is 1."
The following changes are made to the router configurations in Figure 10:
router eigrp 2000 network 172.16.1.0
router eigrp 2000 network 172.16.1.0 ! router igrp 2000 network 10.0.0.0
router igrp 2000 network 10.0.0.0
And Router One is configured as follows:
one# show ip eigrp topology 10.1.2.0 255.255.255.0 IP-EIGRP topology entry for 10.1.2.0/24 State is Passive, Query origin flag is 1, 1 Successor(s), FD is 46763776 Routing Descriptor Blocks: 18.104.22.168 (Serial0), from 22.214.171.124, Send flag is 0x0 Composite metric is (46763776/46251776), Route is External Vector metric: Minimum bandwidth is 56 Kbit Total delay is 41000 microseconds Reliability is 255/255 Load is 1/255 Minimum MTU is 1500 Hop count is 1 External data: Originating router is 10.1.1.1 AS number of route is 2000 External protocol is IGRP, external metric is 180671 Administrator tag is 0 (0x00000000)
This configuration looks amazingly like the earlier output when we were redistributing between two different autonomous systems running IGRP and EIGRP. The directly attached 10.1.1.0/24 network is handled the same way in both scenarios:
one# show ip eigrp topology 10.1.1.0 255.255.255.0 IP-EIGRP topology entry for 10.1.1.0/24 State is Passive, Query origin flag is 1, 1 Successor(s), FD is 2169856 Routing Descriptor Blocks: 126.96.36.199 (Serial0), from 188.8.131.52, Send flag is 0x0 Composite metric is (2169856/1), Route is External Vector metric: Minimum bandwidth is 1544 Kbit Total delay is 20000 microseconds Reliability is 255/255 Load is 1/255 Minimum MTU is 1500 Hop count is 1 External data: Originating router is 10.1.1.1 AS number of route is 2000 External protocol is IGRP, external metric is 0 Administrator tag is 0 (0x00000000)
So this network, which is directly connected to Router One, is redistributed from IGRP to EIGRP with a metric of 1 - the same metric we see when redistributing between two different autonomous systems.
There are two caveats with EIGRP/IGRP redistribution within the same autonomous system:
Internal EIGRP routes are always preferred over external EIGRP or IGRP routes.
External EIGRP route metrics are compared to scaled IGRP metrics (the administrative distance is ignored).
Let us examine these caveats in Figure 11:
Router One advertises 10.1.4.0/24 in IGRP autonomous system 100; Router Four advertises 10.1.4.0/24 as an external in EIGRP autonomous system 100; Router Two runs both EIGRP and IGRP in autonomous system 100.
If we ignore the EIGRP route advertised by Router Four (by shutting down the link between Routers Two and Four, for instance), Router Two shows:
two# show ip route 10.1.4.0 Routing entry for 10.1.4.0/24 Known via "igrp 100", distance 100, metric 12001 Redistributing via igrp 100, eigrp 100 Advertised by igrp 100 (self originated) eigrp 100 Last update from 10.1.1.2 on Serial1, 00:00:42 ago Routing Descriptor Blocks: * 10.1.1.2, from 10.1.1.2, 00:00:42 ago, via Serial1 Route metric is 12001, traffic share count is 1 Total delay is 20010 microseconds, minimum bandwidth is 1000 Kbit Reliability 1/255, minimum MTU 1 bytes Loading 1/255, Hops 0
Note the administrative distance is 100. When we add the EIGRP route, Router Two shows:
two# show ip route 10.1.4.0 Routing entry for 10.1.4.0/24 Known via "eigrp 100", distance 170, metric 3072256, type external Redistributing via igrp 100, eigrp 100 Last update from 10.1.2.2 on Serial0, 00:53:59 ago Routing Descriptor Blocks: * 10.1.2.2, from 10.1.2.2, 00:53:59 ago, via Serial0 Route metric is 3072256, traffic share count is 1 Total delay is 20010 microseconds, minimum bandwidth is 1000 Kbit Reliability 1/255, minimum MTU 1 bytes Loading 1/255, Hops 1
Note the metrics for these two routes are the same after being scaled from IGRP to EIGRP (see the Metrics section):
12001 x 256 = 3072256
where 12001, an IGRP metric, is through Router One; and 3072256, an EIGRP metric, is through Router Four.
Router Two prefers the EIGRP external route with the same metric (after scaling) and a higher administrative distance. This is true whenever automatic redistribution occurs between EIGRP and IGRP within the same autonomous system. The router always prefers the path with the lowest cost metric and ignores the administrative distance.
Redistribution between EIGRP and other protocols - RIP and OSPF, for example - works in the same way as all redistribution. It is always best to use the default metric when redistributing between protocols. You should be aware of the following two issues when redistributing between EIGRP and other protocols:
Routes redistributed into EIGRP are not always summarized - see the Summarization section for an explanation.
External EIGRP routes have an administrative distance of 170.
When you install a static route to an interface, and configure a network statement using router eigrp, which includes the static route, EIGRP redistributes this route as if it were a directly connected interface. Let us look at the network in Figure 12.
Router One has a static route to the network 172.16.1.0/24 configured through interface Serial 0:
ip route 172.16.1.0 255.255.255.0 Serial0
And Router One also has a network statement for the destination of this static route:
router eigrp 2000 network 10.0.0.0 network 172.16.0.0 no auto-summary
Router One redistributes this route, even though it is not redistributing static routes, because EIGRP considers this a directly attached network. On Router Two, this looks as follows:
two# show ip route .... 10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks C 10.1.1.0/24 is directly connected, Serial0 D 10.1.2.0/24 [90/2169856] via 10.1.1.1, 00:00:47, Serial0 172.16.0.0/24 is subnetted, 1 subnets D 172.16.1.0 [90/2169856] via 10.1.1.1, 00:00:47, Serial0
Note the route to 172.16.1.0/24 appears as an internal EIGRP route on Router Two.
There are two forms of summarization in EIGRP: auto-summaries and manual summaries.
EIGRP performs an auto-summarization each time it crosses a border between two different major networks. For example, in Figure 13, Router Two advertises only the 10.0.0.0/8 network to Router One, because the interface Router Two uses to reach Router One is in a different major network.
On Router One, this looks like the following:
one# show ip eigrp topology 10.0.0.0 IP-EIGRP topology entry for 10.0.0.0/8 State is Passive, Query origin flag is 1, 1 Successor(s), FD is 11023872 Routing Descriptor Blocks: 172.16.1.1 (Serial0), from 172.16.1.2, Send flag is 0x0 Composite metric is (11023872/10511872), Route is Internal Vector metric: Minimum bandwidth is 256 Kbit Total delay is 40000 microseconds Reliability is 255/255 Load is 1/255 Minimum MTU is 1500 Hop count is 1
This route is not marked as a summary route in any way; it looks like an internal route. The metric is the best metric from among the summarized routes. Note that the minimum bandwidth on this route is 256k, although there are links in the 10.0.0.0 network that have a bandwidth of 56k.
On the router doing the summarization, a route is built to null0 for the summarized address:
two# show ip route 10.0.0.0 Routing entry for 10.0.0.0/8, 4 known subnets Attached (2 connections) Variably subnetted with 2 masks Redistributing via eigrp 2000 C 10.1.3.0/24 is directly connected, Serial2 D 10.1.2.0/24 [90/10537472] via 10.1.1.2, 00:23:24, Serial1 D 10.0.0.0/8 is a summary, 00:23:20, Null0 C 10.1.1.0/24 is directly connected, Serial1
The route to 10.0.0.0/8 is marked as a summary through Null0. The topology table entry for this summary route looks like the following:
two# show ip eigrp topology 10.0.0.0 IP-EIGRP topology entry for 10.0.0.0/8 State is Passive, Query origin flag is 1, 1 Successor(s), FD is 10511872 Routing Descriptor Blocks: 0.0.0.0 (Null0), from 0.0.0.0, Send flag is 0x0 (note: the 0.0.0.0 here means this route is originated by this router) Composite metric is (10511872/0), Route is Internal Vector metric: Minimum bandwidth is 256 Kbit Total delay is 20000 microseconds Reliability is 255/255 Load is 1/255 Minimum MTU is 1500 Hop count is 0
To make Router Two advertise the components of the 10.0.0.0 network instead of a summary, configure no auto-summary on the EIGRP process on Router Two:
On Router Two
router eigrp 2000 network 172.16.0.0 network 10.0.0.0 no auto-summary
With auto-summary turned off, Router One now sees all of the components of the 10.0.0.0 network:
one# show ip eigrp topology IP-EIGRP Topology Table for process 2000 Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply, r - Reply status P 10.1.3.0/24, 1 successors, FD is 46354176 via 184.108.40.206 (46354176/45842176), Serial0 P 10.1.2.0/24, 1 successors, FD is 11049472 via 220.127.116.11 (11049472/10537472), Serial0 P 10.1.1.0/24, 1 successors, FD is 11023872 via 18.104.22.168 (11023872/10511872), Serial0 P 172.16.1.0/24, 1 successors, FD is 2169856 via Connected, Serial0
There are some caveats when dealing with the summarization of external routes that are covered later in the Auto-Summarization of External Routes section.
EIGRP allows you to summarize internal and external routes on virtually any bit boundary using manual summarization. For example, in Figure 14, Router Two is summarizing the 22.214.171.124/24, 126.96.36.199/24, and 188.8.131.52/24 into the CIDR block 184.108.40.206/22.
The configuration on Router Two is shown below:
two# show run .... ! interface Serial0 ip address 10.1.50.1 255.255.255.0 ip summary-address eigrp 2000 220.127.116.11 255.255.252.0 no ip mroute-cache ! .... two# show ip eigrp topology IP-EIGRP Topology Table for process 2000 Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply, r - Reply status P 10.1.10.0/24, 1 successors, FD is 45842176 via Connected, Loopback0 P 10.1.50.0/24, 1 successors, FD is 2169856 via Connected, Serial0 P 18.104.22.168/24, 1 successors, FD is 10511872 via Connected, Serial1 P 22.214.171.124/22, 1 successors, FD is 10511872 via Summary (10511872/0), Null0 P 126.96.36.199/24, 1 successors, FD is 10639872 via 188.8.131.52 (10639872/128256), Serial1 P 184.108.40.206/24, 1 successors, FD is 10537472 via 220.127.116.11 (10537472/281600), Serial1
Note the ip summary-address eigrp command under interface Serial0, and the summary route via Null0. On Router One, we see this as an internal route:
one# show ip eigrp topology IP-EIGRP Topology Table for process 2000 Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply, r - Reply status P 10.1.10.0/24, 1 successors, FD is 46354176 via 10.1.50.1 (46354176/45842176), Serial0 P 10.1.50.0/24, 1 successors, FD is 2169856 via Connected, Serial0 P 18.104.22.168/22, 1 successors, FD is 11023872 via 10.1.50.1 (11023872/10511872), Serial0
EIGRP will not auto-summarize external routes unless there is a component of the same major network that is an internal route. To illustrate, let us look at Figure 15.
Router Three is injecting external routes to 22.214.171.124/26 and 126.96.36.199/26 into EIGRP using the redistribute connected command, as shown in the configurations below.
interface Ethernet0 ip address 188.8.131.52 255.255.255.192 ! interface Ethernet1 ip address 184.108.40.206 255.255.255.192 ! interface Ethernet2 ip address 10.1.2.1 255.255.255.0 !router eigrp 2000 redistribute connected network 10.0.0.0 default-metric 10000 1 255 1 1500
With this configuration on Router Three, the routing table on Router One shows:
one# show ip route .... 10.0.0.0/8 is subnetted, 2 subnets D 10.1.2.0 [90/11023872] via 10.1.50.2, 00:02:03, Serial0 C 10.1.50.0 is directly connected, Serial0 220.127.116.11/26 is subnetted, 1 subnets D EX 18.104.22.168 [170/11049472] via 10.1.50.2, 00:00:53, Serial0 D EX 22.214.171.124 [170/11049472] via 10.1.50.2, 00:00:53, Serial0
Although auto-summary normally causes Router Three to summarize the 126.96.36.199/26 and 188.8.131.52/26 routes into one major net destination (184.108.40.206/24), it does not do this because both routes are external. However, if you reconfigure the link between Routers Two and Three to 220.127.116.11/26, and add network statements for this network on Routers Two and Three, the 18.104.22.168/24 auto-summary is then generated on Router Two.
interface Ethernet0 ip address 22.214.171.124 255.255.255.192 ! interface Ethernet1 ip address 126.96.36.199 255.255.255.192 ! interface Serial0 ip address 188.8.131.52 255.255.255.192 ! router eigrp 2000 network 184.108.40.206
Now Router Two generates the summary for 220.127.116.11/24:
two# show ip route .... D 18.104.22.168/24 is a summary, 00:06:48, Null0 ....
And Router One shows only the summary route:
one# show ip route .... 10.0.0.0/8 is subnetted, 1 subnets C 10.1.1.0 is directly connected, Serial0 D 22.214.171.124/24 [90/11023872] via 10.1.50.2, 00:00:36, Serial0
When a router processes a query from a neighbor, the following rules apply:
|Query from||Route state||Action|
|neighbor (not the current successor)||passive||reply with current successor information|
|successor||passive||attempt to find new successor; if successful, reply with new information; if not successful, mark destination unreachable and query all neighbors except the previous successor|
|any neighbor||no path through this neighbor before query||reply with best path currently known|
|any neighbor||not known before query||reply that the destination is unreachable|
|neighbor (not the current successor)||active||if there is no current successor to this destinations (normally this would be true), reply with an unreachable|
|if there is a good successor, reply with the current path information|
|successor||active||attempt to find new successor; if successful, reply with new information; if not successful, mark destination unreachable and query all neighbors except the previous successor|
The actions in the table above impact the range of the query in the network by determining how many routers receive and reply to the query before the network converges on the new topology. To see how these rules affect the way queries are handled, let us look at the network in Figure 16, which is running under normal conditions.
We can expect the following to happen regarding network 192.168.3.0/24 (far right side):
Router One has two paths to 192.168.3.0/24:
through Router Two with a distance of 46533485 and a reported distance of 20307200
through Router Three with a distance of 20563200 and a reported distance of 20307200
Router One chooses the path through Router Three and keeps the path through Router Two as a feasible successor
Routers Two and Three show one path to 192.168.3.0/24 through Router Four
Suppose that 192.168.3.0/24 fails. What activity can we expect to see on this network? Figures 16a through 16h illustrate the process.
Router Five marks 192.168.3.0/24 as unreachable, and queries Router Four:
Router Four, upon receiving a query from its successor, attempts to find a new feasible successor to this network. It does not find one, so it marks 192.168.3.0/24 as unreachable and query Routers Two and Three:
Routers Two and Three, in turn, see that they have lost their only feasible route to 192.168.3.0/24, and mark it as unreachable; they both send queries to Router One:
For simplicity, let us assume that Router One receives the query from Router Three first, and marks the route as unreachable. Router One then receives the query from Router Two. Although another order is possible, they will all have the same final result.
Router One replies to both queries with unreachables; Router One is now passive for 192.168.3.0/24:
Routers Two and Three reply to the query from Router Four; Routers Two and Three are now passive for 192.168.3.0/24:
Router Five, upon receiving the reply from Router Four, removes network 192.168.3.0/24 from its routing table; Router Five is now passive for network 192.168.3.0/24. Router Five sends updates back to Router Four so the route is removed from the topology and routing tables of the remaining routers.
It is important to understand that although there may be other query paths or processing orders, all routers in the network process a query for network 192.168.3.0/24 when that link goes down. Some routers may end up processing more than one query (Router One in this example). In fact, if the queries were to reach the routers in a different order, some would end up processing three or four queries. This is a good example of an unbounded query in an EIGRP network.
Now let us look at the paths to 10.1.1.0/24 in the same network:
Router Two has a topology table entry for the 10.1.1.0/24 network with a cost of 46251885 through Router One.
Router Three has a topology table entry for the 10.1.1.0/24 network with a cost of 20281600 through Router One.
Router Four has a topology table entry for the 10.0.0.0/8 network (because Routers Two and Three are autosummarizing to the major network boundary) through Router Three with a metric of 20307200 (the reported distance through Router Two is higher than the total metric through Router Three, so the path through Router Two is not a feasible successor).
If 10.1.1.0/24 goes down, Router One marks it as unreachable, and then queries each of its neighbors (Routers Two and Three) for a new path to that network:
Router Two, on receiving the query from Router One, marks the route as unreachable (because the query is from its successor) and then queries Routers Four and Three:
Router Three, when it receives the query from Router One, marks the destination as unreachable and queries Routers Two and Four:
Router Four, when it receives the queries from Routers Two and Three, replies that 10.1.1.0/24 is unreachable (note that Router Four has no knowledge of the subnet in question, since it only has the 10.0.0.0/8 route):
Routers Two and Three reply to each other that 10.1.1.0/24 is unreachable:
Since Routers Two and Three now have no outstanding queries, they both reply to Router One that 10.1.1.0/24 is unreachable:
The query, in this case, is bounded by the autosummarization at Routers Two and Three. Router Five does not participate in the query process, and is not involved in the re-convergence of the network. Queries can also be bound by manual summarization, autonomous system borders, and distribution lists.
If a router is redistributing routes between two EIGRP autonomous systems, it replies to the query within the normal processing rules and launches a new query into the other autonomous system. For example, if the link to the network attached to Router Three goes down, Router Three marks the route unreachable and queries Router Two for a new path:
Router Two replies that this network is unreachable and launches a query into autonomous system 200 toward Router One. Once Router Three receives the reply to its original query, it removes the route from its table. Router Three is now passive for this network:
Router One replies to Router Two, and the route goes passive:
While the original query did not propagate throughout the network (it was bound by the autonomous system border), the original query leaks into the second autonomous system in the form of a new query. This technique may help to prevent stuck in active (SIA) problems in a network by limiting the number of routers a query must pass through before being answered, but it does not solve the overall problem that each router must process the query. In fact, this method of bounding a query may worsen the problem by preventing the auto-summarization of routes that would otherwise be summarized (external routes are not summarized unless there is an external component in that major network).
Rather than block the propagation of a query, distribution lists in EIGRP mark any query reply as unreachable. Let us use Figure 19 as an example.
In the figure above:
Router Three has a distribute-list applied against its serial interfaces that only permits it to advertise Network B.
Routers One and Two do not know that Network A is reachable through Router Three (Router Three is not used as a transit point between Routers One and Two).
Router Three uses Router One as its preferred path to Network A, and does not use Router Two as a feasible successor.
When Router One loses its connection to Network A, it marks the route as unreachable and sends a query to Router Three. Router Three does not advertise a path to Network A because of the distribution list on its serial ports.
Router Three marks the route as unreachable, then queries Router Two:
Router Two examines its topology table and finds that it has a valid connection to Network A. Note the query was not affected by the distribution list in Router Three:
Router Two replies that Network A is reachable; Router Three now has a valid route:
Router Three builds the reply to the query from Router One, but the distribution list causes Router Three to send a reply that Network A is unreachable, even though Router Three has a valid route to Network A:
Some routing protocols consume all of the available bandwidth on a low bandwidth link while they are converging (adapting to a change in the network). EIGRP avoids this congestion by pacing the speed at which packets are transmitted on a network, thereby using only a portion of the available bandwidth. The default configuration for EIGRP is to use up to 50 percent of the available bandwidth, but this can be changed with the following command:
router(config-if)# ip bandwidth-percent eigrp 2 ? <1-999999> Maximum bandwidth percentage that EIGRP may use
Essentially, each time EIGRP queues a packet to be transmitted on an interface, it uses the following formula to determine how long to wait before sending the packet:
(8 * 100 * packet size in bytes) / (bandwidth in kbps * bandwidth percentage)
For instance, if EIGRP queues a packet to be sent over a serial interface that has a bandwidth of 56k, and the packet is 512 bytes, EIGRP waits:
(8 * 100 * 512 bytes) / (56000 bits per second * 50% bandwidth) (8 * 100 * 512) / (56000 * 50) 409600 / 2800000 0.1463 seconds
This allows a packet (or groups of packets) of at least 512 bytes to be transmitted on this link before EIGRP sends its packet. The pacing timer determines when the packet is sent, and is typically expressed in milliseconds. The pacing time for the packet in the above example is 0.1463 seconds. There is a field in show ip eigrp interface that displays the pacing timer, as shown below:
router# show ip eigrp interface IP-EIGRP interfaces for process 2 Xmit Queue Mean Pacing Time Multicast Pending Interface Peers Un/Reliable SRTT Un/Reliable Flow Timer Routes Se0 1 0/0 28 0/15 127 0 Se1 1 0/0 44 0/15 211 0 router#
The time displayed is the pacing interval for the maximum transmission unit (MTU), the largest packet that can be sent over the interface.
There are two ways to inject a default route into EIGRP: redistribute a static route or summarize to 0.0.0.0/0. Use the first method when you want to draw all traffic to unknown destinations to a default route at the core of the network. This method is effective for advertising connections to the Internet. For example:
ip route 0.0.0.0 0.0.0.0 x.x.x.x (next hop to the internet) ! router eigrp 100 redistribute static default-metric 10000 1 255 1 1500
The static route that is redistributed into EIGRP does not have to be to network 0.0.0.0. If you use another network, you must use the ip default-network command to mark the network as a default network. Refer to Configuring a Gateway of Last Resort for further information.
Summarizing to a default route is effective only when you want to provide remote sites with a default route. Since summaries are configured per interface, you do not need to worry about using distribute-lists or other mechanisms to prevent the default route from being propagated toward the core of your network. Note that a summary to 0.0.0.0/0 overrides a default route learned from any other routing protocol. The only way to configure a default route on a router using this method is to configure a static route to 0.0.0.0/0. (Beginning in Cisco IOS Software 12.0(4)T, you can also configure an administrative distance on the end of the ip summary-address eigrp command, so the local summary does not override the 0.0.0.0/0 route).
router eigrp 100 network 10.0.0.0 ! interface serial 0 encapsulation frame-relay no ip address ! interface serial 0.1 point-to-point ip address 10.1.1.1 frame-relay interface-dlci 10 ip summary-address eigrp 100 0.0.0.0 0.0.0.0
EIGRP puts up to four routes of equal cost in the routing table, which the router then load-balances. The type of load balancing (per packet or per destination) depends on the type of switching being done in the router. EIGRP, however, can also load-balance over unequal cost links.
Note: Using max-paths, you can configure EIGRP to use up to six routes of equal cost.
Let us say there are four paths to a given destination, and the metrics for these paths are:
path 1: 1100
path 2: 1100
path 3: 2000
path 4: 4000
The router, by default, places traffic on both path 1 and 2. Using EIGRP, you can use the variance command to instruct the router to also place traffic on paths 3 and 4. The variance is a multiplier: traffic will be placed on any link that has a metric less than the best path multiplied by the variance. To load balance over paths 1, 2, and 3, use variance 2, because 1100 x 2 = 2200, which is greater than the metric through path 3. Similarly, to also add path 4, issue variance 4 under the router eigrp command. Refer to How Does Unequal Cost Path Load Balancing (Variance) Work in IGRP and EIGRP? for more information.
How does the router divide the traffic between these paths? It divides the metric through each path into the largest metric, rounds down to the nearest integer, and uses this number as the traffic share count.
router# show ip route 10.1.4.0 Routing entry for 10.1.4.0/24 Known via "igrp 100", distance 100, metric 12001 Redistributing via igrp 100, eigrp 100 Advertised by igrp 100 (self originated) eigrp 100 Last update from 10.1.2.2 on Serial1, 00:00:42 ago Routing Descriptor Blocks: * 10.1.2.2, from 10.1.2.2, 00:00:42 ago, via Serial1 Route metric is 12001, traffic share count is 1 Total delay is 20010 microseconds, minimum bandwidth is 1000 Kbit Reliability 1/255, minimum MTU 1 bytes Loading 1/255, Hops 0
For this example, the traffic share counts are:
for paths 1 and 2: 4000/1100 = 3
for path 3: 4000/2000 = 2
for path 4: 4000/4000 = 1
The router sends the first three packets over path 1, the next three packets over path 2, the next two packets over path 3, and the next packet over path 4. The router then restarts by sending the next three packets over path 1, and so on.
Note: Even with variance configured, EIGRP will not send traffic over an unequal cost path if the reported distance is greater than the feasible distance for that particular route. Refer to the Feasible Distance, Reported Distance, and Feasible Successors section for more information.
When you initially configure EIGRP, remember these two basic rules if you are attempting to influence EIGRP metrics:
The bandwidth should always be set to the real bandwidth of the interface; multipoint serial links and other mismatched media speed situations are the exceptions to this rule.
The delay should always be used to influence EIGRP routing decisions.
Because EIGRP uses the interface bandwidth to determine the rate at which to send packets, it is important that these be set correctly. If it is necessary to influence the path EIGRP chooses, always use delay to do so.
At lower bandwidths, the bandwidth has more influence over the total metric; at higher bandwidths, the delay has more influence over the total metric.
External administrative tags are useful for breaking redistribution routing loops between EIGRP and other protocols. By tagging the route when it is redistributed into EIGRP, you can block redistribution from EIGRP into the external protocol. It is not possible to modify the administrative distance for a default gateway that was learned from an external route because, in EIGRP, the modification of the administrative distance only applies for internal routes. In order to raise the metric, use a route-map with prefix-list; do not change the administrative distance. A basic example of configuring these tags follows, but this example does not show the entire configuration used for breaking redistribution loops.
Router Three, which is redistributing routes connected into EIGRP, shows:
three# show run .... interface Loopback0 ip address 172.19.1.1 255.255.255.0 ! interface Ethernet0 ip address 172.16.1.1 255.255.255.0 loopback no keepalive ! interface Serial0 ip address 172.17.1.1 255.255.255.0 .... router eigrp 444 redistribute connected route-map foo network 172.17.0.0 default-metric 10000 1 255 1 1500 .... access-list 10 permit 172.19.0.0 0.0.255.255 route-map foo permit 10 match ip address 10 set tag 1 .... three# show ip eigrp topo IP-EIGRP Topology Table for process 444 Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply, r - Reply status P 172.17.1.0/24, 1 successors, FD is 2169856 via Connected, Serial0 via Redistributed (2169856/0) P 172.16.1.0/24, 1 successors, FD is 281600 via Redistributed (281600/0) P 172.19.1.0/24, 1 successors, FD is 128256, tag is 1 via Redistributed (128256/0)
Router Two, which is redistributing routes from EIGRP into RIP, shows:
two# show run .... interface Serial0 ip address 172.17.1.2 255.255.255.0 ! interface Serial1 ip address 172.18.1.3 255.255.255.0 .... router eigrp 444 network 172.17.0.0 ! router rip redistribute eigrp 444 route-map foo network 10.0.0.0 network 172.18.0.0 default-metric 1 ! no ip classless ip route 126.96.36.199 255.255.255.255 Serial0 route-map foo deny 10 match tag 1 ! route-map foo permit 20 .... two# show ip eigrp topo IP-EIGRP Topology Table for process 444 Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply, r - Reply status P 172.17.1.0/24, 1 successors, FD is 2169856 via Connected, Serial0 P 172.16.1.0/24, 1 successors, FD is 2195456 via 172.17.1.1 (2195456/281600), Serial0 P 172.19.1.0/24, 1 successors, FD is 2297856, tag is 1 via 172.17.1.1 (2297856/128256), Serial0
Note the tag 1 on 172.19.1.0/24.
Router One, which is receiving the RIP routes redistributed by Router 2, shows:
one# show run .... interface Serial0 ip address 172.18.1.2 255.255.255.0 no fair-queue clockrate 1000000 router rip network 172.18.0.0 .... one# show ip route Gateway of last resort is not set R 172.16.0.0/16 [120/1] via 172.18.1.3, 00:00:15, Serial0 R 172.17.0.0/16 [120/1] via 172.18.1.3, 00:00:15, Serial0 172.18.0.0/24 is subnetted, 1 subnets C 172.18.1.0 is directly connected, Serial0
Note that 172.19.1.0/24 is missing.
This command is used to display information about EIGRP named configurations and EIGRP autonomous-system (AS) configurations. The output of this command shows the information that has been exchanged between the neighboring EIGRP router. An explanation of each output field follows the table.
|show ip eigrp traffic|
Hellos sent/received shows the number of hello packets sent and received (sent -1927/received - 1930).
Updates sent/received displays the number of update packets sent and received (sent-20/received-39).
Queries sent/received means the number of query packets sent and received (sent-10/received-18).
Replies sent/received shows the number of reply packets sent and received (sent-18/received-16).
Acks sent/received stands for the number of acknowledgment packets sent and received (sent-66/received-41).
SIA-Queries sent/received means number of stuck in active query packets sent and received (sent-0/received-0).
SIA-Replies sent/received displays the number of stuck in active reply packets sent and received (sent-0/received-0).
Hello Process ID is the hello process identifier (270).
PDM Process ID stands for protocol-dependant module IOS process identifier (251).
Socket Queue displays the IP to EIGRP Hello Process socket queue counters (current-0/max-2000/highest-1/drops-0).
Input Queue shows the EIGRP Hello Process to EIGRP PDM socket queue counters (current-0/max-2000/highest-1/drops-0).
This command only displays feasible successors. To display all entries in the topology table, use the show ip eigrp topology all-links command. An explanation of each output field follows the table.
|show ip eigrp topology|
A means active. This could also show a P, meaning passive.
10.2.4.0/24 is the destination or mask.
0 successors shows how many successors (or paths) are available for this destination; if successors is capitalized, the route is in transition.
FD is 512640000 shows the feasible distance, which is the best metric to reach this destination or the best metric known when the route went active.
tag is 0x0 can be set and/or filtered using route maps with the set tag and match tag commands.
Q means a query is pending. This field can also be: U, for update pending; or R, for reply pending.
1 replies shows the number of outstanding replies.
active 00:00:01 shows how long this route has been active.
query origin: Local origin shows this route originated the query. This field can also be: Multiple origins, meaning that multiple neighbors have sent queries on this destination, but not the successor; or Successor origin, meaning the successor originated the query.
via 10.1.2.2 shows that we learned of this route from a neighbor whose IP address is 10.1.2.2. This field can also be: Connected, if the network is directly connected to this router; Redistributed, if this route is being redistributed into EIGRP on this router; or Summary, if this is a summary route generated on this router.
(Infinity/Infinity) shows the metric to reach this path through this neighbor in the first field, and the reported distance through this neighbor in the second field.
r shows that we have queried this neighbor and are waiting for a reply.
Q is the send flag for this route, meaning there is a query pending. This field can also be: U, meaning there is an update pending; or R, meaning there is a reply pending.
Serial1 is the interface through which this neighbor is reachable.
Via 10.1.1.2 shows the neighbor from which we are waiting for a reply.
r shows that we have queried this neighbor about the route and have not yet received a reply.
Serial0 is the interface through which this neighbor is reachable.
Via 10.1.2.2 (512640000/128256), Serial1 shows we are using this route (indicates which path the next path/destination will take when there are multiple routes of equal cost).
This command displays all entries in the topology table for this destination, not just feasible successors. An explanation of each output field follows the table.
|show ip eigrp topology network|
State is Passive means the network is in passive state, or, in other words, we are not looking for a path to this network. Routes are almost always in a passive state in stable networks.
Query origin flag is 1 If this route is active, this field provides information on who originated the query.
0: This route is active but no query has been originated for it (we are searching for a feasible successor locally).
1: This router originated the query for this route (or the route is passive).
2: Multiple diffusing computations for this query. This router has received more than one query for this route from more than one source.
3: The router that we learned the path to this network from is querying for another route.
4: Multiple query sources for this route, including the router through which we learned this route. Similar to 2, but it also means there is a query origin string which describes the queries outstanding for this path.
2 Successor(s) means there are two feasible paths to this network.
FD is 307200 shows the best current metric to this network. If the route is active, this indicates the metric of the path we were previously using to route packets to this network.
Routing Descriptor Blocks Each of the following entries describes one path to the network.
10.1.1.2 (Ethernet1) is the next hop to the network and the interface that next hop is reached through.
from 10.1.2.2 is the source of this path information.
Send flag is:
0x0: If there are packets that need to be sent in relation to this entry, this indicates the type of packet.
0x1: This router has received a query for this network, and needs to send a unicast reply.
0x2: This route is active, and a multicast query should be sent.
0x3: This route has changed, and a multicast update should be sent.
Composite metric is (307200/281600) shows the total calculated costs to the network. The first number in the parentheses is the total cost to the network through this path, including the cost to the next hop. The second number in the parentheses is the reported distance, or, in other words, the cost the next hop router uses.
Route is Internal means this route was originated within this EIGRP autonomous system (AS). If the route was redistributed into this EIGRP AS, this field would indicate that the route is External.
Vector metric shows the individual metrics used by EIGRP to calculate the cost to a network. EIGRP does not propagate total cost information throughout the network; the vector metrics are propagated, and each router computes the cost and reported distance individually.
Minimum bandwidth is 10000 Kbit shows the lowest bandwidth on the path to this network.
Total delay is 2000 microseconds shows the sum of the delays on the path to this network.
Reliability is 0/255 shows a reliability factor. This number is calculated dynamically, but is not used by default in metric calculations.
Load is 1/255 indicates the amount of load the link is carrying. This number is calculated dynamically, and is not used by default when EIGRP calculates the cost to use this path.
Minimum MTU is 1500 This field is not used in metric calculations.
Hop count is 2 This is not used in metric calculations, but does limit the maximum size of an EIGRP AS. The maximum number of hops that EIGRP will accept is 100 by default, although the maximum can be configured to 220 with metric maximum hops.
If the route is external, the following information is included. An explanation of each output field follows the table.
Originating Router shows that this is the router that injected this route into the EIGRP AS.
External AS shows the Autonomous System this route came from (if there is one).
External Protocol shows the protocol this route came from (if there is one).
external metric shows the internal metric in the external protocol.
Administrator Tag can be set and/or filtered using route maps with the set tag and match tag commands.
Same output format as show ip eigrp topology , but it also shows some portion of the topology table.
show ip eigrp topology all-links
Same output format as show ip eigrp topology , but it also shows all links in the topology table, rather than just feasible successors.
- EIGRP Support Page
- EIGRP Command Reference Guide
- IP Routing Support Page
- Technical Support & Documentation - Cisco Systems
|Updated: Sep 09, 2005||Document ID: 16406|