Routing Outline. EECS 122, Lecture 15

Similar documents
Routing in a network

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

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

Fairness Example: high priority for nearby stations Optimality Efficiency overhead

Network Layer: Routing

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

Computer Networks. Routing Algorithms

CSE/EE 461 Distance Vector Routing

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

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

VI. ROUTING. - "routing protocol" nodes exchange information to ensure consistent understanding of paths

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

CSCE 463/612 Networks and Distributed Processing Spring 2018

Lecture 13: Routing in multihop wireless networks. Mythili Vutukuru CS 653 Spring 2014 March 3, Monday

Top-Down Network Design

Lecture 4. The Network Layer (cont d)

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

CSEP 561 Routing. David Wetherall

Youki Kadobayashi NAIST

Routing Protocols of IGP. Koji OKAMURA Kyushu University, Japan

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

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

2008 NDP Lectures 7 th Semester

Review: Routing in Packet Networks Shortest Path Algorithms: Dijkstra s & Bellman-Ford. Routing: Issues

Routing, Routing Algorithms & Protocols

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

Youki Kadobayashi NAIST

CS BGP v4. Fall 2014

Intra-domain Routing

Youki Kadobayashi NAIST

cs/ee 143 Communication Networks

CS118 Discussion Week 7. Taqi

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

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

ECE 435 Network Engineering Lecture 11

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

CSCD 330 Network Programming Spring 2018

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

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

CSCD 330 Network Programming Spring 2017

6.02 Fall 2014! Lecture #21. Failures in routing Routing loops Counting to infinity

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

Routing Unicast routing protocols

Routing. Jens A Andersson Communication Systems

IP Forwarding Computer Networking. Graph Model. Routes from Node A. Lecture 11: Intra-Domain Routing

Interplay between routing, forwarding

C13b: Routing Problem and Algorithms

IP Forwarding Computer Networking. Routes from Node A. Graph Model. Lecture 10: Intra-Domain Routing

Chapter 4: Network Layer, partb

EE 122: Intra-domain routing

Chapter 7 Routing Protocols

Chapter 4: Network Layer

Distance vector and RIP

ECE 333: Introduction to Communication Networks Fall 2001

EEC-684/584 Computer Networks

ÉCOLE POLYTECHNIQUE FÉDÉRALE DE LAUSANNE. Link State Routing. Jean Yves Le Boudec 2015

ECE 435 Network Engineering Lecture 11

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

Routing Protocols. Autonomous System (AS)

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

5.2 Routing Algorithms

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

Routing in the Internet

ITEC310 Computer Networks II

An overview of how packets are routed in the Internet

COMP/ELEC 429/556 Introduction to Computer Networks

Unit 3: Dynamic Routing

Distance Vector Routing Protocols

CSC 4900 Computer Networks: Routing Protocols

ICMP, ARP, RARP, IGMP

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

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

We will discuss about three different static routing algorithms 1. Shortest Path Routing 2. Flooding 3. Flow Based Routing

Internet Architecture. Network Layer Overview. Fundamental Network Layer Function. Protocol Layering and Data. Computer Networks 9/23/2009

Computer Networking Introduction

Topology. Youki Kadobayashi NAIST. Outline. Routing system: its function. Gateway Model Revisited. Routing system: its structure

Introduction to Communication Networks Spring Unit 15 Internetworking (cont) Routing

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

Intra-AS Routing. Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley.

Determining IP Routes. 2000, Cisco Systems, Inc. 9-1

Routing. Advanced Computer Networks: Routing 1

Course Routing Classification Properties Routing Protocols 1/39

CSCD 433/533 Advanced Networks Spring 2016

CS 138: Communication I. CS 138 V 1 Copyright 2012 Thomas W. Doeppner. All rights reserved.

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

Chapter 4: outline. Network Layer 4-1

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

Lecture 16: Interdomain Routing. CSE 123: Computer Networks Stefan Savage

CEN445 Network Protocols and Algorithms. Chapter 2. Routing Algorithms. Dr. Ridha Ouni

ETSF05/ETSF10 Internet Protocols. Routing on the Internet

Why dynamic route? (1)

CSC 4900 Computer Networks: Routing Algorithms

Introduction to Routing

Internet Protocol: Routing Algorithms. Srinidhi Varadarajan

Basic Idea. Routing. Example. Routing by the Network

Distributed Routing. EECS 228 Abhay Parekh

CMPE 151 Routing. Marc Mosko

Routing by the Network

Announcement. Project 2 extended to 2/20 midnight Project 3 available this weekend Homework 3 available today, will put it online

EECS 122, Lecture 17. The Distributed Update Algorithm (DUAL) Optimization Criteria. DUAL Data Structures. Selecting Among Neighbors.

Transcription:

Fall & Walrand Lecture 5 Outline EECS, Lecture 5 Kevin Fall kfall@cs.berkeley.edu Jean Walrand wlr@eecs.berkeley.edu Definition/Key Questions Distance Vector Link State Comparison Variations EECS - Fall & Walrand 5 Definition/Key Questions Definition: Algorithm to establish routing table to make widely distributed endpoints appear to be directly connected Key questions: how to choose a best path? How to scale to millions of users? How to adapt to failures or changes? Global Information Forwarding is a local decision, requiring only next-hop information Computation of best route requires global knowledge But global knowledge is challenging: hard to collect, often out of date, and big how to summarize in a locally-relevant way? EECS - Fall & Walrand 5 EECS - Fall & Walrand 5 General Needs for Compute optimal paths for each destination (need notion of optimal ) Be robust in the case of failures/changes Minimize control message exchanges Minimize routing table space Pitfalls Loops: should local forwarding information be inconsistent with global topology, can form loops (black holes) Oscillations: dynamically adapting to load can shift load, lead to congestion, and repeat Unusual under normal operation, often due to user mis-configuration EECS - Fall & Walrand 5 EECS - Fall & Walrand 55 EECS

Fall & Walrand Lecture 5 Fundamental Choices Centralized or Distributed Source-based versus Hop-by-hop Stochastic versus Deterministic paths Single or Multi-path Dynamic versus Static route selection for Packet Networks doesn t have very predictable traffic flow, may have unreliable links, and not terribly much redundancy (compare vs phone network) Routers are assumed to know: address of each neighbor cost of reaching each neighbor EECS - Fall & Walrand 56 EECS - Fall & Walrand 57 Choices in Centralized or Distributed Source-based versus Hop-by-hop Stochastic versus deterministic paths Single or multi-path Dynamic versus static route selection Distance Vector & Link-State Distance-Vector tell neighbors about distances to all destinations node s computation depends on neighbors Link-State tell all routers distance to each neighbor each router computes its best paths Both are distributed algorithms EECS - Fall & Walrand 58 EECS - Fall & Walrand 59 Distance Vector - Outline Quick Look - Example Operations Computation CI Problem CI Solutions Triggered Updates Distance Vector Quick Look/Example Shortest Path: Single Additive Cost length(path) = sum of length(link) Calculation a Shortest length b = min{a + A, b + B} Advertise A Advertise B Shortest length = A Shortest length = B EECS - Fall & Walrand 50 A and B are Distance Vectors EECS - Fall & Walrand 5 EECS

Fall & Walrand Lecture 5 Distance Vector Quick Look/Example Shortest Path from S to D S 7 7 5 5 = min{ +, + } 7 = min{ + 7, + 5} EECS - Fall & Walrand 5 D Distance Vector - Operation Each router maintains a distance vector : (dest, cost) tuple; one per destination initialize with lowest costs to attached neighbors, and highest cost (infinity) to all non-neighbors Periodically send copy of distance vector to all neighbors EECS - Fall & Walrand 5 Distance Vector - Computation Upon receiving a distance vector, compare current cost to destination with calculated cost using the sending router to reach the destination If neighbor path results in lower cost, switch Assuming no changes, eventually converges to proper shortest paths Distance Vector CI Problem Count to Infinity: CI If links or routers fail, DV approach may fail to converge Problem is related to route computation in one router being hidden from neighbors (choice is internal) Downstream routers do not have enough information to avoid bad next-hop choices (which may lead to looping) EECS - Fall & Walrand 5 EECS - Fall & Walrand 55 Distance Vector CI Problem Distance Vector - CI Problem A/ B/ C/ A/ B/ C/ XXX Assume we use hop count as metric, A uses B and B uses C to reach with costs,,, respectively C s link breaks C erroneously switches to B, increases its cost to B s + = EECS - Fall & Walrand 56 EECS - Fall & Walrand 57 EECS

Fall & Walrand Lecture 5 Distance Vector CI Problem Distance Vector CI Problem A/ B/ C/ XXX A/5 B/ C/5 XXX B s path cost is now C s plus = A hasn t realized what has happened yet B s path cost is still A s & C s cost are now B s + = 5 EECS - Fall & Walrand 58 EECS - Fall & Walrand 59 Distance Vector CI Problem A/5 B/6 C/5 XXX B s path cost is now C s + = 6 Cycle repeats while counting to infinity Packets caught between B & C loop Distance Vector CI Problem Classic DV protocols (and some with modifications) can suffer this CI problem Example indicates the trivial CI problem, but even with extensions, DV schemes can be subject to CI under more complicated topologies Many enhancements have been suggested... EECS - Fall & Walrand 50 EECS - Fall & Walrand 5 Distance Vector CI Solutions Path Vector One approach to solve CI problem Extend distance vectors to be path vectors: annotate each entry in the DV by the path used to compute the cost advertised Expands routing table size and control message size Used by BGP (later) Distance Vector CI Solutions Split Horizon Router never advertises the cost of a destination to neighbor N if N is the current next-hop for the destination Solves trivial CI problem Poison reverse: same idea, but instead of no advertisement, use infinity cost instead [used by RIP] EECS - Fall & Walrand 5 EECS - Fall & Walrand 5 EECS

Fall & Walrand Lecture 5 Distance Vector Triggered Updates Classical (Bellman/Ford) DV suggests re-advertising DV on any change Could be quite frequent, especially given highly dynamic costs [delay, utilization] So, slow down advertising rate (adversely affects CI problem) but send immediate updates on link failures Distance Vector Source Tracing Augment DV to include penultimate router on path to destination Sufficient information for a source to construct entire path to destination Like path vector, but less table space EECS - Fall & Walrand 5 EECS - Fall & Walrand 55 Link-State - Outline Quick Look Example Key Ideas Components Topology Dissemination Partitioning Database Description Records Failures Computing Shortest Path EECS - Fall & Walrand 56 Link-State Quick Look/Example Each node advertises the state of its links Each node reconstructs the network map From S forward, the algorithm constructs shortest paths from S to all nodes S 5 5 EECS - Fall & Walrand 57 6 87 D Link-State Key Ideas In DV, the path or cost to destination is partially determined by its neighbors With LS, every router gets complete topology information. Using same algorithms, will compute same paths (avoiding loops) Two components: topology dissemination and shortest-path algorithm Link-State Components Purpose of topology dissemination is to establish a consistent link state database in each router Once established, each router individually computes shortest paths from it to all destinations EECS - Fall & Walrand 58 EECS - Fall & Walrand 59 EECS

Fall & Walrand Lecture 5 Link-State Topology Dissemination Each router sends link-state advertisements (LSAs) using controlled flooding [max hop away like RPB]: (router ID, neighbor s ID, cost to neighbor) Flooding is fast and can easily be made reliable using acknowledgements LSAs never traverse same link > time in the same direction Link-State Topology Dissemination LSA Sequence Numbers When links fail, adjacent routers detect failure and send infinity LSA Need a way for this LSA to override older, stored LSAs If the network is to continue running for a long time, could over-run the field allocated for sequence numbers EECS - Fall & Walrand 550 EECS - Fall & Walrand 55 Link-State Topology Dissemination Wrapped Sequence Numbers If adding to a high sequence number results in a small value, it has wrapped Use very large numbers, and if the difference between two possibly adjacent number is huge, assume a wrap So, a is older than b across space N if: a < b and b - a < N/, or a > b and b - a > N/ EECS - Fall & Walrand 55 Link-State Topology Dissemination Bootstrapping Seq. Numbers What sequence number should a booting router use for its LSAs? Might risk flooding messages which are always ignored Clever Solution: Lollipop Sequence Space [Perlman8] EECS - Fall & Walrand 55 Link-State Topology Dissemination Lollipop Sequence Space Better solution for newly-booted routers Scheme where new seq number is unique from all others it could have used Partition space of size N into three parts: [-N/..0], 0, [N/..N/-] start with -N/, then -N/+, etc once 0 reached, stay in circular part of space EECS - Fall & Walrand 55 Link-State Topology Dissemination Why Called Lollipop? -N/ - - - - EECS - Fall & Walrand 555 0 N/- 0 EECS

Fall & Walrand Lecture 5 Link-State Topology Dissemination Lollipop Sequence Space Comparisons a is older than b on span N if: a < 0 and a < b, or a > 0, a < b, and (b - a) < N/, or a > 0, b > 0, and (a - b) > N/ [makes -N/ the oldest seq number] When receiving an old number, must inform sender of latest seq number Link-State Partitioning A network partition (division) causes LS databases on the sides of the partition to diverge If the partition is repaired, simple exchange of updates are not sufficient; need to resynchronize entire LS database Version numbers used to identify which entries need to be exchanged EECS - Fall & Walrand 556 EECS - Fall & Walrand 557 Link-State Database Records Contain (link ID, version) pairs Like LSAs but with less info, so cheaper to exchange Allows routers to determine the set of records they lack or are out-of-date Routers then request the records they need using request/response protocol Link-State Link vs Router Failure Link failures detected by routers which can flood this info directly Most LS protocols use HELLO messages to detect router failure Failure to respond to some number of the HELLO queries indicates failed router and causes flooding of corresponding info EECS - Fall & Walrand 558 EECS - Fall & Walrand 559 LSR Computing Shortest Paths Once LSAs are reliably flooded, need to execute shortest path for all destinations Dijkstra s shortest path algorithm computes shortest paths from root (local router) to all possible destinations greedy algorithm which adds the least cost path to next candidate node to current shortest path set of nodes LSR Computing Shortest Paths Dijkstra s Shortest Path Two sets P (permanent) & T (temporary) P: in current SP set, T: not yet in set P: initially current node, T: initially NULL Every node in T must be reachable by a path from a node in P Find every way to reach the T node from a P node; add min cost one to P, repeat EECS - Fall & Walrand 560 EECS - Fall & Walrand 56 EECS

Fall & Walrand Lecture 5 LSR Computing Shortest Paths Dijkstra s Shortest Path More precisely: For the node p just added to P, add each of its neighbors n to T such that: if n is not in T, add it, annotating it with p s ID and the cost to reach it through p if n already in T and path to n through p has lower At completion of algorithm, each router cost, remove earlier instance of n and add new knows the router on the shortest path to instance annotated with p s ID and cost to reach it through p reach it Pick the node n that has the smallest cost in T and, if not already in P, add it to P. Use its Can use technique like source-tracing to annotation to determine the router p to use to compute next hops for every destination reach n. If T is empty, done. EECS - Fall & Walrand 56 EECS - Fall & Walrand 56 LSR Computing Shortest Paths Shortest Path Algorithm performs O((E +N) logn) [E: link, N: router]; if E remains relatively constant with increased N, just O(NlogN) DV versus LS Conventional wisdom is that LS is more stable and avoids loops better, but loops may form during topology changes Modifications to basic DV scheme takes care of loops LSAs might carry data using multiple metrics [also recall easy multicast] DV versus LS LS schemes tend to converge faster than classical DV, but not clear with triggered updates and other modifications DV comparably simple due to complexity in avoiding corruption of LS database DV usually requires less memory and CPU time (no Dijkstra computation) EECS - Fall & Walrand 56 EECS - Fall & Walrand 565 Variations: Dynamic Base route on congestion Example: 0.ms Variations: Dynamic Difficulty: Oscillations 0.ms 0.5ms 0.8ms 0.ms 0.5ms 0.ms 0.ms 0.ms 0.8ms 0.ms EECS - Fall & Walrand 566 EECS - Fall & Walrand 567 EECS

Fall & Walrand Lecture 5 Variations: Quality of Service Shortest Path with Available Bandwidth > Mbps Use DV and drop paths with available bdw < Mbps S bdw D EECS - Fall & Walrand 568 EECS