Network Layer (Routing)

Similar documents
Where we are in the Course

Network Layer (Routing)

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

Network Layer (Routing)

Topic. How to compute shortest paths in a distributed network. The Link-State (LS) approach. then compute. Flood! CSE 461 University of Washington 1

Routing in a network

CSEP 561 Routing. David Wetherall

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

Network Layer (Routing)

Computer Networks. Routing Algorithms

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

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

C13b: Routing Problem and Algorithms

Third Generation Routers

CS 43: Computer Networks. 23: Routing Algorithms November 14, 2018

Distance-Vector Routing: Distributed B-F (cont.)

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

What is Routing? EE 122: Shortest Path Routing. Example. Internet Routing. Ion Stoica TAs: Junda Liu, DK Moon, David Zats

EITF25 Internet Routing. Jens A Andersson

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

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

COMP/ELEC 429/556 Introduction to Computer Networks

Distance Vector Routing Protocols

Intra-domain Routing

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

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

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

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

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

CSE/EE 461 Distance Vector Routing

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

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

Basic Idea. Routing. Example. Routing by the Network

CSCE 463/612 Networks and Distributed Processing Spring 2018

Routing by the Network

ICMP, ARP, RARP, IGMP

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

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

CSC 401 Data and Computer Communications Networks

Unit 3: Dynamic Routing

Chapter 7 Routing Protocols

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

Telecommunication Protocols Laboratory Course. Lecture 3

COMP 631: NETWORKED & DISTRIBUTED SYSTEMS 9/6/16 COMP 631: NETWORKED & DISTRIBUTED SYSTEMS. Internet Routing. Jasleen Kaur.

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

CSCD 330 Network Programming Spring 2018

CSCD 330 Network Programming Spring 2017

5.2 Routing Algorithms

Introduction to Local and Wide Area Networks

Module 8. Routing. Version 2 ECE, IIT Kharagpur

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

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

Discussion 8: Link State Routing. CSE 123: Computer Networks Marti Motoyama & Chris Kanich

COM-208: Computer Networks - Homework 6

Communication Networks

Routing Outline. EECS 122, Lecture 15

Routing. Advanced Computer Networks: Routing 1

Internetworking - We are heterogeneity to our network (variable network technologies, bandwidth, MTU, latency, etc. etc.)

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

Routing Information Protocol. A simple distance vector scheme

Vendor: Alcatel-Lucent. Exam Code: 4A Exam Name: Alcatel-Lucent Interior Routing Protocols and High Availability.

ECE 435 Network Engineering Lecture 11

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

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

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

Chapter 7: Routing Dynamically. Routing & Switching

Network Layer: Routing

ÉCOLE POLYTECHNIQUE FÉDÉRALE DE LAUSANNE! 1. Link state flooding topology information finding the shortest paths (Dijkstra)

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

Distance vector and RIP

ECE 435 Network Engineering Lecture 11

Two types of routing protocols are used in internetworks: interior gateway protocols (IGPs) and exterior gateway protocols (EGPs).

Overview 4.2: Routing

How Routing Algorithms Work

ECE 428 Internet Protocols (Network Layer: Layer 3)

Network Layer Chapter 5

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

CIS 632 / EEC 687 Mobile Computing

Routing Protocols Classification

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

To contain/reduce broadcast traffic, we need to reduce the size of the network (i.e., LAN).

Where we are in the Course

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

CSc 450/550 Computer Networks Internet Routing

Distance Vector Routing

Address Translation. Map IP addresses into physical addresses destination host next hop router

TDC 363 Introduction to LANs

Routing Algorithms. CS158a Chris Pollett Apr 4, 2007.

Routing in Internet. Problem. Given set of nodes, how do routers acquire info about neighbors to construct the routing tables?

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

Routing Information Protocol

Lecture 5 The Network Layer part II. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Graph Algorithms. Many problems in networks can be modeled as graph problems.

CMPE 151 Routing. Marc Mosko

ETSF05/ETSF10 Internet Protocols Routing on the Internet

Routing Unicast routing protocols

Chapter 4: Network Layer, partb

Routing. Outline. Algorithms Scalability

Transcription:

Network Layer (Routing)

Topics Network service models Datagrams (packets), virtual circuits IP (Internet Protocol) Internetworking orwarding (Longest Matching Prefix) Helpers: ARP and DHP ragmentation and MTU discovery Errors: IMP (traceroute!) IPv6, scaling IP to the world NAT, and middleboxs Routing Algorithms SE 61 University of Washington

Dijkstra s Algorithm

Dijkstra s Algorithm Algorithm: Mark all nodes tentative, set distances from source to 0 (zero) for source, and (infinity) for all other nodes While tentative nodes remain: Extract N, a node not yet on the tree with lowest distance Add link to N to the shortest path tree Relax the distances of neighbors of N by lowering any better distance estimates SE 61 University of Washington

Dijkstra s Algorithm () Initialization G We ll compute shortest paths from A H 10 0 1 A B E D SE 61 University of Washington 5

Dijkstra s Algorithm () Relax around A E 10 G 10 0 1 A B H D SE 61 University of Washington 6

Dijkstra s Algorithm () Relax around B 7 7 G E 8 10 0 1 A B H 6 Distance fell! D SE 61 University of Washington 7

Dijkstra s Algorithm (5) Relax around 7 G 0 A B 7 10 E 1 7 Distance fell again! 8 D H 9 6 SE 61 University of Washington 8

Dijkstra s Algorithm (6) Relax around G (say) 7 G 0 A B 7 10 Didn t fall E 7 1 8 D H 9 6 SE 61 University of Washington 9

Dijkstra s Algorithm (7) Relax around (say) 7 G 0 A B 7 10 Relax has no effect E 7 1 8 D H 9 6 SE 61 University of Washington 10

Dijkstra s Algorithm (8) Relax around E 7 G 0 A B 7 10 E 1 7 8 D H 9 6 SE 61 University of Washington 11

Dijkstra s Algorithm (9) Relax around D 7 G 0 A B 7 10 E 1 7 8 D H 9 6 SE 61 University of Washington 1

Dijkstra s Algorithm (10) inally, H done 7 G 0 A B 7 10 E 1 7 8 D H 9 6 SE 61 University of Washington 1

Dijkstra omments inds shortest paths in order of increasing distance from source Leverages optimality property Runtime depends on cost of extracting min-cost node Superlinear in network size (grows fast) Gives complete source/sink tree More than needed for forwarding! But requires complete topology SE 61 University of Washington 1

Distance Vector Routing

Distance Vector Routing Simple, early routing approach Used in ARPANET, and RIP One of two main approaches to routing Distributed version of Bellman-ord Works, but very slow convergence after some failures Link-state algorithms are now typically used in practice More involved, better behavior SE 61 University of Washington 16

Distance Vector Setting Each node computes its forwarding table in a distributed setting: 1. Nodes know only the cost to their neighbors; not topology. Nodes can talk only to their directly connected neighbors. All nodes run the same algorithm concurrently. Nodes and links may fail, messages may be lost SE 61 University of Washington 17

Distance Vector Algorithm Each node maintains a vector of distances (and next hops) to all destinations 1. Initialize vector with 0 (zero) cost to self, (infinity) to other destinations. Periodically send vector to neighbors. Update vector for each destination by selecting the shortest distance heard, after adding cost of neighbor link. Use the best neighbor for forwarding SE 61 University of Washington 18

Distance Vector () onsider from the point of view of node A an talk only with nodes B and E Initial vector To ost A 0 B D E G H G A H B 10 E 1 D SE 61 University of Washington 19

Distance Vector () irst exchange with B, E; learn best 1-hop routes To B E says says A B 0 D E 0 G H B E + +10 10 A s ost A s Next 0 -- B -- -- 10 E -- -- -- Learned better route G A H B 10 E 1 0 D

Distance Vector () Second exchange; learn best -hop routes To B E says says A 10 B 0 1 D E 0 G H B E + +10 8 0 1 6 11 1 8 10 7 1 7 A s ost A s Next 0 -- B 6 B 1 E 8 B 7 B 7 B -- G A H B 10 E 1 D SE 61 University of Washington 1

Distance Vector () Third exchange; learn best -hop routes To B E says says A 8 B 0 1 D E 0 G 6 H 5 B + E +10 8 18 1 6 11 8 1 7 10 7 1 7 16 9 1 A s ost A s Next 0 -- B 6 B 8 B 7 B 7 B 7 B 9 B G A H B 10 E 1 D SE 61 University of Washington

Distance Vector (5) Subsequent exchanges; converged To B E says says A 7 B 0 1 D E 0 G 6 H 5 B + E +10 8 17 1 6 11 8 1 7 10 7 1 7 16 9 1 A s ost A s Next 0 -- B 6 B 8 B 8 B 7 B 7 B 9 B G A B H 10 E 1 D SE 61 University of Washington

Distance Vector Dynamics Adding routes: News travels one hop per exchange Removing routes: When a node fails, no more exchanges, other nodes forget But... partitions (unreachable nodes in divided network) are a problem ount to infinity scenario SE 61 University of Washington

DV Dynamics Good news travels quickly, bad news slowly (inferred) X Desired convergence ount to infinity scenario SE 61 University of Washington 5

DV Dynamics Various heuristics to address e.g., Split horizon, poison reverse (Don t send route back to where you learned it from.) But none are very effective An alternative approach, link state, now favored in practice Except when very resource-limited SE 61 University of Washington 6

RIP (Routing Information Protocol) DV protocol with hop count as metric Infinity is 16 hops; limits network size Includes split horizon, poison reverse Routers send vectors every 0 seconds Runs on top of UDP Time-out in 180 secs to detect failures RIPv1 specified in R1058 (1988) SE 61 University of Washington 7

lood Routing (looding)

looding Goal: reach every node Bonus: can do that without using routing tables Rule used at each node: Repeat an incoming message on to all other neighbors Node remembers the message so that it is flooded only once How do you remember a message? Efficiency: one node may receive multiple copies of message Reliability: one node may receive multiple copies of message SE 61 University of Washington 9

looding () onsider a flood from A; first reaches B via AB, E via AE G E A B D H SE 61 University of Washington 0

looding () Next B floods B, BE, B, BG, and E floods EB, E, ED, E gets copies G E E and B send to each other A B D H SE 61 University of Washington 1

looding () floods D, H; D floods D; floods G; G floods G gets another copy G E A B D H

looding (5) H has no-one to flood and we re done G E Each link carries the message, and in at least one direction A B D H SE 61 University of Washington

looding Details Remember message (to stop flood) using original source and sequence number So next message (with higher sequence) will go through If you want to make flooding reliable, use ARQ So receiver acknowledges, and sender resends if needed SE 61 University of Washington

Link-State Routing

Link-State Routing One of two approaches to routing Trades more computation than distance vector for better dynamics Widely used in practice Used in Internet/ARPANET from 1979 Modern networks use OSP and IS-IS SE 61 University of Washington 6

Link-State Setting Nodes compute their forwarding table in the same distributed setting as for distance vector: 1. Nodes know only the cost to their neighbors; not topology. Nodes can talk only to their neighbors. All nodes run the same algorithm concurrently. Nodes/links may fail, messages may be lost SE 61 University of Washington 7

Link-State Algorithm Proceeds in two phases: 1. Nodes flood cost to neighbors with link state packets Each node learns full network topology. Each node computes its own forwarding table By running Dijkstra (or equivalent) SE 61 University of Washington 8

Phase 1: Topology Dissemination Each node floods link state packet (LSP) that describes their portion of the topology Node E s LSP flooded to A, B,, D, and Seq. # A 10 B 1 D G A H B 10 E 1 D SE 61 University of Washington 9

Phase : Route omputation Each node has full topology By combining all LSPs Each node simply runs Dijkstra Replicated computation, but finds required routes directly ompile forwarding table from sink/source tree That s it folks! SE 61 University of Washington 0

orwarding Table SE 61 University of Washington 1 To Next A B D D E -- G H A B D E G H 1 10 Source Tree for E (from Dijkstra) E s orwarding Table

Handling hanges On change, flood updated LSPs, re-compute routes E.g., nodes adjacent to failed link or node initiate B s LSP Seq. # A E G s LSP Seq. # B E G ailure! G XXXX A H B SE 61 University of Washington 10 E 1 D

Handling hanges () Link failure Both nodes notice, send updated LSPs Link is removed from topology Node failure All neighbors notice a link has failed ailed node can t update its own LSP But it is OK: all links to node removed SE 61 University of Washington

Handling hanges () Addition of a link or node Add LSP of new node to topology Old LSPs are updated with new link Additions are the easy case SE 61 University of Washington

Link-State omplications Things that can go wrong: Seq. number reaches max, or is corrupted Node crashes and loses seq. number Network partitions then heals Strategy: Include age on LSPs and forget old information that is not refreshed Much of the complexity is due to handling corner cases SE 61 University of Washington 5

DV/LS omparison Goal Distance Vector Link-State orrectness Distributed Bellman-ord Replicated Dijkstra Efficient paths Approx. with shortest paths Approx. with shortest paths air paths Approx. with shortest paths Approx. with shortest paths ast convergence Slow many exchanges ast flood and compute Scalability Excellent storage/compute Moderate storage/compute SE 61 University of Washington 6

IS-IS and OSP Protocols Widely used in large enterprise and ISP networks IS-IS = Intermediate System to Intermediate System OSP = Open Shortest Path irst Link-state protocol with many added features E.g., Areas for scalability SE 61 University of Washington 7

Equal-ost Multi-Path Routing

Multipath Routing Allow multiple routing paths from node to destination be used at once Topology has them for redundancy Using them can improve performance Questions: How do we find multiple paths? How do we send traffic along them? SE 61 University of Washington 9

Equal-ost Multipath Routes One form of multipath routing Extends shortest path model by keeping set if there are ties onsider A E ABE = + = 8 ABE = + + = 8 ABDE = + + 1 + 1 = 8 Use them all! G A H B 10 E 1 1 D SE 61 University of Washington 50

Source Trees With EMP, source/sink tree is a directed acyclic graph (DAG) Each node has set of next hops Still a compact representation Tree DAG SE 61 University of Washington 51

Source Trees ind the source tree for E Procedure is Dijkstra, simply remember set of next hops ompile forwarding table similarly, may have set of next hops Straightforward to extend DV too Just remember set of neighbors G A B H 10 E 1 1 D SE 61 University of Washington 5

Source Trees () Source Tree for E E s orwarding Table G A B H 10 E New for EMP 1 1 D Node Next hops A B,, D B B,, D, D D D E -- G H, D SE 61 University of Washington 5

orwarding with EMP ould randomly pick a next hop for each packet based on destination Balances load, but adds jitter Instead, try to send packets from a given source/destination pair on the same path Source/destination pair is called a flow Map flow identifier to single next hop No jitter within flow, but less balanced SE 61 University of Washington 5

orwarding with EMP Multipath routes from /E to /H G A H B 10 E 1 1 D E s orwarding hoices low Possible Example next hops choice H, D D, D D E H, D E, D Use both paths to get to one destination SE 61 University of Washington 55