CSEP 561 Routing. David Wetherall

Similar documents
CSE 461 Routing. Routing. Focus: Distance-vector and link-state Shortest path routing Key properties of schemes

Routing in a network

Operating Systems and Networks. Network Lecture 7: Network Layer 2. Adrian Perrig Network Security Group ETH Zürich

Network Layer (Routing)

C13b: Routing Problem and Algorithms

Network Layer (Routing)

Network Layer (Routing)

Default & Static Routes and Routing Information Protocol. Presented by : Mohammed Hamad

ICS 351: Today's plan. netmask exercises network and subnetwork design dynamic routing RIP distance-vector routing

Intra-domain Routing

Computer Networking. Intra-Domain Routing. RIP (Routing Information Protocol) & OSPF (Open Shortest Path First)

CS 457 Networking and the Internet. What is Routing. Forwarding versus Routing 9/27/16. Fall 2016 Indrajit Ray. A famous quotation from RFC 791

Network Layer (Routing)

EECS 122, Lecture 16. Link Costs and Metrics. Traffic-Sensitive Metrics. Traffic-Sensitive Metrics. Static Cost Metrics.

Routing. Advanced Computer Networks: Routing 1

Network Layer: Routing

Distance Vector Routing Protocols

CSCE 463/612 Networks and Distributed Processing Spring 2018

ITEC310 Computer Networks II

Chapter 22 Network Layer: Delivery, Forwarding, and Routing 22.1

Chapter 7 Routing Protocols

Routing Outline. EECS 122, Lecture 15

Last time. Transitioning to IPv6. Routing. Tunneling. Gateways. Graph abstraction. Link-state routing. Distance-vector routing. Dijkstra's Algorithm

Routing Algorithms. CS158a Chris Pollett Apr 4, 2007.

Where we are in the Course

CS4450. Computer Networks: Architecture and Protocols. Lecture 11 Rou+ng: Deep Dive. Spring 2018 Rachit Agarwal

Routing. 4. Mar INF-3190: Switching and Routing

5.2 Routing Algorithms

ECE 435 Network Engineering Lecture 11

Computer Networks. Routing Algorithms

Top-Down Network Design

CHAPTER 4: ROUTING DYNAMIC. Routing & Switching

ECE 435 Network Engineering Lecture 11

Chapter 7: Routing Dynamically. Routing & Switching

Routing, Routing Algorithms & Protocols

Routing. Jens A Andersson Communication Systems

Basic Idea. Routing. Example. Routing by the Network

Routing by the Network

Network Protocols. Routing. TDC375 Winter 2002 John Kristoff - DePaul University 1

ECE 333: Introduction to Communication Networks Fall 2001

Lecture 9. Reminder: Homework 3, Programming Project 2 due today. Questions? Thursday, September 22 CS 475 Networks - Lecture 9 1

Fairness Example: high priority for nearby stations Optimality Efficiency overhead

Lecture 12: Link-state Routing. Lecture 12 Overview. Router Tasks. CSE 123: Computer Networks Chris Kanich. Routing overview

Routing Information Protocol. A simple distance vector scheme

Routing Unicast routing protocols

Routing Protocol comparison

Routing. Routing. Overview. Overview. Routing vs. Forwarding. Why Routing

ETSF05/ETSF10 Internet Protocols Routing on the Internet

ICS 351: Today's plan. distance-vector routing game link-state routing OSPF

Introduction to Routing

Course Routing Classification Properties Routing Protocols 1/39

Network Protocols. Routing. TDC375 Autumn 03/04 John Kristoff - DePaul University 1

Overview. Problem: Find lowest cost path between two nodes Factors static: topology dynamic: load

CSE/EE 461 Distance Vector Routing

ETSF05/ETSF10 Internet Protocols. Routing on the Internet

Routing Information Protocol. RIP application. RIP version 1

Routing Protocols Classification

Computer Networks 1 (Mạng Máy Tính 1) Lectured by: Dr. Phạm Trần Vũ

Chapter 4: Network Layer

EITF25 Internet Routing. Jens A Andersson

Telecommunication Protocols Laboratory Course. Lecture 3

BTEC Level 3 Extended Diploma

Routing Information Protocol

Hierarchical Routing. Our routing study thus far - idealization all routers identical network flat not true in practice

The most simple way to accelerate a Router is at 9.8 m/sec/sec.

Distance vector and RIP

Computer Networks. Routing

Lecture 9. Network Layer (cont d) Network Layer 1-1

(Refer Slide Time: 01:08 to 01:25min)

Unit 3: Dynamic Routing

CS118 Discussion Week 7. Taqi

William Stallings Data and Computer Communications. Chapter 10 Packet Switching

Overview 4.2: Routing

RIP Configuration. RIP Overview. Operation of RIP. Introduction. RIP routing table. RIP timers

CS 5114 Network Programming Languages Control Plane. Nate Foster Cornell University Spring 2013

Network Routing. Packet Routing, Routing Algorithms, Routers, Router Architecture

SEMESTER 2 Chapter 4 Distance Vector Routing Protocols V 4.0 RIP, IGRP, EIGRP

Chapter 5 (Week 9) The Network Layer ANDREW S. TANENBAUM COMPUTER NETWORKS FOURTH EDITION PP BLM431 Computer Networks Dr.

Chapter 12. Routing and Routing Protocols 12-1

CS 457 Networking and the Internet. Shortest-Path Problem. Dijkstra s Shortest-Path Algorithm 9/29/16. Fall 2016

Lecture 4. The Network Layer (cont d)

Routing. Outline. Algorithms Scalability

Chapter 4: outline. Network Layer 4-1

Routing Algorithms. Daniel Zappala. CS 460 Computer Networking Brigham Young University

Lecture 12. Introduction to IP Routing. Why introduction? Routing

Routing in Switched Data Networks

Module 8. Routing. Version 2 ECE, IIT Kharagpur

CompSci 356: Computer Network Architectures. Lecture 12: Dynamic routing protocols: Link State Chapter Xiaowei Yang

Routing Information Protocol

Outline. Routing. Introduction to Wide Area Routing. Classification of Routing Algorithms. Introduction. Broadcasting and Multicasting

ICS 351: Today's plan. OSPF BGP Routing in general

Youki Kadobayashi NAIST

Top-Down Network Design, Ch. 7: Selecting Switching and Routing Protocols. Top-Down Network Design. Selecting Switching and Routing Protocols

CSc 450/550 Computer Networks Internet Routing

TDC 363 Introduction to LANs

Routing Information Protocol. RIP application. RIP version 1

Internet Protocol: Routing Algorithms. Srinidhi Varadarajan

Exercise 3. RIP and OSPF

Routing Protocol. Seiya Tsubone. Apr The University of Tokyo. Seiya Tsubone (The University of Tokyo) Routing Protocol Apr. 25.

Routing in packet-switching networks

Transcription:

CSEP 561 Routing David Wetherall djw@cs.washington.edu

Routing Focus: How to find and set up paths through a network Distance-vector and link-state Application Shortest path routing Transport Key properties of schemes Network Link Physical djw // CSEP 561, Winter 2012 2

Routing versus Forwarding Routing is the process by which all nodes exchange control messages to calculate the routes packets will follow Distributed process with global goals; emphasis is correctness Nodes build a routing table that models the global network Forwarding is the process by which a node examines packets and sends them along their paths through the network Involves local decisions; emphasis is efficiency Nodes distill a forwarding table from their routing table (keyed by packet attributes, e.g., address) that gives the next hop djw // CSEP 561, Winter 2012 3

Packet (Datagram) Forwarding A s table E s Table djw // CSEP 561, Winter 2012 4

What is a best path anyhow? Ideally paths that: Are as direct as possible (low latency) Carry as much traffic as the network will fit (high bandwidth) Carry traffic well for all of the nodes (fairness) This is a resource allocation problem with multiple l constraints. Depends on topology and who sends how much traffic to who, which changes over time. Yikes! We want a simple, distributed solution djw // CSEP 561, Winter 2012 5

Lowest cost ( shortest t path ) routes Compute paths independently for different node pairs Assign a cost or weight to each link Find lowest total weight path between source/dest Typically costs are fixed Does not take hotspots into account Has simple subset optimality properties Costs usually set as a function of bandwidth and delay More direct paths mean low latency and high bandwidth Can tweak (traffic engineering) to match traffic to topology djw // CSEP 561, Winter 2012 6

Sink trees Example, cost for all links is 1. Send up tree to reach B Network Sink Tree for B djw // CSEP 561, Winter 2012 7

Equal-cost multi-path th (ECMP) Generalization for load balancing Allow multiple paths if they have the same lowest cost Single path lowest cost routing produces a spanning tree ECMP produces a directed acyclic graph (DAG) Still no possibility of loops Simple for nodes: just keep a list of next hops Q: How to map traffic to the multiple paths? djw // CSEP 561, Winter 2012 8

Sink tree for ECMP case Cost for all links is still 1. Tree becomes a DAG Network Sink Tree for B djw // CSEP 561, Winter 2012 9

Two datagram routing methods Routing scenario: You re driving from Seattle to Boston. Gas station attendants in each city will tell you which way to go next to head dtowards your destination. But thow do they know? Link-state method: Every attendant shares their hi local lcities ii with ihall others, makes their hi own map of the US, and consults it to direct you Distance-vector method: Every attendant tells their neighbors the mileage to all cities and keeps the best directions to direct you djw // CSEP 561, Winter 2012 10

Distance Vector Algorithm Each router maintains a vector of costs to all destinations as well as routing table giving next hops Initialize neighbors with known cost, others with infinity Periodically send copy of distance vector to neighbors On reception of a vector, if your neighbor s path to a destination plus cost to that neighbor cost is better Update the cost and next-hop in your outgoing vectors Assuming no changes, will converge to shortest paths djw // CSEP 561, Winter 2012 11

DV Example Consider the activity at node J djw // CSEP 561, Winter 2012 12

DV problem -- dynamics Consider knowledge of cost to reach A at other nodes X Desired convergence Count to infinity scenario djw // CSEP 561, Winter 2012 13

DV problem -- dynamics Good news (better routes) propagate quickly Bad news (failures) propagate slowly inferred by exploration Leads to count to infinity loops Many heuristics (split horizon, poison reverse) Takes ordered updates to eliminate (e.g., EGIRP uses diffusing computations) that are complicated and slow convergence No great solutions No longer widely used except for resource constrained or legacy networks. djw // CSEP 561, Winter 2012 14

Routing Information Protocol (RIP) DV protocol with hop count as metric Infinity value is 16 hops; limits network size Includes split horizon with poison reverse Routers send vectors every 30 seconds With triggered updates for link failures Time-out in 180 seconds to detect failures RIPv1 specified in RFC1058 www.ietf.org/rfc/rfc1058.txt itf /f/f1058tt RIPv2 (adds authentication etc.) in RFC1388 www.ietf.org/rfc/rfc1388.txt djw // CSEP 561, Winter 2012 15

Link State t Routing Same assumptions/goals, but different idea than DV: Tell all routers the topology and have each compute best paths Two phases: 1. Topology dissemination (flooding) 2. Shortest-path calculation (Dijkstra s algorithm) Why? In DV, routers hide their computation, making it difficult to decide what to use when there are changes With LS, faster convergence and hopefully better stability It is more complex though djw // CSEP 561, Winter 2012 16

LS example database Q: what is the flooding rule to build the database? Q: how are shortest paths computed from the database? djw // CSEP 561, Winter 2012 17

Shortest t Paths: Dijkstra s Algorithm Graph algorithm for single-source shortest path (i.e., sink tree) S {} Q <all nodes keyed by distance> While Q!= {} u extract-min(q) S S plus {u} for each node v adjacent to u relax the cost of v u is done, add to shortest paths djw // CSEP 561, Winter 2012 18

Dijkstra Example Step 1 10 1 0 2 3 9 4 6 5 7 2 djw // CSEP 561, Winter 2012 19

Dijkstra Example Step 2 10 10 1 0 2 3 9 4 6 5 7 5 2 djw // CSEP 561, Winter 2012 20

Dijkstra Example Step 3 8 1 14 0 5 2 3 9 7 4 6 5 7 2 djw // CSEP 561, Winter 2012 21

Dijkstra Example Step 4 8 1 13 0 5 2 3 9 7 4 6 5 7 2 djw // CSEP 561, Winter 2012 22

Dijkstra Example Step 5 8 1 9 0 5 2 3 9 7 4 6 5 7 2 djw // CSEP 561, Winter 2012 23

Dijkstra Example Done 8 1 9 0 5 2 3 9 7 4 6 5 7 2 djw // CSEP 561, Winter 2012 24

Open Shortest tpath thfirst t(ospf) Widely-used Link State protocol today; see also ISIS Basic link state t algorithms plus many features: Load balancing: multiple equal cost routes Extra hierarchy: partition into routing areas Authentication of routing messages djw // CSEP 561, Winter 2012 25

Routing desirable properties Correctness Network efficiency Nt Network kfi fairness Rapid convergence To correct routes that are stable after changes, with minimal transient loss Scalability Of messages and router state Particularly an issue for large, mobile, or multicast networks djw // CSEP 561, Winter 2012 26

Comparison Property Distance Vector Link State Correctness Yes - Distributed Bellman Ford Yes - Replicated shortest path Efficiency Approx- Least cost paths Approx - Least cost paths Fairness Approx - Least cost paths Approx - Least cost paths Convergence Slow many exchanges Fast prop plus compute Scalability Good O(1) per node/link Moderate at least O(edges) djw // CSEP 561, Winter 2012 27

Resource allocation timescales today From fast (very reactive) to slow (carefully planned) Use of different timescales largely decouples mechanisms Congestion control Adapts to packet loss; slows source Routing Adapts to failures; finds paths with connectivity Traffic engineering Route adjustments for cost/performance (e.g., weights) Provisioning Build out network to match traffic workload djw // CSEP 561, Winter 2012 28

What didn t work: early schemes to adapt weights to traffic load Early attempt (ARPAnet) to use routing for congestion control but not stable Automatically adjusted weight (right) based on link properties and traffic load Capacity dominates at low load; we only try to move traffic if high load (routing units s) New metric 225 140 90 75 60 9.6-Kbps satellite link 9.6-Kbps terrestrial link 56-Kbps satellite link 56-Kbps terrestrial link A B 30 What happens with traffic from A to B? 25% 50% 75% 100% Utilization djw // CSEP 561, Winter 2012 29

Delivery models Unicast single sender to single receiver what we covered Broadcast Single sender to all receivers Multicast Single sender to multiple (but not all) receivers (in a group) Anycast Single sender to nearest receiver in a set djw // CSEP 561, Winter 2012 30