EIGRP uses DUAL (Diffusing Update Algorithm) to select the best path and guarantee fast, loop-free routing per destination inside an autonomous system.

Facts

Core concepts

Term Short explanation
Successor Best route (lowest metric/FD)
Feasible Successor Backup route, loop-free
Feasible Distance (FD) Your total metric to the destination
Reported Distance (RD) The neighbor’s metric to the destination
Feasibility Condition RD < FD (successor)
Passive state Stable route, no computation
Active state DUAL running, queries being sent
Query / Reply Used in active state
Stuck-in-Active (SIA) Query-reply timeout
Topology table All known EIGRP routes
Routing table (RIB) Only the successor is installed

EIGRP DUAL topology

Packet types

Packet What it does When used
Hello Discovers and maintains neighbors Periodically to keep adjacency alive
Update Sends routing information (routes, metrics) At startup, topology changes, partial updates
Query Asks neighbors for alternative routes Successor lost and no feasible successor
Reply Answers a query When the neighbor has an answer (route or “no route”)
ACK Acknowledges reliable packets Confirms Update, Query and Reply

Timers

Timer Default Applies to Function
Hello 5 s (LAN) / 60 s (WAN) Neighbors Keeps the adjacency alive
Hold 15 s (LAN) / 180 s (WAN) Neighbors How long a neighbor is considered up
Active 3 min (180 s) Routes Max time a route may stay active
SIA-Query 90 s Queries Time before an “are you alive?” query
SIA-Reply 180 s Replies Time before a neighbor is declared SIA
RTO Dynamic Reliable packets Retransmission timeout
RTT Dynamic Reliable packets Measured round-trip time

Roles & the feasibility condition

A neighbor can be an FS when:

RD < FD (successor)

If the condition holds, the neighbor’s path cannot point back at you → loop-free. 👉 EIGRP’s mathematical loop guarantee.

States

Failure handling – two scenarios

Where is what?

Table Contains
Neighbor table EIGRP neighbors
Topology table All routes (successor + FS + candidates)
Routing table Only the successor

SIA vs dead timer

Point Hold/Dead timer SIA
About Neighbor liveness Route computation
Trigger Missing Hello Missing Reply
Protocol EIGRP (and OSPF) EIGRP only
Time frame 15/180 s ~180 s
Fix Stable link / timers Stub, smaller query domain

EIGRP Stub

Tells other EIGRP routers: “I am an end station – don’t send me queries for networks I can’t provide alternate paths to.” It limits the query domain, prevents SIA, and improves scalability and stability. Without stubs, queries can spread through the whole network, especially via spoke/access routers.

Advantages & disadvantages (CCNP)

Category Pros Cons
Convergence Very fast via DUAL + FS Can be slow without FS (queries)
Loop-freedom Mathematically guaranteed (FC) Depends on correct design
Updates Partial and triggered Queries can stress the network
Load balancing Unequal-cost via variance More complex config
Scalability Good in enterprise SIA risk in large flat topologies
Design Simple – no areas Needs hierarchical design for stability
Vendor support Strong in Cisco Limited multi-vendor
Stub Reduces query domain Must be configured correctly
Standardization Partially open Not a full industry standard like OSPF
Failure handling Fast local failover with FS SIA on missing replies
Implementation Easy to deploy and change Harder to troubleshoot (DUAL)

Configuration

router eigrp 100
 network 192.168.1.0 0.0.0.255
 network 192.168.2.0 0.0.0.255
 no auto-summary
 eigrp router-id 1.1.1.1
 passive-interface default
 no passive-interface GigabitEthernet0/0
!
eigrp stub                     ! variants: connected / connected summary / connected static
!
interface GigabitEthernet0/0
 ip hello-interval eigrp 100 5
 ip hold-time eigrp 100 15

Maintenance & troubleshooting

show ip eigrp neighbors
show ip route eigrp
show ip eigrp topology
show ip eigrp topology all-links
show ip protocols
show ip eigrp topology active
show ip eigrp neighbors detail
show ip eigrp traffic
debug eigrp packets          ! use with care
debug eigrp fsm
undebug all

Filtering (CCNP important)

A) distribute-list + ACL:

access-list 10 permit 10.10.0.0 0.0.255.255
router eigrp 100
 distribute-list 10 in GigabitEthernet0/0
! in = filter what you receive, out = filter what you advertise

B) prefix-list (best practice):

ip prefix-list EIGRP-FILTER permit 10.10.0.0/16 le 24
router eigrp 100
 distribute-list prefix EIGRP-FILTER out GigabitEthernet0/0

C) route-map (most flexible):

ip prefix-list ALLOW permit 10.10.0.0/16
route-map EIGRP-FILTER permit 10
 match ip address prefix-list ALLOW
router eigrp 100
 distribute-list route-map EIGRP-FILTER out GigabitEthernet0/0

D) unequal-cost load balancing:

router eigrp 100
 variance 2
! only feasible successors are used, and they must still satisfy the feasibility condition