NET 222: Introduction to Routers and Routing

Chapter 6: Enhanced IGRP (EIGRP) and Open Shortest Path First (OSPF)

Objectives:

This chapter describes two more routing protocols, and how they affect network design. The objectives important to this chapter are:

  1. Understanding EIGRP
  2. Understanding OSPF
Concepts
EIGRP

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 century.)
  • 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 WAN links.

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
network address_of_directly_connected_network
ctrl-Z

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 command
maximum-paths x

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 command
  • show ip eigrp topology - shows all routes in the router's EIGRP topology table
OSPF

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 routes
  • 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 networks.
  • 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 (LSA).
  • After converging their tables, OSPF routers are in a full neighbor state.
  • 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 other types:

  • 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 supports subnetting
  • OSPF convergence is faster, since only changes are sent
  • 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 breadth.

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 Designated Routers
  • 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.