The BIG lab – Part 5 – EIGRP

So far in this extended series we have set up some trunking and etherchannel in part 1, PPP in part 2, OSPF in part 3, and RIPv2 in part 4. In this part we will cover EIGRP, before we can then move on to redistributing our routing protocols into each other.

To remind ourselves of the topology here is the layout:

We will be using the following IP addressing schemes:

R4 – s0/2 – 10.25.1.1/24

R5 – s0/2 – 10.35.1.1/24
R8 – s0/0 – 10.25.1.2/24, s0/1 – 10.30.1.1/24. s0/2 – 10.31.1.1/24
R9 – s0/0 – 10.35.1.2/24, s0/1 – 10.30.1.2/24
R10 – s1/0 – 10.31.1.2/24

The exam guide lists the following as things we need to know for EIGRP:


2.50 Implement IPv4 Enhanced Interior Gateway Routing Protocol (EIGRP) 

   (a) Best path 
   (b) Loop-free paths 
   (c) EIGRP operations when alternate loop-free paths are available, and when they are not
   (d) EIGRP queries 
   (e) Manual summarization and autosummarization 
   (f) EIGRP stubs 

So what can we do with our EIGRP network to fulfil the requirements? We can set up an EIGRP stub on R10, using some loopbacks we can do some summarization, and tune our path selection between R5 and its connections between R4 and R9. So hopefully we can tick most of the boxes. 
First let’s get a brief overview of EIGRP. C and D would be best left (due to the length of discussion) for reading outside of this post, grab a copy of the Odom book for these.

A (very) brief overview of EIGRP

EIGRP is Cisco proprietary, its a hybrid routing protocol with features from both distance-vector and link-state protocols. EIGRP uses the DUAL (Diffusing Update Algorithm) to determine the best path to use, and to ensure a loop-free network. 

Like BGP, EIGRP will form neighbor relationships with adjacent routers in the same AS (Autonomous System). Traffic uses the IP address 224.0.0.10 via either multicast or unicast. Updates are only sent when a change occurs.


EIGRP supports VLSM, has an administrative distance of 90 for local routes, and 170 for routes that have originated outside of the local AS. Metrics used by EIGRP are bandwidth and delay, but can also factor in reliability, load and MTU.


I am not going to explain everything about EIGRP, as this would make for a very long post, there are a number of very good books on the subject and I would again refer you to the CCIE Routing and Switching guide by Wendell Odom for a complete explanation. Before we jump into the configuration I will briefly explain what the FD is though. The FD is the Feasible Distance, and this is the route with the lowest metric (therefore preferred) to each network, when it is added to the routing table it is known as the Successor. An alternate route is the Feasible Successor (FS)

Basic EIGRP configuration

According to our topology and IP addressing above the routers have been set up as follows:

R4 configuration
We start by assigning the IP address to the interface.

interface Serial0/2
 ip address 10.25.1.1 255.255.255.0

We then create the EIGRP process with an AS of 10.

R4(config)#router eigrp 10
R4(config-router)#no auto-summary
R4(config-router)#network 10.25.1.0 0.255.255.255

The end result looks like this:

interface Serial0/2
 ip address 10.25.1.1 255.255.255.0
!
router eigrp 10
 network 10.0.0.0
 no auto-summary

The other routers are configured similarly to R4

R5 configuration
interface Serial0/0
 ip address 10.20.1.2 255.255.255.0
 serial restart-delay 0
!
interface Serial0/1
 ip address 10.20.2.1 255.255.255.0
 serial restart-delay 0
!
interface Serial0/2
 ip address 10.35.1.1 255.255.255.0
 serial restart-delay 0
!
interface Serial0/3
 no ip address
 shutdown
 serial restart-delay 0
!
!
router eigrp 10
 network 10.0.0.0
 no auto-summary
R8 configuration
interface Serial0/0
 ip address 10.25.1.2 255.255.255.0
!
interface Serial0/1
 ip address 10.30.1.1 255.255.255.0
!
interface Serial0/2
 ip address 10.31.1.1 255.255.255.0
!
router eigrp 10
 network 10.0.0.0
 no auto-summary
R9 configuration
interface Serial0/0
 ip address 10.35.1.2 255.255.255.0
!
interface Serial0/1
 ip address 10.30.1.2 255.255.255.0
!
router eigrp 10
 network 10.0.0.0
 no auto-summary
R10 configuration
interface Serial1/0 
 ip address 10.31.1.2 255.255.255.0
!
router eigrp 10 
 network 10.0.0.0
 no auto-summary

Confirming EIRGP adjacencies

We can use the “show ip route” command to confirm that we are receiving EIGRP routes, which are indicated by a “D” ,and have an AD of 90:
R4#sh ip route | beg Gateway
Gateway of last resort is not set
 
      10.0.0.0/8 is variably subnetted, 7 subnets, 2 masks
C        10.20.1.0/24 is directly connected, Serial0/1
L        10.20.1.1/32 is directly connected, Serial0/1
C        10.25.1.0/24 is directly connected, Serial0/2
L        10.25.1.1/32 is directly connected, Serial0/2
D        10.30.1.0/24 [90/2681856] via 10.25.1.2, 00:03:02, Serial0/2
D        10.31.1.0/24 [90/2681856] via 10.25.1.2, 00:08:30, Serial0/2
D        10.35.1.0/24 [90/2681856] via 10.20.1.2, 00:03:04, Serial0/1
 
R5#sh ip route | beg Gateway
Gateway of last resort is not set
 
      10.0.0.0/8 is variably subnetted, 7 subnets, 2 masks
C        10.20.1.0/24 is directly connected, Serial0/0
L        10.20.1.2/32 is directly connected, Serial0/0
D        10.25.1.0/24 [90/2681856] via 10.20.1.1, 00:03:21, Serial0/0
D        10.30.1.0/24 [90/2681856] via 10.35.1.2, 00:03:21, Serial0/2
D        10.31.1.0/24 [90/3193856] via 10.35.1.2, 00:03:21, Serial0/2
                                  [90/3193856] via 10.20.1.1, 00:03:21, Serial0/0
C        10.35.1.0/24 is directly connected, Serial0/2
L        10.35.1.1/32 is directly connected, Serial0/2
 
There are two routes on R5 that are bolded as we will be looking at these later on…
 
R8#sh ip route | beg Gateway
Gateway of last resort is not set
 
      10.0.0.0/8 is variably subnetted, 8 subnets, 2 masks
D        10.20.1.0/24 [90/2681856] via 10.25.1.1, 00:03:39, Serial0/0
C        10.25.1.0/24 is directly connected, Serial0/0
L        10.25.1.2/32 is directly connected, Serial0/0
C        10.30.1.0/24 is directly connected, Serial0/1
L        10.30.1.1/32 is directly connected, Serial0/1
C        10.31.1.0/24 is directly connected, Serial0/2
L        10.31.1.1/32 is directly connected, Serial0/2
D        10.35.1.0/24 [90/2681856] via 10.30.1.2, 00:03:42, Serial0/1
 
R9#sh ip route | beg Gateway
Gateway of last resort is not set
 
      10.0.0.0/8 is variably subnetted, 7 subnets, 2 masks
D        10.20.1.0/24 [90/2681856] via 10.35.1.1, 00:03:58, Serial0/0
D        10.25.1.0/24 [90/2681856] via 10.30.1.1, 00:03:58, Serial0/1
C        10.30.1.0/24 is directly connected, Serial0/1
L        10.30.1.2/32 is directly connected, Serial0/1
D        10.31.1.0/24 [90/2681856] via 10.30.1.1, 00:03:58, Serial0/1
C        10.35.1.0/24 is directly connected, Serial0/0
L        10.35.1.2/32 is directly connected, Serial0/0
 
R10#sh ip route | beg Gateway
Gateway of last resort is not set
 
      10.0.0.0/8 is variably subnetted, 6 subnets, 2 masks
D        10.20.1.0/24 [90/3193856] via 10.31.1.1, 00:03:55, Serial1/0
D        10.25.1.0/24 [90/2681856] via 10.31.1.1, 00:03:55, Serial1/0
D        10.30.1.0/24 [90/2681856] via 10.31.1.1, 00:03:55, Serial1/0
C        10.31.1.0/24 is directly connected, Serial1/0
L        10.31.1.2/32 is directly connected, Serial1/0
D        10.35.1.0/24 [90/3193856] via 10.31.1.1, 00:03:55, Serial1/0

Best Path

R5 has two routes to the 10.31.1.0/24 network, one through Serial 0/0 (R4), and one through Serial 0/2 (R9).

 
R5#sh ip route | beg Gate
Gateway of last resort is not set
 
      10.0.0.0/8 is variably subnetted, 7 subnets, 2 masks
C        10.20.1.0/24 is directly connected, Serial0/0
L        10.20.1.2/32 is directly connected, Serial0/0
D        10.25.1.0/24 [90/2681856] via 10.20.1.1, 00:00:24, Serial0/0
D        10.30.1.0/24 [90/2681856] via 10.35.1.2, 00:00:24, Serial0/2
D        10.31.1.0/24 [90/3193856] via 10.35.1.2, 00:00:24, Serial0/2
                                  [90/3193856] via 10.20.1.1, 00:00:24, Serial0/0
C        10.35.1.0/24 is directly connected, Serial0/2
L        10.35.1.1/32 is directly connected, Serial0/2
      172.20.0.0/16 is variably subnetted, 3 subnets, 2 masks
D        172.20.20.0/24 [90/3321856] via 10.35.1.2, 00:00:24, Serial0/2
                                      [90/3321856] via 10.20.1.1, 00:00:24, Serial0/0
D        172.20.30.0/24 [90/3321856] via 10.35.1.2, 00:00:24, Serial0/2
                                      [90/3321856] via 10.20.1.1, 00:00:24, Serial0/0
D        172.20.40.0/23 [90/3321856] via 10.35.1.2, 00:00:24, Serial0/2
                                      [90/3321856] via 10.20.1.1, 00:00:24, Serial0/0
 
If we wanted to make the route through Serial 0/0 the preferred route we can do this in a number of ways. Because the (main) metrics used by EIGRP are bandwidth and delay, it makes sense for us to tweak the bandwidth between R5 and R9. This should match on both sides, otherwise adjacencies may not form. To change the bandwidth (from the default of 1544) we enter the interface configuration mode and set the bandwidth:
R5#conf t
R5(config)#int s0/2
R5(config-if)#bandwidth 64
R5(config-if)#exit
R5(config)#exit
R9#conf t
R9(config)#int s0/0
R9(config-if)#bandwidth 64
R9(config-if)#exit
R9(config)#
Now we can see that the R5 prefers R4 as its route to the rest of the EIGRP network:
 
R5#sh ip route | beg Gateway
 
Gateway of last resort is not set
 
      10.0.0.0/8 is variably subnetted, 7 subnets, 2 masks
C        10.20.1.0/24 is directly connected, Serial0/0
L        10.20.1.2/32 is directly connected, Serial0/0
D        10.25.1.0/24 [90/2681856] via 10.20.1.1, 00:00:09, Serial0/0
D        10.30.1.0/24 [90/3193856] via 10.20.1.1, 00:00:09, Serial0/0
D        10.31.1.0/24 [90/3193856] via 10.20.1.1, 00:00:09, Serial0/0
C        10.35.1.0/24 is directly connected, Serial0/2
L        10.35.1.1/32 is directly connected, Serial0/2
      172.20.0.0/16 is variably subnetted, 3 subnets, 2 masks
D        172.20.20.0/24 [90/3321856] via 10.20.1.1, 00:00:09, Serial0/0
D        172.20.30.0/24 [90/3321856] via 10.20.1.1, 00:00:09, Serial0/0
D        172.20.40.0/23 [90/3321856] via 10.20.1.1, 00:00:09, Serial0/0
 
The routes do not show up now, but we can confirm that that are there (and have a look at the last part of this port on Loop-free paths to see where the back up routes are kept), and to confirm that the routes via R9 are still viable we can shut down R5’s connection to R4 and check the routing table:
R5#conf t
R5(config)#int s0/0
R5(config-if)#shut
R5(config-if)#exit
R5(config)#exit
R5#
R5#sh ip route | beg Gateway
Gateway of last resort is not set
 
      10.0.0.0/8 is variably subnetted, 6 subnets, 2 masks
D        10.20.1.0/24 [90/42048000] via 10.35.1.2, 00:00:11, Serial0/2
D        10.25.1.0/24 [90/41536000] via 10.35.1.2, 00:00:11, Serial0/2
D        10.30.1.0/24 [90/41024000] via 10.35.1.2, 00:00:11, Serial0/2
D        10.31.1.0/24 [90/41536000] via 10.35.1.2, 00:00:11, Serial0/2
C        10.35.1.0/24 is directly connected, Serial0/2
L        10.35.1.1/32 is directly connected, Serial0/2
      172.20.0.0/16 is variably subnetted, 3 subnets, 2 masks
D        172.20.20.0/24 [90/41664000] via 10.35.1.2, 00:00:11, Serial0/2
D        172.20.30.0/24 [90/41664000] via 10.35.1.2, 00:00:11, Serial0/2
D        172.20.40.0/23 [90/41664000] via 10.35.1.2, 00:00:11, Serial0/2
R5#
 
Once again if we bring the interface back up again, after the adjacency re-establishes the route via R4 again becomes the preferred route:
R5(config)#int s0/0
R5(config-if)#no shut
R5(config-if)#exit
*Nov  5 13:53:14.657: %LINK-3-UPDOWN: Interface Serial0/0, changed state to up
*Nov  5 13:53:15.661: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0, changed state to up
R5(config)#exit
R5#
*Nov  5 13:53:17.081: %SYS-5-CONFIG_I: Configured from console by console
*Nov  5 13:53:23.433: %DUAL-5-NBRCHANGE: EIGRP-IPv4 10: Neighbor 10.20.1.1 (Serial0/0) is up: new adjacency
R5#sh ip route | beg Gateway
Gateway of last resort is not set
 
      10.0.0.0/8 is variably subnetted, 7 subnets, 2 masks
C        10.20.1.0/24 is directly connected, Serial0/0
L        10.20.1.2/32 is directly connected, Serial0/0
D        10.25.1.0/24 [90/2681856] via 10.20.1.1, 00:00:01, Serial0/0
D        10.30.1.0/24 [90/3193856] via 10.20.1.1, 00:00:01, Serial0/0
D        10.31.1.0/24 [90/3193856] via 10.20.1.1, 00:00:01, Serial0/0
C        10.35.1.0/24 is directly connected, Serial0/2
L        10.35.1.1/32 is directly connected, Serial0/2
      172.20.0.0/16 is variably subnetted, 3 subnets, 2 masks
D        172.20.20.0/24 [90/3321856] via 10.20.1.1, 00:00:01, Serial0/0
D        172.20.30.0/24 [90/3321856] via 10.20.1.1, 00:00:01, Serial0/0
D        172.20.40.0/23 [90/3321856] via 10.20.1.1, 00:00:01, Serial0/0

Manual summarization and autosummarization 

We have already seen the effect of auto-summarization above, even using the command “no auto-summary”, EIGRP will still summarize across major network boundaries.  In order to look at manual summarization we will create four loopback interfaces on R10, and summarize two of them:

R10(config)#int lo0
R10(config-if)#ip address 172.20.20.1 255.255.255.0
R10(config-if)#int lo1
R10(config-if)#ip address 172.20.30.1 255.255.255.0
R10(config-if)#exit
R10(config)#router eigrp 10
R10(config-router)#network 172.20.20.0 0.255.255.255
R10(config-router)#network 172.20.30.0 0.255.255.255
R10(config-router)#exit
R4#sh ip route | beg Gateway
Gateway of last resort is not set
 
<omitted for brevity>
      172.20.0.0/24 is subnetted, 2 subnets
D        172.20.20.0 [90/2809856] via 10.25.1.2, 00:00:24, Serial0/2
D        172.20.30.0 [90/2809856] via 10.25.1.2, 00:00:24, Serial0/2
 
And above we can see that we have our two new loopback networks being advertised through to R4.
 
Now we will create two more loopbacks, and summarize these addresses:
R10(config)#int lo2
R10(config-if)#ip address 172.20.40.1 255.255.255.0
R10(config-if)#int lo3
R10(config-if)#ip address 172.20.41.1 255.255.255.0
R10(config-if)#exit
R10(config)#int s1/0
R10(config-if)#ip summary-address eigrp 10 172.20.40.0 255.255.254.0
R10(config-if)#exit
R10#sh ip route | beg Gateway
Gateway of last resort is not set
 
<omitted for brevity>
      172.20.0.0/16 is variably subnetted, 9 subnets, 3 masks
C        172.20.20.0/24 is directly connected, Loopback0
L        172.20.20.1/32 is directly connected, Loopback0
C        172.20.30.0/24 is directly connected, Loopback1
L        172.20.30.1/32 is directly connected, Loopback1
D        172.20.40.0/23 is a summary, 00:00:35, Null0
C        172.20.40.0/24 is directly connected, Loopback2
L        172.20.40.1/32 is directly connected, Loopback2
C        172.20.41.0/24 is directly connected, Loopback3
L        172.20.41.1/32 is directly connected, Loopback3
 
The use of a summary address automatically creates a route to Null0, and if we look on R4 we can see the summary route being advertised as a /23:
 
R4#sh ip route | beg Gateway
Gateway of last resort is not set
 
<omitted for brevity>
      172.20.0.0/16 is variably subnetted, 3 subnets, 2 masks
D        172.20.20.0/24 [90/2809856] via 10.25.1.2, 00:06:32, Serial0/2
D        172.20.30.0/24 [90/2809856] via 10.25.1.2, 00:06:32, Serial0/2
D        172.20.40.0/23 [90/2809856] via 10.25.1.2, 00:00:48, Serial0/2

EIGRP stubs 

Stub routers improve EIGRP convergence and conserve bandwidth. There are four types of stub: 
 
  • Receive-only – router will not share updates with neighbors
  • Connected – router will only advertise connected networks
  • Static – router will only advertise static networks
  • Summary – router will only advertise summary routes
Looking at R4 we can see that R10 is advertising the loopbacks as follows:
 
R4#sh ip route | beg Gateway
Gateway of last resort is not set
 
<omitted for brevity>
 
      172.20.0.0/16 is variably subnetted, 3 subnets, 2 masks
D        172.20.20.0/24 [90/2809856] via 10.25.1.2, 00:20:59, Serial0/2
D        172.20.30.0/24 [90/2809856] via 10.25.1.2, 00:20:59, Serial0/2
D        172.20.40.0/23 [90/2809856] via 10.25.1.2, 00:15:15, Serial0/2
 
We can configure R10 to advertise the connected networks with the following commands:
R10(config)#router eigrp 10
R10(config-router)#eigrp stub connected
R10(config-router)#
*Nov  5 13:35:44.125: %DUAL-5-NBRCHANGE: EIGRP-IPv4 10: Neighbor 10.31.1.1 (Serial1/0) is down: peer info changed
*Nov  5 13:35:45.021: %DUAL-5-NBRCHANGE: EIGRP-IPv4 10: Neighbor 10.31.1.1 (Serial1/0) is up: new adjacency
R10(config-router)#exit
And if we look again at R4 we can see that all of the connected routes are advertised but we have lost the summary route:
 
R4#sh ip route | beg Gateway
Gateway of last resort is not set
 
<omitted for brevity>
      172.20.0.0/24 is subnetted, 4 subnets
D        172.20.20.0 [90/2809856] via 10.25.1.2, 00:00:08, Serial0/2
D        172.20.30.0 [90/2809856] via 10.25.1.2, 00:00:08, Serial0/2
D        172.20.40.0 [90/2809856] via 10.25.1.2, 00:00:08, Serial0/2
D        172.20.41.0 [90/2809856] via 10.25.1.2, 00:00:08, Serial0/2
 
We can advertise both the connected and summary routes using the following command:
R10(config-router)#eigrp stub connected summary
R10(config-router)#
*Nov  5 13:37:30.293: %DUAL-5-NBRCHANGE: EIGRP-IPv4 10: Neighbor 10.31.1.1 (Serial1/0) is down: peer info changed
*Nov  5 13:37:31.069: %DUAL-5-NBRCHANGE: EIGRP-IPv4 10: Neighbor 10.31.1.1 (Serial1/0) is up: new adjacency
And we can see that the summary routes is back, as well as keeping in the non-summarised routes:
 
R4#sh ip route | beg Gateway
Gateway of last resort is not set
 
<omitted for brevity>
 
      172.20.0.0/16 is variably subnetted, 3 subnets, 2 masks
D        172.20.20.0/24 [90/2809856] via 10.25.1.2, 00:00:03, Serial0/2
D        172.20.30.0/24 [90/2809856] via 10.25.1.2, 00:00:03, Serial0/2
D        172.20.40.0/23 [90/2809856] via 10.25.1.2, 00:00:03, Serial0/2
 
The default command of “eigrp stub” actually advertised both connected and summary routes, so we could just use the following:
R10(config)#router eigrp 10
R10(config-router)#eigrp stub
And we can see that R4 looks the same:
 
R4#sh ip route | beg Gateway
Gateway of last resort is not set
 
<omitted for brevity>
      172.20.0.0/16 is variably subnetted, 3 subnets, 2 masks
D        172.20.20.0/24 [90/2809856] via 10.25.1.2, 00:00:03, Serial0/2
D        172.20.30.0/24 [90/2809856] via 10.25.1.2, 00:00:03, Serial0/2
D        172.20.40.0/23 [90/2809856] via 10.25.1.2, 00:00:03, Serial0/2

Loop-free paths

As mentioned earlier when we looked at confirming the adjacencies it looke dlike we had lost the routes from R5 through R9 to the rest of the EIGRP network:
 
R5#sh ip route | beg Gateway
Gateway of last resort is not set
 
      10.0.0.0/8 is variably subnetted, 7 subnets, 2 masks
C        10.20.1.0/24 is directly connected, Serial0/0
L        10.20.1.2/32 is directly connected, Serial0/0
D        10.25.1.0/24 [90/2681856] via 10.20.1.1, 00:00:01, Serial0/0
D        10.30.1.0/24 [90/3193856] via 10.20.1.1, 00:00:01, Serial0/0
D        10.31.1.0/24 [90/3193856] via 10.20.1.1, 00:00:01, Serial0/0
C        10.35.1.0/24 is directly connected, Serial0/2
L        10.35.1.1/32 is directly connected, Serial0/2
      172.20.0.0/16 is variably subnetted, 3 subnets, 2 masks
D        172.20.20.0/24 [90/3321856] via 10.20.1.1, 00:00:01, Serial0/0
D        172.20.30.0/24 [90/3321856] via 10.20.1.1, 00:00:01, Serial0/0
D        172.20.40.0/23 [90/3321856] via 10.20.1.1, 00:00:01, Serial0/0
R5#
 
But if we look at the actual topology we can see that they are kept within the EIGRP topology table:
 
R5#sh ip eigrp topology
EIGRP-IPv4 Topology Table for AS(10)/ID(10.35.1.1)
Codes: P – Passive, A – Active, U – Update, Q – Query, R – Reply,
       r – reply Status, s – sia Status
 
P 10.30.1.0/24, 1 successors, FD is 3193856
        via 10.20.1.1 (3193856/2681856), Serial0/0
        via 10.35.1.2 (41024000/2169856), Serial0/2
P 10.31.1.0/24, 1 successors, FD is 3193856
        via 10.20.1.1 (3193856/2681856), Serial0/0
        via 10.35.1.2 (41536000/2681856), Serial0/2
P 172.20.30.0/24, 1 successors, FD is 3321856
        via 10.20.1.1 (3321856/2809856), Serial0/0
        via 10.35.1.2 (41664000/2809856), Serial0/2
P 10.20.1.0/24, 1 successors, FD is 2169856
        via Connected, Serial0/0
P 10.25.1.0/24, 1 successors, FD is 2681856
        via 10.20.1.1 (2681856/2169856), Serial0/0
P 172.20.40.0/23, 1 successors, FD is 3321856
        via 10.20.1.1 (3321856/2809856), Serial0/0
        via 10.35.1.2 (41664000/2809856), Serial0/2
P 172.20.20.0/24, 1 successors, FD is 3321856
        via 10.20.1.1 (3321856/2809856), Serial0/0
        via 10.35.1.2 (41664000/2809856), Serial0/2
P 10.35.1.0/24, 1 successors, FD is 40512000
        via Connected, Serial0/2
 
So although the routes are not shown in the routing table, they are listed in the topology table. The preferred route (the FD) is the one listed in the routing table, and is shown in bold text.
 
So now we have a full EIGRP topology working we can move on to part 6, and start redistributing our networks between our IGPs. There is a lot more to EIGRP than is shown here, and we will revisit EIGRP later on and discuss some more advanced topics, such as authentication, more metric tuning, the effect of passive interfaces, load balancing and troubleshooting. But for now we can move on to part 6 of this series.