CEN 5501C - Computer Networks - Spring 2007 - UF/CISE - Newman1 Computer Networks Chapter 12 – Routing Algorithm Concepts.

Slides:



Advertisements
Similar presentations
CSCI-1680 Network Layer: Intra-domain Routing Based partly on lecture notes by David Mazières, Phil Levis, John Jannotti Rodrigo Fonseca.
Advertisements

Network Layer – Routing 2 Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
CSE 561 – Bridging and Routing David Wetherall Spring 2000.
Computer Networks with Internet Technology William Stallings
Courtesy: Nick McKeown, Stanford
1 LINK STATE PROTOCOLS (contents) Disadvantages of the distance vector protocols Link state protocols Why is a link state protocol better?
Distance-Vector and Path-Vector Routing Sections , 4.3.2, COS 461: Computer Networks Spring 2011 Mike Freedman
Routing - I Important concepts: link state based routing, distance vector based routing.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 22 Introduction to Computer Networks.
RD-CSY3021 Comparing Routing Protocols. RD-CSY3021 Criteria used to compare routing protocols includes  Time to convergence  Proprietary/open standards.
Chapter 4 Distance Vector Problems, and Link-State Routing Professor Rick Han University of Colorado at Boulder
Distance-Vector Routing COS 461: Computer Networks Spring 2010 (MW 3:00-4:20 in COS 105) Michael Freedman
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Link State and Distance Vector Routing Computer Science Division Department of Electrical.
1 ELEN 602 Lecture 19 Routing. 2 Overview Forwarding vs Routing –forwarding: to select an output port based on destination address and routing table –routing:
CSE 461: Distance Vector Routing. Next Topic  Focus  How do we calculate routes for packets?  Routing is a network layer function  Routing Algorithms.
1 Computer Networks Routing Algorithms. 2 IP Packet Delivery Two Processes are required to accomplish IP packet delivery: –Routing discovering and selecting.
EE 122: Intra-domain routing Ion Stoica September 30, 2002 (* this presentation is based on the on-line slides of J. Kurose & K. Rose)
CSE 461: Link State Routing. Link State Routing  Same assumptions/goals, but different idea than DV:  Tell all routers the topology and have each compute.
CS 4700 / CS 5700 Network Fundamentals Lecture 9: Intra Domain Routing Revised 7/30/13.
CSS432 Routing Textbook Ch 3.3
Routing Algorithms (Ch5 of Computer Network by A. Tanenbaum)
ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ ΔΡΟΜΟΛΟΓΗΣΗ ΣΤΟ ΔΙΑΔΙΚΤΥΟ - ΑΛΓΟΡΙΘΜΟΙ Συμεών Παπαβασιλείου 12/11/2012.
Interior Gateway Protocols: RIP & OSPF
Distance Vector Routing Protocols W.lilakiatsakun.
1 Routing Protocols. 2 Distributed Routing Protocols Rtrs exchange control info Use it to calculate forwarding table Two basic types –distance vector.
CS 640: Introduction to Computer Networks Aditya Akella Lecture 10 - Intra-Domain Routing.
Intra-Domain Routing D.Anderson, CMU Intra-Domain Routing RIP (Routing Information Protocol) & OSPF (Open Shortest Path First)
Review: routing algorithms. –Choose the appropriate paths. –Routing algorithms Flooding Shortest path routing (example). –Dijkstra algorithm. –Bellman-Ford.
CS551: Unicast Routing Christos Papadopoulos (
Network Layer r Introduction r Datagram networks r IP: Internet Protocol m Datagram format m IPv4 addressing m ICMP r What’s inside a router r Routing.
Spring 2008CS 3321 Intradomain Routing Outline Algorithms Scalability.
Routing Protocols RIP, OSPF, BGP. A Routing Protocol’s Job Is to Find a “Best” Path between Any Pair of Nodes Routers in a network exchange their routing.
Unicast Routing Protocols  A routing protocol is a combination of rules and procedures that lets routers in the internet inform each other of changes.
Network Course Internetworking Protocols Dr. Raed Al Qadi.
Link-state routing  each node knows network topology and cost of each link  quasi-centralized: each router periodically broadcasts costs of attached.
Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
The Network Layer & Routing
Routing 2 CS457 Fall 2010.
Spring 2006CS 3321 Intradomain Routing Outline Algorithms Scalability.
1 Computer Communication & Networks Lecture 21 Network Layer: Delivery, Forwarding, Routing Waleed.
Computer Networks22-1 Network Layer Delivery, Forwarding, and Routing.
Spring 2000CS 4611 Routing Outline Algorithms Scalability.
4: Network Layer4a-1 Distance Vector Routing Algorithm iterative: r continues until no nodes exchange info. r self-terminating: no “signal” to stop asynchronous:
University of Delaware CPEG 4191 Distance Vector Routing – Dynamic Programming zLimited state information. Just the next hop and cost. A B D G F C H E.
CS440 Computer Networks 1 Link State Routing and OSPF Neil Tang 10/31/2008.
Spring Routing: Part I Section 4.2 Outline Algorithms Scalability.
Network Layer (2). Review Physical layer: move bits between physically connected stations Data link layer: move frames between physically connected stations.
Lecture 7. Building Forwarding Tables There are several methods Static Method Dynamic Methods Centralized Distributed Distance Vector Link State.
CS 6401 Intra-domain Routing Outline Introduction to Routing Distance Vector Algorithm.
Distance Vector and Link State Routing Pragyaditya Das.
4. Interconnecting Networks: Routers. © Tallal Elshabrawy 2 Bridges Vs Routers BRIDGES DO WELL IN SMALL (FEW HUNDRED HOSTS) WHILE ROUTERS USED IN LARGE.
Chapter 7 Packet-Switching Networks Shortest Path Routing.
IP tutorial - #2 Routing KAIST Dept. of CS NC Lab.
CS 5565 Network Architecture and Protocols
(How the routers’ tables are filled in)
THE NETWORK LAYER.
CS 457 – Lecture 12 Routing Spring 2012.
Intra-Domain Routing Jacob Strauss September 14, 2006.
Routing: Distance Vector Algorithm
Routing in Packet Networks Shortest Path Routing
CS 4700 / CS 5700 Network Fundamentals
Kuliah 5 ROUTING.
CS 3700 Networks and Distributed Systems
Intradomain Routing Outline Introduction to Routing
CS 640: Introduction to Computer Networks
CS 3700 Networks and Distributed Systems
2. Fragmentation and Reassembly
Computer Networking Lecture 10: Intra-Domain Routing
Delivery, Forwarding, and Routing
CSE 461: Link State Routing
Presentation transcript:

CEN 5501C - Computer Networks - Spring UF/CISE - Newman1 Computer Networks Chapter 12 – Routing Algorithm Concepts

CEN 5501C - Computer Networks - Spring UF/CISE - Newman2 Routing Algorithm Types Answer question: Given destination D, where do I send packet next? Distance Vector –Track cost to neighbor, neighbor cost to D –Bellman-Ford shortest path algorithm Link State –Track link costs –Run shortest path algorithm on whole graph

CEN 5501C - Computer Networks - Spring UF/CISE - Newman3 Distance Vector Each router has its own ID and link costs Initial DV: dist(self)=0, dist(other)=inf Tx DV to all neighbors, get neighbor DVs Compute new DV based on –dist(x)=min{DV[y,x], cost[y]} Tx new DV periodically and on changes –“triggered updates” Recompute when detect changes –(link down, different DV from y)

CEN 5501C - Computer Networks - Spring UF/CISE - Newman4 Count to Infinity Link dies, neighbors believe stale news ABC A:2,B B:1,B A:1,A C:1,C B:1,B C:2,B ABC A:2,B B:1,B A:1,A C:1,C B:1,B C:2,B A:1,A C:3,A B:1,B C:2,B A:1,A C:3,A B:1,B C:4,B A:1,A C:5,A B:1,B C:4,B Make infinity small

CEN 5501C - Computer Networks - Spring UF/CISE - Newman5 Count to Infinity Solutions Hold Down –If path to D goes down, don’t update for T s. –Advertise distance to D as infinity until T Report whole path –No loops, but $$$ Split Horizon (poison reverse) –If A uses B to get to D, tell B that DV[A,D]=inf Two metrics –Use both hops and other cost function

CEN 5501C - Computer Networks - Spring UF/CISE - Newman6 Split Horizon Problem ABD A:1,A C:1,C D:inf B:1,B C:1,C D:2,B A:1,A C:3,A D:inf B:1,B C:1,C D:3,C A:1,A C:1,C D:4,A B:1,B C:1,C D:inf A:1,A C:1,C D:4,A B:1,B C:1,C D:5,B Count to infinity slower…. C ABD A:1,A C:1,C D:1,D B:1,B C:1,C D:2,B C A:1,A B:1,B D:2,B A:1,A B:1,B D:3,A A:1,A B:1,B D:inf A:1,A B:1,B D:5,B A:1,A B:1,B D:2,B

CEN 5501C - Computer Networks - Spring UF/CISE - Newman7 Link State Protocol Each router has its own ID and link costs R meets neighbors, gets their names –Tx special “Hello” packet Tx Link State Packet (LSP) to all routers Compute least cost paths based on most recent LSPs from all other routers Tx new LSP when –New neighbor –Link cost changes –Link fails

CEN 5501C - Computer Networks - Spring UF/CISE - Newman8 Link State Protocol Broadcasting LSPs critical –Routers must have consistent graph info –Must avoid LSP storms How to route LSPs? –Chicken and egg (a.k.a. recursion) –Flooding with hop count or path –Constrained flooding (kill duplicate LSPs) Timestamps –Needed to determine most recent, duplicates –Sequence number/age schemes

CEN 5501C - Computer Networks - Spring UF/CISE - Newman9 Timestamps Knowing most recent LSP critical –Accidental use of large timestamp/seq # –Merging partitioned networks Timestamps –Sanity checks not possible without global time Sequence # + Aging –Sequence numbers wrap around – funny < –Age added to LSP, decrement while stored, discard when age reaches zero

CEN 5501C - Computer Networks - Spring UF/CISE - Newman10 ARPANET LSP Incident Source, seq#, age, neighbor list –Age was 3 bits, increments of 8 seconds –Routers required to send LSP every 60 sec –New router listens 90 seconds One bad router can spoil the whole bunch –Issued LSPs with sequence #s a, b, and c –But a<b<c<a in circular order! –Routers flooded with a, then b, then c, then a… Had to patch out bad source!

CEN 5501C - Computer Networks - Spring UF/CISE - Newman11 New LSP Distribution Source, seq#, age, neighbor list –Seq# is large (e.g., 32 bits) –No LSP accepted once seq# wraps until TRO Age field-- in storage & on forwarding Only store and flag to forward LSPs –Send flag and ACK flag per link per LSP –Check flags round robin –Only one LSP per source per link queue –Newer LSP overwrites LSP before sending –Send when bandwidth available on link

CEN 5501C - Computer Networks - Spring UF/CISE - Newman12 LSP with Age=0 Router deletes LSP data when age=0 –It has expired Router keeps LSP header to send to nbors Router deletes LSP when all nbors have ACKed the age=0 LSP Router must not accept LSP with age=0 unless it already has an LSP for that source –Indefinitely wandering age 0 LSPs…

CEN 5501C - Computer Networks - Spring UF/CISE - Newman13 New LSP Distribution Self-stabilizing –No matter how bad a state is reached, if defective/malicious nodes are disconnected, the network returns to normal “quickly” Efficient –Low frequency periodic LSP regeneration Responsive –Don’t have to wait to participate, except when sequence number wraps around (very rare!)

CEN 5501C - Computer Networks - Spring UF/CISE - Newman14 DV vs. LS Comparisons Assume n nodes, k n’bors each Memory –DV: DVs are O(n), memory is O(nk)*** –LS: LSPs are O(k), memory is O(kn) Bandwidth consumed –Mixed bag –DV: only propagate as far as effect change; only send to neighbors; DV size depends on n –LS: only router with changed link sends LSPs; LSP size depends only on k, not n; does not have CTI problem

CEN 5501C - Computer Networks - Spring UF/CISE - Newman15 DV vs. LS Comparisons Computation –Dijkstra: O(nk log n); single link change may cause many routing changes; incremental update may be possible…; hash-based sorting can reduce to O(nk) –Bellman-Ford: O(nk) per pass, but many passes; DV change to D only affects cost to D Functionality –LS gives topology, allows troubleshooting, gives support to source routing, more info overall

CEN 5501C - Computer Networks - Spring UF/CISE - Newman16 DV vs. LS Robustness Both can be killed by single bad router Misbehaving LS router might: –Claim to have a non-existent link –Claim not to have an existent link –Use strange LSP seq# progression –Fail to forward datagrams correctly –Fail to forward or to ACK LSPs –Corrupt data, seq#s in others’ LSPs Black Hole DV Router –DV is all 0’s

CEN 5501C - Computer Networks - Spring UF/CISE - Newman17 DV vs. LS Convergence Speed Convergence critical to minimize transients –Critical point of comparison DV: –Looping problem –Can’t propagate new DV until it is computed –Slower LS: –New LSP recognized and forwarded quickly –Converges faster

CEN 5501C - Computer Networks - Spring UF/CISE - Newman18 Other Issues Load splitting – multipath routing Dynamic link costs Routing algorithm migration –Run both –Manual –Translation LAN links TOS –Directives –Policy Routing –Filters Partition Repair –Virtual links and tunneling