EIGRP uses three tables: the neighbor table, the topology table, and the IP routing table. The neighbor table keeps state information regarding neighbors, and is displayed using the show ip eigrp neighbors command. EIGRP Update messages fill the routers' EIGRP topology tables. Based on the contents of the topology table, each router chooses its best routes and installs these routes in its respective IP routing table.
An EIGRP router calculates the metric for each route based on the components of the metric. When a neighboring router advertises a route, the Update includes the metric component values for each route. The router then considers the received metric values, as well its own interfaces settings, to calculate its own metric for each route. The default metric components are cumulative delay, in tens of microseconds, and the constraining bandwidth for the entire route, in bits per second. By setting the correct K values in the metric weights command, EIGRP can also consider link load, reliability, and MTU. Cisco recommends not using those values, in large part due to the fluctuation created by the rapidly changing calculated metrics and repeated routing reconvergence.
Figure 9-3 depicts the general logic relating to the metric components in a routing update, showing the units on the bandwidth and delay commands versus the contents of the updates.
NOTE A router considers its interface delay settings, as defined with the delay interface subcommand, when calculating EIGRP metrics. The delay command's units are tens of microseconds, so a delay 1 command sets the interface delay as 10 microseconds.
Figure 9-3 EIGRP Update and Computing the Metric
Subnet 1 Delay 100
Calculate RD per Received K Values
Delay 100 + 1000 = 1100 Bandwidth 1,544 (MTU, Load, Reliability) Calculate My Metric
Bandwidth 10,000 (MTU, Load, Reliability)
Delay 100 Bandwidth 10,000
Subnet 1 Delay 100
Delay 1000 Bandwidth 1544
Subnet 1 Delay 1100 Bandwidth 1,544 (MTU, Load, Reliability)
RD = 256 (10,000,000/10,000) + 256 (100) = 281,600 Metric = 256 (10,000,000/1,544) + 256 (1100) = 1,939,631
Because the received update includes the neighbor's metric components, a router can calculate the advertising neighbor's metric for a route—called the reported distance (RD). A router can, of course, also calculate its own metric for a particular route, after adding its own interface delay and considering whether it should adjust the value for the constraining bandwidth. For example, consider the four steps outlined in Figure 9-3:
1. R1 advertises a route, with bandwidth = 10,000 and delay = 100.
2. R2 calculates the RD for this route per the received K values.
3. R2 updates its topology table, adding delay 1000 because the interface on which R2 received the update has a delay setting of 1000. It also uses a new bandwidth setting, because the received Update's bandwidth (10,000) was greater than R2's incoming interface's bandwidth (1544).
4. R2's update to another neighbor includes the new (cumulative) delay and the new (constraining) bandwidth.
Assuming default K-value settings, the EIGRP formula for the metric calculation is
The show ip eigrp topology command lists the RD and the locally computed metric for the entries in the EIGRP topology table. Example 9-3 shows a few details of where the RD and local metric can be seen in show command output. The example is based on Figure 9-1, with all routers and interfaces now working properly. Also, to keep things simple, the delay command has been used to set all links to delay 1 (LANs), delay 2 (WANs), or delay 3 (loopbacks). Also, the metric weights 0 0 0 1 0 0 command was used on each router, taking bandwidth out of the calculation, making the calculated metrics a little more meaningful in the command output.
Example 9-3 EIGRP Topology Table
! First, the numbers in parentheses show this router's (R1s) calculated metric, ! then a "/", then the RD. For example, S1 advertised the route to 211.0/24, with ! R1 calculating S1s metric (the RD) as 768. Delay 3 was set on S1's loopback ! (where 211.0/24 resides), so its metric was 3*256=768. R1s metric adds delay 1, ! for a metric of 4*256=1024. R1# show ip eigrp topology
IP-EIGRP Topology Table for AS(1)/ID(172.31.16.1)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply, r - reply Status, s - sia Status P 172.31.151.0/24, 1 successors, FD is 768
via Connected, Loopback1 P 172.31.211.0/24, 1 successors, FD is 1024
via 172.31.11.201 (1024/768), FastEthernet0/0 P 172.31.24.0/30, 1 successors, FD is 768
via 172.31.11.2 (768/512), FastEthernet0/0 via 172.31.14.2 (1024/512), Serial0/0.4 ! Lines omitted for brevity
! Below, the metric in the IP routing table entries match the first number in ! the parentheses, as well as the number listed as "FD is..." in the output above. R1# show ip route ! omitted legend for brevity
172.31.0.0/16 is variably subnetted, 9 subnets, 2 masks D 172.31.211.0/24 [90/1024] via 172.31.11.201, 00:29:42, FastEthernet0/0
D 172.31.24.0/30 [90/768] via 172.31.11.2, 00:29:44, FastEthernet0/0
! Lines omitted for brevity
The show ip eigrp topology command lists a few additional very important concepts and terms related to how EIGRP chooses between multiple possible routes to the same prefix. First, the term feasible distance (FD) refers to this router's best calculated metric among all possible routes to reach a particular prefix. The FD is listed as "FD is x" in the command output. The route that has this best FD is called the successor route, and is installed in the routing table. The successor route's metric is by definition called the feasible distance, so that metric is what shows up in the routes shown with the show ip route command. These additional terms all relate to how EIGRP processes convergence events, which is explained next.
Was this article helpful?