Chapter 4Distance Vector Routing Protocols CIS 82 Routing Protocols and Concepts Rick Graziani Cabrillo College firstname.lastname@example.org Last Updated: 3/9/2009
Note • This presentation will be updated prior to March. 25, 2008 • The audio of the lecture for this presentation will be available on my web site after March. 25, 2008 • This presentation contains additional information in notes section. • My web site is www.cabrillo.edu/~rgraziani. • For access to these PowerPoint presentations and other materials, please email me at email@example.com.
For further information • This presentation is an overview of what is covered in the curriculum/book. • For further explanation and details, please read the chapter/curriculum. • Book: • Routing Protocols and Concepts • By Rick Graziani and Allan Johnson • ISBN: 1-58713-206-0 • ISBN-13: 978-58713-206-3
Topics • Routing Loops • Defining a Routing Loop • Implications of Routing Loops • Count-to-Infinity Condition • Preventing Routing Loops by setting a Maximum Metric Value • Preventing Routing Loops with Hold-down Timers • Preventing Routing Loops with the Split Horizon Rule • Preventing Routing Loops with IP and TTL • Distance Vector Routing Protocols Today • RIP • EIGRP • Introduction to Distance Vector Routing Protocols • Distance Vector Technology • Routing Protocol Algorithms • Routing Protocol Characteristics • Network Discovery • Cold Start • Initial Exchange of Routing Information • Exchange of Routing Information • Routing Table Maintenance • Periodic Updates • Bounded Updates • Triggered Updates • Random Jitter
Introduction to Distance Vector Routing Protocols Distance Vector Technology Routing Protocol Algorithms Routing Protocol Characteristics
Introduction to Distance Vector Routing Protocols • Understanding the operation of distance vector routing is critical to enabling, verifying, and troubleshooting these protocols.
Configuring and maintaining static routes for a large network would be overwhelming. • What happens when that link goes down at 3:00 a.m.?
Why did Cisco develop IGRP/EIGRP? • RIP: Routing Information Protocol originally specified in RFC 1058. • IGRP: Interior Gateway Routing Protocol - Cisco proprietary • EIGRP: Enhanced IGRP – Cisco proprietary • IGRP and EIGRP: Cisco never submitted RFCs to IETF for these protocols.
Meaning of Distance Vector • Distance vector (repeat) • Routes are advertised as vectors of distance and direction. • Direction is simply the: • nexthop router or • exit interface. • Routing protocol • Does not know the topology of an internetwork. • Only knows the routing information received from its neighbors.
Meaning of Distance Vector I can get to 172.16.3.0/24 in one hop out my S0/0/0. • What is the Distance to 172.16.3.0/24? • 1 hop • What is the Direction: • S0/0/0 • Does R1 have a topology map? • No, it only knows distance and direction!
Operation of Distance Vector Routing Protocols Timer Expires Timer Expires Timer Expires Timer Expires Periodic updates • Some distance vector routing protocols periodically broadcast the entire routing table to each of its neighbors. (RIP and IGRP) • 30 seconds for RIP • Inefficient: • Bandwidth and CPU resources • Always sent, even no changes
Operation of Distance Vector Routing Protocols Neighbor of R1 R1 is unaware of R3 and its networks Neighbor of R1 • What are Neighbors? • Neighbors are routers that: • Share a link • Use the same routing protocol. • What are the only addresses routers know about before there is any routing knowledge? • Network addresses of its own interfaces • Network addresses of its neighbors.
Operation of Distance Vector Routing Protocols Timer Expires • Routing Protocols use • Broadcast updates (255.255.255.255) • Multicast updates • Neighbor routers will process the updates. • What will other devices on that link do if they receive a routing update but are not running that routing protocol including hosts? • They will process the update up to Layer 3 (Multicast update) or Layer 4 (Broadcast update) before discarding it.
Routing Protocol Algorithms • The routing protocol algorithm used by a particular routing protocol is responsible for building and maintaining the router’s routing table.
Routing Protocol Algorithms Update Update • The algorithm sends and receives updates.
Routing Protocol Algorithms Calculating best paths and installing new routes Update Update • The algorithm on each router: • Independently makes calculations updates its routing table
Routing Protocol Algorithms Detecting and reacting to topology change X Update • The algorithm on each router: • Detect and react to topology changes.
Routing Protocol Characteristics More later • Time to convergence: • Faster the better. • Scalability: • How large a network the routing protocol can handle. • Classless (use of VLSM) or classful: • Support VLSM and CIDR • Resource usage: • Routing protocol usage of RAM, CPU utilization, and link bandwidth utilization. • Implementation and maintenance: • Level of knowledge that is required for a network administrator.
Advantages and Disadvantages of Distance Vector Routing Protocols • Disadvantages: • Slow convergence • Limited scalability • Potential for routing loops (coming) • Advantages: • Simplicity • Low resource requirements • Minimum link bandwidth
Comparing Routing Protocol Features • Note: Some of this is relative such as Resource usage and Implementation and Maintenance.
Network Discovery Cold Start Initial Exchange of Routing Information Exchange of Routing Information
Cold Start • Network discovery is part of the process of the routing protocol algorithm that enables routers to first learn about remote networks. • First: Only knows directly connected networks.
Initial Exchange of Routing Information Update Update • R1: • Sends an update about network 10.1.0.0 out the Serial 0/0/0 interface with a metric of 1 • Sends an update about network 10.2.0.0 out the FastEthernet 0/0 interface with a metric of 1 • Receives an update from R2 about network 10.3.0.0 on Serial 0/0/0 with a metric of 1 • Stores network 10.3.0.0 in the routing table with a metric of 1
Initial Exchange of Routing Information Update Update • R2: • Sends an update about network 10.3.0.0 out the Serial 0/0/0 interface with a metric of 1 • Sends an update about network 10.2.0.0 out the Serial 0/0/1 interface with a metric of 1
Initial Exchange of Routing Information Update Update • R3: • Sends an update about network 10.4.0.0 out the Serial 0/0/1 interface with a metric of 1 • Sends an update about network 10.3.0.0 out the FastEthernet 0/0 interface with a metric of 1
Initial Exchange of Routing Information • Have we reached convergence? • No • What needs to still be learned? • R1 does not have knowledge of 10.4.0.0 • R3 does not have knowledge of 10.1.0.0
Next Exchange of Routing Information Thanks, but nothing new Update Update • R1: • Sends out complete routing table. • Does R2 learn anything new? • No
Next Exchange of Routing Information Update Update • R2: • Sends out complete routing table. • Does R1 Learn anything new? • Yes, 10.4.0.0 • Does R3 Learn anything new? • Yes, 10.1.0.0 S0/0/1
Next Exchange of Routing Information Update Update • R3: • Sends out complete routing table. • Does R2 learn anything new? • No S0/0/1
Note on Split Horizon X 10.1.0.0 Update 10.1.0.0 Update 10.1.0.0 Update • Distance vector routing protocols typically implement a technique known as split horizon. • Prevents information from being sent out the same interface from which it was received. • More later S0/0/1
Convergence 5 4 3 2 • The amount of time it takes for a network to converge is directly proportional to the size of that network. • Routing protocols are compared based on how fast they can propagate this information—their speed to convergence. 1
Routing Table Maintenance Periodic Updates Bounded Updates Triggered Updates Random Jitter
Periodic Updates Periodic Update Periodic Update Periodic Update Periodic Update Periodic Update Periodic Update • Depending on the routing protocol, routers must maintain the routing tables so that they have the most current routing information. • Some distance vector routing protocols use periodic updates. • RIP and IGRP • Sent even when there is no new information. S0/0/1
Periodic Updates Periodic Updates Periodic Update Periodic Update Periodic Update Periodic Update Periodic Update Periodic Update • Routing update may contain a topology change. • What might those changes be?: • Failure of a link • Introduction of a new link • Failure of a router • Change of link parameters S0/0/1
No update for 10.4.0.0 from R3 received, mark route as “possibly down”, but leave in routing table. Still no update for 10.4.0.0 from R3 received. Remove this route from the routing table. RIP Timers Periodic Update Periodic Update IOS implements three additional timers for RIP. • Update timer: 30 seconds. • Invalid Timer: If an update has not been received in 180 seconds (the default), the route is marked as invalid by setting the metric to 16. • Route still is in routing table. • Flush Timer: 240 seconds (default) • When the flush timer expires, the route is removed from the routing table. • Hold-down Timer: 180 seconds (default) • Later in this chapter. S0/0/1
RIP Timers Elapsed time since the last update, expressed in seconds R1# show ip route 10.0.0.0/16 is subnetted, 4 subnets C 10.2.0.0 is directly connected, Serial0/0/0 R 10.3.0.0 [120/1] via 10.2.0.2, 00:00:04, Serial0/0/0 C 10.1.0.0 is directly connected, FastEthernet0/0 R 10.4.0.0 [120/2] via 10.2.0.2, 00:00:04, Serial0/0/0 • RIP timer values can be verified with two commands: show ip routeand show ip protocols. R1# show ip protocols Routing Protocol is “rip” Sending updates every 30 seconds, next due in 13 seconds Invalid after 180 seconds, hold down 180, flushed after 240 <output omitted> Routing Information Sources: Gateway Distance Last Update 10.3.0.1 120 00:00:27
Bounded Updates • EIGRP does not send periodic updates. • EIGRP sends bounded updatesabout a route when a path changes or the metric for that route changes. • Note: More in Chapter 9 EIGRP.
Triggered Updates Update timer not yet expired X Triggered Update • A triggered updateis a routing table update that is sent immediately in response to a routing change. • Triggered updates do not wait for update timers to expire. • What is the advantage to a triggered update? • Speeds up convergence.
Random Jitter Collision! We will randomize our updates between 25.5 and 30 seconds so collisions don’t happen. • To prevent the synchronization of updates between routers, Cisco IOS uses a random variable, called RIP_JITTER, which subtracts a variable amount of time to the update interval for each router in the network. • Ranges from 0 to 15 percent of the specified update interval. • 25.5 to 30 seconds for the default 30-second interval.
Routing Loops Defining a Routing Loop Implications of Routing Loops Count-to-Infinity Condition Preventing Routing Loops by setting a Maximum Metric Value Preventing Routing Loops with Hold-down Timers Preventing Routing Loops with the Split Horizon Rule Preventing Routing Loops with IP and TTL
Defining a Routing Loop • A routing loop is a condition in which a packet is continuously transmitted within a series of routers without ever reaching its intended destination network. • Can occur when two or more routers have inaccurate routing information to a destination network. • Issue with distance vector routing protocols but not link-state. • The loop can be a result of: • Incorrectly configured static routes • Incorrectly configured route redistribution (CCNP-level courses) • Inaccurate routing because of slow convergence in a changing network
Implications of Routing Loops • A routing loop can have a devastating effect on a network. • What might a some problems with a routing loop? • A routing loop can create the following conditions: • Link bandwidth – looping traffic • Router’s CPU - Burdened with useless packet forwarding • Routing updates might get lost or not processed in time. • Packets might get lost in “black holes”.
This is great, I now have a route to 10.4.0.0 again! Implications of Routing Loops IP Packet: DA 10.4.1.1 Loop until TTL is 0 X Periodic Update 10.4.0.0 2 hops thru me 10.4.0.0 S0/0/1 2 Assuming no split horizon, what if 10.4.0.0 network goes down? Is there a potential for a problem here? Let’s see… S0/0/1
Implications of Routing Loops I mistakenly believe I have a route to 10.4.0.0. • Mechanisms available to eliminate routing loops: • Defining a maximum metric to prevent count to infinity • Hold-down timers • Split horizon • Route poisoning or poison reverse • Triggered updates (covered previously) S0/0/1
Count-to-Infinity Condition Periodic Update 10.4.0.0 3 hops thru me Periodic Update 10.4.0.0 5 hops thru me X Periodic Update 10.4.0.0 2 hops thru me Periodic Update 10.4.0.0 4 hops thru me 10.4.0.0 S0/0/1 2 4 • Count to infinityis a condition that exists when inaccurate routing updates increase the metric value to “infinity” for a network that is no longer reachable. • Each protocol defines infinity at a different value. 3 S0/0/1
Periodic Update 10.4.0.0 13 hops thru me Count-to-Infinity Condition Periodic Update 10.4.0.0 15 hops thru me Periodic Update 10.4.0.0 16 hops thru me Periodic Update 10.4.0.0 12 hops thru me X Periodic Update 10.4.0.0 14 hops thru me Periodic Update 10.4.0.0 16 hops thru me 10.4.0.0 S0/0/1 10 12 14 16 • This count continues indefinitely, each router thinking the other router has a route to 10.4.0.0. • To eventually stop the incrementing of the metric, “infinity” is defined by setting a maximum metric value. • RIP defines infinity as 16 hops — an “unreachable” metric. • When the routers “count to infinity,” they mark the route as unreachable. 12 S0/0/1 13 16 means “network unreachable” in RIP 15 16 means “network unreachable” in RIP 16
Preventing Routing Loops with Hold-Down Timers • A routing loop could also be created by a periodic update that is sent by the routers during the instability. • Hold-down timers: • Prevent routing loops from being created by these conditions.
Preventing Routing Loops with Hold-Down Timers Update timer not yet expired X Triggered Update • Network 10.4.0.0 attached to R3 goes down. • R3 sends a triggered update. S0/0/1
Preventing Routing Loops with Hold-Down Timers X Triggered Update • R2 receives the update from R3 indicating that network 10.4.0.0 is now no longer accessible. • R2 marks the network as possibly down and starts the hold-down timer. S0/0/1 Possibly down - Start Hold-down Timer
Preventing Routing Loops with Hold-Down Timers X Triggered Update • If an update with a better metric for that network is received from any neighboring router during the hold-down period, R2 will reinstate the network and the hold-down timer will be removed. • Note: In this example their can’t be a better metric than 1 hop. S0/0/1 Possibly down - Start Hold-down Timer Update with better metric