The diffusing update algorithm (DUAL) is the algorithm used by EIGRP routing protocol to make sure that a given route is recalculated globally whenever it might cause a routing loop. It is guarantees loop-free and backup paths throughout the routing domain. EIGRP store all available backup routes using diffusing update algorithm and then adapt the route when needed. There are several terms uses in diffusing update algorithm, which are:
Successor
Feasible Distance (FD)
Feasible Successor (FS)
Reported Distance (RD) or Advertised Distance (AD)
Feasible Condition or Feasibility Condition (FC)
DUAL is the algorithm used by EIGRP for convergence. Convergence is important to a network for avoiding routing loops. Routing loops are very damaging to network performance. EIGRP uses a hold-down timer and split horizon to prevent routing loops.
The primary way that EIGRP prevents routing loops is with the DUAL algorithm. It provides loop-freedom at every instance throughout a route calculation. The DUAL allows all routers in a topology change to synchronize at the same time. Routers not affected by the topology changes are not part of recalculation. DUAL EIGRP is the way of faster convergence than other distance vector routing protocols.
The DUAL Finite State Machine (FSM) is the decision process for all route computations. Finite State Machine (FSM) is a workflow model containing a limited number of states, transitions between those states, and FSM Operation.
The diffusing update algorithm FSM tracks all routes use EIGRP metrics to select efficient, loop-free paths and identify the routes with the least-cost path to be inserted into the routing table.
EIGRP avoids recalculation whenever possible because recalculation is processor-intensive. EIGRP avoid recalculation by maintaining a list of backup routes that DUAL has previously found for loop-free. If the primary route in the routing table not working, the best backup route is straight away added to the routing table.
DUAL Finite State Machine (FSM)
The DUAL Finite State Machine (FSM) is EIGRP route-calculation engine. This FSM contains logic to calculate and compare routes in an EIGRP network. It is an abstract machine, not a mechanical device with moving parts. It classifies the different state of possibilities states that something can go through, what proceedings cause those states, and what proceedings result from those states. FSMs are not included in the scope of CCNA. But, the concept is used to examine some of the output from EIGRP’s FSM using the “debug eigrp fsm” command.
EIGRP automatically calculates the routing table metric to choose the best path. But it is important that the network administrator understands how to calculate EIGRP metric. The default formula for the composite metric is:
[k1 x Bandwidth + k3 x delay] x 256
By default K1 and K3 is equal to 1 so the formula become
[Bandwidth + Delay] x 256
After examining the bandwidth and delay values for all of the outgoing interfaces of the route, the steps to calculate EIGRP metric are the following:
Find out the link with the slowest bandwidth and use that value to calculate bandwidth using the formula 10,000,000/bandwidth.
Find out the delay value for all outgoing interfaces on the way to the destination. Sum up the delay values of all interfaces and divide by 10.
The sum of bandwidth and delay metric produce 24-bit value, but the EIGRP uses 32-bit value; therefore we multiply the 24-bit value with 256 to get a 32-bit value.
Calculating EIGRP Metric
Here in this example, we will use the same topology as used in earlier articles. This example displays how EIGRP determines the metric displayed in R1’s routing table for the 192.168.2.0/24 network.
Bandwidth
We have earlier discussed that EIGRP uses the slowest bandwidth to calculate the metric. We can find out the slowest bandwidth by examining each interface between the source and destination. So, in this example, the bandwidth of the interface between the source router R2 and the destination network 192.168.2.0/24 is illustrated in figure-2.
The GigabitEthernet 0/1 interface on R1 has a bandwidth of 10000 kb/s. The GigabitEthernet 0/2 interfaces on R3 has a bandwidth of 1,000,000 kb/s. The bandwidth of the GigabitEthernet 0/1 interface on R1 is not the default bandwidth, because we have configured the bandwidth of this interface. So, the slowest bandwidth is 10000 kb/s and this bandwidth is used in the calculation of the metric.
The reference bandwidth of EIGRP is 10,000,000; the EIGRP divides this value by the interface bandwidth value in kb/s. The higher bandwidth gives lower metric value and the lower bandwidth produces higher metric value. So, 10,000,000 is divided by 10000 which results in 1000. If the result is not a whole number, then the value is rounded down.
Delay
The same outgoing interfaces are used to find out the delay value, as shown in Figure 1. We know that the EIGRP uses the sum of all delays along the path from the source to the destination. The GigabitEthernet interface on R1 has a delay value of 10 usec. The GigabitEthernet 0/2 on R3 has a delay value of 100 usec. The sum of these delays is 110, which is divided by 10 (110/10 = 11).
Calculate EIGRP Metric
Now we have calculated values for bandwidth and delay, so now we can calculate EIGRP metric. The simple formula for metric is [Bandwidth + Delay] x 256. To get the metric value we put the calculated values of bandwidth and delay in this formula for example [1000+11] x 256 = 258816. Now we can verify the calculated metric in the routing table for network 192.168.2.0/24. Figure 3 illustrates the output of the “show ip route” command.
Delay Metric is the measure of the time it takes a bit to be transmitted to an adjacent neighbor. The delay metric (DLY) is a constant value based on the type of link to which the interface is connected. The value is expressed in microseconds, the one-millionth of a second. In the EIGRP metric calculation, the delay value is used in 10’s of microseconds
The delay value is just like the bandwidth value. We can change the default value. Router cannot measure delay dynamically. We can calculate the Delay value, by dividing the DLY in the show interface command by 10. Important the when determining the EIGRP metric, the delay is the cumulative (sum) of all interface delays along the path from the source to destination. The default delay values for different interfaces are following:
Ethernet – 1000
Fast Ethernet – 100
Gigabit Ethernet – 10
16M token Ring – 630
FDDI – 100
T1 Line – 20,000
56 kb/s – 20,000
You can see that the default value is 20,000 microseconds for serial interfaces and 10 microseconds for Gigabit Ethernet interfaces. We can use the show interfaces command to verify the delay value on an interface. Figure 1 illustrates the delay time in R1 interface.
EIGRP and OSPF both are using bandwidth metric which is a static value for calculating routing metrics. The bandwidth is displayed in kilobits per second (kb/s). The default bandwidths for different interfaces are:
Serial Interface – 1544 kb/s
Ethernet is – 10,000 kb/s
FastEthernet – 100,000
GigaEthernet – 1,000,000
TenGig – 10,000,000
Figure 1 illustrates the topology we have used throughout this section. We can verify the bandwidth with the “show interfaces” command. The default value of the bandwidth may or may not reflect the real physical bandwidth of the interface. If real bandwidth of the link is different from the default bandwidth value, the bandwidth value should be modified.
Configuring the Bandwidth Parameter
Most of the links uses the bandwidth metric defaults values as written above. The correct value for bandwidth is very important to the accuracy of routing information. To modify the bandwidth the command syntax is as under:
If the bandwidth is already changed from the default value and you want to restore the default bandwidth you can use the “no bandwidth” command to restore the default value. In topology, the link between R1 and R2 has a bandwidth of 1544 kb/s, and the link between R1 and R3 has a bandwidth of 10,000 kb/s.
Verifying the Bandwidth Parameter
We can verify the interface bandwidth using the show interfaces command”, as shown in Figure 2. Modifying the bandwidth value on the interface does not change the real bandwidth of the link. The bandwidth only modifies the bandwidth metric used by routing protocols, such as EIGRP and OSPF.
A composite metric is a number calculated based on several different components that determine the preferred route. By default, EIGRP uses bandwidth and delay to calculate the preferred path to a network. The reliability and load can also be used, but are not recommended, because they typically result in a frequent recalculation of the topology table.
Bandwidth: The bandwidth value used in the EIGRP metric is determined by dividing 10,000,000 by the bandwidth (in kbps) of the slowest outgoing interface along the path from the source to the destination network.
Delay: It is the cumulative value of all delays associated with all of the interfaces along the path from the source to the destination (in tens of microseconds). We can display the delay in the output of the show interfaces command.
Reliability: It is the worst reliability between the source and destination based on keep alive.
Load– Represents the worst load on a link between the source and destination, determined based on the packet rate and the configured bandwidth of the interface.
Figure 1 illustrates the EIGRP composite metric formula. The formula consists of K1 to K5 values, known as EIGRP metric weights. K1 bandwidth, K3 represent delay, K2 represents load, and K4 and K5 represent reliability. The bandwidth and delay values are used in the default composite metric. EIGRP for IPv4 and EIGRP for IPv6 both use the same formula for the composite metric. K1 and K3 values are set to 1 in the default formula, K2, K4 and K5 are set to 0.
The metric calculation technique (k values) and the autonomous system number of the EIGRP must match between neighbors; otherwise, routers do not perform an adjacency. The command for changing the default k values is “metric weights” router configuration mode command. The command syntax is as under:
TOS stands for the Type of Service Byte in an IPv4 packet header. It is intended to be used for a quality of service marking. But, the value of TOS must be 0. The five k values can be set into the range between 0 – 255. The metric weights value must be the same for establishing neighbor adjacencies. If metric weights values are different, then adjacency does not form.
Verifying thekValues
We can verify the k values using the “show ip protocols” command. Figure 2 illustrates the output of this command for R1. The k values on R1 are set to the default.
Examining Interface Values
We can examine the values used in the metric calculation using the “show interfaces” command. The command also displays complete interface information. Figure 3 illustrates the show interfaces command output for the Serial 0/0/0 interface on R1. The parameters used in the metric calculation formula are marked with a red rectangle.
BW– This is the interface bandwidth. The bandwidth is in kilobits per second.
DLY– This is the delay of the interface. The delay is in microseconds.
Reliability– The reliability of the interface is a fraction of 255. If the value is 255/255, it means that the reliability is 100%. The reliability is calculated as an exponential average over five minutes.
Txload, Rxload– This is transmitted and receive load on the interface as a fraction of 255 but 255/255 is completely saturated. The value is calculated as an exponential average over five minutes.
MTU – The MTU (Maximum Transmission Unit) is not used in the metric calculation formula. The default value of the Maximum Transmission Unit is 1500 Bytes. The Maximum Transmission Unit is carried in the EIGRP Update message to be used when tie occurred.
EIGRP uses a neighbor table, topology table, and IP routing table. The neighbor table maintains a state of neighbors. The topology table is used to store information about all known routes received from all neighbors.
EIGRP Update messages send the routers’ EIGRP topology tables. The EIGRP topology table is a database of possible routes. Each router chooses its best routes and installs these routes in its respective IP routing table uses the information in the topology table.
Each EIGRP router maintains an EIGRP topology table for each IPv4 and IPv6. It also includes route entries for every destination that the router learns from its directly connected EIGRP neighbors. The figure below illustrates the continuance of the earlier route discovery process from the previous article “EIGRP Neighbor Adjacency”.
When a router R1 receives an update from neighbor router R2, it adds the routing information into its EIGRP topology table and replies with an EIGRP acknowledgment. The figure now illustrates the update of the topology table.
Router R1 replies with an EIGRP acknowledgment packet informing Router R2 about the confirmation of receiving the update of the routing information.
Router R1 sends an EIGRP update to Router R2 advertising the routes in its topology table, except route learned from Router R2.
Router R2 receives the EIGRP update from Router R1 and adds this information to its topology table.
Router R2 replies to Router R1’s EIGRP update packet with an EIGRP acknowledgment packet.
Convergence
When Router R1 receives the EIGRP update packets from Router R2, R1 updates its IP routing table using the information in the topology table with the best path to each destination, including the metric and the next-hop router. Similarly to Router R1, Router R2 updates its IP routing table with the best path routes to each network. This is the EIGRP converged state for both routers.
Before exchanging any EIGRP update packets between routers, EIGRP must first discover its neighbor. EIGRP neighbor is an adjacent router running EIGRP on directly connected networks. EIGRP Hello packets are used to establish and maintain neighbor adjacencies.
Several parameters between the two routers must match to become neighbors; for example, the same autonomous system number and EIGRP metric must be required for establishing neighbor adjacencies.
Each EIGRP-enabled router maintains a list of routers that have EIGRP neighbor adjacencies with this router. This list is known as the neighbor table.
The router uses the neighbor table to track the status of EIGRP neighbors. The figure below illustrates exchanging two EIGRP routers’ initial EIGRP Hello packets and discovering the neighbor process.
The EIGRP-enabled router sends an EIGRP hello packet. When another EIGRP-enabled router receives that Hello packet, it adds that router to its neighbor table. For example
Router R1 has powered up or enabled EIGRP, sending an EIGRP Hello packet through its EIGRP-configured interfaces.
Router R2 receives the Hello packet from router R1 on an EIGRP-enabled interface and replies with an EIGRP update packet. The update packet contains all the routes in the R2 routing table, excluding the routes learned through that interface.
The neighbour adjacency is still not established until R2 sends an EIGRP Hello packet to R1. Now R2 sends hello packet to R1, the neighbour adjacency is now established. R1 and R2 update their neighbour tables adding the adjacent router as a neighbour.
We can verify the EIGRP in the routing table using the “show ip route” command. It is important to verify the information in the routing table to ensure that it is populated as estimated, based on configurations entered. The automatic summarization is enabled by default before in the ISO 15.
It is important to know that auto summarization can make a difference in the information displayed in the IPv4 routing table. If auto summarization is enabled by default then we can disable it using a “no auto-summary” command in router configuration mode.
Figure 1, illustrates the routing table of R1 for the topology we have used in the previous lesson. EIGRP routes are represented in the routing table with the letter D because the protocol is based upon the DUAL algorithm.
Thecommand verifies EIGRP in the routing table. It displays the entire routing table; including remote networks learned dynamically, directly connected, and static routes. It is the first command used to check for convergence.
If routing is correctly configured on all routers, the show ip route command displays a full routing table. Notice that R1 has installed routes to three IPv4 remote networks in its IPv4 routing table:
168.1.0/24 network, received from router R2 via 10.10.10.6, on the Gigabit Ethernet 0/0 interface
168.2.0/24 network, received from router R3 via 10.10.10.2 on the Gigabit Ethernet 0/1 interface
10.10.8/30 network, received from both R2 on the Gigabit Ethernet 0/0 interface, and from R3 on the Gigabit Ethernet 0/1 interface
R1 has two different paths to the 10.10.10.8/30 network because its cost to reach that network is the same or equal using both routers. R1 uses both paths to accomplish this network, which is known as load balancing.
EIGRP-enabled routers to establish neighbor adjacencies with other EIGRP-enabled routers by exchanging EIGRP Hello packets. Without establishing neighbor adjacencies routers cannot send or receive any updates. Using the “show ip eigrp neighbors” command, we can examine the neighbor’s table and verify EIGRP adjacencies. Figure 1 illustrates the output of the “show ip eigrp neighbors” command.
We can see the IPv4 address for each adjacent router and the interface that this router uses to reach the EIGRP neighbors. Each router uses this topology to list two adjacent neighbors in the neighbors table. The output also includes the following:
H column– This field lists the neighbors in the order they were learned. The first neighbor will have a value of 0, the second neighbors a value of 1, and so on.
Address– This is the IPv4 address of the adjacent neighbors.
Interface– This is the local interface on which this Hello packet was received.
Hold– This field specify how long EIGRP will wait to hear from the neighbour before declaring it down. When a Hello packet is received, the time value is reset to the maximum hold time for that interface, and then again counts down to zero. If zero is reached, the neighbour is considered down.
Uptime– This is the time since this neighbour was added to the neighbour table. The time in hours:minutes: seconds.
Smooth Round Trip Timer (SRTT) –The time it takes to send an EIGRP packet and receive an acknowledgement from the neighbour.
Retransmission Timeout (RTO) – The time that EIGRP will wait previous to retransmitting a packet from the retransmission queue to a neighbour for reliable EIGRP packets.
Queue Count– This values always be zero, if the value is more than zero, then EIGRP packets wait to be sent.
Sequence Number– The sequence number is used to track updates, queries, and reply packets.
This command is useful for verifying and troubleshooting EIGRP problems. We can check the neighbour IP address in the adjacencies table. We can also use the “show ip interface brief” command to verify the interface state. If the interface is an active state then we can try pinging the IPv4 address of the neighbour. If the ping not received, it means that the neighbour interface is down and must be activated. If the ping is successful and doing well then we should check that the EIGRP autonomous system number must be the same.
A passive interface is used in all routing protocols, where we can stop sending updates from a specific interface. The behavior varies from one protocol to another. In EIGRP, using the passive-interface, we stop sending outgoing hello packets; therefore, the router cannot form any neighbor adjacencies via the passive interface. This behavior stops both outgoing and incoming routing updates.
The passive-interface command can be used to stop the neighbor adjacencies. The command can be used in router configuration mode. We enable a passive interface to suppress unnecessary update traffic, for example, when an interface is a LAN interface with no other routers connected. It also increases security controls, such as stopping an unknown scoundrel routing device from receiving EIGRP updates. Figure 1 illustrates the R1, R2, and R3 where neighbor routers are not attached with interfaces GigabitEthernet 0/2 interfaces of R1, GigabitEthernet 0/2 interfaces of R2, and GigabitEthernet 0/2 interfaces of R3. The command syntax is the following:
The passive-interface command prevents the exchange of routes on these interfaces, but EIGRP still includes these interfaces and their addresses in routing updates. The passive interface configuration for the above topology is as follows:
Using the passive-interface default command, we can configure all interfaces as passive. To disable an interface as passive, we can use the no passive-interface interface-type interface-number command in router configuration mode.
The passive-interface increases security by preventing the hello packet from An example of using the passive-interface to increase security controls is
When a network connects to a third-party organization over which the network administrator has no control, such as an ISP network, the local network must advertise the interface link through the local network. This security risk occurs if the ISP sends or receives a routing update to the local network devices. Anyone can compromise the local network through an ISP. So, in this case, we can set the interface connected to the ISP as a passive interface.
Verifying the Passive Interface
We can verify the interface on a router configured as passive using the “show ip protocols” command in privileged EXEC mode. Figure 2 illustrates the output of this command on router R1. Notice that a GigabitEthernet 0/2 interface of R1 is a passive interface, but the routing update still includes the address for this interface, 192.168.0.0.
FAQs: EIGRP Passive-Interface
1. What is EIGRP?
EIGRP (Enhanced Interior Gateway Routing Protocol) is an advanced distance-vector routing protocol used in computer networks to automate routing decisions and configuration.
2. What is a passive-interface in EIGRP?
A passive interface in EIGRP prevents sending EIGRP hello packets on a particular interface. This effectively stops EIGRP from forming neighbor relationships on that interface.
3. Why would I use a passive-interface in EIGRP?
Using a passive-interface can improve network security and efficiency by preventing unwanted EIGRP traffic and avoiding unnecessary formation of EIGRP neighbor relationships on certain interfaces.
4. How do I configure a passive-interface in EIGRP?
To configure a passive-interface in EIGRP, you use the command “passive-interface <interface>” in the EIGRP configuration mode. This disables the sending of EIGRP hello packets on the specified interface.
5. Can I use the passive-interface command on multiple interfaces?
Yes, you can configure multiple interfaces as passive by specifying each interface in the EIGRP configuration mode.
6. What happens to existing EIGRP neighbors when I configure an interface as passive?
Existing EIGRP neighbors on an interface that is newly configured as passive will be dropped, as the interface will no longer send EIGRP hello packets to maintain the neighbor relationship.
7. Is there a way to make all interfaces passive by default in EIGRP?
Yes, you can use the “passive-interface default” command in EIGRP configuration mode to make all interfaces passive by default. You can then use the “no passive-interface <interface>” command to selectively enable EIGRP on specific interfaces.
8. What are the benefits of using a passive-interface in EIGRP?
The main benefits include enhanced security by restricting EIGRP traffic and more efficient use of network resources by reducing unnecessary EIGRP communications.
9. Can the passive-interface command affect network performance?
Using passive-interface judiciously can improve network performance by limiting unnecessary EIGRP traffic. However, misconfiguring it might prevent essential EIGRP neighbor relationships, potentially causing network disruptions.
10. How can I verify the configuration of passive interfaces in EIGRP?
You can use the “show ip eigrp interfaces” command to verify which interfaces are configured as passive in EIGRP.