Many of us work on networks we didn’t have the luxury of designing—with routing protocols we weren’t given the chance to choose. But you may be starting a new network, or you may have the opportunity to redesign your existing one. If you’re tasked with selecting the best routing protocol for your network, which will you choose?

While there is often a “right tool for the job,” all routing protocols have their strengths and weaknesses, and I don’t believe that there is a clear-cut best routing protocol that is the right tool for every network. Thus, to help you select the most appropriate routing protocol for your network, I am going to examine the pros and cons of the best-known routing protocols and offer some guidance on when it makes sense to use one or the other.

RIP V1—Routing Information Protocol
Origin: Based on RFC 1058

Type of protocol: Distance vector, based on the Bellman-Ford distance vector algorithm

Metric: Hop count

Methodology: Selects routers with the lowest hop count; updates other routers by broadcasting the entire routing table to all routers every 30 seconds

Ideal topology: Smaller networks that aren’t very dynamic, have fewer than 15 hops, and are not subnetted from classful boundaries (see Weaknesses)

Strengths:

  • Easy to configure and use
  • Since it has been around so long, it is well known and widely used.

Weaknesses:

  • Limited to a hop count of 15; after a packet travels through 15 routers and still has another router to travel to, it will be discarded.
  • Doesn’t support a variable-length subnet mask (VLSM), which means that it sends routing updates based only on a fixed-length subnet mask (FLSM) or routes that fall on classful boundaries. So RIP V1 will not work with a network that has been subnetted beyond the normal /8, /16, /24 (255.0.0.0, 255.255.0.0, 255.255.255.0) or Class A, B, and C network boundaries.
  • Converges slowly, especially on large networks
  • Doesn’t have knowledge of the bandwidth of a link
  • Doesn’t support multiple paths for the same route
  • Routing updates can require significant bandwidth, as the entire routing table is sent when a link’s status changes
  • Prone to routing loops

RIP V2—Routing Information Protocol
Origin: Based on RFC 1388

Type of protocol: Distance vector, based on the Bellman-Ford distance vector algorithm

Metric: Hop count

Methodology: Selects routers with the lowest hop count; updates other routers by multicasting the entire routing table to all routers every 30 seconds

Ideal topology: Smaller networks that aren’t very dynamic, have fewer than 15 hops

Strengths:

  • Easy to configure and use
  • Since it has also been around so long, it is well known and widely used.
  • Version 2 adds support for VSLM or Classless Internet Domain Routing (CIDR), MD5 Authentication, and route summarization.

Weaknesses:

  • Limited to a hop count of 15; after a packet travels through 15 routers and still has another router to travel to, it will be discarded.
  • Converges slowly, especially on large networks
  • Doesn’t have knowledge of the bandwidth of a link
  • Doesn’t support multiple paths for the same route
  • Routing updates can require significant bandwidth as the entire routing table is sent when a link’s status changes
  • Prone to routing loops

IGRP—Interior Gateway Routing Protocol
Origin: Based only on Cisco’s implementation, not an Internet RFC

Type of protocol: Distance vector, based on the Bellman-Ford distance vector algorithm

Metric: Delay, bandwidth, reliability, and load

Methodology: Sends hello packets every five seconds to neighbors to see if the neighbor is still available; updates other routers by notifying them only when routes change

Ideal topology: Any network, small to very large; all routers must be from Cisco. Cannot subnet network beyond classful boundaries.

Strengths:

  • Easy to configure and use
  • Uses the delay, bandwidth, reliability, and load of a link as its metric. This makes it very accurate in selecting the proper route.

Weaknesses:

  • Not an Internet standard; all routers must be from Cisco Systems
  • Converges slowly; slower than RIP
  • Doesn’t support VLSM
  • Prone to routing loops

Definition

Convergence: The process that a routing protocol goes through to alert all routers on the network of the next available path when the primary path becomes unavailable.


EIGRP—Enhanced Interior Gateway Routing Protocol
Origin: Based only on Cisco’s implementation, not an Internet RFC

Type of protocol: Hybrid distance vector

Metric: Delay, bandwidth, reliability, and load, using the Diffusing Update Algorithm (DUAL)

Methodology: Sends hello packets every five seconds to neighbors (can interoperate with IGRP) to see if the neighbors are still available; updates other routers by notifying them only when routes change

Ideal topology: Any network, small to very large; all routers must be Cisco

Strengths:

  • Uses DUAL to provide very quick convergence and a loop-free network
  • Supports IP and IPX
  • Requires less CPU than OSPF (see next section)
  • Requires little bandwidth for routing updates
  • Supports VLSM or CIDR
  • Uses the delay, bandwidth, reliability, and load of a link as its metric; this makes it very accurate in selecting the proper route
  • Offers backward compatibility with IGRP

Weaknesses:

  • Not an Internet standard; all routers must be from Cisco Systems
  • OSPF V2—Open Shortest Path First
    [Note that version 1 of OSPF was never implemented.]

    Origin: Based on RFC 2328

    Type of protocol: Link-state, runs the Dijkstra algorithm to calculate the shortest-path first (SPF) tree

    Metric: Calculates the cost to traverse router links to get to the destination, taking the bandwidth of the links into account

    Methodology: Develops adjacencies with its neighbors, periodically sending hello packets to neighbors, flooding changes to neighbors when a link’s status changes, and sending “paranoia updates” to neighbors every 30 minutes of all recent link state changes

    Ideal topology: Any network, small to very large

    Strengths:

    • Converges quickly, compared to a distance vector protocol
    • Routing update packets are small, as the entire routing table is not sent
    • Not prone to routing loops
    • Scales very well to large networks
    • Recognizes the bandwidth of a link, taking this into account in link selection
    • Supports VLSM or CIDR
    • Supports a long list of optional features that many of the other protocols do not

    Weaknesses:

  • More complex to configure and understand than a distance vector protocol
  • Final word
    Just to clarify this comparison, one way routing protocols are classified is according to how they are used. Interior routing protocols are used within a single domain on your interior network. Also called an Interior Gateway Protocol (IGP), this is the type of routing protocol you usually think of using for your internal network. The protocols we looked at in this article are all IGPs. Note that I omitted a few of the lesser-known interior routing protocols to keep the discussion reasonably short. These include IS-IS, NLSP, RTMP, and IPX RIP.

    Another type of routing protocol is an exterior routing protocol, or Exterior Gateway Protocol (EGP). These protocols maintain routing information for networks that are external to your network. An EGP doesn’t know how to deliver data within your network, just how to deliver data outside your network. While a variety of IGPs are currently used, about the only EGP in use today is the Border Gateway Protocol (BGP). This is the routing protocol of the Internet.

    From talking with administrators who manage a variety of networks, the consensus is that OSPF is becoming the most popular interior routing protocol today. I would recommend OSPF or EIGRP for any new network, based on their popularity, flexibility, and fast convergence. Of course, the choice is yours based on the requirements of your network. This article should help you get a better understanding of your options.

    Additional references


    What routing protocol does your network currently use?

    We look forward to getting your input and hearing about your experiences regarding this topic. Post a comment or a question about this article.


     

    Subscribe to the Developer Insider Newsletter

    From the hottest programming languages to commentary on the Linux OS, get the developer and open source news and tips you need to know. Delivered Tuesdays and Thursdays

    Subscribe to the Developer Insider Newsletter

    From the hottest programming languages to commentary on the Linux OS, get the developer and open source news and tips you need to know. Delivered Tuesdays and Thursdays