EIGRP cannot form neighbor relationships using secondary addresses, as only primary addresses are used as the source IP addresses of all EIGRP packets. A neighbor relationship is formed between EIGRP routers when their primary addresses reside in the same subnet, they reside in the same AS domain, and the metric calculation constants – K values for the link are same.
EIGRP routers send out multicast Hello packets to discover neighbors and form neighborships. An EIGRP router builds a neighbor table with Hello packets received from adjacent EIGRP routers running the same routed protocol. Only adjacent routers will exchange routing updates.
When an EIGRP router discovers a new neighbor, it will send an update about its known routes to the new neighbor and receives the same information from the new neighbor. These updates are used to populate the topology table, which maintains the advertised metric from neighbors for all destinations and the metric that the local router uses to reach the destinations – feasible distance. The feasible distance metric values will be advertised to other neighbors.
EIGRP Initialization – Neighbor and Route Discovery
Below describes the steps in the EIGRP initial neighbor and route discovery process:
i) An EIGRP router (RT2) sends out a Hello packet through all its interfaces.
ii) RT1 which receives the Hello packet reply with a startup update packet that contain all its routes in its routing table (RT1 considers RT2 as its neighbor). Even though RT2 received an Update packet from RT1, it does not consider RT1 as its neighbor until it receives a Hello packet from RT1 – the EIGRP: Neighbor not yet found message will be displayed in the output of the debug eigrp neighbors privileged command. An EIGRP router considers another router as a neighbor and accepts the update information only after it received a Hello packet from the neighboring router.
iii) RT2 replies RT1 with an ACK packet, indicating the receipt of the update information.
iv) RT2 inserts the update information, which includes all destinations along with their associated metrics as advertised by neighboring routers – advertised distance.
v) Step 4, 5, and 6 are similar to Step 1, 2, and 3.
Note: Above shows a sample EIGRP neighbor establishment scenario. There are very high chances where both routers send Hello, Update, or ACK packets to each other at the same time. However, the sequence of receive Hello, reply with Update, and receive ACK will still follow.
The show ip eigrp topology EXEC command displays only the successor and feasible successor routes, as well as DUAL states which are very useful for debugging EIGRP problems. The show ip eigrp topology all-links and show ip eigrp topology detail-links EXEC commands display all entries in the topology table.
Router#sh ip eigrp topology | b 172.16.1.0 P 172.16.1.0/24, 1 successors, FD is 2172416 via 10.10.10.2 (2172416/28160), Serial0/0 Router# Router#sh ip eigrp topology all-links | b 172.16.1.0 P 172.16.1.0/24, 1 successors, FD is 2172416, serno 24 via 10.10.10.2 (2172416/28160), Serial0/0 via 10.10.10.6 (2684416/2172416), Serial0/1 Router#Note: The highlighted path is not a feasible successor as its advertised distance is not less than the feasible distance – both values are the same.
EIGRP distinguishes itself from other routing protocols with its route selection process. EIGRP maintains successor (primary) and feasible successor (backup) routes and inserts them into the topology table (up to 6 per destination). The primary route is then inserted into the routing table.