Optimization refers to the ability of routing algorithm to select the best path, which is calculated according to the value and weight of metric. For example, a routing algorithm may use hops and delays, but the weights may be delayed. Of course, routing protocols must strictly define algorithms for computing metric.
The routing algorithm can also be designed as simple as possible. In other words, routing protocols must efficiently provide their functions and minimize the cost of software and applications. Efficiency is especially important when software that implements routing algorithms must run on computers with limited physical resources.
Routing algorithms must be robust, which must still be handled normally in cases of abnormal or unforeseeable events, such as hardware failures, high loads, and incorrect implementations. Because routers are located at the connection points of the network, they will have major problems when they fail. The best routing algorithms are those that have been tested over time and proved to be stable under various network conditions.
In addition, routing algorithms must be able to aggregate quickly, and aggregation is the process of achieving the best path for all routers. When a network event is broken or unavailable, the router distributes the update information through the network, prompting the best path to be re calculated and finally making all the routers reach agreement. Aggregated slow routing algorithms may cause routing loops or network interrupts.
Routing algorithms should also be flexible, that is, they should adapt to various network environments quickly and accurately. For example, if a segment is broken, a lot of routing algorithms will choose the next best path to the path normally used after knowing the problem. Routing algorithm can be designed to adapt to network bandwidth, router queue size and network delay.