Dynamic Routing Distance Vector and Link State RIP

  • Slides: 42
Download presentation
Dynamic Routing Distance Vector and Link State RIP OSPF

Dynamic Routing Distance Vector and Link State RIP OSPF

Internet Routing • IP implements datagram forwarding • Both hosts and routers • Have

Internet Routing • IP implements datagram forwarding • Both hosts and routers • Have an IP module • Forward datagrams • IP forwarding is table-driven • Table known as routing table

Routing Tables • Static routing • Fixes routes at boot time • Requires human

Routing Tables • Static routing • Fixes routes at boot time • Requires human intervention • Useful only for simplest cases • Dynamic routing • Table initialized at boot time • Routers communicate to learn new information and update their routing tables continuously: • Protocols used for information exchange to propagate route data • Data inserted/updated by protocols

Autonomous Systems • An autonomous system (AS) is a region of the Internet that

Autonomous Systems • An autonomous system (AS) is a region of the Internet that is administered by a single entity and that has a unified routing policy • Each autonomous system is assigned an Autonomous System Number (ASN). Each ASN is either 16 bits or 32 bits • ASN assigned by Regional Internet Registries • Some are reserved for private use and never appear on the Internet • Example ASNs • U of T’s campus network (AS 239) • Sprint (AS 1239, AS 1240, AS 6211, …) 4

Number of Autonomous Systems 5

Number of Autonomous Systems 5

Interdomain and Intradomain Routing • Routing protocols used inside an AS, referred to as

Interdomain and Intradomain Routing • Routing protocols used inside an AS, referred to as intradomain routing, are called interior gateway protocols (IGP) • Objective: shortest path, only operate within an AS • Routing protocols used between ASs, referred to as interdomain routing, are called exterior gateway protocols (EGP) • Objective: satisfy policy of the ASs, not always shortest path 6

Interdomain and Intradomain Routing Interdomain Routing • Routing within an Autonomous System (AS) •

Interdomain and Intradomain Routing Interdomain Routing • Routing within an Autonomous System (AS) • Ignores the Internet outside the AS • Protocols for Intradomain routing are collectively called Interior Gateway Protocols or IGP’s. • Popular protocols are: • RIP (simple, old) • OSPF (better) • Routing between AS’s • Assumes that the Internet consists of a collection of interconnected AS’s • Normally, there is one dedicated router in each AS that handles interdomain traffic. • Protocols are collectively called Exterior Gateway Protocols or EGP’s. • Popular protocols are: • Border Gateway Protocol (BGP) v 4 current 7

EGP and IGP 1 • Interior Gateway Protocol (IGP) • Routing is done based

EGP and IGP 1 • Interior Gateway Protocol (IGP) • Routing is done based on metrics • Routing domain is one AS • Exterior Gateway Protocol (EGP) 8 • Routing is done based on policies • Routing domain is the entire Internet

Components of a Routing Algorithm • A procedure for sending and receiving reachability information

Components of a Routing Algorithm • A procedure for sending and receiving reachability information about a network to other routers • A procedure for calculating optimal routes • Routes are calculated using a shortest path algorithm (least “cost”) • A procedure for reacting to and advertising topology changes 9

Two Basic Shortest Path Routing Algorithms used for IGP Distance Vector Routing • Each

Two Basic Shortest Path Routing Algorithms used for IGP Distance Vector Routing • Each node knows the distance (cost) to its directly connected neighbors • A node sends periodically a list of routing updates to its neighbors. • If all nodes update their distances to destinations using neighbor information, the routing tables eventually converge • New nodes advertise themselves to their neighbors. Link State Routing • Each node knows the distance (cost) to its directly connected neighbors • The distance information is broadcast to all nodes in the network • Each node calculates the routing tables independently using global information. 10

Summary of Differences

Summary of Differences

IGP Routing Algorithms Distance Vector Link State • Routing Information Protocol (RIP) • Intermediate

IGP Routing Algorithms Distance Vector Link State • Routing Information Protocol (RIP) • Intermediate System - Intermediate System (IS-IS) • Gateway-to-Gateway Protocol (GGP) • Open Shortest Path First (OSPF) • Exterior Gateway Protocol (EGP) • Interior Gateway Routing Protocol (IGRP) 12

Distance Vector Routing • Initialize routing table with one entry for each directly connected

Distance Vector Routing • Initialize routing table with one entry for each directly connected Network • Periodically run a distance-vector update to exchange information with routers that are reachable over directly connected networks • Information shared is each router’s individual view of network. • Uses Bellman-Ford Algorithm to calculate routing table (min cost to all destinations).

Distance Vector Dynamic Updates • Every router sends a list of its routes to

Distance Vector Dynamic Updates • Every router sends a list of its routes to all its neighbors • List contains pairs of: destination network, distance • Receiver replaces/updates entries in its routing table if routing through a neighbor costs less than the current route in its table • Receiver propagates new routes and updates next time it sends out an update • Update Algorithm has well-known shortcomings (we will see an example later)

Update from a Neighboring Router a) Existing Routing Table in a Router “K” b)

Update from a Neighboring Router a) Existing Routing Table in a Router “K” b) Update received from a neighboring Router “J”. • • • Net 4 has a better cost via “J” Net 21 is a new entry learnt from “J” Net 42, via “J”, has a changed cost

Example of Distance Vector Assume: • link cost is 1 on all hops •

Example of Distance Vector Assume: • link cost is 1 on all hops • all updates occur simultaneously • initially each router only knows its directly connected interfaces -> cost = 0

Rip Convergence Example

Rip Convergence Example

After First Update

After First Update

After Second Update

After Second Update

After Third Update

After Third Update

Last Update for Convergence

Last Update for Convergence

A “Down” link has a cost of Infinity 1 1 • Network 4. 0.

A “Down” link has a cost of Infinity 1 1 • Network 4. 0. 0. 0 goes down • Router C marks in its routing table that Net 4. 0. 0. 0 is dow • i. e. , cost is now “infinity” 22

Characteristics of Distance Vector Routing • Periodic Updates: Routers exchange Updates with their neighbors

Characteristics of Distance Vector Routing • Periodic Updates: Routers exchange Updates with their neighbors periodically (fixed interval). Routes that are not refreshed (i. e. , timers reset) when an update comes in, are removed from a routers routing table when the timer expires (could be a few update periods). • Triggered Updates: If a metric changes on a link (usually when a link goes down), a router immediately sends out an update for that route without waiting for the end of the update period. • Full Routing Table Update: Most distance vector routing protocols send their neighbors the entire routing table (not only entries which changed). • Route invalidation timers: Routing table entries are invalid if they are not refreshed. A typical value is to invalidate an entry if no update is received for 3 -6 update periods. 23

Router Routing Table with Timers

Router Routing Table with Timers

Convergence and Loops • Distance Vector Protocols are subject to loop formations because of

Convergence and Loops • Distance Vector Protocols are subject to loop formations because of the myopic view of each router. • Routers only hear from neighbors and use that to create a global connectivity map. • When changes occur, they are broadcast but take a while to propagate and during that time cycles can form. • One particular problem is the count to infinity problem, where updates bounce back and forth and the distance or cost creeps up in value. • To counter that, a maximum value is set that once it is reached, the destination is considered to be unreachable and the route is removed from the routing table.

Down Link and Update from B to C occurs • C notices that NET

Down Link and Update from B to C occurs • C notices that NET 4. 0. 0. 0 is down, C removes that entry from its routing table. • C receives a periodic update from B • C sees that B is 1 hop away from Net 4. 0. 0. 0 based on B’s update. It calculates its route to NET 4. 0. 0. 0 using B as next hop with a cost of “ 1+1=2”

Node C sends its Update to B • When C sends its update, B

Node C sends its Update to B • When C sends its update, B sees the change in cost to NET 4. 0. 0. 0 via C • B updates its entry to Net 4. 0. 0. 0 to “ 1+2=3” as C is marked as next hop to Net 4. 0. 0. 0. B will then share this new update with its neighbors, including C. • C proceeds to update its entry again for Net 4. 0. 0. 0 (3+1=4) and shares it with B.

Count-to-Infinity Phenomenon • Why does the count-to-infinity problem occur? • Because each router ONLY

Count-to-Infinity Phenomenon • Why does the count-to-infinity problem occur? • Because each router ONLY has a “next-hop-view” • For example, in the first step, C did not realize that B’s route (with cost 1) to network 4. 0. 0. 0 went through itself and B did not realize that C’s update was based on B’s connectivity information. • How can the Count-to-Infinity problem be solved? • A router with a down link: • Sets a max value for the cost. Usually 16 is used to signify infinity. • Advertises link with a cost of 16 (triggered update). • Any destination with route cost = 16 is considered unreachable and destination is removed from routing table (after triggered update, no longer advertised). 28

How to Prevent Count to Infinity • Enhancements proposed to prevent the Count to

How to Prevent Count to Infinity • Enhancements proposed to prevent the Count to Infinity problem and routing loops: 1. Split Horizon 2. Route Poisoning 3. Reverse Poison 4. Hold Down Timers

Split Horizon • A router never sends information about a route in the direction

Split Horizon • A router never sends information about a route in the direction from which the original information came. Routers keep track of which neighbor sent information about a route in its routing table. Updates to that route are never sent to that neighbor, unless the latest update is caused by information from a different neighbor. • Router B never sends Router C updates about NET 4. 0. 0. 0 as C is next hop on path to Net 4. 0. 0. 0 • When NET 4. 0. 0. 0 goes down, C removes the entry from its table. • Updates will no longer include NET 4. 0. 0. 0. • B will remove route to NET 4. 0. 0. 0 when the timer expires for that route in its routing table (received no

Route Poisoning and Poison Reverse • Marking a down link as a cost of

Route Poisoning and Poison Reverse • Marking a down link as a cost of infinity. • When NET 4. 0. 0. 0 goes down, router C marks it as “cost = infinity” and advertises the new cost of this network to its neighbors in a TRIGGERED UPDATE. • removes the route from its table • When B gets C’s update, it: • sends a triggered update to all its neighbors with the new cost of infinity for that destination (poison reverse supercedes Split horizon if in use) • removes the route from its table • If SPLIT Horizon is not being used: • B’s update might not get to A before A sends B it’s updates that includes the old information related to the unreachable destination. So: • ……. we must use SPLIT Horizon and or HOLD

Hold Down Timers • After receiving a route poisoning (cost = infinity) for a

Hold Down Timers • After receiving a route poisoning (cost = infinity) for a route from a neighboring router, a router starts a hold-down timer for that route. • During the hold-down timer, the “downed” route is marked. • If the router gets an update from that same neighbor with a new cost (< infinity) within the hold-down timer period, the hold-down timer is removed and the table is updated (route no longer marked). • However, if within the hold-down timer, an update is received for that marked route from another router with a better cost, that update is ignored. • In our example, when router B receives a route poisoning update from router C: • It marks NET 4. 0. 0. 0 as “down” in its routing table and starts the holddown timer for NET 4. 0. 0. 0. • In this period, if it receives an update from C informing that NET 4. 0. 0. 0 is recovered then B will accept that information, remove the hold-down timer and reinstitute that destination in its routing table. • But if B receives an update from A informing it that NET 4. 0. 0. 0 can be reached in X hops (X < infinity), that update will be ignored. • When the hold-down timer expires a new update for that route from a

Poison Reverse • Poison Reverse - Breaking the Split Horizon rule for updates with

Poison Reverse • Poison Reverse - Breaking the Split Horizon rule for updates with cost = infinity • It basically says that when a router receives a NET is down update from a neighbor (cost = infinity), the router breaks the split horizon rule and sends a triggered route update to all its neighbors including the originating neighbor with a cost = infinity for that very same destination. • For example, when router B receives a route down (i. e. , a cost = infinity) for NET 4. 0. 0. 0 from router C then router B will send an update to all its neighbors including router C (which breaks the split horizon rule) with the same cost = infinity for NET 4. 0. 0. 0. • Every router performs poison reverse when learning about a down network/link.

RIP - Routing Information Protocol • A simple intradomain protocol (Interior Gateway Protocol IGP)

RIP - Routing Information Protocol • A simple intradomain protocol (Interior Gateway Protocol IGP) • Straightforward implementation of Distance Vector Routing • Each router advertises its distance vector every 30 seconds (or whenever its routing table changes) to all of its neighbors (destination address, distance) • Uses metric of hop count and uses 1 for every hop (link) • Maximum hop count is 15, with “ 16” equal to “ ” • Routes are timed out (set to 16) after 3 minutes if they are not updated • Uses split horizon and poison reverse techniques to 34 solve ``count to infinity and looping’’

Two Forms of RIP Active • Used by routers • Broadcasts routing updates periodically

Two Forms of RIP Active • Used by routers • Broadcasts routing updates periodically • Uses incoming messages to update routes Passive • Used by “non forwarding” hosts • Uses incoming update messages to change route table – changes overwrite ICMP redirects

RIPv 2 • Route Update includes subnet mask • Authentication supported • Explicit next-hop

RIPv 2 • Route Update includes subnet mask • Authentication supported • Explicit next-hop information • Messages are multicast • IP multicast address for RIP is 224. 0. 0. 9

RIPv 2 Update Packet Route Tag: Used to carry information from other routing protocols

RIPv 2 Update Packet Route Tag: Used to carry information from other routing protocols (e. g. , autonomous system number)

Description of Fields • Command - Indicates whether the packet is a request or

Description of Fields • Command - Indicates whether the packet is a request or a response. • request asks that a router send all or a part of its routing table. • response can be an unsolicited regular routing update or a reply to a request. Responses contain routing table entries. Multiple RIP packets are used to convey information from large routing tables. • Version - Specifies the RIP version used. For RIP 2 this value is set to 2. • Unused - Has a value set to zero. • Address-family identifier (AFI) - Specifies the address family used. RIP is designed to carry routing information for several different protocols. Each entry has an address-family identifier to indicate the type of address being specified. The AFI for IP is 2. If AFI for the first entry in the message is 0 x. FFFF, the remainder of the entry contains authentication information. • Route tag - Provides a method for distinguishing between internal routes (learned by RIP) and external routes (learned from other protocols). • IP address - Specifies the IP address for the entry. • Subnet mask - Contains the subnet mask for the entry. If this field is zero, no subnet mask has been specified for the entry. • Next hop - Indicates the IP address of the next hop to which packets for the entry will be forwarded. • Metric - Indicates how many internetwork hops (routers) will be traversed in

Contd. • Up to 25 routing table entries can be listed in a single

Contd. • Up to 25 routing table entries can be listed in a single RIP packet. If the AFI specifies an authenticated message, only 24 routing table entries can be specified. • RIP has numerous stability features: • By placing a finite limit on the number of hops that a route can take, routing loops are discouraged, if not completely eliminated. • Various timing mechanisms that help ensure that the routing table contains only valid routes: • The timeout timer is used to help purge invalid routes from a RIP node. Routes that aren't refreshed for a given period of time are likely invalid because of some change in the network. Thus, RIP maintains a timeout timer for each known route. When a route's timeout timer expires, the route is marked invalid but is retained in the table until the route-flush timer expires. • Split horizon, poison reverse and hold-down mechanisms that prevent incorrect routing information from being disseminated throughout the network.

RIP Message Exchange • Uses UDP transport • Dedicated port for RIP is UDP

RIP Message Exchange • Uses UDP transport • Dedicated port for RIP is UDP port 520 • Two types of command messages: • Request messages • used to ask neighboring nodes for an update • Response messages • contains an update 40

Routing with RIP • Initialization: Send a request packet on all interfaces requesting routing

Routing with RIP • Initialization: Send a request packet on all interfaces requesting routing tables from neighboring routers: • RIPv 2 uses multicast address 224. 0. 0. 9 • Request received: Routers that receive above request send their entire routing table • Response received: Update the routing table • Regular routing updates: Every 30 seconds, send all or part of the routing tables to every neighbor in a response message • Triggered Updates: Whenever the metric for a route changes, send updated route. 41

RIP Summary • Slow convergence • Low overhead • Limited to 15 hops (max

RIP Summary • Slow convergence • Low overhead • Limited to 15 hops (max cost, i. e. , infinity =16) • Only uses local information from immediate neighbors for routing decisions - relies on propagation of information for global view of network