Networking

Keys to Networking: EIGRP guide for Cisco networks

A practical guide to EIGRP network administration


When you’re managing a network with more than a couple of routers, setting up static routing tables on all of those devices can be very labor-intensive. That’s why us networking types like to use routing protocols to simplify the process. If you use Cisco equipment, which dominates the market, one of the most advanced routing protocols is EIGRP. To ease the learning curve, I’m going to provide you with a practical guide to administering an EIGRP network.

Understanding EIGRP
The Enhanced Interior Gateway Routing Protocol (EIGRP) is a proprietary Cisco Systems routing protocol. It is a significant improvement over its predecessor, IGRP. If you aren’t familiar with the different types of routing protocols, there are essentially two types: distance vector routing protocols and link state routing protocols.

Distance vector routing protocols:
  • ·        Run the Bellman-Ford algorithm to compute the routing table.
  • ·        Implement loop avoidance measures, as they are prone to routing loops.
  • ·        Require each router to compute the routing table and then pass the entire table to its neighbor(s).

Common examples of distance vector routing protocols are RIP and IGRP.

Link state routing protocols:
  • ·        Run the CPU-intensive Dijkstra algorithm to compute the routing table.
  • ·        Advertise only the states of the links to neighbors; each neighbor computes the routing table separately.

Common examples of link state routing protocols are OSPF and IS-IS.

You may have noticed that EIGRP is not mentioned as being either of these types of routing protocols. That is because EIGRP is typically described as “a distance vector protocol that acts like a link state protocol.” EIGRP is the best of both types because it uses the diffusing update algorithm (DUAL). DUAL allows routers to perform distance calculations on all routers almost simultaneously, resulting in fast network convergence and keeping the network free of loops.

Here are some of EIGRP’s administration features that you should be familiar with:
  • ·        Support for IP, IPX, and AppleTalk networking protocols
  • ·        Automatic neighbor discovery
  • ·        Auto summary of networks (turned on by default, but you may want to turn it off)
  • ·        Authentication
  • ·        Address aggregation
  • ·        Finite metrics to allow for accurate route selection
  • ·        Ability to provide a loop-free network
  • ·        Automatic redistribution of routes to and from IGRP

Setting up EIGRP
To configure a basic EIGRP network between two routers, only the following two commands are required on each router, as a minimal configuration:
router eigrp {AS#}
network X.X.X.X

The AS numbers must match on each router so that the routers will form neighbor relationships. The network statement specifies the interface that EIGRP is active on, as well as what networks will be advertised. On a broadcast interface (like an Ethernet interface or a point-to-point interface), EIGRP will automatically find its neighbor routers. On nonbroadcast interfaces (like frame relay), it is necessary to specify a neighbor in order for neighbors to be found.

EIGRP will create network summary entries by default. This feature can be beneficial to reduce routing entries; however, I typically disable it as soon as I begin using EIGRP to get more direct control of routing entries. To disable it, you use the command no auto-summary. Once the feature is disabled, use the summary-address command to re-create summary routes, if you need them.

To assist in a basic understanding of EIGRP, Figure A shows a sample configuration for a three-router IP-only network and Table A shows the commands needed to implement it from a Cisco router.

Figure A


 

Table A
hostname r1
!
interface Ethernet0
 ip address 1.1.1.1 255.255.255.252
!
interface Serial0
 ip address 12.12.12.1 255.255.255.0
 encapsulation ppp
!
router eigrp 100
 network 1.0.0.0
 network 12.0.0.0
 no auto-summary
hostname r2
!
interface Ethernet0
 ip address 2.2.2.1 255.255.255.252
!
interface Serial0
 ip address 12.12.12.2 255.255.255.0
encapsulation ppp
!
interface Serial1
 ip address 23.23.23.2 255.255.255.0
encapsulation ppp
!
router eigrp 100
 network 2.0.0.0
 network 12.0.0.0
 network 23.0.0.0
 no auto-summary
hostname r3
!
interface Ethernet0
 ip address 3.3.3.1 255.255.255.252
!
interface Serial0
 ip address 23.23.23.3 255.255.255.0
encapsulation ppp
!
router eigrp 100
 network 3.0.0.0
 network 23.0.0.0
 no auto-summary

To see if our configuration was successful, we can perform the following commands on Router 1:
  • ·        show ip route—This shows all IP routes available on the router. Note that routes with a code of D indicate an EIGRP route.
  • ·        show ip eigrp neighbors—This shows all EIGRP remote routers we are communicating with (better known as neighbors).
  • ·        show ip eigrp interfaces—This shows all interfaces on the router that are being advertised by EIGRP and that are broadcasting EIGRP Hello packets.
  • ·        show ip eigrp topology—This shows the EIGRP topology table.
  • ·        show ip eigrp traffic—This shows EIGRP packets sent and received.

What we can see from this output is this:
  • ·        Router 1 has a few routes with the Code of D. These are routes distributed by EIGRP from Routers 2 and 3. Specifically, you see that Router 1 has the networks 3.X.X.X and 23.X.X.X listed via EIGRP.
  • ·        Router 1 has one neighbor, connected on the 12.X.X.X interface (this is Router 2).
  • ·        Router 1 has EIGRP running on the Ethernet 0 and Serial 0 interfaces. On the Serial 0 interface, there is one peer (Router 2, Router 1’s neighbor).

Final word
I would recommend that anyone new to EIGRP take at least three routers and set up a training network with a configuration similar to the one I have shown above. From there, you can disconnect networks, reconnect networks, and perform some of these commands to see how the network reacts to changes. As EIGRP is a dynamic routing protocol, its true purpose is visible when you see your test network going through changes.

A couple of important commands for troubleshooting EIGRP are debug eigrp neighbors and debug eigrp packets. Both of these commands will provide tremendous insight into how EIGRP works, what it does, and when it does it.

For more information on the EIGRP protocol, I recommend the following references:

Do you have tips for managing EIGRP?
We look forward to getting your input and hearing your experiences regarding this topic. Join the discussion below or send the editor an e-mail.

 

Editor's Picks

Free Newsletters, In your Inbox