NET 222: Introduction to Routers and Routing
Chapter 6: Enhanced IGRP (EIGRP) and Open Shortest Path First (OSPF)
This chapter describes two more routing protocols, and how they affect
network design. The objectives important to this chapter are:
- Understanding EIGRP
- Understanding OSPF
The chapter begins with a discussion of another protocol. We learn that
Enhanced Interior Gateway Routing Protocol (EIGRP) is a proprietary protocol
for Cisco routers. EIGRP is an improvement over IGRP, the better of the
two protocols discussed in the last chapter.
- EIGRP keeps separate routing tables for IP, IPX, and
AppleTalk (The author apologizes that even he has a hard time
figuring out why anyone would care about IPX or AppleTalk in the 21st
- Uses Autonomous System numbers
- Uses metrics and load balancing like IGRP
- Uses RTP - Reliable Transport Protocol (We can still remember
that the names of reliable protocols start with consonants.)
- Is a classless protocol, so it allows VLSM and CIDR
- Uses efficient neighbor discovery by using hello
- Has hybrid characteristics, part Distance Vector and part Link State
The hybrid aspect of this protocol makes it unusual. Like a Distance
Vector protocol, it exchanges all of its information with neighbor routers
when it boots up, and when it finds a new neighbor. Like a Link State
protocol, it does not continue to send messages about everything
it knows. It sends update messages about changes to routes when
they happen. These updates are not broadcasts. They are multicast transmissions,
sent only to an address shared by all the routers in your system. EIGRP
also sends hello packets, short messages that effectively say "Hi,
I'm still here, don't take me out of your tables..." Hello packets
are sent every 5 seconds to neighbor routers, about every 60 seconds across
An EIGRP router keeps tables that other protocols do not require.
- Neighbor table - also called a neighborship table, a list of
routers that are neighbors to this router
- Topology table - a list of all the routes advertised
by all the neighbor routers. Provides source material for the Route
table. Routes that are chosen for use in the Routes table are
called Successors. They are copied to the Route table,
and they remain here as well. Routes not copied
to the Route table are called Feasible Successors, which means
they could be moved to the Route table if needed
- Route (routing) table - the routes that this router will actually
use; these routes are called Successors
By default, Successor routes are chosen based on bandwidth and
line delay. EIGRP can be configured to use load and reliability
metrics as well. Maximum Transmission Unit size is not used as
a metric, but is a parameter for some commands. It represents a potential
bottleneck: the route link with the smallest MTU is a limiting factor
on that route.
When you configure EIGRP on a router, you declare it to
have an Autonomous System number. Only routers with the same number
will share routes with each other over this protocol. To activate EIGRP,
enter configuration mode and enter these commands:
router eigrp autonomous_system_number
The Route table can hold up to 6 routes to a given network (for load
balancing). The default limit is 4. To change the default limit use the
where x is an integer from 1 to 6. To change the maximum hops
allowed use the command
metric maximum-hops x
where x is an integer from 1 to 255.
You can use IGRP and EIGRP on the same Autonomous System.
The routers using the protocols must be given the same AS numbers when
the protocols are set up. EIGRP will consider the IGRP routes as external
routes to its AS.
To make a point about which protocol is better, think about a route is
one hop long, but flows across a 56 Kbps line. Another route
to the same network is three hops long, passing across two 100BaseT
networks, and a 10BaseT network. RIP will choose the first route,
due to its lower hop count. IGRP and EIGRP will choose the second route,
which is much faster.
EIGRP reaches convergence quickly. It uses Diffusing Update Algorithm
(DUAL), to select and request updates on routes as needed. EIGRP supports
VLSM, which IGRP and RIP do not.
EIGRP interfaces may be passive (down) or active (up). Their state can
be changed from the command line. For example, to make the serial 0/1
interface passive, use the command passive-interface serial 0/1.
The chapter discusses several commands that can be helpful in verifying
the status of the EIGRP protocol and its interfaces.
- show ip route - shows all routes in the ip routing table
- show ip route eigrp - show all EIGRP routes in the routing table
- show ip eigrp neighbors - show the neighbors of the router given the
- show ip eigrp topology - shows all routes in the router's EIGRP topology
The chapter continues to discuss Open Shortest Path First (OSPF)
protocol. This is the first Link State protocol discussed in detail. As
noted above, EIGRP is only good for Cisco routers, so if you have any
other kind you need to use another protocol. OSPF works on Cisco routers,
partly because it is a well supported open standard protocol.
OSPF has some features in common with EIGRP, but the text compares it
extensively to RIP and RIPv2. Why? Because these are your choices from
the protocols discussed so far if you are not using Cisco routers.
Some OSPF features:
- Link State protocol, classless support for VLSM and
CIDR, converges quickly
- Sends only updates after initial transmission of directly connected
- No hop count limit
- Supports multiple routes to a given network, but they must
be equal cost
- Default Administrative Distance of an OSPF route: 110
- Only supports IP traffic
- Allows you to break the network into manageable areas
- Can connect several Autonomous Systems together
- OSPF routers send Hello packets to other routers, to let the
others know they are active. Routers become adjacent by receiving
each other's Hello packets. OSPF uses timers, like other protocols
discussed. Note that the Hello and Dead timers must be
set the same on two routers for them to become adjacent routers.
- All routers on a network must send their Hello packets with the same
Hello interval, the time between Hello packets.
- Routers elect a Designated Router (DR) and a Backup Designated
Router (BDR). This is reminiscent of the way bridges hold elections.
The election of DR and BDR is based on router priority. This does not
take place in point-to-point networks or point-to-multipoint non-broadcast
- OSPF routers send database description packets (DDPs) to each
other. A DDP contains only a summary of the router's Link State Database.
- If router A wants full information about a route router B knows,
router A sends a link state request (LSR) to router B.
- Router B, in the above example, will respond to router A with a link
state update (LSU), containing the requested information.
- Router A will acknowledge the LSU with a link state acknowledgment
- After converging their tables, OSPF routers are in a full neighbor
- OSPF uses a cost metric, assigning a cost to each hop that is included
on a route.
- OSPF uses a hierarchical structure to reach convergence faster,
to isolate problems, and to reduce overhead.
An autonomous system (AS) can contain many routers, at least
one of which will be a border with another system or the Internet. The
router on this border is an Autonomous System Border Router (ASBR).
Some autonomous systems are very large and complex. They need to be
subdivided into areas, so the routing table do not become unusable.
Routers on the border between areas are Area Border Routers (ABRs).
Typically, ABRs will connect their area to a backbone area. This
is a common area that all areas in an autonomous system connect through.
Naturally, this area needs to have higher bandwidth.
If an area is not the backbone area, it is one of two
- Stub Area - this is an area that has only one ABR
- Transit Area - this is an area with multiple ABRs
Comparing OSPF to RIP:
- RIP is limited to 15 hops (16 is infinity), OSPF
is effectively unlimited
- RIP does not support subnetting, OSPF
- OSPF convergence is faster, since only changes are
- RIP has every router send its entire database every 30
seconds (by default), OSPF only sends when changes are
made or tables expire (about 30 minutes)
Much of the discussion of OSPF in the text is hard to digest. I recommend
looking at this
article on Wikipedia about OSPF for a better explanation. This link
on the Cisco site offers specific information about using the protocol
with Cisco routers.
OSPF rates routes on cost. This is similar to the idea of Administrative
Distance. Cisco uses its own algorithm for calculating cost for
OSPF routes. First, the cost of a route is the sum of the costs of each
link in the route. Second, the cost of a link is calculated as 108
divided by the bandwidth of that link (in bits per second).
If the link in question runs at 10Mbps, that is the same as 107
bits per second. 108 divided by 107 is 10 which
is the cost of the link.
When you configure OSPF on your router, you must assign a process
ID to the this instance of the protocol. That means that you can run
multiple instances of the protocol, each with a different process ID.
The text tells us that this process ID is not really used for anything
when you are running a single instance, but it is required. The
acceptable values run from 1 to 65535.
Networks listed as connected to a router must be assigned an area
ID, which can be entered as an integer or as an IP address. If you
enter an integer in must be in the range 0 to 4294967295. With
over 4.2 billion area numbers, your autonomous system can have a lot of
As an example, you enable OSPF on the router with the command
router ospf process_ID
You list a network that is connected to the router like this:
network network_address wildcard_string area area_number
- The first argument is the IP address of the network
your router is connected to, for example, 10.0.0.0.
- The second argument is the wildcard string, which is
like a subnet address, but not exactly. If your network address
is 10.0.0.0, your wildcard string would be 0.255.255.255.
This means that addresses bound for this network must match the first
byte (the 0), but can have any values in the last three bytes
(the three 255s). So a 0 means that byte in an incoming address
must match the same byte in the network address, a 255 means that byte
in an incoming address may have any value.
- The third argument is the area number for this network.
On a router running OSPF, you can see the routes known to it with the
command show ip route.
The Cisco web site explains OSPF routing at this address: http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/fipr_c/ipcprt2/1cfospf.htm
It explains that OSPF classifies different media into the following
three types of networks by default:
- Broadcast networks (Ethernet, Token Ring, and FDDI) Cisco
proprietary, uses Designated Routers
- Nonbroadcast multiaccess (NBMA) networks (Switched Multimegabit
Data Service (SMDS), Frame Relay, and X.25) non-proprietary, uses
- Point-to-point networks (High-Level Data Link Control [HDLC],
PPP) Cisco proprietary. Does not use Designated Routers.
The text tell us that there are two more types:
- Point-to-multipoint - non-proprietary
- Point-to-multipoint nonbroadcast (NBMA) - Cisco proprietary,
does not use Designated Routers
You can configure your network as either a broadcast or an NBMA network.