Although there are various routing protocols around such as RIP, OSPF, IS-IS, EIGRP and BGP. They all fall in to one of two groups, either the call of routing protocols labelled Link-state, or those labelled Distant-Vector.
The fundamental difference is that a Link-State route builds up a complete topology map of all the routers in its network segment, and how they are all linked together. This map is built up be each router sending its own topology to every other router in its segment. This is achieved by each router sending its topology to its connected neighbour, these then check if it is newer than the current stored, and if so add it to there own topology and then forward it out to there neighbours, this way every router in the segment will receive the update. The routers then combines all the received individual topologies to create an over all map of the network. An algorithm is then run on this map by each router to determine the best paths to all the destination networks advertised and these are added to the routing table that will be used to forward traffic. If an update is received that causes a change to the map topology then the algorithm has to be re-run to update the tables. If two routers in the segment send conflicting information about a link (eg Router A reports a link to route B but Router B does not report this link. Then when Router C receive the topology’s from A and B it will not add this possible link to its topology).
Distant-Vector protocols work in a different way. Rather than know the entire topology of the network segment. Routers only advertise if they can reach a network and the cost to reach it. Generally this cost will be higher for links that are slow and have multiply hops. and low for higher bandwidth links with less hops. Each router will updates its neighbours with the list of networks it can reach and how much it cost to reach each one. The receiving router will place all this information, from all its neighbours in to a table and pick out (by default) the route with the best cost to each destination network to add to the routing table.
So which is best then?
Well they both have there strengths and weaknesses.
Re-convergence speed after a topology change would generally go to Link-state, most distant-vector protocols don’t remember the back up links so have to relearn them becfore they can forward data again. A link-state know the entire topology, so when a link fails it can re-run the algorithm to find a new best path.
However resources wise Link-state are very costly, to keep the topology map in memory and to run the algorithm across it means high CPU and memory usage. This means they don’t scale well to very large network, CISCO recommend a maximum of 90-100 routers and 200 subnets in a single OSPF area. More than this and the size of the topology map and time need to run the algorithm could slow the routers to a crawl. On the other hand Distant-vector do scale much better, routers only communicate with there direct neighbour and only need to know the destination network address, next-hop and cost. This is why you will find Distant-vector used for the internet backbone routers that need to deal with large routing tables and constant topology changes, while you find the link-state protocols inside company networks.
One more advantage link-state has over distant-vector is that due to the fact it has a complete topology there is little danger of loops. While for distant-vector this is a very real problem and one that needs checks to be introduce to insure against.
So the chose of what one to to use really does very much depend on the situation. In every day networks there are 5 well known protocols in use
Distant-vector = RIP, EIGRP, BGP
Link-state = OSPF, IS-IS
Of these EIGRP, OSPF and BGP are the most common. BGP is an external protocol (realy the only main stream one) used between the core internet service providers, so as I mentions most of the internet is run using distant-vector. EIGRP is highly optimised distant-vector protocols and has many of the benifits of link-state with out the huge CPU and memory cost, however its main issue is that is it CISCO proprietary so unless you have 100% CISCO devices it is ruled out. Leaving OSPF as the remaining protocol to run in internal networks. For many people in small to medium size networks the benefits gained from running OSPF or EIGRP are small and often come down to personal choice. The consistency and reliability of Link-state or the simplicity and low resources of Distant-vector?
Distance Vector Routing Protocols
Well thats the review stuff out of the way, next time we can get in to the workings of EIGRP.
EIGRP cannot be called a pure distance vector protocol. It is more like a hybrid protocol with the good things from both DV and LS combined.. It has got some properties of LS based protocols like fast convergence and an overall idea of the topology.
Correct me if I’m wrong
Yes EIGRP is a distance vector, in the sense each router only knows about the routes held by the directly neighbouring routers, and it still learns routes via the “routing by rumour” method.
Link State routing each router has a full map of the entire network, even what routers are behind otehr routers. and it uses this map to work out its routing table.
I think of it as link state is like looking at a map, lets say you know you are standing in New York. Then say you want to get to Boston, you work out you route, and that determins what road you take out of new york.
On the other hand distance vector is like standing in new at a cross roads with a hug sign post, which tells you what road to go down to start your journey to any city, and how far/long/hops it will take. (in the case of EIGRP, the sign post might point down several roads for the same destination, hence the redundancy)
EIGRP by this definition is clearly a distance vector protocol. it is defiantly an enhanced version, and has many of the strenths of link state (fast convergence and resplendence) but is still is based on the distance vector model in how it learns its routes,