|  | 5.3 | IP Routing Protocols
| 5.3.2 | The goals of routing protocols
The Optimal Route - Optimal route refers to the ability of the routing protocol to select the best route. The best route depends on the metrics and metric weightings used to make the calculation. For example, one routing protocol might use the number of hops and the delay, but might weigh the delay more heavily in the calculation. Simplicity and Efficiency - Routing protocols are also designed to be as simple and efficient as possible. Efficiency is particularly important when the routing protocol must run on a device with limited physical resources. Robustness - Routing protocols must be robust. In other words, they should perform correctly in the face of unusual or unforeseen circumstances, such as hardware failures, high load conditions, and incorrect implementations. Because routers are located at network junction points, they can cause considerable problems when they fail. The best routing protocols are often those that have withstood the test of time and proven stable under a variety of network conditions. Rapid Convergence - Routing protocols must converge rapidly. Convergence is the speed and ability of a group of networking devices running a specific routing protocol to agree on the topology of a network after a change in that topology. When a network event, such as a change in a network's topology, causes routes to either go down or become available, routers distribute routing update messages. Routing update messages are sent between routers, thereby causing the recalculation of optimal routes and eventually causing all routers to agree on these routes. Routing protocols that converge slowly can cause routing loops or network outages. Flexibility - Routing protocols should also be flexible. In other words, they should quickly and accurately adapt to a variety of network circumstances. For example, assume that a network segment has gone down. Many routing protocols quickly select the next-best path for all routes that normally use a given segment. Routing protocols can be programmed to adapt to changes in network bandwidth, router queue size, network delay, and other variables.