EIGRP Header Format

EIGRP Protocol Structure

EIGRP uses IP protocol 88 and includes a common header format for all packet types. Understanding the header structure is essential for packet analysis and troubleshooting.

EIGRP Header Structure

Every EIGRP packet begins with a 20-byte header that contains common fields for all packet types:

EIGRP Header Format (20 bytes)


 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Version    |    Opcode     |          Checksum             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             Flags                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Sequence Number                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Acknowledgment Number                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Virtual Router ID         |       Autonomous System       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Field Lengths:
- Version: 8 bits
- Opcode: 8 bits  
- Checksum: 16 bits
- Flags: 32 bits
- Sequence Number: 32 bits
- Acknowledgment Number: 32 bits
- Virtual Router ID: 16 bits
- Autonomous System: 16 bits
                            

Header Field Descriptions

Field Size Purpose Values
Version 8 bits EIGRP version number 2 (current version)
Opcode 8 bits Packet type identifier 1=Update, 3=Query, 4=Reply, 5=Hello
Checksum 16 bits Error detection IP checksum algorithm
Flags 32 bits Packet flags Init, Conditional Receive, etc.
Sequence Number 32 bits Reliable transport Incremental for reliable packets
Acknowledgment Number 32 bits Reliable transport Last received sequence number
Virtual Router ID 16 bits Multiple instances 0 for single instance
Autonomous System 16 bits AS number 1-65535

Packet Type Opcodes

Opcode Packet Type Reliability Purpose
1 Update Reliable Routing information exchange
3 Query Reliable Route recomputation request
4 Reply Reliable Response to Query
5 Hello Unreliable Neighbor discovery/keepalive
6 IPX SAP Reliable IPX Service Advertisement

Reliable Transport Protocol (RTP)

EIGRP Reliability

EIGRP implements its own reliable transport protocol to ensure critical packets are delivered:

  • Sequence Numbers: Track packet order and detect duplicates
  • Acknowledgments: Confirm packet reception
  • Retransmission: Resend unacknowledged packets
  • Selective Reliability: Only critical packets need acknowledgment

Packet Encapsulation

EIGRP Packet Structure

Ethernet Header
(14 bytes)
IP Header
(20 bytes, Protocol=88)
EIGRP Header
(20 bytes)
EIGRP Data
(Variable length)

Hello Packets

The Foundation of EIGRP

Hello packets are the foundation of EIGRP neighbor relationships. They handle neighbor discovery, maintain relationships, and exchange essential parameters.

Hello Packet Purpose

Neighbor Discovery

Find other EIGRP routers on the network segment

Keepalive

Maintain existing neighbor relationships

Parameter Exchange

Share timers, K-values, and capabilities

Failure Detection

Detect neighbor failures through timeouts

Hello Timers

Interface Type Hello Interval Hold Time Reasoning
High-bandwidth 5 seconds 15 seconds Fast failure detection
Low-bandwidth 60 seconds 180 seconds Bandwidth conservation
Multipoint 60 seconds 180 seconds Reduce overhead

Update Packets

The Heart of EIGRP

Update packets carry routing information and are the primary mechanism for topology exchange in EIGRP. They use reliable transport and contain route advertisements.

Update Packet Purpose

Route Advertisement

Advertise reachable networks to neighbors

Topology Exchange

Share network topology information

Metric Propagation

Distribute path metrics and components

Route Withdrawal

Remove unreachable networks

Update Packet Characteristics

Characteristic Value Description
Opcode 1 Update packet identifier
Reliability Reliable Requires acknowledgment
Delivery Unicast/Multicast Depends on scenario
Sequence Number Non-zero Incremental for reliability
Flags Init, EOT Control packet flow

Query Packets

DUAL Query Process

Query packets are sent when a router goes active for a destination and needs to find alternate paths. They're a crucial part of the DUAL algorithm's loop prevention mechanism.

Query Packet Purpose

Route Recomputation

Request alternate paths when primary route fails

DUAL Process

Essential part of diffusing computation

Loop Prevention

Ensure loop-free alternate paths

Network Convergence

Coordinate network-wide route changes

When Queries Are Sent

Scenario Trigger Action Query Scope
Successor Loss Primary path fails No feasible successor available All neighbors except source
Metric Increase Path cost increases Exceeds feasible successor threshold Affected neighbors
Interface Down Interface failure Direct connection lost All neighbors
Neighbor Loss Neighbor goes down Routes through neighbor lost Remaining neighbors

Reply Packets

Query Response

Reply packets are sent in response to Query packets and complete the DUAL diffusing computation process. They provide route information or indicate route unavailability.

Reply Packet Purpose

Query Response

Respond to neighbor queries with route information

Route Information

Provide alternate path metrics or unreachable status

DUAL Completion

Complete the diffusing computation process

Convergence

Enable network convergence after topology changes

Reply Types

Reply Type Meaning Metric Impact
Route Available Neighbor has alternate path Actual path metric Potential new successor
Route Unreachable Neighbor cannot reach destination Infinite (0xFFFFFFFF) No help from this neighbor

ACK Packets

Reliable Transport

ACK packets provide reliable transport for EIGRP by acknowledging receipt of reliable packets. They ensure that critical routing information is delivered successfully.

ACK Packet Purpose

Acknowledgment

Confirm receipt of reliable packets

Reliable Transport

Enable EIGRP's reliable delivery mechanism

Flow Control

Manage packet transmission rate

Error Recovery

Trigger retransmission of lost packets

ACK Packet Characteristics

Characteristic Value Description
Opcode 5 Same as Hello packet
Reliability Unreliable Does not require acknowledgment
Sequence Number 0 Unreliable packets use sequence 0
Acknowledgment Number Non-zero Sequence number being acknowledged
Data None No TLV data in ACK packets

Reliable Transport Mechanism

Reliable Packet Flow

Send

Reliable packet
transmitted

Receive

Neighbor receives
packet

ACK

ACK packet
sent back

Confirm

Sender receives
ACK