|
Distance Vector Routing
The basic distance vector algorithm tries to solve the problem of how to reach the destination in the shortest number of 'hops' possible. A hop is whenever you pass through a node. So in the simple example network here the distance from A to D is 3. The problem becomes more interesting if it network is not a long line. For example the distance between A and D in the below network can be 3,4,5,7 and more In this example the path that would be desired is from A to B to K then to D. That the Bellman-Ford or Dijkstra algorithms do is find this path. Then each node in the network will know the shortest path from itself to each other node in the network. Protocol This algorithm works perfectly well with some basic assumptions. First that nodes never fail, second the link costs never vary, third you have infinity space to store entries and ability to collect data. Anyone working with computer knows that these assumptions are absurd. This is where protocols come in. Not only do they have to implement the algorithm in code but they need to deal with a changing topology. The basic distance vector protocol is call RIP for Routing Information Protocol. RIP made some basic design choices. Each node in the network keeps a routing table. This routing table contains entries for all the reachable nodes in the network. Also in the table entries for how far the node is away (the distance) and what node is the next stop on this path (the vector). RIP uses the Bellman-Ford algorithm to determine the shortest path by broadcasting each nodes current routing table to all their neighbors and then each node compares tables and chooses the minimum cost route. This is assuming that the route costs never change that all the nodes stay functional. Because this is not the case a timer is introduced that times routes so that if they are not updated or confirmed within a specific amount of time they are declared to be obsolete and removed from the routing table. A new route is then forced to be found. It is proven by the algorithm that in a finite amount of time a route will be found. But until the route is found or if the topology is changing faster than the algorithm can stabilize routing loops occur. Given time a routing loop will count to infinity(16). This means that because the destination is unreachable the loop in the network cause the distance to slowly increase until it reaches a point set as infinity or unreachable. Several algorithms have been developed to aid convergence. Some of the procedures are extremely complex. But the most common algorithm is Split Horizon
Actual implemented protocols The following are the implementations of RIP:: XNS, IPX ,RIP-IP, IGRP.
|
|
XNS XNS RIP is the direct implimintation of the distance vector protocol Optimal routes are those with the fewest hops. XNS was originally coded by Xerox. XNS stands for Xerox Networking Systems. There where basic assumptions made about the networks useing XNS. First that they would not be overly large. Infinity was set to 16 because it was determined that a network with a diameter of over 16 was too large for this protocol. Additionally XNS transmits the entire routeing table with each update so if the network become too large the size of these routing packets becomes unwieldly. Finally it assumes a heterogenous internetwork so that number of hops is an accuret assessment of distance or delay. |
|
IPX IPX was written by Novell. It stands for Internetwork Packet Exchange protocol. What is new and different with IPX is that it takes into account the delay of links when making routing decisions. It uses a delay metric of ticks (A tick is 1/18 of a second). When routing decisions are made the fastest route is chosen over the shortest one. If two routes are the same speed then IPX will choose the shorted route. additionally IPX makes use of the split horizon convergence acceleration algorithm
|