EIGRP = Enhanced Interior Gateway Routing Protocol
Advanced distance-vector routing protocol (sometimes called "hybrid")
Originally Cisco proprietary (now partially open standard - RFC 7868)
Used to share routing information between routers within an organization
Successor to IGRP (Interior Gateway Routing Protocol)
Feature
Description
Protocol Type
Advanced Distance Vector (Hybrid)
Algorithm
DUAL (Diffusing Update Algorithm)
Administrative Distance
90 (Internal), 170 (External)
Metric
Bandwidth + Delay (by default)
Update Type
Partial, bounded updates (not periodic)
Transport
IP Protocol 88 (not TCP or UDP)
Multicast Address
224.0.0.10
Supports VLSM
Yes (classless protocol)
Authentication
MD5, SHA
Load Balancing
Equal and Unequal cost
✓ Very fast convergence (fastest among IGPs)
✓ Low bandwidth usage (partial updates only)
✓ Supports unequal-cost load balancing
✓ Easy to configure
✓ Supports large networks
✓ Loop-free paths guaranteed by DUAL
✓ Supports multiple network layer protocols
✗ Originally Cisco proprietary (limited multi-vendor support)
✗ More complex than RIP
✗ Can be difficult to troubleshoot
EIGRP
OSPF
RIP
Type
Advanced Distance Vector
Link State
Distance Vector
DUAL
SPF (Dijkstra)
Bellman-Ford
Composite (BW + Delay)
Cost (Bandwidth)
Hop Count
Max Hops
255 (default 100)
Unlimited
15
Convergence
Very Fast
Fast
Slow
Updates
Triggered only
Periodic (30 sec)
VLSM Support
Yes
v2 only
Admin Distance
90
110
120
Router A Router B
| |
|-------- Hello Packet --------->|
|<------- Hello Packet ----------|
| Neighbors Established |
|-------- Update Packet -------->|
|<------- Update Packet ---------|
| Routes Exchanged |
DUAL Algorithm calculates:
- Successor (best route)
- Feasible Successor (backup route)
- Hello packets sent every 5 seconds (LAN)
- Hello packets sent every 60 seconds (WAN)
- If no Hello received within Hold Time, neighbor is dead
EIGRP maintains THREE tables:
- Lists all directly connected EIGRP neighbors
- Built using Hello packets
- Contains: Neighbor IP, Interface, Hold Time, Uptime, Queue Count
View command:
Router# show ip eigrp neighbors
Example output:
IP-EIGRP neighbors for process 100
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
0 192.168.1.2 Gi0/0 12 00:05:32 10 100 0 15
1 192.168.2.2 Gi0/1 14 00:03:21 15 100 0 12
- Contains ALL routes learned from neighbors
- Includes Successor and Feasible Successor routes
- Used by DUAL algorithm to calculate best paths
Router# show ip eigrp topology
IP-EIGRP Topology Table for AS(100)
P 10.1.1.0/24, 1 successors, FD is 28160
via 192.168.1.2 (28160/25600), GigabitEthernet0/0
via 192.168.2.2 (30720/28160), GigabitEthernet0/1
P 10.2.2.0/24, 1 successors, FD is 25600
via Connected, GigabitEthernet0/0
- Contains only the BEST routes (Successors)
- These routes are actually used for forwarding traffic
- Shared with other routing protocols
Router# show ip route eigrp
D 10.1.1.0/24 [90/28160] via 192.168.1.2, 00:05:32, Gi0/0
D 10.3.3.0/24 [90/30720] via 192.168.2.2, 00:03:21, Gi0/1
D 10.4.4.0/24 [90/33280] via 192.168.1.2, 00:05:32, Gi0/0
- The BEST route to a destination
- Stored in BOTH Topology Table AND Routing Table
- Used for actual packet forwarding
- BACKUP route to a destination
- Stored ONLY in Topology Table
- Used immediately if Successor fails (instant convergence!)
- Total metric from local router to destination
- FD = Local metric + Neighbor's metric
- Metric from neighbor to destination
- What the neighbor reports as its distance
A route becomes a Feasible Successor if:
Reported Distance < Feasible Distance of Successor
This GUARANTEES a loop-free backup path!
Example:
FD = 30
Router A ---------> Destination
|
| RD = 20 (from Router B)
v
Router B ---------> Destination
Since RD (20) < FD (30), Router B's path is a Feasible Successor
EIGRP uses K values to calculate metrics:
K Value
Component
Default
Used?
K1
Bandwidth
1
K2
Load
0
No
K3
Delay
K4
Reliability
K5
MTU
Metric = 256 × [(10^7 / Minimum Bandwidth) + (Sum of Delays / 10)]
Metric = 256 × (10,000,000 / Bandwidth in Kbps) + (Delay in microseconds / 10)
Link: FastEthernet (100 Mbps, Delay = 100 microseconds)
Bandwidth component = 10,000,000 / 100,000 = 100
Delay component = 100 / 10 = 10
Total = 256 × (100 + 10) = 256 × 110 = 28,160
Packet
Purpose
Sent To
Hello
Discover/maintain neighbors
Multicast 224.0.0.10
Update
Send routing information
Multicast or Unicast
Query
Ask neighbors for routes
Multicast
Reply
Response to Query
Unicast
ACK
Acknowledge Updates/Queries/Replies
- Sent periodically to discover and maintain neighbors
- Default intervals:
- LAN (Fast links): Every 5 seconds
- WAN (Slow links): Every 60 seconds
- Hold Time = 3 × Hello Interval
- LAN: 15 seconds
- WAN: 180 seconds
- Contain routing information
- Sent when:
- New neighbor discovered (full update)
- Route changes (partial update)
- Require acknowledgment (reliable)
- Sent when Successor is lost and no Feasible Successor exists
- Asks neighbors: "Do you have a route to this network?"
- Route goes into ACTIVE state
- Response to Query packets
- Contains route information or indicates no route available
For two routers to become EIGRP neighbors, they must match:
✓ Same Autonomous System (AS) number
✓ Same subnet
✓ Hello packets must be received
✓ Same K values (metric weights)
✓ Authentication must match (if configured)
Topology:
10.0.0.0/24 20.0.0.0/24
[PC1]-------[R1]------------------[R2]-------[PC2]
Gi0/0 Gi0/1 Gi0/0 Gi0/1
10.0.0.1 192.168.1.1 192.168.1.2 20.0.0.1
|192.168.1.0/24|
R1> enable
R1# configure terminal
! Step 1: Enable EIGRP with AS number
R1(config)# router eigrp 100
! Step 2: Disable auto-summary (recommended)
R1(config-router)# no auto-summary
! Step 3: Specify networks to advertise
R1(config-router)# network 10.0.0.0
R1(config-router)# network 192.168.1.0
! Step 4: (Optional) Set Router ID
R1(config-router)# eigrp router-id 1.1.1.1
R1(config-router)# exit
R1(config)# exit
R1# write
R2> enable
R2# configure terminal
R2(config)# router eigrp 100
R2(config-router)# no auto-summary
R2(config-router)# network 20.0.0.0
R2(config-router)# network 192.168.1.0
R2(config-router)# eigrp router-id 2.2.2.2
R2(config-router)# exit
R2(config)# exit
R2# write
R1(config-router)# network 10.0.0.0 0.0.0.255
R1(config-router)# network 192.168.1.0 0.0.0.255
Wildcard Mask Explanation:
Wildcard Mask = Inverse of Subnet Mask
Subnet Mask: 255.255.255.0
Wildcard Mask: 0.0.0.255
0 = Must match exactly
255 = Can be any value
R1# show ip eigrp neighbors
0 192.168.1.2 Gi0/1 13 00:10:25 5 100 0 8
Column Explanations:
Column
Meaning
H
Handle (order neighbor was discovered)
Address
Neighbor's IP address
Interface
Local interface to reach neighbor
Hold
Time until neighbor declared dead
Uptime
How long neighbor has been up
SRTT
Smooth Round Trip Time
RTO
Retransmission Timeout
Q Cnt
Queue Count (packets waiting)
Seq Num
Sequence number of last packet
R1# show ip eigrp topology
EIGRP-IPv4 Topology Table for AS(100)/ID(1.1.1.1)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
r - reply Status, s - sia Status
P 10.0.0.0/24, 1 successors, FD is 2816
P 20.0.0.0/24, 1 successors, FD is 3072
via 192.168.1.2 (3072/2816), GigabitEthernet0/1
P 192.168.1.0/24, 1 successors, FD is 2816
via Connected, GigabitEthernet0/1
Zuletzt geändertvor 23 Tagen