EIGRP implements reliability mechanisms similar to TCP, ensuring that critical protocol messages are properly received and processed. This reliability framework is essential for maintaining accurate routing information in dynamic network environments.
Reliability in Network Protocols
A reliable protocol implements acknowledgment mechanisms to confirm successful packet delivery, typically using sequence numbers and acknowledgments. This contrasts with unreliable protocols that provide "best-effort" delivery without confirmation:
Reliable protocols (like TCP) require acknowledgment of received packets
Unreliable protocols (like UDP) send packets without confirmation of delivery
EIGRP falls into the reliable protocol category, using sequence numbers and acknowledgments to ensure critical routing information is successfully exchanged between neighbors
Packet Types and Acknowledgment Requirements
EIGRP distinguishes between packets that require acknowledgment and those that don't:
Packets that require acknowledgment:
Update packets (Type 1)
Query packets (Type 3)
Reply packets (Type 4)
SIA Query packets (Type 10)
SIA Reply packets (Type 11)
Packets that don't require acknowledgment:
Hello packets (Type 5)
This selective acknowledgment approach optimizes network utilization while ensuring reliability for critical routing information
Acknowledgment Mechanisms
EIGRP implements acknowledgments in two ways:
Dedicated ACK packets - Small packets with no data, sent as unicast messages
Piggybacked acknowledgments - Included within other EIGRP packets by setting the ACK field
When a router receives a reliable packet that requires acknowledgment, it can respond with:
A dedicated ACK packet (a hello packet with the ACK field set)
Another reliable packet with the ACK field set to acknowledge the previous packet
Sequence Number Management
Each EIGRP router maintains sequence numbers for reliable communication:
Every reliable EIGRP packet contains a sequence number
The receiving router acknowledges by sending the same sequence number in its ACK field
In production environments, sequence numbers typically start with a random 16-bit value for security reasons
Each router maintains independent sequence numbering for packets it sends
Packet Exchange Process
A typical EIGRP packet exchange with reliability follows this pattern:
Router A sends an Update packet with sequence number X
Router B receives the Update and must acknowledge it
Router B can acknowledge by:
Sending a dedicated ACK (hello packet with ACK field set to X)
Sending its own reliable packet (e.g., an Update) with ACK field set to X
Verifying Sequence Numbers
The show “ip eigrp neighbors”
command displays the last sequence number sent to each neighbor:
Router# show ip eigrp neighbors
EIGRP-IPv4 Neighbors for AS(100)
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
0 10.1.1.2 Gi0/0 14 00:10:53 1 200 0 5
During normal operation, sequence numbers increment as routers exchange information, and acknowledgments are processed without issues. If an acknowledgment isn't received within the RTO (Retransmission TimeOut) period, the router will retransmit the packet as a unicast message directly to the neighbor.
This reliability framework ensures that routing information is consistently and accurately maintained across all routers in the EIGRP domain, providing the foundation for EIGRP's rapid convergence capabilities.