There are two types of routing protocol: distance vector and link state. KC Gao posted a question about the classification of IGRP mentioned in the Sybex CISSP Study Guide. It seems to be simple and classic, but it triggered my thoughts and I start rethinking about “what a is the distance vector? ” and “what is the link state?”
Traditionally, we tend to relate “hop count” to “distance vector” and “shortest path” to “link state,” but does that make sense literally?
The distance between two routers can be expressed in hop counts, but broadly, can we express distance from other perspectives like “costs” or “attributes?” I mean, if we choose a broad definition, the concept of long-distance may refer to a cost of 500ms compared with 200ms, or a dialup connection in contrast to an E1 line.
The distance vector implies a quantity (say, 5 hop counts) and a direction (the IP of the next hop or gateway). The link-state implies only the latest link state changes are shared with other routers. (routers then recalculate the shortest path based on different criteria or costs)
In a strict sense or literally speaking, distance vector is a concept of “how far away a network is”, while link-state is a mechanism of “how the routes are updated.” They refer to different concepts and address different problems. So, some routers may make routing decisions based on distance vector and share only those link states that have changed.
So, are we talking about 1) routing decisions or 2) routes propagation? IMO, distance vector is about routing decisions, while link-state is about routes propagation. IGRP makes routing decisions based on metrics such as bandwidth, load, delay, MTU, and reliability, and it propagates the entire routing table.
It provokes my thinking on this classic topic. The following are some references: