EIGRP's Diffusing Update Algorithm (DUAL) is the engine that makes EIGRP one of the fastest-converging routing protocols in Cisco networks. For the CCNA 200-301 exam, understanding the topology table and DUAL's state machine is critical because it explains how EIGRP computes loop-free paths, handles failures, and selects feasible successors. This chapter dives deep into the topology table structure, DUAL states (Passive vs. Active), and the mechanics of feasible distance, reported distance, and feasible condition — knowledge that separates a memorizer from a true network engineer.
Jump to a section
Imagine you are a GPS navigation system in a city with multiple routes to your destination. Your internal map (the topology table) lists every known road segment, its distance (travel time), and who reported it. You maintain a 'best route' (successor) with the shortest travel time (feasible distance). For each alternate route, you check if the neighbor's reported travel time is less than your current best route's travel time — that's the feasible condition. If a neighbor reports a time of 15 minutes and your best route is 20 minutes, you trust that neighbor's route because it's shorter than yours; you store it as a feasible successor, ready for instant failover. If the best road suddenly closes, you immediately switch to the feasible successor without recalculating — zero convergence time. If no feasible successor exists, you enter 'active' mode: you broadcast a query to all neighbors asking for new routes, and you cannot change your route until all replies come back (or a timer expires). This is exactly DUAL: the topology table holds all learned routes, the feasible condition ensures loop-free backup paths, and the active/passive states govern how the router reacts when a route is lost. Just as a GPS avoids loops by never using a road that goes through its own current location, DUAL prevents routing loops by ensuring the reported distance is strictly less than the feasible distance.
What is the EIGRP Topology Table?
The EIGRP topology table is a database of all routes learned from EIGRP neighbors. Unlike the routing table (RIB) which contains only the best route to each destination, the topology table stores every route received, along with metrics and neighbor information. For CCNA, you must understand three key concepts: Feasible Distance (FD), Reported Distance (RD), and the Feasible Condition (FC).
Feasible Distance (FD): The best metric (lowest composite metric) the local router has ever had for a destination. It is the metric of the successor route.
Reported Distance (RD): The metric that a neighbor advertises for a route — essentially the neighbor's FD for that destination.
Feasible Condition (FC): RD < FD. If a neighbor's RD is strictly less than the current FD, the route is loop-free and can be used as a feasible successor.
DUAL States: Passive vs. Active
DUAL operates in two states for each destination: - Passive state: The router has a known successor (and possibly feasible successors). The route is stable. No queries are outstanding. - Active state: The router has lost the successor and has no feasible successor. It sends queries to all neighbors and waits for replies. The route is in a 'recompute' phase. While active, the router cannot change its route for that destination.
How DUAL Works Step-by-Step
Initial Learning: When a router receives an EIGRP update, it adds the route to the topology table. It computes the composite metric (using bandwidth, delay, load, reliability) and identifies the route with the lowest metric as the successor. The FD is set to that metric.
Feasible Successor Selection: For each alternate route, the router checks if RD < FD. If true, the neighbor is a feasible successor and the route is stored as a backup. If false, the route is stored but not used for fast failover.
Failure Detection: If the successor route fails (e.g., neighbor goes down), the router checks for a feasible successor. If one exists, it immediately promotes it to successor — no queries, no delay.
No Feasible Successor: If no feasible successor exists, the router transitions the route to Active state. It sends a Query packet to all neighbors (including those not feasible) asking for a new route. Each neighbor must reply with either a Reply (with a route) or an infinite metric (if they have no route). The router must wait for all replies or until the Active timer (default 3 minutes) expires.
Stuck-in-Active (SIA): If a neighbor does not reply within the Active timer, the router declares the route SIA, resets the neighbor adjacency, and clears all routes from that neighbor. This is a common cause of network instability.
Back to Passive: Once all replies are received, the router computes the new best route, sets the FD, and returns to Passive state.
DUAL Finite State Machine (FSM)
The DUAL FSM has several events: Link Up, Link Down, Update Received, Query Received, Reply Received. Each event triggers a transition. The key states are: - Passive: Stable. No outstanding queries. - Active: Queries sent, waiting for replies. - Active->Passive: All replies received.
EIGRP Metrics and K Values
EIGRP uses a composite metric formula by default: metric = [K1 * bandwidth + (K2 * bandwidth) / (256 - load) + K3 * delay] * 256. Default K values: K1=1, K2=0, K3=1, K4=0, K5=0. So effectively metric = bandwidth + delay (scaled). Bandwidth is the inverse of the lowest bandwidth along the path, delay is the sum of all delays. The metric is a 32-bit value; EIGRP scales it by 256 for compatibility with IGRP.
Verification Commands
show ip eigrp topology — displays all routes in the topology table, including successors and feasible successors.
R1# show ip eigrp topology
EIGRP-IPv4 Topology Table for AS(100)/ID(10.0.0.1)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
r - reply Status, s - sia Status
P 10.1.1.0/24, 1 successors, FD is 409600
via 10.0.0.2 (409600/409600), GigabitEthernet0/0
via 10.0.0.3 (435200/409600), GigabitEthernet0/1
P 10.2.2.0/24, 1 successors, FD is 435200
via 10.0.0.3 (435200/409600), GigabitEthernet0/1show ip eigrp topology all-links — shows all routes, including those that do not meet the feasible condition.
show ip eigrp topology active — shows routes currently in Active state.
R1# show ip eigrp topology active
EIGRP-IPv4 Topology Table for AS(100)/ID(10.0.0.1)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
r - reply Status, s - sia Status
A 10.3.3.0/24, 1 successors, FD is 435200
1 replies, 0 replies active
via 10.0.0.2 (435200/409600), GigabitEthernet0/0, serno 1234
via 10.0.0.3 (infinity/infinity), GigabitEthernet0/1, serno 1235show ip eigrp traffic — shows statistics of EIGRP packets sent/received.
Interaction with Related Protocols
EIGRP uses RTP (Reliable Transport Protocol) for updates, queries, and replies. Hello packets are unreliable, but updates, queries, and replies are reliable (acknowledged). DUAL relies on the reliable delivery of queries and replies to ensure state consistency. If a query is lost, the router may never receive a reply, leading to SIA.
EIGRP also uses a neighbor table to track adjacencies. The topology table is built from information received from neighbors. The routing table (RIB) is populated from the topology table's successor routes.
Common Misconfigurations
K values mismatch: If K values differ between neighbors, they will not form an adjacency. Always use defaults unless you have a specific reason.
Passive-interface: If an interface is configured as passive, EIGRP does not send Hello packets, so no adjacency forms. This is useful for loopbacks.
Auto-summary (disabled by default): In older IOS, auto-summary could cause suboptimal routing. CCNA expects you to know it is disabled by default in modern IOS.
Examine the Topology Table
Use `show ip eigrp topology` to view all routes learned via EIGRP. Identify the successor (the route with the lowest FD) and any feasible successors (routes where RD < FD). The output shows each route with a 'P' (Passive) or 'A' (Active) status. For each destination, note the FD value and the next-hop IP, along with the metric in parentheses (FD/RD). For example, `via 10.0.0.2 (409600/409600)` means the FD is 409600 and the RD from that neighbor is also 409600. If RD < FD, that neighbor is a feasible successor.
Identify Feasible Successors
From the topology table, look for routes where the RD is less than the FD. These are feasible successors. For instance, if FD=409600 and a neighbor advertises RD=409600, it is NOT a feasible successor because RD equals FD (must be strictly less). If another neighbor advertises RD=307200, then RD < FD, so it qualifies. Use `show ip eigrp topology all-links` to see all routes, including those that do not meet the feasible condition. The 'all-links' option reveals routes that are not used as feasible successors.
Verify Active Routes
When a route fails and no feasible successor exists, the route enters Active state. Use `show ip eigrp topology active` to see routes currently in Active state. The output shows the destination, the number of replies outstanding, and the neighbors that have been queried. If a route stays Active for a long time, it may become Stuck-in-Active (SIA). Check the 'Active timer' (default 3 minutes) using `show ip eigrp interfaces detail` or `show ip protocols`. If the timer expires, the router resets the neighbor adjacency.
Check EIGRP Neighbor Table
The neighbor table is essential for DUAL because queries are sent to all neighbors. Use `show ip eigrp neighbors` to list all adjacencies. Note the 'Hold' timer and 'Uptime'. If a neighbor is down, queries may not be replied, causing SIA. The neighbor table also shows the 'SRTT' (Smooth Round Trip Time) and 'RTO' (Retransmission Timeout), which affect reliability. A flapping neighbor can cause repeated route recomputations.
Trace DUAL Events with Debug
For deep troubleshooting, use `debug eigrp fsm` to see DUAL state transitions. This debug shows when a route goes Active, when queries are sent, and when replies are received. Example output: `DUAL: Find FS for 10.1.1.0/24, FD is 409600, RD is 409600` or `DUAL: 10.1.1.0/24 via 10.0.0.2 is active`. Be cautious with debug on production networks. Combine with `debug eigrp packets` to see actual query/reply packets.
Simulate Route Failure
To test DUAL convergence, shut down the interface of the successor route. Use `show ip eigrp topology` before and after to see the state change. If a feasible successor exists, the route should remain Passive and the successor should change instantly. If not, the route becomes Active. Observe the time it takes to return to Passive (should be fast if network is stable). This lab validates your understanding of feasible successors and the Active process.
In a large enterprise network, EIGRP's DUAL algorithm provides sub-second convergence when redundant paths exist. Consider a multi-site WAN with two MPLS circuits connecting each branch to the corporate HQ. Each branch router learns routes to HQ via both circuits. The fastest path (e.g., lower delay) becomes the successor, and the other path becomes a feasible successor if its RD < FD. When the primary circuit fails, DUAL instantly promotes the feasible successor without any query process. This is critical for voice or video traffic that cannot tolerate seconds of blackout.
Another scenario: a campus network with redundant core switches running EIGRP. If a core switch fails, DUAL must find alternate paths. If no feasible successor exists, the router enters Active state and queries all neighbors. In a large network with hundreds of routes, this can cause a flood of queries, potentially overwhelming the CPU. To mitigate this, engineers use route summarization to reduce the number of routes in the topology table. Stub routers (configured with eigrp stub) can also prevent queries from propagating to leaf routers.
A common misconfiguration is setting K values non-default. For example, if an engineer enables load balancing with K2 (load) set to 1, the metric becomes dynamic and can fluctuate, causing constant DUAL recomputations. Always stick to default K values unless you have a specific design. Another pitfall is forgetting to disable auto-summary on older IOS; this can cause suboptimal routing and unexpected DUAL behavior. In modern networks, auto-summary is off by default, but verify with show ip protocols.
Performance considerations: EIGRP scales well up to hundreds of routers, but the topology table size matters. Each route consumes memory. With default timers, convergence after a failure is bounded by the Active timer (3 minutes), which can be reduced but at the risk of SIA. Engineers often tune the Active timer to 1 minute for faster failure detection. Also, EIGRP uses multicast address 224.0.0.10 for Hellos and updates; ensure multicast is allowed across the network.
The CCNA 200-301 exam tests your understanding of DUAL's state machine and the topology table under Objective 3.5: 'Configure and verify EIGRP (classic mode) — routing protocol concepts'. Expect scenario-based questions that ask: 'Which route becomes the feasible successor?' or 'What happens when the successor fails and no feasible successor exists?'.
Common Wrong Answers and Traps:
1. RD < FD vs. RD <= FD: Many candidates think RD <= FD qualifies as a feasible successor. The correct condition is strictly less than. If RD == FD, the neighbor's route could be a loop (e.g., the neighbor might be using the local router as its next hop). The exam loves this distinction.
2. Active state means the route is down: No, Active means the router is actively querying for a new route. The route may still be reachable via other paths, but the router is in a state where it cannot change its route until all replies come back. The route is not necessarily down.
3. Feasible successor is always used: A feasible successor is only used if the successor fails. It is a backup, not a load-sharing path by default. EIGRP supports unequal-cost load balancing with the variance command, but that is separate.
4. SIA means the route is lost: SIA means the router has not received a reply from a neighbor within the Active timer. The router then resets the neighbor adjacency and removes all routes learned from that neighbor. The route may still be reachable via other neighbors.
Specific Values and Commands:
- Default Active timer: 3 minutes (180 seconds).
- Default K values: K1=1, K2=0, K3=1, K4=0, K5=0.
- Metric formula (default): metric = (bandwidth + delay) * 256.
- Use show ip eigrp topology to see successors and feasible successors.
- Use show ip eigrp topology active to see routes in Active state.
Decision Rule for Scenario Questions: When given a topology table output, first identify the FD (lowest metric). Then check each alternate route: if RD < FD, it is a feasible successor. If the successor fails, the feasible successor is promoted. If no such route exists, the route goes Active. If the question asks about convergence time, if a feasible successor exists, convergence is immediate; otherwise, it depends on query/reply timing.
Calculation Trap: The metric is not simple bandwidth + delay; it uses scaling. For CCNA, you are not expected to compute exact metrics, but you must understand that a lower metric is better. The FD is the best metric the router has ever had for that destination — it does not change unless a better route appears or the current successor is removed.
The EIGRP topology table stores all routes learned from neighbors, including successors and feasible successors.
Feasible Distance (FD) is the best metric to a destination; Reported Distance (RD) is the metric advertised by a neighbor.
The Feasible Condition (FC) is RD < FD; this ensures loop-free backup paths.
If a successor fails and a feasible successor exists, DUAL promotes it instantly (Passive state).
If no feasible successor exists, the route enters Active state and queries are sent to all neighbors.
The default Active timer is 3 minutes; if a neighbor does not reply, the route becomes Stuck-in-Active (SIA) and the neighbor adjacency is reset.
Use 'show ip eigrp topology' to view the topology table; 'show ip eigrp topology active' to see active routes.
These come up on the exam all the time. Here's how to tell them apart.
EIGRP DUAL
Uses DUAL algorithm for loop-free path computation
Convergence is immediate if a feasible successor exists
Relies on feasible condition (RD < FD) for backup paths
Uses distance-vector logic with diffusing computations
Sends queries to all neighbors when no backup exists
OSPF SPF
Uses Dijkstra's SPF algorithm for shortest path tree
Convergence requires full SPF recalculation on topology change
No concept of feasible successor; all alternate routes require SPF recomputation
Link-state protocol: each router has full topology map
Uses LSA flooding and database synchronization
Mistake
A feasible successor can be used for load balancing by default.
Correct
By default, EIGRP only uses the successor (best route) for forwarding. Feasible successors are backups for fast failover, not for load sharing. Unequal-cost load balancing requires the 'variance' command.
Candidates confuse backup paths with load-balancing paths because both are alternate routes.
Mistake
The Active state means the route is unreachable.
Correct
Active state means the router has lost its successor and is actively querying for a new route. The destination may still be reachable via other paths, but the router is temporarily unable to use them until it receives replies.
The word 'active' suggests the route is being actively used, but it actually indicates a computation phase.
Mistake
The feasible condition is RD <= FD.
Correct
The feasible condition is RD < FD (strictly less). If RD equals FD, the neighbor's route could be a loop, so it is not considered loop-free.
Many candidates think equality is safe, but EIGRP requires strict inequality to guarantee no loops.
Mistake
Stuck-in-Active (SIA) means the route is stuck and cannot be recovered.
Correct
SIA occurs when a neighbor does not reply within the Active timer. The router resets the neighbor adjacency and removes all routes learned from that neighbor. The route may still be learned from other neighbors, so recovery is possible.
The word 'stuck' implies permanent failure, but it is a recoverable condition, albeit disruptive.
Reveal each answer, then mark whether you got it right. Score 60%+ to unlock the next chapter.
A successor is the next-hop router for the best route (lowest metric) to a destination, installed in the routing table. A feasible successor is a backup next-hop that meets the feasible condition (RD < FD). It is stored in the topology table and can be used immediately if the successor fails, without any query process. The key is that the feasible successor is loop-free.
DUAL prevents loops by using the feasible condition: a neighbor's reported distance (RD) must be strictly less than the current feasible distance (FD) for that route. This ensures that the neighbor does not use the local router as its next hop (which would create a loop). Additionally, when a router enters Active state, it sends queries and must receive replies before updating its route, preventing temporary loops during convergence.
The default Active timer is 3 minutes (180 seconds). If a router does not receive a reply from a neighbor within this time, the route is declared Stuck-in-Active (SIA). The router then resets the neighbor adjacency and removes all routes learned from that neighbor. This can cause network instability.
Yes, EIGRP supports unequal-cost load balancing using the 'variance' command. By default, variance is 1, meaning only equal-cost paths are used. Variance multiplies the FD to determine the upper bound for alternate routes. For example, variance 2 allows routes with metric up to 2 * FD to be used. Feasible successors must still meet the feasible condition to be considered.
Use the command 'show ip eigrp topology active'. This displays all routes currently in Active state, along with the number of replies pending and the neighbors queried. You can also use 'show ip eigrp topology' and look for an 'A' code (Active) instead of 'P' (Passive).
The 'eigrp stub' command configures a router as a stub, meaning it will not forward transit traffic. Stub routers are typically leaf routers (e.g., at branch offices). They do not send queries to their neighbors, which reduces the query scope and prevents SIA conditions. Stub routers can advertise connected and summary routes only.
Bandwidth and delay are the default K values (K1=1, K3=1). Bandwidth represents the lowest bandwidth along the path, and delay represents the cumulative delay. This combination provides a metric that reflects both the speed of the slowest link and the total distance. Other K values (load, reliability) are optional and can be enabled for more granularity, but they are discouraged because they can cause metric flapping.
You've just covered EIGRP Topology Table and DUAL — now see how well it sticks with free CCNA 200-301 practice questions. Full explanations included, no account needed.
Done with this chapter?