Cisco Systems


 


 

Modules:  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  |  9  |  10  |  11  |  CS  |  All  |
Module 7: Distance Vector Routing Protocols
Module Overview  
7.1 Distance Vector Routing
 
7.1.1 Distance vector routing updates
7.1.2 Distance vector routing loop issues
7.1.3 Defining a maximum count
7.1.4 Eliminating routing loops through split horizon
7.1.5 Route poisoning
7.1.6 Avoiding routing loops with triggered updates
7.1.7 Preventing routing loops with holddown timers
 
7.2 RIP
 
7.2.1 RIP routing process
7.2.2 Configuring RIP
7.2.3 Using the ip classless command
7.2.4 Common RIP configuration issues
7.2.5 Verifying RIP configuration
7.2.6 Troubleshooting RIP update issues
7.2.7 Preventing routing updates through an interface
7.2.8 Load balancing with RIP
7.2.9 Load balancing across multiple paths
7.2.10 Integrating static routes with RIP
 
7.3 IGRP
 
7.3.1 IGRP features
7.3.2 IGRP metrics
7.3.3 IGRP routes
7.3.4 IGRP stability features
7.3.5 Configuring IGRP
7.3.6 Migrating RIP to IGRP
7.3.7 Verifying IGRP configuration
7.3.8 Troubleshooting IGRP
 
Module  Summary  
Module Quiz

 

 
Close Window
All contents copyright © 2003 Cisco Systems, Inc. All rights reserved.

 

Overview
 
Dynamic routing protocols can help simplify the life of a network administrator. Dynamic routing makes it possible to avoid the time-consuming and exacting process of configuring static routes. Dynamic routing also makes it possible for routers to react to changes in the network and to adjust their routing tables accordingly, without the intervention of the network administrator. However, dynamic routing can cause problems. Some of the problems associated with dynamic distance vector routing protocols are discussed in this module, along with some of the steps that designers of the protocols have taken to solve the problems.

Routing Information Protocol (RIP) is a distance vector routing protocol that is used in thousands of networks throughout the world. The fact that RIP is based on open standards and is very simple to implement makes it attractive to some network administrators, although RIP lacks the power and features of more advanced routing protocols. Because of its simplicity, RIP is a good beginning protocol for the networking student. This module also introduce RIP configuration and troubleshooting.

Like RIP, Interior Gateway Routing Protocol (IGRP) is a distance vector routing protocol. Unlike RIP, IGRP is a Cisco-proprietary protocol rather than a standards-based protocol. While remaining very simple to implement, IGRP is a more complex routing protocol than RIP and it is able to use a number of factors to determine the best route to a destination network. This module will introduce IGRP configuration and troubleshooting.

Students completing this module should be able to:

  • Describe how routing loops can occur in distance vector routing
  • Describe several methods used by distance vector routing protocols to ensure that routing information is accurate
  • Configure RIP
  • Use the ip classless command
  • Troubleshoot RIP
  • Configure RIP for load balancing
  • Configure static routes for RIP
  • Verify RIP
  • Configure IGRP
  • Verify IGRP operation
  • Troubleshoot IGRP

 

7.1 Distance Vector Routing  
  7.1.1 Distance vector routing updates  
  Routing table updates occur periodically or when the topology in a distance vector protocol network changes. It is important that a routing protocol be efficient in updating the routing tables. As with the network discovery process, topology change updates proceed systematically from router to router. Distance vector algorithms call for each router to send its entire routing table to each of its adjacent neighbors. The routing tables include information about the total path cost as defined by the metrics and the logical address of the first router on the path to each network contained in the table.
  Web Links

Dynamic Routing

http://cisn.metu.edu.tr/2001-3/ dynamic.php

 

7.1 Distance Vector Routing  
  7.1.2 Distance vector routing loop issues  
  Routing loops can occur when inconsistent routing tables are not updated due to slow convergence in a changing network.
  1. Just before the failure of Network 1, all routers have consistent knowledge and correct routing tables. The network is said to have converged. Assume for the remainder of this example that Router C's preferred path to Network 1 is by way of Router B, and the distance from Router C to Network 1 is 3.
  2. When Network 1 fails, Router E sends an update to Router A. Router A stops routing packets to Network 1, but Routers B, C, and D continue to do so because they have not yet been informed of the failure. When Router A sends out its update, Routers B and D stop routing to Network 1. However, Router C has not received an update. To Router C, Network 1 is still reachable via Router B.
  3. Now Router C sends a periodic update to Router D, indicating a path to Network 1 by way of Router B. Router D changes its routing table to reflect this good, but incorrect, information, and propagates the information to Router A. Router A propagates the information to Routers B and E, and so on. Any packet destined for Network 1 will now loop from Router C to B to A to D and back to again to C.
  Web Links

Distance Vector Protocols

http://www.mcpprep.com/ WebHelp/ccna/ ccna_obj_42.htm

 

7.1 Distance Vector Routing  
  7.1.3 Defining a maximum count  
  The invalid updates of Network 1 will continue to loop until some other process stops the looping. This condition, called count to infinity, loops packets continuously around the network in spite of the fundamental fact that the destination network, Network 1, is down. While the routers are counting to infinity, the invalid information allows a routing loop to exist.

Without countermeasures to stop the count to infinity process, the distance vector metric of hop count increments each time the packet passes through another router. These packets loop through the network because of wrong information in the routing tables.

Distance vector routing algorithms are self-correcting, but a routing loop problem can require a count to infinity. To avoid this prolonged problem, distance vector protocols define infinity as a specific maximum number. This number refers to a routing metric which may simply be the hop count.

With this approach, the routing protocol permits the routing loop to continue until the metric exceeds its maximum allowed value. The graphic shows the metric value as 16 hops. This exceeds the distance vector default maximum of 15 hops so the packet is discarded by the router. In any case, when the metric value exceeds the maximum value, Network 1 is considered unreachable.

  Web Links

Avoiding Counting To Infinity In Distance Vector Routing

http://www.uni-koblenz.de/~steigner/ labor/papers/ ripmti.pdf

 

7.1 Distance Vector Routing  
  7.1.4 Elimination routing loops through split horizon  
  Another possible source for a routing loop occurs when incorrect information that has been sent back to a router contradicts the correct information that the router originally distributed. Here is how this problem occurs:
  1. Router A passes an update to Router B and Router D, indicating that Network 1 is down. Router C, however, transmits an update to Router B, indicating that Network 1 is available at a distance of 4, by way of Router D. This does not violate split-horizon rules.
  2. Router B concludes, incorrectly, that Router C still has a valid path to Network 1, although at a much less favorable metric. Router B sends an update to Router A advising Router A of the new route to Network 1.
  3. Router A now determines that it can send to Network 1 by way of Router B; Router B determines that it can send to Network 1 by way of Router C; and Router C determines that it can send to Network 1 by way of Router D. Any packet introduced into this environment will loop between routers.
  4. Split-horizon attempts to avoid this situation. If a routing update about Network 1 arrives from Router A, Router B or Router D cannot send information about Network 1 back to Router A. Split-horizon thus reduces incorrect routing information and reduces routing overhead.
  Web Links

Configuring RIP

http://www.cisco.com/en/US/products/sw/ iosswrel/ps1831/products_configuration_guide_ chapter09186a00800d97f7.html#xtocid20

                                                 

7.1 Distance Vector Routing  
  7.1.5 Route poisoning  
  Route poisoning is used by various distance vector protocols in order to overcome large routing loops and offer explicit information when a subnet or network is not accessible. This is usually accomplished by setting the hop count to one more than the maximum.

One way to avoid inconsistent updates is route poisoning. When Network 5 goes down, Router E initiates route poisoning by making a table entry for Network 5 as 16, or unreachable. By this poisoning of the route to Network 5, Router C is not susceptible to incorrect updates about the route to Network 5. When Router C receives a router poisoning from Router E, it sends an update, called a poison reverse, back to Router E. This makes sure all routes on the segment have received the poisoned route information.

When route poisoning is used with triggered updates it will speed up convergence time because neighboring routers do not have to wait 30 seconds before advertising the poisoned route.

Route poisoning causes a routing protocol to advertise infinite-metric routes for a failed route. Route poisoning does not break split horizon rules. Split horizon with poison reverse is essentially route poisoning, but specifically placed on links that split horizon would not normally allow routing information to flow across. In either case, the result is that failed routes are advertised with infinite metrics.

  Web Links

Route Poisoning

http://www.firewall.cx/distance_vector.php

 

7.1 Distance Vector Routing  
  7.1.6 Avoiding routing loops with triggered updates  
  New routing tables are sent to neighboring routers on a regular basis. For example, RIP updates occur every 30 seconds. However a triggered update is sent immediately in response to some change in the routing table. The router that detects a topology change immediately sends an update message to adjacent routers that, in turn, generate triggered updates notifying their adjacent neighbors of the change. When a route fails, an update is sent immediately rather than waiting on the update timer to expire. Triggered updates, used in conjunction with route poisoning, ensure that all routers know of failed routes before any holddown timers can expire.

Triggered updates go ahead and send updates because routing information has changed not waiting for the timer to expire. The router sends another routing update on its other interfaces rather than waiting on the routing update timer to expire. This causes the information about the status of the route that has changed, to be forwarded and starts the holddown timers more rapidly on the neighboring routers. The wave of updates propagates throughout the network.

Issuing a triggered update Router C announces that network 10.4.0.0 is unreachable. Upon receipt of this information, Router B announces through interface S0/1 that network 10.4.0.0 is down. In turn, Router A sends an update out interface Fa0/0.

  Web Links

Sending Triggered Updates

http://www.cisco.com/en/US/tech/ tk365/tk554/ technologies_ configuration_ example09186a00800948a1.shtml

http://www.cisco.com/univercd/cc/ td/doc/product/ software /ios120/120newft/ 120t/120t1/ trigrip.htm

 

7.1 Distance Vector Routing  
  7.1.7 Preventing routing loops with holddown timers  
  A count to infinity problem can be avoided by using holddown timers:
  • When a router receives an update from a neighbor indicating that a previously accessible network is now inaccessible, the router marks the route as inaccessible and starts a holddown timer. If at any time before the holddown timer expires an update is received from the same neighbor indicating that the network is again accessible, the router marks the network as accessible and removes the holddown timer.
  • If an update arrives from a different neighboring router with a better metric than originally recorded for the network, the router marks the network as accessible and removes the holddown timer.
  • If at any time before the holddown timer expires an update is received from a different neighboring router with a poorer metric, the update is ignored. Ignoring an update with a poorer metric when a holddown timer is in effect allows more time for the knowledge of a disruptive change to propagate through the entire network.
  Web Links

Holddown

http://www.cs.berkeley.edu/~kfall/ EE122/lec16/ sld035.htm

 

7.2 RIP  
  7.2.1 RIP routing process  
  The modern open standard version of RIP, sometimes referred to as IP RIP, is formally detailed in two separate documents. The first is known as Request for Comments (RFC) 1058 and the other as Internet Standard (STD) 56.

RIP has evolved over the years from a Classful Routing Protocol, RIP Version 1 (RIP v1), to a Classless Routing Protocol, RIP Version 2 (RIP v2). RIP v2 enhancements include:

  • Ability to carry additional packet routing information.
  • Authentication mechanism to secure table updates.
  • Supports variable length subnet masking (VLSM).

RIP prevents routing loops from continuing indefinitely by implementing a limit on the number of hops allowed in a path from the source to a destination. The maximum number of hops in a path is 15. When a router receives a routing update that contains a new or changed entry, the metric value is increased by 1 to account for itself as a hop in the path. If this causes the metric to be incremented beyond 15, it is considered to be infinity and the network destination is considered unreachable. RIP includes a number of features that are common in other routing protocols. For example, RIP implements split horizon and holddown mechanisms to prevent incorrect routing information from being propagated.

  Web Links

Configuring RIP

http://www.cisco.com/en/US/products/sw/ iosswrel/ps1831/products_configuration_guide_ chapter09186a00800d97f7.html#xtocid1

 

7.2 RIP  
  7.2.2 Configuring RIP  
  The router rip command enables RIP as the routing protocol. The network command is then used to tell the router on which interfaces to run RIP. The routing process then associates specific interfaces with the network addresses and begins sending and receiving RIP updates on these interfaces.

RIP sends routing-update messages at regular intervals. When a router receives a routing update that includes changes to an entry, it updates its routing table to reflect the new route. The received metric value for the path is increased by 1, and the source interface of the update is indicated as the next hop in the routing table. RIP routers maintain only the best route to a destination but can maintain multiple equal-cost paths to the destination.

A router running RIP can be configured to send a triggered update when the network topology changes using the
ip rip triggered command. This command is issued only on serial interfaces at the router(config-if)# prompt. After updating its routing table due to a configuration change, the router immediately begins transmitting routing updates in order to inform other network routers of the change. These updates, called triggered updates, are sent independently of the regularly scheduled updates that RIP routers forward. For example, the descriptions for the commands used to configure router BHM shown in the figure are as follows:

  • BHM(config)#router rip – Selects RIP as the routing protocol
  • BHM(config-router)#network 10.0.0.0 – Specifies a directly connected network
  • BHM(config-router)#network 192.168.13.0 – Specifies a directly connected network

The Cisco router interfaces that are connected to networks 10.0.0.0 and 192.168.13.0 send and receive RIP updates. These routing updates allow the router to learn the network topology from neighboring router also running RIP.

RIP must be enabled and the networks specified. The remaining tasks are optional. Among these optional tasks are:

  • Applying offsets to routing metrics
  • Adjusting timers
  • Specifying a RIP version
  • Enabling RIP authentication
  • Configuring route summarization on an interface
  • Verifying IP route summarization
  • Disabling automatic route summarization
  • Running IGRP and RIP concurrently
  • Disabling the validation of source IP addresses
  • Enabling or disabling split horizon
  • Connecting RIP to a WAN

To enable RIP, use the following commands beginning in global configuration mode:

  • Router(config)#router rip – Enables the RIP routing process
  • Router(config-router)#network network-number – Associates a network with the RIP routing process
  Lab Activity

Lab Exercise: Configuring RIP

This lab is to setup an IP addressing scheme using class B networks and configure the RIP dynamic routing protocol on routers.

 

 

  Lab Activity

e-Lab Activity: RIP

In this lab, the students will take a look at the router topology before starting the lab.

 

  Web Links

Configuring RIP

http://www.cisco.com/en/US/products/sw/
iosswrel/ps1831/ products_configuration_guide_
chapter09186a00800d97f7.html#xtocid2

 

7.2 RIP  
  7.2.3 Using the ip classless command  
  Sometimes a router receives packets destined for an unknown subnet of a network that has directly connected subnets. In order for the Cisco IOS software to forward these packets to the best supernet route possible, use the ip classless global configuration command. A supernet route is a route that covers a greater range of subnets with a single entry. For example, an enterprise uses the entire subnet 10.10.0.0 /16, then a supernet route for 10.10.10.0 /24 would be 10.10.0.0 /16. The ip classless command is enabled by default in Cisco IOS Software Release 11.3 and later. To disable this feature, use the no form of this command.

When this feature is disabled any packets received that are destined for a subnet that numerically falls within the router’s subnetwork addressing scheme will be discarded.

IP classless only affects the operation of the forwarding processes in IOS. IP classless does not affect the way the routing table is built. This is the essence of classful routing. If one part of a major network is known, but the subnet toward which the packet is destined within that major network is unknown, the packet is dropped.

The most confusing aspect of this rule is that the router only uses the default route if the major network destination does not exist in the routing table. A router by default assumes that all subnets of a directly connected network should be present in the routing table. If a packet is received with an unknown destination address within an unknown subnet of a directly attached network, the router assumes that the subnet does not exist. So the router will drop the packet even if there is a default route. Configuring ip classless on the router resolves this problem by allowing the router to ignore the classful boundaries of the networks in its routing table and simply route to the default route.

  Lab Activity

e-Lab Activity: Using Classless IP Routing

In this lab, the student will configure the router to use classless routing when forwarding packets.

 

 

  Web Links

ip classless Global Configuration Command

http://www.cisco.com/en/US/products/sw/ iosswrel/ps1835/ products_command_reference_ chapter09186a0080087387.html#1018036

 

7.2 RIP  
  7.2.4 Common RIP configuration issues  
  RIP routers must rely on neighboring routers for network information that is not known first hand. A common term used to describe this functionality is Routing By Rumor. RIP uses a distance vector routing algorithm. All distance vector routing protocols have issues that are primarily created by slow convergence. Convergence is when all routers in the same internetwork have the same routing information.

Among these issues are routing loops and counting to infinity. These result in inconsistencies due to routing update messages with out of date routes being propagated around the internetwork.

To reduce routing loops and counting to infinity, RIP uses the following techniques:

  • Count-to-infinity
  • Split horizon
  • Poison reverse
  • Holddown counters
  • Triggered updates

Some of these methods may require some configuration, while others do not require or rarely require configuration.

RIP permits a maximum hop count of 15. Any destination greater that 15 hops away is tagged as unreachable. RIP’s maximum hop count greatly restricts its use in large internetworks but prevents a problem called “counting to infinity” from causing endless network routing loops.

The split horizon rule is based on the theory that it is not useful to send information about a route back in the direction from which it came. In some network configurations, it may be necessary to disable split horizon.

The following command is used to disable split horizon:

GAD(config-if)#no ip split-horizon

The holddown timer is another mechanism that may need some changes. Holddown timers help prevent counting to infinity but also increase convergence time. The default holddown for RIP is 180 seconds. This will prevent any inferior route from being updated but may also prevent a valid alternative route from being installed. The holddown timer can be decreased to speed up convergence but should be done with caution. The ideal setting would be to set the timer just longer that the longest possible update time for the internetwork. In the example in Figure , the loop consists of four routers. If each router has an update time of 30 seconds, the longest loop would be 120 seconds. Therefore, the holddown timer should be set to slightly more than 120 seconds.

To change the holddown timer:

Router(config-router)#timers basic update invalid holddown flush [sleeptime]

One additional item that affects convergence time, and is configurable, is the update interval. The default RIP update interval in Cisco IOS is 30 seconds. This can be configured for longer intervals to conserve bandwidth, or for shorter intervals to decrease convergence time.

To change the update internal:

GAD(config-router)#update-timer seconds

Another issue with routing protocols is the unwanted advertisement of routing updates out a particular interface. When a network command is issued for a given network, RIP will immediately begin sending advertisements out all interfaces within the specified network address range. To control the set of interfaces that will exchange routing updates, the network administrator can disable the sending of routing updates on specified interfaces by configuring the passive-interface command.

Because RIP is a broadcast protocol, the network administrator may have to configure RIP to exchange routing information in a non-broadcast network such as Frame Relay. In this type of network, RIP needs to be told of other neighboring RIP routers. To do this use the command displayed in Figure .

By default, the Cisco IOS software receives RIP Version 1 and Version 2 packets, but sends only Version 1 packets. The network administrator can configure the router to only receive and send Version 1 packets or the administrator can configure the router to send only Version 2 packets. To configure the router to send and receive packets from only one version, use the commands in Figure .

To control how packets received from an interface are processed, use the commands in Figure .

  Web Links

Configuring RIP

http://www.cisco.com/en/US/products/sw/ iosswrel/ps1831/ products_configuration_guide_ chapter09186a00800d97f7.html#xtocid1

 

7.2 RIP  
  7.2.5 Verifying RIP configuration  
  There are several commands that can be used to verify that RIP is properly configured. Two of the most common are the show ip route command and the show ip protocols command.

The show ip protocols command shows which routing protocols are carrying IP traffic on the router. This output can be used to verify most if not all of the RIP configuration. Some of the most common configuration items to verify are:

  • RIP routing is configured
  • The correct interfaces are sending and receiving RIP updates
  • The router is advertising the correct networks

The show ip route command can be used to verify that routes received by RIP neighbors are installed in the routing table. Examine the output of the command and look for RIP routes signified by "R". Remember that the network will take some time to converge so the routes may not appear immediately.

Additional commands to check RIP configuration are as follows:

  • show interface interface
  • show ip interface interface
  • show running-config
  Lab Activity

e-Lab Activity: Verifying RIP Configuration

This lab is to use IOS show commands to verify the operation of a router running RIP.

 

  Web Links

Configuring RIP

http://www.cisco.com/en/US/products/sw/ iosswrel/ps1831/ products_configuration_guide_ chapter09186a00800d97f7.html#xtocid1

 

7.2 RIP  
  7.2.6 Troubleshooting RIP update issues  
  Most of the RIP configuration errors involve an incorrect network statement, discontiguous subnets, or split horizons. One highly effective command for finding RIP update issues is the debug ip rip command.

The debug ip rip command displays RIP routing updates as they are sent and received. The example in Figure shows the output from a router using the debug ip rip command after receiving a RIP update. After receiving and processing the update, the router sends the newly updated information out its two RIP interfaces. The output shows the router is using RIP version 1 and broadcasts the update (broadcast address 255.255.255.255). The number in parenthesis represents the source address encapsulated into the IP header of the RIP update.

There are several key indicators to look for in the output of the debug ip rip command. Problems such as discontiguous subnetworks or duplicate networks can be diagnosed with this command. A symptom of these issues would be a router advertising a route with a metric that is less than the metric it received for that network.

Other commands to troubleshoot RIP:

  • show ip rip database
  • show ip protocols {summary}
  • show ip route
  • debug ip rip {events}
  • show ip interface brief
  Lab Activity

Lab Exercise: Troubleshooting RIP

This lab is to set up an IP addressing scheme using class B networks.

 

  Lab Activity

e-Lab Activity: Troubleshooting RIP Update Issues

This lab is  to perform a basic configuration of the router Pretoria.

 

  Lab Activity

e-Lab Activity: Troubleshooting RIP

In this lab, the students will be troubleshooting the Routing Information Protocol on the routers Gadsen and Birmingham.

 

  Web Links

Configuring RIP

http://www.cisco.com/en/US/products/sw/
iosswrel/ps1831/ products_configuration_guide_
chapter09186a00800d97f7.html#xtocid1

 

7.2 RIP  
  7.2.7 Preventing routing updates through an interface  
  Route filtering works by regulating the routes that are entered into or advertised out of a route table. These have different effects on link-state routing protocols than they do on distance vector protocols. A router running a distance vector protocol advertises routes based on what is in its route table. As a result, a route filter influences which routes the router advertises to its neighbors.

On the other hand, routers running link state protocols determine routes based on information in the link-state database, rather than the neighboring router advertised route entries. Route filters have no effect on link-state advertisements or the link-state database. For this reason, the information in this document only applies to distance vector IP Routing Protocols such as Routing Information Protocol (RIP), and Interior Gateway Routing Protocol (IGRP).

Using the passive interface command can prevent routers from sending routing updates through a router interface. Keeping routing update messages from being sent through a router interface prevents other systems on that network from learning about routes dynamically. Router E uses the command to keep routing updates from being sent.

For RIP and IGRP, the passive interface command stops the router from sending updates to a particular neighbor, but the router continues to listen and use routing updates from that neighbor. Keeping routing update messages from being sent through a router interface prevents other systems on the interface from learning about routes dynamically.

  Lab Activity

Lab Exercise: Preventing Routing Updates Through an Interface

This lab is to prevent routing updates through an interface to regulate advertised routes.

    

  Lab Activity

e-Lab Activity: Preventing Routing Updates through an Interface

In this lab, the students will learn to prevent routing updates through an interface to regulate advertised routes and observe the results.

 

7.2 RIP  
  7.2.8 Load balancing with RIP  
  Load balancing is a concept that allows a router to take advantage of multiple best paths to a given destination. These paths are either statically defined by a network administrator or calculated by a dynamic routing protocol such as RIP.

RIP is capable of load balancing over as many as six equal-cost paths, with four paths being default. RIP performs what is referred to as “round robin” load balancing. This means that RIP takes turns forwarding packets over the parallel paths.

Figure shows an example of RIP routes with four equal cost paths. The router will start with an interface pointer to the interface connected to router 1. Then the interface pointer cycles through the interfaces and routes in a deterministic fashion such as 1-2-3-4-1-2-3-4-1 and so on. Because the metric for RIP is hop count, no regard is given to the speed of the links. Therefore, the 56 Kbps path will be given the same preference as the 155 Mbps path.

Equal cost routes can be found by using the show ip route command. For example, Figure is a display of the output show ip route to a particular subnet with multiple routes.

Notice there are two routing descriptor blocks. Each block is one route. There is also an asterisk (*) next to one of the block entries. This corresponds to the active route that is used for new traffic.

 

7.2 RIP  
  7.2.9 Load balancing across multiple paths  
  Load-balancing describes the ability of a router to transmit packets to a destination IP address over more than one path. Load balancing is a concept that allows a router to take advantage of multiple best paths to a given destination. The paths are derived either statically or with dynamic protocols, such as RIP, EIGRP, OSPF, and IGRP.

When a router learns multiple routes to a specific network, the route with the lowest administrative distance is installed in the routing table. Sometimes the router must select a route from among many, learned via the same routing process with the same administrative distance. In this case, the router chooses the path with the lowest cost or metric to the destination. Each routing process calculates its cost differently and the costs may need to be manually configured in order to achieve load balancing.

If the router receives and installs multiple paths with the same administrative distance and cost to a destination, load-balancing can occur. There can be up to six equal cost routes (a limit imposed by Cisco IOS on the routing table), but some Interior Gateway Protocols (IGPs) have their own limitation. EIGRP allows up to four equal cost routes.

By default, most IP routing protocols install a maximum of four parallel routes in a routing table. Static routes always install six routes. The exception is BGP, which by default allows only one path to a destination.

The range of maximum paths is one to six paths. To change the maximum number of parallel paths allowed, use the following command in router configuration mode:

Router(config-router)#maximum-paths [number]

IGRP can load balance up to six unequal links. RIP networks must have the same hop count to load balance, whereas IGRP uses bandwidth to determine how to load balance.

Three ways to get to Network X:

  • E to B to A with a metric of 30
  • E to C to A with a metric of 20
  • E to D to A with a metric of 45

Router E chooses the second path above, E-C-A with a metric of 20 as it is a lower cost than 30 and 45.

When routing IP, the Cisco IOS offers two methods of load balancing, per-packet and per-destination load balancing. If process switching is enabled, the router will alternate paths on a per-packet basis. If fast switching is enabled, only one of the alternate routes will be cached for the destination address, so all packets in the packet stream bound for a specific host will take the same path. Packets bound for a different host on the same network may use an alternate route, traffic is load balanced on a per-destination basis.

  Lab Activity

Lab Exercise: Load Balancing Across Multiple Paths

This lab is to configure Load balance across multiple paths.

 

  Lab Activity

e-Lab Activity: Load Balancing Across Multiple Paths

In this lab, the students will load balance across multiple paths and observe load balancing.

 

  Interactive Media Activity

Drag and Drop: Administrative Distances

After completing this activity, the student will be able to administrative distances.

 

  Web Links

How Does Load Balancing Work?

http://www.cisco.com/en/US/tech/ tk826/tk365/
technologies_tech_note09186a0080094820.shtml

 

7.2 RIP  
  7.2.10 Integrating static routes with RIP  
  Static routes are user-defined routes that force packets moving between a source and a destination to take a specific path. Static routes become very important if the Cisco IOS software does not learn a route to a particular destination. They are also useful for specifying a “gateway of last resort”, commonly referred to as a default route. If a packet is destined for a subnet that is not explicitly listed in the routing table, the packet is forwarded to the default route.

A router running RIP can receive a default route via an update from another router running RIP. Another option is for the router to generate the default route itself.

The static routes can be removed using the no ip route global configuration command. The administrator can override a static route with dynamic routing information by adjusting the administrative distance values. Each dynamic routing protocol has a default administrative distance (AD). A static route can be defined as less desirable than a dynamically learned route, as long as the AD of the static route is higher than that of the dynamic route.

Static routes that point out an interface will be advertised via the RIP router that owns the static route, and propagated throughout the internetwork. This is because static routes that point to an interface are considered in the routing table to be connected and thus lose their static nature in the update. If a static route is assigned to an interface that is not defined in the RIP process, via a network command, RIP will not advertise the route unless a redistribute static command is specified in the RIP process.

When an interface goes down, all static routes pointing out that interface are removed from the IP routing table. Likewise, when the software can no longer find a valid next hop for the address specified in the static route, then the static route is removed from the IP routing table.

In Figure a static route has been configured on the GAD router to take the place of the RIP route in the event that the RIP routing process fails. This is referred to as a floating static route. The floating static route was configured by defining an AD on the static route (130) greater than the default AD of RIP (120). The BHM router would also need to be configured with a default route.

To configure a static route, use the Figure command in global configuration mode.

 

  Lab Activity

e-Lab Activity: Integrating Static Routes with RIP

In this lab, the students will enable RIP to propagate static routes.

 

 

        

7.3 IGRP  
  7.3.1 IGRP features  
  IGRP is a distance vector Interior Gateway Protocol (IGP). Distance vector routing protocols mathematically compare routes by measuring distances. This measurement is known as the distance vector. Routers using distance vector protocols must send all or a portion of their routing table in a routing update message at regular intervals to each of their neighboring routers. As routing information spreads throughout the network, routers perform the following functions:
  • Identify new destinations
  • Learn of failures

IGRP is a distance vector routing protocol developed by Cisco. IGRP sends routing updates at 90 second intervals, advertising networks for a particular autonomous system. Key design characteristics of IGRP are a follows:

  • The versatility to automatically handle indefinite, complex topologies
  • The flexibility needed to segment with different bandwidth and delay characteristics
  • Scalability for functioning in very large networks

By default, the IGRP routing protocol uses bandwidth and delay as metrics. Additionally, IGRP can be configured to use a combination of variables to determine a composite metric. Those variables include:

  • Bandwidth
  • Delay
  • Load
  • Reliability
  Interactive Media Activity

Checkbox: RIP versus IGRP

After completing this activity, the student will be able to understand RIP and IGRP.

 

 

  Web Links

Specifying a Next Hop IP Address for Static Routes

http://www.cisco.com/en/US/tech/tk826/ tk365/technologies_tech_ note09186a00800ef7b2.shtml

 

7.3 IGRP  
  7.3.2 IGRP metrics  
  The show ip protocols command displays parameters, filters, and network information concerning the routing protocols in use on the router. The algorithm used to calculate the routing metric for IGRP is shown in the graphic. It defines the value of the K1-K5 metrics and provides information concerning the maximum hop count. The metric K1 represents bandwidth and the metric K3 represents delay. By default the values of the metrics K1 and K3 are set to 1, while K2, K4 and K5 are set to 0.

This composite metric is more accurate than the hop count metric that RIP uses when choosing a path to a destination. The path that has the smallest metric value is the best route.

The metrics that IGRP uses are:

  • Bandwidth – The lowest bandwidth value in the path
  • Delay – The cumulative interface delay along the path
  • Reliability – The reliability on the link towards the destination as determined by the exchange of keepalives
  • Load – The load on a link towards the destination based on bits per second
  • MTU – The Maximum Transmission Unit value of the path.

IGRP uses a composite metric. This metric is calculated as a function of bandwidth, delay, load, and reliability. By default, only bandwidth and delay are considered. The other parameters are considered only if enabled via configuration. Delay and bandwidth are not measured values, but are set via the delay and bandwidth interface commands. The show ip route command in the example shows the IGRP metric values in brackets. A link with a higher bandwidth will have a lower metric, and a route with a lower cumulative delay will have a lower metric.

  Web Links

Configuring IGRP

http://www.cisco.com/en/US/products/sw/ iosswrel/ps1831/ products_configuration_guide_ chapter09186a00800d97f6.html

 

7.3 IGRP  
  7.3.3 IGRP routes  
  IGRP advertises three types of routes:
  • Interior
  • System
  • Exterior

Interior
Interior routes are routes between subnets of a network attached to a router interface. If the network attached to a router is not subnetted, IGRP does not advertise interior routes.

System
System routes are routes to networks within an autonomous system. The Cisco IOS software derives system routes from directly connected network interfaces and system route information provided by other IGRP-speaking routers or access servers. System routes do not include subnet information.

Exterior
Exterior routes are routes to networks outside the autonomous system that are considered when identifying a gateway of last resort. The Cisco IOS software chooses a gateway of last resort from the list of exterior routes that IGRP provides. The software uses the gateway (router) of last resort if a better route is not found and the destination is not a connected network. If the autonomous system has more than one connection to an external network, different routers can choose different exterior routers as the gateway of last resort.

  Interactive Media Activity

Checkbox: IGRP Routes

After completing this activity, the student will be able to understand IGRP routes.

 

  Web Links

Interior Gateway Protocol - IGRP

http://www.firewall.cx/ index.php?c=igrp

 

7.3 IGRP  
  7.3.4 IGRP stability features  
  IGRP has a number of features that are designed to enhance its stability, such as:
  • Holddowns
  • Split horizons
  • Poison reverse updates

Holddowns
Holddowns are used to prevent regular update messages from inappropriately reinstating a route that may not be up. When a router goes down, neighboring routers detect this via the lack of regularly scheduled update messages.

Split horizons
Split horizons are derived from the premise that it is usually not useful to send information about a route back in the direction from which it came. The split horizon rule helps prevent routing loops.

Poison reverse updates
Split horizons prevent routing loops between adjacent routers, but poison reverse updates are necessary to defeat larger routing loops. Generally speaking, increases in routing metrics indicate routing loops. Poison reverse updates then are sent to remove the route and place it in holddown. With IGRP, poison reverse updates are sent only if a route metric has increased by a factor of 1.1 or greater.

IGRP also maintains a number of timers and variables containing time intervals. These include an update timer, an invalid timer, a holddown timer, and a flush timer.

The update timer specifies how frequently routing update messages should be sent. The IGRP default for this variable is 90 seconds.

The invalid timer specifies how long a router should wait in the absence of routing-update messages about a specific route before declaring that route invalid. The IGRP default for this variable is three times the update period.

The holddown timer specifies the amount of time for which information about poorer routes is ignored. The IGRP default for this variable is three times the update timer period plus 10 seconds.

Finally, the flush timer indicates how much time should pass before a route is flushed from the routing table. The IGRP default is seven times the routing update timer.

Today, IGRP is showing its age, it lacks support for variable length subnet masks (VLSM). Rather than develop an IGRP version 2 to correct this problem, Cisco has built upon IGRP's legacy of success with Enhanced IGRP.

  Web Links

An Introduction to IGRP

http://www.cisco.com/en/US/tech/tk365/
tk352/technologies_white_paper09186a0
0800c8ae1.shtml

 

7.3 IGRP  
  7.3.5 Configuring IGRP  
  To configure the IGRP routing process, use the router igrp configuration command. To shut down an IGRP routing process, use the no form of this command.

RouterA(config)#router igrp as-number
RouterA(config)#no router igrp as-number

The Autonomous System number is one that identifies the IGRP process. It is also used to tag the routing information.

To specify a list of networks for IGRP routing processes, use the network router configuration command. To remove an entry, use the no form of the command.

Figure is an example of how to configure IGRP using AS 101.

  Lab Activity

Lab Exercise: Configuring IGRP

This lab is to setup an IP addressing scheme using class C networks.

 

  Lab Activity

e-Lab Activity: Configuring IGRP

In this lab, the students will learn to configure IGRP.

 

  Web Links

Configuring IGRP

http://www.cisco.com/en/US/products/sw/ iosswrel/ps1831/ products_configuration_guide_ chapter09186a00800d97f6.html

 

7.3 IGRP  
  7.3.6 Migrating RIP to IGRP  
  With the creation of IGRP in the early 1980s, Cisco Systems was the first company to solve the problems associated with using RIP to route datagrams between interior routers. IGRP determines the best path through the internetwork by examining the bandwidth and delay of the networks between routers. IGRP converges faster than RIP, thereby avoiding the routing loops caused by disagreement over the next routing hop to be taken. Further, IGRP does not share the hop count limitation of RIP. As a result of this and other improvements over RIP, IGRP enabled many large, complex, topologically diverse internetworks to be deployed.

These are the steps to follow to convert from RIP to IGRP.

  1. Verify existing routing protocol (RIP) on the routers to be converted.
  2. Configure IGRP on RouterA and RouterB
  3. Enter show ip protocols on RouterA and RouterB
  4. Enter show ip route on RouterA and RouterB
  Lab Activity

Lab Exercise: Default Routing with RIP and IGRP

This lab is to configure a default route and use RIP to propagate this default information to other routers.

 

  Lab Activity

e-Lab Activity: Configuring Default Routing with RIP and IGRP

In this lab, the students will configure a default route and use RIP to propagate this default information to other routers.

 

  Web Links

Configuring RIP

http://www.cisco.com/en/US/products/sw/ iosswrel/ps1831/ products_configuration_guide_ chapter09186a00800d97f7.html#xtocid13

 

7.3 IGRP  
  7.3.7 Verifying IGRP configuration  
  To verify that IGRP has been configured properly, enter the show ip route command and look for IGRP routes signified by an "I".

Additional commands for checking IGRP configuration are as follows:

  • show interface interface
  • show running-config
  • show running-config interface interface
  • show running-config | begin interface interface
  • show running-config | begin igrp
  • show ip protocols

To verify that the Ethernet interface is properly configured, enter the show interface fa0/0 command. Figure illustrates the output.

To see if IGRP is enabled on the router, enter the show ip protocols command. Figure illustrates the output.

The commands illustrated in Figures verify the network statements, IP addressing, and routing tables.

  Lab Activity

e-Lab Activity: Verifying IGRP Configuration

In this lab, the students will use IOS show commands to verify the operation of a router running IGRP.

 

  Lab Activity

e-Lab Activity: IGRP

In this lab, the students will set up dynamic routing between networks using IGRP.

 

  Web Links

Configuring IGRP

http://www.cisco.com/en/US/products/sw/ iosswrel/ps1831/ products_ onfiguration_guide_ chapter09186a00800d97f6.html

 

7.3 IGRP  
  7.3.8 Troubleshooting IGRP  
  Most IGRP configuration errors involve a mistyped network statement, discontiguous subnets, or an incorrect Autonomous System Number.

The following commands are useful when troubleshooting IGRP:

  • show ip protocols
  • show ip route
  • debug ip igrp events
  • debug ip igrp transactions
  • ping
  • traceroute

Figure illustrates output from debug ip igrp events command.

Figure illustrates output from debug ip igrp transactions command.

It is discovered that the wrong AS number was being used, correcting it results in the output in Figure .

  Lab Activity

Lab Exercise: Unequal Cost Load Balancing with IGRP

This lab is to observe unequal-cost load balancing and tune IGRP networks by using advanced debug commands.

 

 

  Web Links

Configuring IGRP

http://www.cisco.com/en/US/products/sw/ iosswrel/ps1831/ products_ onfiguration_guide_ chapter09186a00800d97f6.html

 

Summary
  An understanding of the following key points should have been achieved:
  • How routing information is maintained through distance vector protocols
  • How routing loops occur in distance vector
  • Defining a maximum to prevent count to infinity
  • Eliminating routing loops through split horizon
  • Route poisoning
  • Avoiding routing loops with triggered updates
  • Preventing routing loops with holddown timers
  • Preventing routing updates through an interface
  • Load balancing across multiple paths
  • RIP process
  • Configuring RIP
  • Using the ip classless command
  • Common RIP configuration issues
  • Load balancing with RIP
  • Integrating static routes with RIP
  • Verifying RIP configuration
  • IGRP features
  • IGRP metrics
  • IGRP routes
  • IGRP stability features
  • Configuring IGRP
  • Migrating RIP to IGRP
  • Verifying IGRP configuration
  • Troubleshooting IGRP