Hello Messages in EIGRP
RFC 7868: Section 5.3.2
Hello messages are a crucial part of EIGRP's neighbor discovery and recovery process. They play a key role in establishing and maintaining connections in the EIGRP network. Let's delve into the details:
-
Transmission via Multicast: Hello packets are typically sent using multicast addresses, specifically:
- IPv4: 224.0.0.10
- IPv6: FF02::A However, in cases where the neighbor statement is used for EIGRP peering, Hello packets are sent via unicast.
-
Unreliable and Unidirectional: Hello packets are considered unreliable and unidirectional. This means they are not guaranteed to be delivered, and they only flow in one direction.
-
Zero Sequence Number: The sequence number in Hello packets is always set to ZERO (0).
Hello packets serve several critical purposes:
-
Neighbor Discovery: They are responsible for discovering EIGRP neighbors in the network.
-
Neighbor Recovery: Hello packets also play a role in the recovery of neighbor relationships if they are lost or disrupted.
These packets contain essential information, and the details of their content are found in RFC 7868 Section 6.7.1. The information communicated includes:
-
K-values: Parameters that influence EIGRP's metric calculations.
-
EIGRP Software Version: The version of EIGRP being used by the sender.
-
Type – Length – Value (TLV) Version: Information format used in EIGRP messages.
-
Hold Time: The duration for which the neighbor relationship should be maintained.
By default, Hello packets are sent every five (5) seconds. However, on Non-Broadcast Multi-Access (NBMA) networks with a bandwidth of 1544 kbps or less, the interval is extended to 60 seconds.
A notable difference between Hello packets and ACK (Acknowledgment) packets is that ACK packets are unicast, not multicast.
When you manually configure the hello interval or hold time, they become mutually exclusive. In other words, if you change one value manually, the other does not automatically adjust.
EIGRP maintains neighbor state information in the neighbor table. There are two primary states:
-
Pending State: This is the initial state when EIGRP is trying to establish a neighbor relationship.
-
Up State: Once the neighbor relationship is successfully established, it transitions to the "Up" state.
For configuration and verification purposes, EIGRP provides specific commands:
Configuration:
-
ip hello-interval eigrp [as#] [num-seconds]
: Configures the hello interval for EIGRP. -
ip hold-time eigrp [as#] [num-seconds]
: Configures the hold time for EIGRP.
Verification:
-
show ip eigrp interfaces [interface] [detail]
: Displays detailed information about EIGRP interfaces. -
show ip eigrp neighbor [detail]
: Provides details about EIGRP neighbors. -
debug eigrp packets [hello] [detail]
: Enables debugging of EIGRP packets, including Hello packets. -
show ip eigrp traffic | inc Hellos
: Shows EIGRP traffic statistics, including Hello packets. -
show ip protocols
: Displays information about IP routing protocols, including EIGRP.
In summary, Hello messages are the "handshakes" of EIGRP, responsible for neighbor discovery and maintaining connections in the network. Understanding their behavior and configuration is essential for effective EIGRP operation.