Routing algorithms, while different in nature, all have the same basic objectives. While some algorithms are better than others, all routing protocols have their advantages and disadvantages. Routing algorithms are designed with the following objectives and goals:
- Optimal Routing
- Ease of Use
- Rapid Convergence
One of the primary goals of all routing protocols is to select the most optimal path through the network from the source subnet or host to the destination subnet or host. The most optimal route depends on the metrics used by the routing protocols. A route that may be considered the best by one protocol may not necessarily be the most optimal route from the perspective of another protocol. For example, RIP might consider a path that is only two hops long as the most optimal path to a destination network, even though the links were 64Kbps links, while advanced protocols such as OSPF and EIGRP might determine that the most optimal path to that same destination is the one traversing four routers, but using 10Gbps links, for example.
Network stability, of a lack thereof, is another major objective for routing algorithms. Routing algorithms should be stable enough to accommodate unforeseen network events, such hardware failures and even incorrect implementations. While this is typically a characteristic of all routing algorithms, the manner and time in which they respond to such events makes some better than other and thus more preferred in modern day networks.
Ease of Use
Routing algorithms are designed to be as simple as possible. In addition to also providing the capability to support complex internetwork deployments, routing protocols should take into consideration the resources required to run the algorithm. Some routing algorithms require more hardware or software resources, e.g. CPU and memory, to run than others; however, they are capable of providing more functionality than alternative simple algorithms.
In addition to providing routing functionality, routing algorithms should also be feature-rich, allowing them to support the different requirements encountered in different networks. It should be noted that this capability typically comes at the expense of other features, such as convergence which is described next.
Rapid convergence is another primary objective of all routing algorithms. As stated earlier in this chapter, convergence occurs when all routers in the network have the same view and agree on optimal routes. When convergence takes a long time to occur, intermittent packet loss and loss of connectivity may be experienced between remote networks. In addition to these problems, slow convergence can result in network routing loops and outright network outages.