Chapter 4. Enhanced Interior Gateway Routing Protocol (EIGRP)

The Enhanced Interior Gateway Routing Protocol (EIGRP), referred to as an advanced Distance Vector protocol, offers radical improvements over IGRP. Traditional DV protocols such as RIP and IGRP exchange periodic routing updates with all their neighbors, saving the best distance (or metric) and the vector (or next hop) for each destination. EIGRP differs in that it saves not only the best (least-cost) route but all routes, allowing convergence to be much quicker. Further, EIGRP updates are sent only upon a network topology change; updates are not periodic.

Getting EIGRP running is not much more difficult than getting IGRP running, as we will see in Section 4.1.

Even though EIGRP offers radical improvements over IGRP, there are similarities between the protocols. Like IGRP, EIGRP bases its metric on bandwidth, delay, reliability, load, and MTU (see Section 4.2).

The fast convergence feature in EIGRP is due to the Diffusing Update Algorithm (DUAL), discussed in Section 4.3.

EIGRP updates carry subnet mask information. This allows EIGRP to summarize routes on arbitrary bit boundaries, support classless route lookups, and allow the support of Variable Length Subnet Masks (VLSM). This is discussed in Section 4.4 and Section 4.5.

Setting up default routes in EIGRP is discussed in Section 4.6.

Troubleshooting EIGRP can be tricky. This chapter ends with some troubleshooting tips in Section 4.7.

EIGRP is a Cisco proprietary protocol; other router vendors do not support EIGRP. Keep this in mind if you are planning a multivendor router environment.

This chapter focuses on EIGRP’s enhancements over IGRP: the use of DUAL; and the use of subnet masks in updates, which in turn allow VLSM and route summarization at arbitrary bit boundaries. This chapter does not cover router metrics in detail or the concept of parallel paths. Those concepts have not changed much in EIGRP. I assume that the reader is familiar with IGRP.

Getting EIGRP Running

TraderMary’s network, shown in Figure 4-1, can be configured to run EIGRP as follows.

TraderMary’s network

Figure 4-1. TraderMary’s network

Just like RIP and IGRP, EIGRP is a distributed protocol that needs to be configured on every router in the network:

hostname NewYork
...
interface Ethernet0
ip address 172.16.1.1 255.255.255.0
!
interface Ethernet1
ip address 192.168.1.1 255.255.255.0
!
interface Serial0
description New York to Chicago link
ip address 172.16.250.1 255.255.255.0
!
interface Serial1
description New York to Ames link
bandwidth 56
ip address 172.16.251.1 255.255.255.0
...
router eigrp 10
network 172.16.0.0


hostname Chicago
...
interface Ethernet0
ip address 172.16.50.1 255.255.255.0
!
interface Serial0
description Chicago to New York link
ip address 172.16.250.2 255.255.255.0
!
interface Serial1
description Chicago to Ames link
ip address 172.16.252.1 255.255.255.0
...

router eigrp 10
network 172.16.0.0


hostname Ames
...
interface Ethernet0
ip address 172.16.100.1 255.255.255.0
!
interface Serial0
description Ames to Chicago link
ip address 172.16.252.2 255.255.255.0
!
interface Serial1
description Ames to New York link
bandwidth 56
ip address 172.16.251.2 255.255.255.0
...

router eigrp 10
network 172.16.0.0

The syntax of the EIGRP command is:

router eigrp autonomous-system-number

in global configuration mode. The networks that will be participating in the EIGRP process are then listed:

network 172.16.0.0

What does it mean to list the network numbers participating in EIGRP?

  1. Router NewYork will include directly connected 172.16.0.0 subnets in its updates to neighboring routers. For example, 172.16.1.0 will now be included in updates to the routers Chicago and Ames.

  2. NewYork will receive and process EIGRP updates on its 172.16.0.0 interfaces from other routers running EIGRP 10. For example, NewYork will receive EIGRP updates from Chicago and Ames.

  3. By exclusion, network 192.168.1.0, connected to NewYork, will not be advertised to Chicago or Ames, and NewYork will not process any EIGRP updates received on Ethernet0 (if there is another router on that segment).

The routing tables for NewYork, Chicago, and Ames will show all 172.16.0.0 subnets. Here is NewYork’s table:

  NewYork#sh ip route
  Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
         D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
         N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
         E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
         i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
       
  Gateway of last resort is not set

1      172.16.0.0/24 is subnetted, 6 subnets 
  D       172.16.252.0 [90/2681856] via 172.16.250.2, 00:18:54, Ethernet0/0
  C       172.16.250.0 is directly connected, Ethernet0/0
  C       172.16.251.0 is directly connected, Ethernet0/1
  D       172.16.50.0 [90/2195456] via 172.16.250.2, 00:18:54, Ethernet0/0
  C       172.16.1.0 is directly connected, Loopback0
  D       172.16.100.0 [90/2707456] via 172.16.250.2, 00:18:54, Ethernet0/0
  C    192.168.1.0/24 is directly connected, Loopback1

The EIGRP-derived routes in this table are labeled with a “D” in the left margin. Note that the routing table provides summary information (as in line 1). Line 1 contains subnet mask information (24 bits, or 255.255.255.0) and the number of subnets in 172.16.0.0 (6).

In addition to the routing table, EIGRP builds another table called the topology table :

   NewYork#sh ip eigrp topology
   IP-EIGRP Topology Table for process 10

   Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
          r - Reply status

   P 172.16.252.0/24, 1 successors, FD is 2681856
            via 172.16.250.2 (2681856/2169856), Serial0
            via 172.16.251.2 (46738176/2169856), Serial1
   P 172.16.250.0/24, 1 successors, FD is 2169856
            via Connected, Serial0
   P 172.16.251.0/24, 1 successors, FD is 46226176
            via Connected, Serial1
   P 172.16.50.0/24, 1 successors, FD is 2195456
            via 172.16.250.2 (2195456/281600), Serial0
   P 172.16.1.0/24, 1 successors, FD is 128256
            via Connected, Ethernet0
2   P 172.16.100.0/24, 1 successors, FD is 2707456
3            via 172.16.250.2 (2707456/2195456), Serial0
4            via 172.16.251.2 (46251776/281600), Serial1

This topology table shows two entries for Ames’s subnet, 172.16.100.0 (line 2). Only the lower-cost route (line 3) is installed in the routing table, but the second entry in the topology table (line 4) allows NewYork to quickly converge on the less preferred path if the primary path fails.

Note that network 192.168.1.0, defined on NewYork interface Ethernet1, did not appear in the routing tables of Chicago and Ames. To be propagated, 192.168.1.0 would have to be defined in a network statement under the EIGRP configuration on NewYork:

hostname NewYork
...
router eigrp 10
network 172.16.0.0
network 192.168.1.0

Each EIGRP process is identified by an autonomous system (AS) number, just like IGRP processes. Routers with the same AS numbers will exchange routing information with each other, resulting in a routing domain . Routers with dissimilar AS numbers will not exchange any routing information by default. However, routes from one routing domain can be leaked into another domain through the redistribution commands -- this is covered in Chapter 8.

Compare the routing table in this section with the corresponding table for IGRP in Chapter 3. The essential contents are identical: the same routes with the same next hops. However, the route metrics look much bigger and the route update times are very high. IGRP routes would have timed out a while ago.

EIGRP metrics are essentially derived from IGRP metrics. The following section provides a quick summary.

Get IP Routing now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.