Different protocols are in use to ensure end-to-end delivery of data packets between networks. These protocols use different types of metrics in determining the best path to take in delivering a packet to a destination network. The use of routers in internetwork communication necessitates ensuring that the routers have the required information to determine the paths to a destination network. Some of the information needed by a router to route packets between networks include the destination address, the routers connected to it, the possible routes to other networks and the best route to networks. A router determines information about other routers especially the ones that are not directly connected to it in one of two ways – static routing or dynamic routing.
In static routing, the information about the neighbor routers is input by a network administrator. Changes to the connection of the routers and the network interconnection map are updated by the network administrator and this could be tedious for large networks. In order to mitigate this challenge of large networks to network administrators, routing protocols are employed in dynamic routing to perform the task of determining the best path for packets to be moved. A routing protocol determines how routers communicate route information.
The movement or routing of network data traffic between networks is carried out by a router. The router determines the optimal path for the transfer of information between two networks using different criteria or parameters. These criteria also referred to as protocols for determining the best path are in three classes - distance vector protocols, link state protocols and hybrid protocols (a combination of the two aforementioned protocols). Link state protocols simply use the state of a link to determine its desirability over other links. Distance vector routing protocols on the other hand uses the distance between the networks as metrics to determine the optimal path to route traffic.
Distance Vector Routing Protocols
Distance vector routing protocols make use of hop count in estimating the distance to a network. A hop refers to a router and each time a packet passes through a router, it is called a hop.
In this protocol, routers inform their neighbor routers of changes in the topology of the network periodically. Distance-vector routing protocols use the Bellman-Ford Algorithm for routing decisions. Routers thus do not have a full knowledge of the entire path leading to a destination network rather they make use of the next hop address and the cost to reach a certain node in terms of hop count to determine the optimal path to a network. Each router advertises the calculated value of the distance to other routers and also receives same. The changes to the network topology are propagated periodically by the exchange of routing table entries between neighbour routers that are configured for the same distance vector routing protocol. This process is termed 'routing by rumour' due to the fact that routers cannot determine the validity of the information they receive about a path but can only rely on the information received from other routers. Using these routing advertisements, each router populates its routing table and only the updates to the routing table are advertised in the next advertisement until the routing table of each router converges when all hosts within the network have the same knowledge of routing paths. Routing protocols that use distance vector as metrics include Routing Information Protocol (RIP), Routing Information Protocol Version 2 (RIPv2) and Interior Gateway Routing Protocol (IGRP).
Before going deeper into understanding about the distance vector routing protocols, it will not be out of place to talk about the Bellman-Ford algorithm that in routing data packets between networks.
The Bellman-Ford Algorithm is a distributed algorithm as it involves a number of router nodes within an autonomous system (AS). The algorithm uses the following steps to route data packets between networks.
1. Each router node calculates the distance to all other nodes relative to itself and stores this information in a table.
2. Each router node sends this information stored in a table (the routing tabke) to all neighbouring nodes.
3. When a node receives the table from the neighbouring nodes, it calculates the shortest route to all the other nodes in the network relative to itself and updates its own table with this new information.
Routing Information Protocol (RIP) Versions 1 and 2
RIP was created and used as a part of the Xerox Network System (XNS) suite of protocol as a requirement for the Xerox Universal Protocol (PUP) to be able to route. The Internet Engineering Task Force) IETF formally released the specification for RIP in the RFC 1058 document in June 1988 and this document specified what is called RIP version 1 (RIPv1).
RIP as a distance vector routing protocol uses the hop count as a metric in the routing of data packets from a source to a destination. In order to prevent routing loops, there are a maximum number of 15 hops allowed in a path between a source and a destination router. This limitation places a restriction on the size of any network implementing RIP as its routing protocol. For the routers in the network to know the topology of the network, updates on routing tables are exchanged between the routers in an RIP enabled network periodically at intervals of 30 seconds.
RIP version 2 was developed to address the inadequacies of RIPv1. The standard version was released in 1998 with the addition of VLSM support and MD5 authentication. Classless Inter-Domain Routing (CIDR) was supported since it has the inclusion of subnet information in the RIP updates. In order to ensure backward compatibility with the first version, the limit of 15 hops is retained in RIPv2. Reduction of load on hosts that are not participating in routing is achieved by the implementation of multicasts to adjacent routers instead of broadcasts used in RIPv1.
Interior Gateway Routing Protocol (IGRP)
IGRP is the second of the first generation distance vector protocol and uses the same convergence strategies used by RIP. It has a major edge over RIP with its ability to distinguish paths to networks using delay, bandwidth, reliability, load, and Maximum Transmission Unit (MTU) which are converted to scalar quantity to express desirability of paths. IGRP is not supported on other vendor routers except Cisco routers because it is a Cisco proprietary protocol.
Link State Routing Protocols
Unlike in distance vector routing protocols, each router using a link-state routing protocol possesses information on the complete topology of the network. The routers use information on the type of the link, the cost metric and the condition of the link whether up or down to build a routing table. Using local information of the topology, each router independently calculates for every possible destination from it the best next hop router using the parameters listed. These values are stored in the routing table of the router and are consulted for making routing decisions. The router then constructs a Shortest Path Tree using Dijkstra's Algorithm. The tree is a graph of nodes and the links between the nodes with a particular node called the root node from which all other nodes can be reached through a single route. Dijkstra's Algorithm divides the nodes into two sets - tentative and permanent. By making the neighbours of a current node as tentative, the algorithm examines it against come criteria, if it passes the criteria, it is made permanent.
The only information shared among the routers in a link state protocol is that required to build the interconnection map of the routers in the network and is a contrast to distance vector routing protocols where each router shares its routing table with neighbour routers. Examples of this protocol include Open Shortest Path First (OSPF) and Intermediate System to Intermediate System (IS-IS).
Open Shortest Path First (OSPF)
In OSPF, when a host receives an update of a change to the network or a routing table, it multicasts this change to all the other hosts in the network in order to ensure that they all have the same routing information. This technique of sending only updates to the network consumes lesser system resources compared to RIP that sends the entire routing table every 30 seconds.
Evaluation of paths in OSPF is not simply done using hop count but rather based on ‘link states’ that incorporates additional network information. The administrator can also assign cost metrics to come routers in order to give preference to some paths. OSPF supports Variable Length Subnet Mask (VLSM) for sub-netting.
Intermediate System to Intermediate System (IS-IS)
In an IS-IS network, there are End Systems, Intermediate Systems, Areas and Domains. End systems are the user devices, Intermediate systems are routers and the routers are organized into local groups called 'areas' and several areas are grouped together into a 'domain'. IS-IS differs from OSPF due to its scalability to support larger networks. Given the same resources, IS-IS can support more routers in an area than OSPF can. Although the basic concepts of topology information exchange are similar, IS-IS also differs from OSPF in the methods by which it reliably floods topology and topology change information through the network.
Hybrid routing protocols share the features of both the distance vector routing protocols and the link-state routing protocols. An example of this is the Enhanced Interior Gateway Routing Protocol (EIGRP).
Enhanced Interior Gateway Routing Protocol (EIGRP)
EIGRP is also a proprietary Cisco protocol that offers improvements over IGRP. It was designed to exploit the best features of distance-vector and link-state routing protocols. EIGRP supports both classless and class-based IP addresses unlike IGRP, as well as other network protocols. This makes it possible for networks using Classless Inter – Domain Routing CIDR-compliant IP addresses and VLSM to use Cisco's distance-vector routing protocol.
Balchunas, A. (2012). Routing Information Protocol. Accessed on 3rd April, 2014 from http://www.routeralley.com
Forouzan, B. A. (2007). Data Communications and Networking (4th ed.) McGraw-Hill.
Malhotra, Ravi (2002). IP Routing. O’Reilly and Associates Inc., USA.
Malkin, G. (1998). Routing Information Protocol Version 2. SRI Network Information Center, RFC 2453.
Ramya, P. and Vinod, V. (2012) Implementing OSPF Protocol in CISCO 2800 Series Router. International Journal of Innovations in Engineering and Technology (IJIET), 1(4), 77 - 82.
Tanenbaum, A.S., & Wetherall, D.J. (2011). Computer Networks (5th ed.) Boston, MA: Pearson Education, Inc.
Tittel, E., Hudson, K. and Stewart, J.M. (1998). Networking Essentials (3rd ed.). The Coriolis Group.