What packet types does EIGRP use, and which ones are sent reliably?
Show the answer
Say this first
Five main types: Hello, Update, Query, Reply and Acknowledgment. Update, Query and Reply are reliable: every neighbor must acknowledge each one. Hello and ACK are not acknowledged. Modern IOS adds SIA-Query and SIA-Reply, also reliable, which let a router check on a neighbor that is slow to answer a query.
Go deeper
What each one does
| Packet | Purpose | Usually sent to | Reliable |
|---|---|---|---|
| Hello | Find neighbors and keep them alive | Multicast 224.0.0.10 | No |
| Update | Send routes: full table to a new neighbor, changes after that | Unicast to a new neighbor, multicast for changes | Yes |
| Query | "I lost my path to X and have no backup, what is yours?" | Multicast, unicast on retransmit | Yes |
| Reply | Answer to a query, with the neighbor's distance or infinity | Unicast to the querier | Yes |
| Ack | Confirms a reliable packet | Unicast | No |
| SIA-Query and SIA-Reply | "Are you still working on my query?" and "Yes" | Unicast | Yes |
How the reliable part works
EIGRP has its own Reliable Transport Protocol (RTP). Each reliable packet has a sequence number. An ACK is a hello with no data that carries the sequence number being acknowledged. If a neighbor does not acknowledge a multicast packet in time, the router resends it to that neighbor by unicast.
Where to see the counters
R1# show ip eigrp trafficIt shows hellos, updates, queries, replies, acks and SIA packets sent and received. A query count that climbs every few minutes is a sign that something keeps flapping.
They will ask next
What happens if a neighbor never acknowledges an update?
The router keeps retransmitting by unicast. After 16 retries it gives up and resets the neighbor, logging
is down: retry limit exceeded. That usually points to a one-way link, an ACL or a congested path.Why are hellos unreliable but queries reliable?
Losing one hello costs nothing: the next one arrives five seconds later and the hold time covers the gap. Losing a query or reply would leave DUAL waiting forever or working with stale data, so those must be confirmed.
Traps
- Saying a Query is unreliable or broadcast. It is reliable and normally multicast.
- Forgetting the ACK is really a hello with no data.