CS 640: Introduction to Computer Networks Aditya Akella Lecture 10 - Intra-Domain Routing.

Slides:



Advertisements
Similar presentations
1 LINK STATE PROTOCOLS (contents) Disadvantages of the distance vector protocols Link state protocols Why is a link state protocol better?
Advertisements

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.
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
Network Layer Design Isues Store-and-Forward Packet Switching Services Provided to the Transport Layer The service should be independent of the router.
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Link State and Distance Vector Routing Computer Science Division Department of Electrical.
4-1 Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving side, delivers.
Link-State Routing Reading: Sections 4.2 and COS 461: Computer Networks Spring 2011 Mike Freedman
Network Layer4-1 Chapter 4 Network Layer Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose, Keith Ross Addison-Wesley,
Computer Networking Lecture 9: Intra-Domain Routing RIP (Routing Information Protocol) & OSPF (Open Shortest Path First) Basically ripped off from.
Routing.
Announcement r Project 2 extended to 2/20 midnight r Project 3 available this weekend r Homework 3 available today, will put it online.
Spring Routing & Switching Umar Kalim Dept. of Communication Systems Engineering 06/04/2007.
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.
4: Network Layer4a-1 14: Intro to Routing Algorithms Last Modified: 7/12/ :17:44 AM.
Announcement r Project 2 Extension ? m Previous grade allocation: Projects 40% –Web client/server7% –TCP stack21% –IP routing12% Midterm 20% Final 20%
EE 122: Intra-domain routing Ion Stoica September 30, 2002 (* this presentation is based on the on-line slides of J. Kurose & K. Rose)
Computer Networking Intra-Domain Routing, Part I RIP (Routing Information Protocol)
CS 4700 / CS 5700 Network Fundamentals Lecture 9: Intra Domain Routing Revised 7/30/13.
ECE 4450:427/527 - Computer Networks Spring 2015 Dr. Nghi Tran Department of Electrical & Computer Engineering Lecture 6.3: Routing Dr. Nghi Tran (ECE-University.
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.
Computer Networking Lecture 10: Intra-Domain Routing
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.
TCOM 515 Lecture 2. Lecture 2 Objectives Dynamic Routing Distance Vector Routing Link State Routing Interior vs Exterior RIP - Routing Information Protocol.
Network Layer4-1 Chapter 4 Network Layer Part 3: Routing Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March.
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.
Network Layer4-1 Distance Vector Algorithm Bellman-Ford Equation (dynamic programming) Define d x (y) := cost of least-cost path from x to y Then d x (y)
The Network Layer & Routing
Routing 2 CS457 Fall 2010.
Overview of Internet Routing (I) Fall 2004 CS644 Advanced Topics in Networking Sue B. Moon Division of Computer Science Dept. of EECS KAIST.
Lecture 17 November 8Intra-domain routing November 13Internet routing 1 November 15Internet routing 2 November 20End-to-end protocols 1 November 22End-to-end.
Spring 2006CS 3321 Intradomain Routing Outline Algorithms Scalability.
1 Computer Communication & Networks Lecture 21 Network Layer: Delivery, Forwarding, Routing Waleed.
Introduction 1 Lecture 19 Network Layer (Routing Algorithms) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
TCOM 515 Lecture 2. Lecture 2 Objectives Dynamic Routing Distance Vectore Routing Link State Routing Interior vs Exterior RIP - Routing Information Protocol.
Internet Routing r Routing algorithms m Link state m Distance Vector m Hierarchical routing r Routing protocols m RIP m OSPF m BGP.
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:
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.
CS 6401 Intra-domain Routing Outline Introduction to Routing Distance Vector Algorithm.
Computer Networking Lecture 11: Intra-Domain Routing RIP (Routing Information Protocol) & OSPF (Open Shortest Path First)
Application Layer 2-1 Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429 Introduction to Computer Networks Lecture 10: Intra-domain routing Slides used with.
IP tutorial - #2 Routing KAIST Dept. of CS NC Lab.
Network Layer4-1 Chapter 4: Network Layer 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol.
Network Layer.
CS 5565 Network Architecture and Protocols
Network Layer Introduction Datagram networks IP: Internet Protocol
Intra-Domain Routing Jacob Strauss September 14, 2006.
Routing: Distance Vector Algorithm
Distance Vector Routing: overview
Dan LI CS Department, Tsinghua University
Road Map I. Introduction II. IP Protocols III. Transport Layer
CS 3700 Networks and Distributed Systems
Intradomain Routing Outline Introduction to Routing
CS 640: Introduction to Computer Networks
CS 3700 Networks and Distributed Systems
Computer Networking Lecture 10: Intra-Domain Routing
Communication Networks
Network Layer (contd.) Routing
EE 122: Intra-domain routing: Distance Vector
Network Layer.
Presentation transcript:

CS 640: Introduction to Computer Networks Aditya Akella Lecture 10 - Intra-Domain Routing

2 From previous lecture…. Three Types of Switching Fabrics

3 Switching Via a Memory First generation routers  looked like PCs Packet copied by system’s (single) CPU Speed limited by memory bandwidth (2 bus crossings per datagram) Input Port Output Port Memory System Bus Most modern routers switch via memory, but… Input port processor performs lookup, copy into memory Cisco Catalyst 8500

4 Switching Via a Bus Datagram from input port memory to output port memory via a shared bus Bus contention: switching speed limited by bus bandwidth 1 Gbps bus, Cisco 1900: sufficient speed for access and enterprise routers (not regional or backbone)

5 Switching Via an Interconnection Network Overcome bus and memory bandwidth limitations Crossbar provides full NxN interconnect –Expensive –Uses 2N buses Cisco 12000: switches Gbps through the interconnection network

6 Routing Past two lectures –IP addresses are structured –IP packet headers carry these addresses –When packet arrives at router Examine header for intended destination Look up next hop in table Send packet out appropriate port This lecture: –How these forwarding tables are built? –Routing algorithms Router

7 A Model of the Problem Network as a Graph: –Represent each router as node –Direct link between routers represented by edge –Symmetric links  undirected graph Edge “cost” c(x,y) denotes measure of difficulty of using link –delay, $ cost, or congestion level Task –Determine least cost path from every node to every other node Path cost d(x,y) = sum of link costs A E F C D B

8 Ways to Compute Shortest Paths Centralized –Collect graph structure in one place –Use standard graph algorithm –Disseminate routing tables Distributed –Routers perform local computation –Converge to a globally consistent routing state –“Global”: Link-state Every node collects complete graph structure Each computes shortest paths from it Each generates own routing table –Local: Distance-vector No one has copy of graph Nodes construct their own tables iteratively Each sends information about its table to neighbors

9 Distance-Vector Method Idea –At any time, have cost/next hop of best known path to destination –Use cost  when no path known Initially –Only have entries for directly connected nodes A E F C D B Initial Table for A DestCostNex t Hop A0A B4B C  – D  – E2E F6F

10 Algorithm Each node x stores: –c(x,v) for each neighbor v –Distance vector of node x: estimate of d(x,y) for all y –Distance vectors heard from each neighbor Initialization: 1.d(x,y) = c(x,y) for all y. 2.Send distance vector to each neighbor Repeat: Whenever link cost to neighbor changes or distance vector received from neighbor For every neighbor z For every destination y d(x,y)  Update(x,y,z) If d(x,y) changed for any y, send distance vector to all neighbors

11 Distance-Vector Update Update(x,y,z) d  c(x,z) + d(z,y) /* Cost of path from x to y with first hop z */ if d < d(x,y) /* Found better path */ return d,z /* Updated cost / next hop */ else return d(x,y), nexthop(x,y) /* Existing cost / next hop */ x z y c(x,z) d(z,y) d(x,y)

12 Start A E F C D B Table for A DstCstHop A0A B4B C  – D  – E2E F6F Table for B DstCstHop A4A B0B C  – D3D E  – F1F Table for C DstCstHop A  – B  – C0C D1D E  – F1F Table for D DstCstHop A  – B3B C1C D0D E  – F  – Table for E DstCstHop A2A B  – C  – D  – E0E F3F Table for F DstCstHop A6A B1B C1C D  – E3E F0F Optimum 1-hop paths

13 Iteration #1 Table for A DstCstHop A0A B4B C7F D7B E2E F5E Table for B DstCstHop A4A B0B C2F D3D E4F F1F Table for C DstCstHop A7F B2F C0C D1D E4F F1F Table for D DstCstHop A7B B3B C1C D0D E  – F2C Table for E DstCstHop A2A B4F C4F D  – E0E F3F Table for F DstCstHop A5B B1B C1C D2C E3E F0F Optimum 2-hop paths A E F C D B

14 Iteration #2 Table for A DstCstHop A0A B4B C6E D7B E2E F5E Table for B DstCstHop A4A B0B C2F D3D E4F F1F Table for C DstCstHop A6F B2F C0C D1D E4F F1F Table for D DstCstHop A7B B3B C1C D0D E5C F2C Table for E DstCstHop A2A B4F C4F D5F E0E F3F Table for F DstCstHop A5B B1B C1C D2C E3E F0F Optimum 3-hop paths A E F C D B

15 Distance Vector: Link Cost Changes Link cost changes: Bad news travels slow - “count to infinity” problem! X Z Y 60 algorithm continues on!

16 Distance Vector: Poison Reverse If Z routes through Y to get to X : Z tells Y its (Z’s) distance to X is infinite (so Y won’t route to X via Z) Will this completely solve count to infinity problem? X Z Y 60 algorithm terminates

17 Poison Reverse Failures Iterations don’t converge “Count to infinity” Solution –Make “infinity” smaller –What is upper bound on maximum path length? Table for A DstCstHop C7F Table for B DstCstHop C8A Table for F DstCstHop C1C Table for F DstCstHop C  – Table for A DstCstHop C  – Forced Update Table for B DstCstHop C14A Forced Update FC B D A 4  Table for D DstCstHop C9B Forced Update Table for A DstCstHop C13D Better Route Table for D DstCstHop C15B Table for A DstCstHop C19D Forced Update Forced Update

18 Routing Information Protocol (RIP) Earliest IP routing protocol (1982 BSD) –Current standard is version 2 (RFC 1723) Features –Every link has cost 1  Hop count –“Infinity” = 16 Limits to networks where everything reachable within 15 hops Sending Updates –Every router listens for updates on UDP port 520 –Triggered When every entry changes, send copy of entry to neighbors –Except for one causing update (split horizon rule) –Periodic Every 30 seconds, router sends copy of its table to each neighbor

19 Link State Protocol Concept Every node gets complete copy of graph –Every node “floods” network with data about its outgoing links Every node computes routes to every other node –Using single-source, shortest-path algorithm Process performed whenever needed –When interconnections die / reappear

20 Sending Link States by “Flooding” X wants to send information –Sends on all outgoing links When node Y receives information from Z –Resend on all links other than Z XA CBD (a) XA CBD (b) XA CBD (c) XA CBD (d)

21 Dijkstra’s Algorithm Given –Graph with source node s and edge costs c(u,v) –Determine least cost path from s to every node v Single source shortest Path Algorithm –Traverse graph in order of least cost from source

22 Dijkstra’s Algorithm Node Sets –Done Already have least cost path to it –Horizon: Reachable in 1 hop from node in Done –Unseen: Cannot reach directly from node in Done Label –d(v) = path cost From s to v Path –Keep track of last link in path A E F C D B Source Node Done Horizon Unseen   Current Path Costs

23 Dijkstra’s Algorithm: Initially No nodes “done” Source in “horizon” A E F C D B Source Node Done Horizon Unseen 0      Current Path Costs

24 Dijkstra’s Algorithm: Initially d(v) to node A shown in red –Only consider links from done nodes A E F C D B Source Node Done Horizon Unseen   Current Path Costs

25 Dijkstra’s Algorithm Select node v in horizon with minimum d(v) Add link used to add node to shortest path tree Update d(v) information A E F C D B Source Node Done Horizon Unseen   Current Path Costs 5

26 Dijkstra’s Algorithm Repeat… A C Source Node Done Horizon Unseen   Current Path Costs F B D E

27 Dijkstra’s Algorithm Addition of node can add new nodes to horizon Source Node Done Horizon Unseen  6 Current Path Costs A C 3 D B E F

28 Dijkstra’s Algorithm Final tree shown in green Source Node A C 3 D B E F

29 Link State Characteristics With consistent LSDBs*, all nodes compute consistent loop-free paths Can still have transient loops A B C D Packet from C  A may loop around BDC if B knows about failure and C & D do not X * Link State Data Base

30 OSPF Routing Protocol Open –Open standard created by IETF More prevalent than RIP

31 OSPF Messages Transmit link state advertisements –Originating router Typically, IP address for router –Link ID ID of router at other end of link –Metric Cost of link –Sequence number Incremented each time sending new link information

32 OSPF Flooding Operation Node X Receives LSA from Node Y –With Sequence Number q –Looks for entry with same origin/link ID Cases –No entry present Add entry, propagate to all neighbors other than Y –Entry present with sequence number p < q Update entry, propagate to all neighbors other than Y –Entry present with sequence number p > q Send entry back to Y To tell Y that it has out-of-date information –Entry present with sequence number p = q Ignore it

33 Flooding Issues When should it be performed –Periodically –When status of link changes Detected by connected node Congestion, lack of electric or optical signal What happens when router goes down & back up –Sequence number reset to 0 Other routers may have entries with higher sequence numbers –Router will send out LSAs with number 0 –Will get back LSAs with last valid sequence number p –Router sets sequence number to p+1 & resends

34 Adoption of OSPF RIP viewed as outmoded –Good when networks small and routers had limited memory & computational power OSPF Advantages –Fast convergence when configuration changes –Full topology map helps

35 Comparison of LS and DV Algorithms Message complexity LS: with n nodes, v neighbors, O(nv) messages per node DV: exchange between neighbors only Speed of Convergence LS: Complex computation –But…can forward before computation –may have oscillations DV: convergence time varies –may be routing loops –count-to-infinity problem –(faster with triggered updates)

36 Robustness: what happens if router malfunctions? LS: node can advertise incorrect link cost each node computes only its own table DV: DV node can advertise incorrect path cost each node’s table used by others errors propagate thru network Other tradeoffs Making LSP flood reliable difficult Prioritize routing packets? Comparison of LS and DV Algorithms