# Module 7

Distance Vector Routing Protocols
Version 3.1 1

Distance Vector Routing Updates
• Routing table updates occur periodically or when the topology in a distance vector protocol network changes. • 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.

Version 3.1

2

Distance Vector Routing Metric

Version 3.1

3

Convergence
• Convergence is the speed and ability of a group of internetworking devices running a specific routing protocol to agree on the topology of an internetwork after a change in that topology. A network has converged when all routers have consistent knowledge and correct routing tables. Routing loops can occur when inconsistent routing tables are not updated due to slow convergence in a changing network. If a network has not converged, the following are possible:
– Inconsistent routing tables – Inconsistent traffic forwarding – Routing loops

• • •

Version 3.1

4

Routing Loops
• Invalid updates will continue to loop until some process stops the looping. • This condition is called count to infinity. • Packets loop continuously around the network in spite of the fundamental fact that the destination network is down. • These packets loop through the network because of wrong information in the routing tables.

Version 3.1

5

Routing Loops
• To reduce routing loops and counting to infinity, RIP uses the following techniques:
– – – – – Count-to-infinity Split horizon Poison reverse Holddown counters Triggered updates

Version 3.1

6

Routing Loops – Count to Infinity
• Distance vector routing algorithms are self-correcting, but a routing loop problem can require a count to infinity. • When a routing table update is received by a router in a distance vector network, the hop count for the updated route is incremented by one. • 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. • To avoid this prolonged problem, distance vector protocols define infinity as a specific maximum number. • With this approach, the routing protocol permits the routing loop to continue until the metric exceeds its maximum allowed value.
Version 3.1 7

Routing Loops – 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. Split-horizon attempts to avoid this situation. If a routing update about a network arrives from a router, the router that receives the update cannot send information about that network back to the router that originally sent the update. Split-horizon thus reduces incorrect routing information and reduces routing overhead.

• •

Version 3.1

8

Routing Loops – Split-Horizon
• 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.

If router A receives an update from router D, it would not send that information back to router D.
9

Version 3.1

Routing Loops – 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. • Route poisoning accomplishes this by setting the hop count to one more than the maximum.

The maximum hop count for RIP is 15.

Version 3.1

10

Routing Table Updates
• New routing tables are sent to neighboring routers on a regular basis (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.

Version 3.1

11

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

Version 3.1

12

Holddown Timers
• 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.

Version 3.1

13

Holddown Timers
• 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.

Version 3.1

14

Holddown Timers
• The ideal setting would be to set the timer just longer that the longest possible update time for the internetwork.

Set the holddown timer for just over 120 second – example 126

Version 3.1

15

Holddown Timers
• 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

Version 3.1

16

Routing Information Protocol (RIP)
• • • • • RIP is a distance vector routing protocol Hop count is used as the metric for path selection If the hop count is greater than 15, the packet will be discarded By default, routing updates are broadcast every 30 seconds 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).

Version 3.1

17

Routing Information Protocol (RIP)
• 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.

Version 3.1

18

Routing Information Protocol (RIP)
• 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.

Version 3.1

19

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.

Version 3.1

20

Configuring RIP
• Router(config)#router rip
– Enables the RIP routing process

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

Version 3.1

21

Configuring RIP
How would a user configure RIP on the GAD router?

Version 3.1

22

ip classless Command
• In order for the Cisco IOS software to forward packets to the best supernet route possible, use the ip classless global configuration command. • If the router receives a packet for a subnet that does not have a default route and ip classless is enabled, it will forward the packet to the subnet via a supernet route. • 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.

Version 3.1

23

ip classless Command
• 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.
– no ip classless

• 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.

Version 3.1

24

passive-interface command
• 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.
– GAD(config-router)#passive-interface e0

Version 3.1

25

Verifying RIP
• There are several commands that can be used to verify that RIP is properly configured. • Two of the most common methods are:
– show ip route command – show ip protocols command.

Version 3.1

26

show ip protocols

Version 3.1

27

show ip route

Version 3.1

28

Troubleshooting RIP
• 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.

Shows activity as it occurs

Version 3.1

29

Troubleshooting RIP
• Other commands to troubleshoot RIP:
– – – – – show ip rip database show ip protocols {summary} show ip route debug ip rip {events} show ip interface brief

Version 3.1

30

Load Balancing with RIP
• Load balancing is a concept that allows a router to take advantage of multiple best paths to a given destination. • RIP is capable of load balancing over as many as six equalcost 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.
– 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.

Version 3.1

31

Load Balancing with RIP
• Because the metric for RIP is hop count, no regard is given to the speed of the links.

Version 3.1

32

Load Balancing with RIP
• Because the metric for RIP is hop count, no regard is given to the speed of the links.

Version 3.1

33

Load Balancing
• 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. • The router chooses the path with the lowest cost or metric to the destination.
34

Version 3.1

Load Balancing
• Each routing process calculates its cost differently and the costs may need to be manually configured in order to achieve load balancing. • RIP networks must have the same hop count to load balance, whereas IGRP uses bandwidth to determine how to load balance.

Version 3.1

35

Administrative Distance

Version 3.1

36

Load Balancing
• 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 perdestination basis.

Version 3.1

37

Static Routes
• Static routes are user-defined routes that force packets moving between a source and a destination to take a specific path. • They are useful for specifying a “gateway of last resort”, commonly referred to as a default route. • 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. • The syntax for configuring a static route is:
– ip route destination mask {interface / nexthop}

Version 3.1

38

Static Routes
• 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).

GAD(config)#ip route 172.16.0.0 255.255.0.0 192.168.14.2 130
Version 3.1 39

IGRP
• IGRP is a distance vector Interior Gateway Protocol (IGP). • Cisco created this routing protocol to overcome the problems associated with RIP. • IGRP converges faster than RIP • 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

Version 3.1

40

IGRP
• IGRP is a distance vector routing protocol developed by Cisco (it is a Cisco proprietary routing protocol). • IGRP sends routing updates at 90 second intervals, advertising networks for a particular autonomous system. • 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.
– – – – Bandwidth Delay Load Reliability A composite metric is more accurate than the hop count metric that RIP uses when choosing a path to a destination.

Version 3.1

41

IGRP
• The show ip protocols command displays parameters, filters, and network information concerning the routing protocols in use on the router.

Default is 100, max. is 255

Version 3.1

42

IGRP

?
• Given the following information from the show ip protocols command, when would the next update interval be expected?

Version 3.1

43

IGRP
IGRP has a set of timers to enhance its performance and functionality: • Update Timer: These specify how frequently routing-update messages should be sent. The default is 90 seconds. • Invalid Timers: These specify how long a router should wait before declaring a route invalid if it does not receive a specific update about it. The default is three times the update period. • Hold-down Timers: The holddown timer specifies the amount of time for which information about poorer routes is ignored.The default is three times the update timer period plus 10 seconds. • Route Flush Timer:These indicate how much time should pass before a route should be flushed from the routing table. The default is seven times the routing period.
Version 3.1 44

IGRP
If default settings are used, by looking at the update interval you can tell what routing protocol is being used.

Version 3.1

45

IGRP
• The show ip route command shows the metric values in brackets.

• The “I” verifies that IGRP is configured.

Administrative distance / Composite Metric

Version 3.1

46

IGRP Routes
• IGRP advertises three types of routes:
– Interior – routes between subnets of a network attached to a router interface (within an autonomous system). – System – routes to networks within an autonomous system and does not include subnets – Exterior – exterior routes are routes to networks outside the autonomous system

Version 3.1

47

IGRP
• IGRP has a number of features that are designed to enhance its stability, such as:
– Holddowns - used to prevent regular update messages from inappropriately reinstating a route that may not be up. – Split horizons - derived from the premise that it is usually not useful to send information about a route back in the direction from which it came. – Poison reverse updates – used to defeat larger routing loops, increases the hop count to one more than the maximum hop count.

Version 3.1

48

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.
– Router(config)#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 a network, use the no form of this command.

Version 3.1

49

Configuring IGRP
RouterA 192.168.1.32/27 192.168.2.32/24 RouterB

192.168.1.64/27

192.168.3.32/24

RouterA(config)#router igrp 100 RouterA(config-router)#network 192.168.1.0 RouterA(config-router)#network 192.168.2.0 • What commands would be needed to configure RouterB for IGRP with the autonomous system number 100?

Version 3.1

50

IGRP
• 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.

Version 3.1

51

For more information on IGRP, check out the following links.
http://www.cisco.com/warp/public/103/5.html or http://www.cisco.com/warp/public/103/5.pdf

Version 3.1

52

Sign up to vote on this title