ECE 158A: Lecture 5. Fall 2015

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

EE 122: Intra-domain routing

COMP 3331/9331: Computer Networks and Applications

WAN Technology and Routing

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

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

COMP/ELEC 429/556 Introduction to Computer Networks

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

Network service model. Network service model. Network Layer (part 1) Virtual circuits. By the end of this lecture, you should be able to.

Initialization: Loop until all nodes in N

Third Generation Routers

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

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

TCP/IP Networking. Part 3: Forwarding and Routing

Routers & Routing : Computer Networking. Binary Search on Ranges. Speeding up Prefix Match - Alternatives

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

Let s focus on clarifying questions. More Routing. Logic Refresher. Warning. Short Summary of Course. 10 Years from Now.

Lecture 4 The Network Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

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

More Routing. EE122 Fall 2012 Scott Shenker

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

4/25/12. The Problem: Distributed Methods for Finding Paths in Networks Spring 2012 Lecture #20. Forwarding. Shortest Path Routing

Chapter 4: Network Layer

DATA COMMUNICATOIN NETWORKING

CSC 4900 Computer Networks: Routing Algorithms

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

Redes de Computadores. Shortest Paths in Networks

06/02/ Local & Metropolitan Area Networks. Overview. Routing algorithm ACOE322. Lecture 6 Routing

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

Routing. 9: Intro to Routing Algorithms. Routing. Roadmap. Routing Algorithm classification: Static or Dynamic?

Chapter 4: Network Layer, partb

Link-State Routing OSPF

Chapter 4: Network Layer

CSCD 330 Network Programming Spring 2018

CSCD 330 Network Programming Spring 2017

COM-208: Computer Networks - Homework 6

Routing. Directly Connected IP Networks. Data link layer routing. ifconfig command

Advanced Computer Networks

Routing Algorithm Classification. A Link-State Routing Algorithm

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

Interplay between routing, forwarding

Network Layer: Routing

Shortest Paths. Shortest Path. Applications. CSE 680 Prof. Roger Crawfis. Given a weighted directed graph, one common problem is finding the shortest

Review for Chapter 4 R1,R2,R3,R7,R10,R11,R16,R17,R19,R22,R24, R26,R30 P1,P2,P4,P7,P10,P11,P12,P14,P15,P16,P17,P22,P24,P29,P30

TCOM 501: Networking Theory & Fundamentals. Lecture 11 April 16, 2003 Prof. Yannis A. Korilis

Module 8. Routing. Version 2 ECE, IIT Kharagpur

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

More on Network Routing and Internet Protocol

Link State Rou.ng Reading: Sec.ons 4.2 and 4.3.4

CSc 450/550 Computer Networks Internet Routing

Chapter 4 Network Layer. Network Layer 4-1

Routing. Directly Connected IP Networks. Data link layer routing. ifconfig command

The Problem: Finding Paths Spring 2011 Lecture #19. Forwarding. Shortest Path Routing

BGP. Daniel Zappala. CS 460 Computer Networking Brigham Young University

Internet rou)ng. V. Arun CS491G: Computer Networking Lab University of MassachuseFs Amherst

Computer Networks. Instructor: Niklas Carlsson

Outline Computer Networking. Inter and Intra-Domain Routing. Internet s Area Hierarchy Routing hierarchy. Internet structure

ECE 333: Introduction to Communication Networks Fall 2001

CSCE 463/612 Networks and Distributed Processing Spring 2018

Link State Routing & Inter-Domain Routing

Problem Set 8 Due: Start of Class, November 16

Basic Idea. Routing. Example. Routing by the Network

Lecture 4: Intradomain Routing. CS 598: Advanced Internetworking Matthew Caesar February 1, 2011

Routing by the Network

Network layer: Overview. Network layer functions Routing IP Forwarding

Chapter 5 Network Layer: The Control Plane

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

Chapter 4 Network Layer

Introduction to Internet Routing

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

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 14

Antonio Cianfrani. Routing Protocols

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

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

Internet Protocol: Routing Algorithms. Srinidhi Varadarajan

Weighted Graphs ( 12.5) Shortest Paths. Shortest Paths ( 12.6) Shortest Path Properties PVD ORD SFO LGA HNL LAX DFW MIA PVD PVD ORD ORD SFO SFO LGA

UNIT III THE NETWORK LAYER

Distance Vector Routing

Chapter 4: Network Layer

CS 43: Computer Networks Internet Routing. Kevin Webb Swarthmore College November 16, 2017

Network Layer, Part 2 Routing. Terminology

Routing. Basic principles. Karst Koymans. Informatics Institute University of Amsterdam. (version 16.4, 2017/02/23 10:58:58)

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

CS2210 Data Structures and Algorithms

CS 640: Introduction to Computer Networks. Intra-domain routing. Inter-domain Routing: Hierarchy. Aditya Akella

Outline. Addressing on the network layer ICMP IPv6 Addressing on the link layer Virtual circuits

Routing Algorithms : Fundamentals of Computer Networks Bill Nace

Dynamic Routing. The Protocols

COMP211 Chapter 5 Network Layer: The Control Plane

Routing. Effect of Routing in Flow Control. Relevant Graph Terms. Effect of Routing Path on Flow Control. Effect of Routing Path on Flow Control

Youki Kadobayashi NAIST

Lecture 13: Weighted Shortest Paths. These slides include material originally prepared by Dr. Ron Cytron and Dr. Steve Cole.

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

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

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

Chapter 4: Network Layer. TDTS06 Computer networks. Subnets. Subnets. Subnets. IP Addressing: introduction

Communication Networks

Inter-Autonomous-System Routing: Border Gateway Protocol

Unit 2. Signaling and Single Area OSPF

CS 43: Computer Networks. 24: Internet Routing November 19, 2018

Transcription:

8: Lecture Fall 0

Routing ()!

Location-ased ddressing Recall from Lecture that routers maintain routing tables to forward packets based on their IP addresses To allow scalability, IP addresses are assigned based on location, similarly to phone numbers [area,zone,number]

Location-ased ddressing Location-based addressing helps reducing the number of entries in routing tables: IP addresses with the same prefix can share the same entry in a routing table routing table maps prefixes of input IP addresses to output ports Given a destination IP address, the router finds the longest matching prefix in the routing table

xample Packet with destination address.8.00.0 is sent to output port, as.8.00.xxx is the longest prefix matching packet s destination address 8.6.0.xxx.8.xxx.xxx.8.00.xxx.8.00.0 8.6.0.

utonomous Systems (S) The Internet is grouped into about 40,000 utonomous Systems (S) or domains Groups of hosts/routers under a single administrative entity ach S is assigned a unique identifier 6 bit S Number (SN)a network under a single administrative entity utonomous System or omain

Two-Level Routing Routing is performed at two levels: Routing within a domain is called intra-domain routing Routing across domains is called inter-domain routing Reasons: Routing within a domain requires microscopic knowledge of local network topology omains are managed by different companies/institutions Intra-domain routing driven by optimal performance Inter-domain driven by economic trade-offs

Routing Protocols Internet routing protocols are responsible for constructing and updating the routing tables at the routers Routing protocols use shortest path algorithms to establish good paths between nodes. Two classical algorithms: Link State: ased on ijkstra s Shortest Path lgorithm istance Vector: ased on ellman-ford lgorithm Routing Protocols used in practice: Intra-domain routing: Open Shortest Path First (OSPF) (link state), Routing Information Protocol (RIP) (distance vector) Inter-omain routing: order Gateway Protocol (GP)

Network Representation as a Graph Routing algorithms model the network as a graph Routers are graph vertices and links are edges dges have an associated cost (e.g., distance, queue delay, cost) F Goal: Find a least-cost path from any two vertices

Link State vs istance Vector Link State (LS): ach node learns the complete network map (global information) ach node computes shortest paths independently and in parallel istance Vector (V): No node has the complete picture (local information) Nodes cooperate to compute shortest paths in a distributed manner LS uses global information, while V is asynchronous, and distributed. LS has higher messaging overhead and higher processing complexity, but is less vulnerable to looping

Link-State!

Link State Routing ach node maintains its local link state (LS) i.e., a list of its directly attached links and their costs Host (N,N) (N,N4) (N,N) Host Host N N N N Host N4 Host N6 N7

Link State Routing ach node maintains its local link state (LS) ach node floods its local link state on receiving a new LS message, a router forwards the message to all its neighbors other than the one it received the message from Host Host Host (N,N) (N, N4) (N, N) N N4 (N,N) (N, N4) (N, N) (N,N) (N, N4) (N, N) (N,N) (N, N4) (N, N) (N,N) (N, N4) (N, N) N N (N,N) (N, N4) (N, N) (N,N) (N, N4) (N, N) N (N,N) (N, N4) (N, N) Host Host (N,N) (N, N4) (N, N) N6 (N,N) (N, N4) (N, N) N7

Link State Routing ach node maintains its local link state (LS) ach node floods its local link state Hence, each node learns the entire network topology an use ijkstra s to compute the shortest paths between nodes Host Host Host N N N N Host N4 Host N6 N7

ijkstraʼs Shortest Path lgorithm INPUT: Network topology (graph), with link costs OUTPUT: Least cost paths from one node to all other nodes Iterative: after k iterations, a node knows the least cost path to its k closest neighbors https://en.wikipedia.org/wiki/dsger_w._ijkstra

Notation c(i,j): cost 0 from node i to j ( if i and j are not neighbors) (v): total cost of the current least-cost path from source to destination v p(v): v s predecessor along path from source to v S: set of nodes whose least cost path is known Source! F

ijkstras lgorithm c(i,j): link cost from node i to j Initialization: S = {}; for all nodes v 4 if v adjacent to then (v) = c(,v); 6 else (v) = ; 7 8 Loop 9 find w not in S such that (w) is a minimum; 0 add w to S; update (v) for all v adjacent to w and not in S: if (w) + c(w,v) < (v) then // w gives us a shorter path to v than we ve found so far (v) = (w) + c(w,v); p(v) = w; 4 until all nodes in S; (v): current cost source v p(v): v s predecessor along path from source to v S: set of nodes whose least cost path definitively known

xample: ijkstras lgorithm! Step 0 4 set S (),p(), (),p(), (),p(), (),p() (F),p(F) F Initialization: S = {}; for all nodes v 4 if v adjacent to then (v) = c(,v); 6 else (v) = ;

xample: ijkstras lgorithm! Step 0 4 set S (),p(), F (),p(), (),p(), (),p() (F),p(F) 8 Loop 9 find w not in S s.t. (w) is a minimum; 0 add w to S; update (v) for all v adjacent to w and not in S: If (w) + c(w,v) < (v) then (v) = (w) + c(w,v); p(v) = w; 4 until all nodes in S;

xample: ijkstras lgorithm! Step 0 4 set S (),p(), (),p(), F (),p(), (),p() (F),p(F) 8 Loop 9 find w not in S s.t. (w) is a minimum; 0 add w to S; update (v) for all v adjacent to w and not in S: If (w) + c(w,v) < (v) then (v) = (w) + c(w,v); p(v) = w; 4 until all nodes in S;

xample: ijkstras lgorithm! Step 0 4 set S (),p(), F (),p (),p(),, 4, (),p(), (F),p(F) 8 Loop 9 find w not in S s.t. (w) is a minimum; 0 add w to S; update (v) for all v adjacent to w and not in S: If (w) + c(w,v) < (v) then (v) = (w) + c(w,v); p(v) = w; 4 until all nodes in S;

xample: ijkstras lgorithm! Step 0 4 set S (),p(), F (),p(), 4,, (),p(), (),p(), (F),p(F) 4, 8 Loop 9 find w not in S s.t. (w) is a minimum; 0 add w to S; update (v) for all v adjacent to w and not in S: If (w) + c(w,v) < (v) then (v) = (w) + c(w,v); p(v) = w; 4 until all nodes in S;

xample: ijkstras lgorithm! Step 0 4 set S (),p(), F (),p(), 4,, (),p(), (),p(), (F),p(F) 4, 8 Loop 9 find w not in S s.t. (w) is a minimum; 0 add w to S; update (v) for all v adjacent to w and not in S: If (w) + c(w,v) < (v) then (v) = (w) + c(w,v); p(v) = w; 4 until all nodes in S;

xample: ijkstras lgorithm! Step 0 4 set S (),p(), F (),p(), 4,, (),p(), (),p(), (F),p(F) 4, 8 Loop 9 find w not in S s.t. (w) is a minimum; 0 add w to S; update (v) for all v adjacent to w and not in S: If (w) + c(w,v) < (v) then (v) = (w) + c(w,v); p(v) = w; 4 until all nodes in S;

xample: ijkstras lgorithm! Step 0 4 set S F (),p(), F (),p(), 4,, (),p(), (),p(), (F),p(F) 4, 8 Loop 9 find w not in S s.t. (w) is a minimum; 0 add w to S; update (v) for all v adjacent to w and not in S: If (w) + c(w,v) < (v) then (v) = (w) + c(w,v); p(v) = w; 4 until all nodes in S;

xample: ijkstras lgorithm! Step 0 4 set S F (),p(), (),p(), 4,, (),p(), (),p(), (F),p(F) 4, F To determine path (say), work backward from via p(v)

The Routing Table Running ijkstra at node gives the shortest path from to all destinations We then construct the routing table F estination Link (,) (,) (,) (,) F (,)

lgorithmic omplexity How many messages needed to flood link state messages? O( N ), where N is no. nodes; is no. edges in graph Processing complexity for ijkstra s algorithm? O( N ), because we check all nodes w not in S at each iteration and we have O( N ) iterations more efficient implementations: O( N log( N ))

ijkstra in action

ijkstra in action