Routing AlgorithmThere are usually one or more of the following design objectives:
Optimization
Optimization refers to the ability of the routing algorithm to select the optimal path, which is calculated based on the value and weight of metric. For example, a routing algorithm may use hops and latency, but the delay may have a higher weight. Of course, the routing protocol must strictly define the metric algorithm.
Simple, low consumption
Routing Algorithms can also be designed as simple as possible. In other words, the routing protocol must provide its functions efficiently to minimize the overhead of software and applications. The efficiency is especially important when the software that implements routing algorithms must run on computers with limited physical resources.
Robust and stable
Routing algorithms must be robust, that is, they must still be able to handle abnormal or unforeseen events, such as hardware faults, high loads, and incorrect implementations. Because the routers are located at the network connection points, a major problem occurs when they fail. The best routing algorithms are usually those that have been tested by time and proved to be stable under various network conditions.
Quick Aggregation
In addition, the routing algorithm must be able to be quickly aggregated. Aggregation is the process in which all routers agree on the optimal path. When a network event causes a path to be disconnected or unavailable, the router distributes route update information through the network, promotes the calculation of the optimal path, and finally makes an agreement between all routers. Slow aggregation of routing algorithms may cause routing loops or network interruptions.
In the routing ring, a group reaches vro1 1 at the time t1, vro1 1 has been updated, and the optimal route to reach the destination is vro2 2 as the next hop, so we will forward the group to vro2 2. however, vro2 2 has not been updated. It considers the next hop as vro1 1, so it sends the group back to vro1 1, the result group is transmitted back and forth between the two routers until vro2 2 receives the route update information or the group exceeds the lifetime.
Flexibility
Routing Algorithms should also be flexible, that is, they should quickly and accurately adapt to various network environments. For example, if a CIDR block is disconnected, many routing algorithms will quickly select the second best path for the path that uses the CIDR block after the problem is identified. The routing algorithm can be designed to adapt to network bandwidth, router queue size, and network latency.