Lesson Contents
This packet capture shows EIGRP between two Cisco routers that are configured with static neighbors (the neighbor command). Normally EIGRP sends its Hellos to the multicast address 224.0.0.10. With static neighbors, everything is unicast: Hellos, Updates and ACKs all go straight to the neighbor’s IP address. You also see the adjacency being built: the Init flag exchange, the routing table exchange that ends with End of Table, and the acknowledgments.
The EIGRP static neighbor lesson explains when you need the neighbor command and how to configure it, and EIGRP packets explained covers all packet types. For the reliable transport between established neighbors, see the EIGRP Query and Reply Packet Capture. More captures are in the Packet Capture Library.
Want to open this capture in Wireshark yourself? The pcap file is free with a NetworkLessons account. Your free account also unlocks all our free lessons and every capture in the Packet Capture Library.
Create a free account to download the pcap
Already have an account? Log in and the download button appears here.
Capture overview
| File | eigrp-unicast-neighbors.pcap |
| Packets | 22 |
| Protocol | EIGRP (RFC 7868), IP protocol 88, classic mode, AS 12 |
| Devices | Cisco IOS 12.4: R1 192.168.12.1 and R2 192.168.12.2, both with neighbor statements |
| Wireshark filter | eigrp or eigrp && ip.dst != 224.0.0.10 |
Packets in this capture
No. Time Source Destination Info
1 0.000000 192.168.12.2 192.168.12.1 Hello
2 1.128786 192.168.12.1 192.168.12.2 Hello
...
7 22.761723 192.168.12.2 192.168.12.1 Update (Init) seq 5
11 25.406332 192.168.12.1 192.168.12.2 Update (Init) seq 5
12 25.755967 192.168.12.2 192.168.12.1 Update (Init) seq 5, ack 5
13 25.766286 192.168.12.1 192.168.12.2 Update (End of Table) seq 6
14 25.776501 192.168.12.1 192.168.12.2 Hello (Ack) ack 5
15 25.807105 192.168.12.2 192.168.12.1 Update (End of Table) seq 6, ack 6
16 25.817311 192.168.12.1 192.168.12.2 Update (End of Table) seq 7, ack 5
17 25.827475 192.168.12.2 192.168.12.1 Hello (Ack) ack 7
18 25.827475 192.168.12.1 192.168.12.2 Hello (Ack) ack 6
19 25.848013 192.168.12.2 192.168.12.1 Update (End of Table) seq 8, ack 7
20 25.858237 192.168.12.1 192.168.12.2 Hello (Ack) ack 8
21 30.057121 192.168.12.1 192.168.12.2 Hello
22 30.097649 192.168.12.2 192.168.12.1 Hello
Every packet in this capture goes to a unicast address. There’s not a single packet to 224.0.0.10.
Packet walkthrough
Unicast Hello (packet 1)
Internet Protocol Version 4, Src: 192.168.12.2, Dst: 192.168.12.1
Total Length: 60
Time to Live: 2
Protocol: EIGRP (88)
Cisco EIGRP
Version: 2
Opcode: Hello (5)
Checksum: 0xeec0 [correct]
Flags: 0x00000000
Sequence: 0
Acknowledge: 0
Virtual Router ID: 0 (Address-Family)
Autonomous System: 12
Parameters
Type: Parameters (0x0001)
Length: 12
K1: 1
K2: 0
K3: 1
K4: 0
K5: 0
K6: 0
Hold Time: 15
Software Version: EIGRP=12.4, TLV=1.2
Type: Software Version (0x0004)
Length: 8
EIGRP Release: 12.04
EIGRP TLV version: 1.02
- Destination 192.168.12.1: with
neighbor 192.168.12.1 <interface>configured, the router sends its Hellos as unicast to that address only. It also stops sending and processing multicast Hellos on that interface. That’s why you need static neighbors on links that can’t carry multicast, like Frame Relay without the broadcast keyword, or when you want EIGRP to talk only to specific routers. - TTL 2: these unicast Hellos aren’t sent with TTL 1. Static EIGRP neighbors still have to be on a directly connected subnet, though. You can’t use the neighbor command for a router several hops away.
- Autonomous System 12: must match on both sides.
- K1 = 1, K3 = 1: the default K-values, so the metric uses bandwidth and delay only. Neighbors with different K-values won’t form an adjacency.
- Hold Time 15: the default on Ethernet (3 × the 5-second Hello interval). You can see the roughly 5-second Hello interval in the packet times.
- Software Version 12.4: classic EIGRP on IOS 12.4. That’s why the route TLVs later in the capture use the old format.
Building the adjacency: Init (packets 7, 11 and 12)
Hellos alone don’t make an adjacency. The routers have to exchange an Update with the Init flag and acknowledge each other’s:
Cisco EIGRP
Opcode: Update (1)
Flags: 0x00000001, Init
.... .... .... .... .... .... .... ...1 = Init: Set
Sequence: 5
Acknowledge: 0
R2 sends its first Init Update in packet 7. R1 sends its own Init in packet 11. In packet 12, R2 sends Init again, this time with Acknowledge 5, acknowledging R1’s Init. The Init exchange is how both routers confirm that unicast traffic works in both directions before they trade routes.
Exchanging routes: End of Table (packets 13-20)
Cisco EIGRP
Opcode: Update (1)
Flags: 0x00000008, End Of Table
.... .... .... .... .... .... .... ...0 = Init: Not set
Sequence: 6
Acknowledge: 0
Virtual Router ID: 0 (Address-Family)
Autonomous System: 12
Internal Route(IPv4) = 1.1.1.0/24
Type: Internal Route(IPv4) (0x0102)
Scaled Delay: 128000
Route Tag: 0
Destination: 1.1.1.0
- End Of Table flag: “this is the last Update of my initial routing table”. The neighbor knows the initial exchange is complete.
- Type 0x0102: the classic IPv4 internal route TLV with 32-bit metrics. Compare it with type 0x0602 (multi-protocol, wide metrics) in the EIGRP Query and Reply capture, which uses named mode.
- Updates and ACKs: every Update has a sequence number and gets acknowledged, either with an ACK (a Hello with only the Acknowledge field set, like packets 14, 17, 18 and 20) or piggybacked in the neighbor’s own Update.
After packet 20, the adjacency is up and both routers go back to sending unicast Hellos every 5 seconds.