Distance vector routing protocol

From Hill2dot0
Jump to: navigation, search

A distance vector routing protocol can best be understood by recalling the meaning of the word vector. A vector is a number with two components: magnitude and direction. In a network, we might say it has cost and direction or distance and direction. Perhaps an analogy is in order.

At highway intersections, signs are often posted indicating which towns can be reached in each direction. Typically, next to the name of the town is a number that represents the miles to that town. That road sign is a collection of vectors. For each town, you have distance (in miles), and the direction you must travel (indicated by an arrow on the sign).

Distance vector routing protocol

In a distance vector protocol, neighboring routers (i.e., routers attached to the same subnetwork) exchange routing vectors. Each router pulls from its routing table a list of all known subnetworks, and some metric relating the goodness or cost of the path to that subnetwork. This information is transmitted to all neighbors. Neighbors are any systems connected to the same subnetwork.

Upon receiving an update from a neighbor, the routing protocol begins the process of updating the local routing table. For each subnetwork listed in the update, the routing protocol extracts the cost information from the update and adds to it the cost of the link from the neighbor that sent the update to the receiving router. It then examines the current routing table to determine if the subnetwork is listed and if it is, the cost to reach that network using the current route. If the subnetwork is not listed in the table, the routing protocol adds the new subnetwork including the port on which the update was received and the address of the router that sent the update. This router is the best known path to the new subnetwork.

If the subnetwork already appears in the table, the routing protocol compares the current cost to the cost it calculated via the updating router. If the cost listed in the routing table is higher than or equal to the newly calculated cost, the routing protocol does not alter the table. However, if the router that transmitted the update is reporting a lower cost route, the routing protocol updates the routing table entry for that subnetwork with the new router’s address, the port on which the update was received, and the newly calculated cost. The router that transmitted the update now represents the best known route to the indicated subnetwork.

Distance Vector Routing Protocols Assessed

There are a number of advantages to the distance vector approach, the primary being that it is a relatively simple approach. In the computer world, simple things are usually easy to implement, and they place fairly low demands on the system’s processing power. This tends to be true of distance vector routing protocols.

Unfortunately, distance vector routing protocols tend to suffer from a number of significant shortcomings. The disadvantages tend to magnify significantly as the internetwork grows. First, routing tables in a large internetwork can be correspondingly large, and they can consume significant bandwidth in the exchange process. Given that most distance vector routing protocols generate periodic updates at intervals of 10 to 90 seconds, this can result in the routing protocol consuming a significant amount of bandwidth.

It should be noted that it is not essential for a distance vector routing protocol to transmit its updates periodically. They can be transmitted only in the event of a change. Newer distance vector routing protocols take this approach. However older distance vector routing protocols are not so careful about their updates. Although it seems ludicrous to design a protocol that transmits all of the routing information even if nothing has changed, these protocols were developed in an age when networks were relatively small and repetition was considered one of the better ways to ensure that the information was successfully distributed. Such a wasteful approach did not have a significant cost when the internetworks only had a few dozen subnetworks.

In large internetworks, distance vector routing protocols may take some time to converge because changes in the network topology take time to propagate across the entire internetwork. Each router has to receive an update and recalculate its routing table before it can generate an update to its neighbors. Although most distance vector routing protocols support event-driven updates, most also impose the concept of holddowns to avoid transient loops. The result is that loss of routes (bad news) travels fast, but alternative routes (good news) take longer to follow.

Finally, the convergence problem, coupled with a number of side effects of the information exchange process, make distance vector routing protocols particularly prone to creating routing loops. Although there is at least one distance vector routing protocol that has addressed this problem (i.e., EIGRP from Cisco), most of the existing protocols have not.

Popular distance vector routing protocols include the Routing Information Protocol (RIP) found in TCP/IP, NetWare, and Xerox Network Systems (XNS) internetworks, Cisco’s Interior Gateway Routing Protocol (IGRP) and Enhanced IGRP (EIGRP), and AppleTalk’s Routing Table Maintenance Protocol (RTMP).

Distance Vector Protocol Examples

Distance Vector Protocol Examples

The visual shows a collection of distance vector routing protocols and the attributes of each. The attributes include the Network Layer protocols that are supported by the routing protocol, the metric (i.e., cost) used by the routing protocol, and the update procedure of the routers.

The Network Layer protocol that is supported by the routing protocol is determined by the vendors of either the network operating system or the routers. It should be noted that some of the routing protocols support multiple Network Layer protocols, this does not mean that two Network Layer protocols share a routing protocol, but that each can use the routing protocol. In a multiprotocol network, each Network Layer protocol will have it’s own routing protocol.

The metric used by the protocols has historically been a simple entity (i.e., hop counts), but recent versions use delay, throughput, reliability, and hop count as composite metrics.

The update mechanism refers to the reason for swapping route information. Two basic methods are in use today. The first is the periodic mechanism, where the routing information is swapped at the expiration of a timer. The second method is that information is swapped only when a change occurs in the routing information.

PodSnacks

<mp3>http://podcast.hill-vt.com/podsnacks/2007q2/distance_vector.mp3%7Cdownload</mp3> | Distance vector routing protocol