Properly working routing protocols can help your network become more adaptable, therefore making your job a lot simpler. Knowing how to properly configure these protocols is not so simple. Lance Cockcroft is here to help you understand dynamic routing.
My last Daily Drill Down, “Configuring static routing with Cisco routers,” explained static routing, how to create static routes, and how routing entries in the routing table enable the routing process. Dynamic routing occurs through the router’s use of one or more routing protocols.
This Daily Drill Down will discuss the use of routing protocols and the details associated with their operation, as well as how they enable routers to dynamically discover routes.
What are routing protocols?
Routing protocols are simply a set of procedures and languages that a router uses to communicate routing information with other routers. The advantage to using a routing protocol is the ability to adapt to changing network topology. A properly working routing protocol will respond to a change in the network by notifying other routers of the change, as well as finding an alternate route around the change or failure. Many routing protocols discover not only the best path but also backup or redundant routes to remote networks to use as backup or for load balancing.
Most of today’s routing protocols can be categorized in one of two classes: distance vector or link state. Protocols are considered distance vector or link state based on the algorithm used to find the best route between two networks.
Developed by Bellman and Ford, this class of protocols is sometimes referred to as the Bellman-Ford algorithm. Distance vector protocols can be distinguished by the fact that these routing protocols advertise distance and vector information for each network and use this information to update their routing tables. Typically, distance vector protocols broadcast their entire routing table to all connected neighbors with all advertisements.
|Distance vector protocols rely on their directly connected neighbors to provide information regarding the internetwork.|
In Figure A, router A will advertise all known networks to router B; router B will then advertise those networks as well as all other known networks to router C. Router C has learned of network A through router B and has never communicated directly with router A. Because routers learn routes from their neighbors and not directly from the source, distance vector routing is sometimes called routing by rumor.
Link state protocols rely on information gathered directly from the source for a particular network. Link state routers send out network updates to all neighbors, and each neighbor then forwards the update out to each of its own neighbors. Link state routers compile this information to build a map of the entire internetwork. Distance vector protocols simply remember the next hop to reach a destination, whereas link state protocols maintain a complete map of the network.
There are eight common dynamic routing protocols in use today, each with its own strengths and weaknesses. What makes routing protocols different is the algorithm that each uses. An algorithm is simply a set of procedures used for various tasks; therefore, what makes one routing protocol different from others is simply the procedures used to perform the various tasks that all routing protocols must perform. Routing protocols do not differ in what they do; they only differ in how they do it. At the very least, each routing protocol must discover the best route to all networks, recover from network topology changes, and prevent routing loops. Routing protocols accomplish these tasks by exchanging information with other routers on the internetwork.
All dynamic protocols must have some methods for exchanging routing information with other dynamic routers. Initially, routers will begin to exchange information about networks that they are directly connected to. For example, in Figure B, router A is only aware of network 192.168.1.0, which is directly attached to router A’s Ethernet interface. Router A will advertise network 192.168.1.0 to router B. Once received, router B will record in the routing table that packets destined for the 192.168.1.0 network should be forwarded to 192.168.2.1. Router B knows that 192.168.2.1 can be reached out its serial interface because it is a directly attached network.
Router C will advertise its own network, 192.168.5.0, to router B. Router B will record this new information in the routing table, as well. Router B will then advertise both networks 192.168.3.0 and 192.168.5.0 to router A and networks 192.168.3.0 and 192.168.1.0 to router C. Routers A, B, and C all now have knowledge of all networks on the internetwork and how to reach each one.
When a router first comes online, it has no knowledge of what other networks or routers it is connected to, so how does it know whom to exchange data with? A router simply sends routing updates to either the broadcast address 255.255.255.255 or a multicast address reserved for that routing protocol. This ensures that all routers receive the routing updates.
Routers not only advertise network addresses; they also must advertise specific information regarding each destination network. Information that a router announces with each network includes whether that network is a locally attached or a remote network. Depending on the routing protocol in use, there are many additional parameters that are used to describe a route to a particular network.
When there are multiple routes to the same destination, routers need some mechanism to choose the best route. Routing protocols use two variables, administrative distance and the metric, to discover the best route.
Administrative distance has nothing to do with distance, as the name implies. Administrative distance is used to rate the validity of routes discovered by a particular routing protocol and is only used when there are multiple routing protocols in use on the network. Consider a network that is running both Routing Information Protocol (RIP) and EIGRP. Both routing protocols discover different routes to the same network. Which route should the router use? The router will use the route advertised by the routing protocol with the lowest administrative distance; EIGRP, in this case. See Table A for a list of routing protocols and their default administrative distances.
|Route source||Default distance|
|Enhanced IGRP summary route||5|
|Internal Enhanced IGRP||90|
|External Enhanced IGRP||170|
When there are multiple routes to the same destination with the same administrative distance, the metric is used as a mechanism to discover the best route. Each routing protocol has its own way of finding the best route based on its metric or metrics. RIP, for example, defines the best route as being the route with the least amount of hops; however, EIGRP uses a formula that takes into account the delay, bandwidth, and many other metrics. To understand the importance of metrics, consider the network in Figure C. Router A can reach network C via 192.168.2.2 or 192.168.6.2.
|The use of metrics allows router A to discover which route to network C is best.|
RIP will choose the next hop address of 192.168.6.2 to reach network C; however, EIGRP would choose 192.168.2.2 as the next hop for network C. Each protocol would choose a different path because of the differences in how they use metrics to calculate the best route. Below is a list of commonly used metrics used by routing protocols to dynamically discover the best route.
- Hop count: The hop count is simply the number of routers that a packet must traverse to reach the destination network. Each time a router advertises a network number, it also lists the number of hops away the network is from the advertising router. For example, router B will advertise network 192.168.5.0 with a hop count of 1 and will advertise network 192.168.3.0 with a hop count of 0. When router A receives the update, it will increment all the hop counts by 1. Router A will record in the routing table that network 192.168.5.0 is two hops away and that the next hop is 192.168.2.2.
- Bandwidth: The bandwidth parameter is simply the bandwidth supported by a link between two routers. Bandwidth by itself is not a very good metric because it does not take into account the delay introduced for a link or the load on a particular link. The fastest link is not the best if the circuit is constantly at saturation limits (Load) or if the router at the other end of the link is too busy to accept additional packets (Delay).
- Delay: The delay identifies the amount of time it takes a packet to traverse a path from start to finish. The delay includes not only the transmission speed of the media but also the latency introduced at each router along the path. Delay sometimes may not be calculated but instead will be the combination of static numbers based on the interfaces used along the path. Ethernet interfaces, for example, would be considered to have a lower delay than an ISDN interface.
- Load: The load metric describes the percentage of bandwidth that is currently used on the circuits along the route. Load is normally displayed as a fractional percentage of 255. For example, a 50 percent load would be displayed as 128/255.
- Reliability: The reliability metric describes how reliable a link is, based on past performance of the link as well as the current number of errors a link has had in a specified amount of time. The network administrator can also statically configure the reliability metric.
- Cost: Cost is a generic term used to describe a particular route. The route with the lowest cost is generally the route used. EIGRP, OSPF, and IGRP, for example, all use the bandwidth, delay, and load metrics. Each metric is used as a variable within an algorithm (formula) in order to figure the cost associated with the route. This is the formula used by IGRP to calculate the cost:
+K3*DELAY] * K5/(RELIABILITY + K4)
Metric = cost
Caution: The terms metric and cost are used interchangeably.
There are two types of routing information updates: the periodic update and the triggered update. Each routing protocol performs updates differently from others; however, all routing protocols can be categorized as performing periodic updates or triggered updates.
The periodic update is performed once in each configured time span (update interval), regardless of network status. The default update interval can vary from 10 seconds to 90 seconds or more, depending on the routing protocol and the configuration. The update interval can usually be changed. Typically, the update contains the entire routing table of the advertising router.
Periodic updates are sent every interval, even if nothing on the network has changed. When a router detects a change on the network, it will wait until the next update interval before sending the changed information. Legacy distance vector protocols use periodic updates as their update method. To prevent the wasteful use of bandwidth for unneeded updates and to speed the detection of changes on the network, more modern routing protocols use triggered updates.
Unlike periodic updates, triggered updates are sent only when a change is detected on the network and only the changed information is sent, not the entire routing table. The use of triggered updates and the process of only sending information regarding the change instead of the entire routing table better utilizes available network bandwidth, as well as optimizing router processor use. Triggered updates also allow routers to learn of new changes faster, since updates are sent out as soon as a change is detected, allowing for faster convergence. Link state protocols typically use triggered updates as their update method.
Convergence is a term used to describe a network in which all routers within the internetwork are aware of all other networks and have routes to each network. For example, in Figure B, when routers A, B, and C are all aware of every network and the path to each network, we say that the network has converged. Convergence time is the amount of time it takes for all routers to learn the entire internetwork or learn of a change on the network. Convergence time is very important to network engineers because it describes the amount of time it will take for the network to recover from a failure.
Dynamic routing protocols allow routers to automatically discover each connected network and adapt to changes in the internetwork topology. These protocols are used to free the administrator from entering multitudes of static routes for traffic flow and fault tolerance; however, the use of routing protocols is not without cost. Dynamic protocols use bandwidth and processor time on each router and the amount of bandwidth and processor time should be understood during capacity planning.