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

Similar documents
Internet Protocol: Routing Algorithms. Srinidhi Varadarajan

CS555, Spring /5/2005. April 12, 2005 No classes attend Senior Design Projects conference. Chapter 4 roadmap. Internet AS Hierarchy

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

Chapter 4: Network Layer, partb

Chapter IV: Network Layer

Chapter 4: Network Layer

Chapter 4: Network Layer

Chapter 4: outline. Network Layer 4-1

Topics for This Week

Network layer: Overview. Network layer functions Routing IP Forwarding

Network Layer: Routing. Routing. Routing protocol. Graph abstraction for routing algorithms: graph nodes are routers graph edges are physical links

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

Chapter 4: Network Layer. Lecture 12 Internet Routing Protocols. Chapter goals: understand principles behind network layer services:

Computer Networking Introduction

Routing in the Internet

CSCE 463/612 Networks and Distributed Processing Spring 2018

DATA COMMUNICATOIN NETWORKING

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

Chapter 4 Network Layer

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

CSc 450/550 Computer Networks Internet Routing

CSC 4900 Computer Networks: Routing Protocols

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

CS 43: Computer Networks Internet Routing. Kevin Webb Swarthmore College November 14, 2013

Announcements. CS 5565 Network Architecture and Protocols. Project 2B. Project 2B. Project 2B: Under the hood. Routing Algorithms

Network layer functions

Routing. Jens A Andersson Communication Systems

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

Network layer: Overview. Network layer functions Routing IP Forwarding

Shortest Paths Algorithms and the Internet: The Distributed Bellman Ford Lecturer: Prof. Chiara Petrioli

Chapter 5 Network Layer: The Control Plane

Lecture 4. The Network Layer (cont d)

Routing Unicast routing protocols

Department of Computer and IT Engineering University of Kurdistan. Computer Networks II Border Gateway protocol (BGP) By: Dr. Alireza Abdollahpouri

Chapter 4: Network Layer: Part II

DATA COMMUNICATOIN NETWORKING

Initial motivation: 32-bit address space soon to be completely allocated. Additional motivation:

Chapter 4: Network Layer

Inter-AS routing and BGP. Network Layer 4-1

Network Layer: Routing

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

CSC 4900 Computer Networks: Routing Algorithms

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

Chapter 4: Network Layer

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

Dynamic Routing. The Protocols

CSC 8560 Computer Networks: Control Plane

Routing. Outline. Algorithms Scalability

EE 122: Intra-domain routing

UNIT III THE NETWORK LAYER

Chapter 4: Network Layer

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

5.1 introduction 5.5 The SDN control 5.2 routing protocols plane. Control Message 5.3 intra-as routing in Protocol the Internet

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

CMPE 80N: Introduction to Networking and the Internet. Katia Obraczka Computer Engineering UCSC Baskin Engineering Lecture 20

CSCI Topics: Internet Programming Fall 2008

Chapter 4: outline. 4.5 routing algorithms link state distance vector hierarchical routing. 4.6 routing in the Internet RIP OSPF BGP

CSCD 330 Network Programming Spring 2018

Network Layer: Routing

Chapter 4 Network Layer. Network Layer 4-1

CSCD 330 Network Programming Spring 2017

Interplay between routing, forwarding

Course on Computer Communication and Networks. Lecture 7 Network Layer, Chapter 4 (6/e) - Part B (7/e Ch5)

Computer Networks. Instructor: Niklas Carlsson

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

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

Department of Computer Science Southern Illinois University Carbondale

Master Course Computer Networks IN2097

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

Routing Algorithm Classification. A Link-State Routing Algorithm

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

Initial motivation: 32-bit address space soon to be completely allocated. Additional motivation:

Data Communications & Networks. Session 7 Main Theme Networks: Part II Circuit Switching, Packet Switching, The Network Layer

Why dynamic route? (1)

ETSF05/ETSF10 Internet Protocols Routing on the Internet

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

EC441 Fall 2018 Introduction to Computer Networking Chapter 5: Network Layer Control Plane

Master Course Computer Networks IN2097

ETSF05/ETSF10 Internet Protocols. Routing on the Internet

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

Chapter 4: Network Layer. Chapter 4 Network Layer. Chapter 4: Network Layer. Network layer. Chapter goals:

Network Layer: Control Plane 5-2

Network layer. Network Layer 4-1. application transport network data link physical. network data link physical. network data link physical

CSC 401 Data and Computer Communications Networks

COMP211 Chapter 5 Network Layer: The Control Plane

Inter-Domain Routing: BGP

Module 3 Network Layer CS755! 3-1!

Lecture 19: Network Layer Routing in the Internet

What s a protocol? CE80N Introduction to Networks & The Internet. Communication Protocol. Protocol Layers. Dr. Chane L. Fullmer UCSC Winter 2002

COMP/ELEC 429/556 Introduction to Computer Networks

EECS 3214: Computer Networks Protocols and Applications

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

Initialization: Loop until all nodes in N

Network layer functions. Chapter 4 Network Layer. Network layer functions. Network layer functions

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

Graph abstraction: costs. Graph abstraction 10/26/2018. Interplay between routing and forwarding

Forelesning nr 5, m andag 16. sept em ber Chapt er 4, Net w ork Layer and Rout ing. Datakom høsten

Chapter 4 Network Layer

Network layer. Key Network-Layer Functions. Network service model. Interplay between routing and forwarding. CSE 4213: Computer Networks II

Interplay Between Routing, Forwarding

Transcription:

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

Routing Routing protocol Goal: determine good path (sequence of routers) thru network from source to dest. Graph abstraction for routing algorithms: graph nodes are routers graph edges are physical links link cost: delay, $ cost, or congestion level A 1 2 5 B D 2 3 1 good path: typically means minimum cost path 3 C E 1 5 2 F

Routing Algorithm classification Global or decentralized information? Global: all routers have complete topology, link cost info link state algorithms Decentralized: router knows physicallyconnected neighbors, link costs to neighbors iterative process of computation, exchange of info with neighbors Static or dynamic? Static: routes change slowly over time Dynamic: routes change more quickly periodic update in response to link cost changes

What is the problem?

Flooding

Source Routing

Forwarding Table

Spanning Tree

Example of a no loop spanning tree

Spanning Trees in Practice

Routing Metrics

Simple Topology

Complex Internet

Hierarchical Routing Our routing study thus far - idealization all routers identical network flat not true in practice scale: with 50 million destinations: can t store all dest s in routing tables! routing table exchange would swamp links! administrative autonomy internet = network of networks each network admin may want to control routing in its own network

Hierarchical Routing aggregate routers into regions, autonomous systems (AS) routers in same AS run same routing protocol intra AS routing protocol routers in different AS can run different intra AS routing protocol gateway routers special routers in AS run intra AS routing protocol with all other routers in AS also responsible for routing to destinations outside AS run inter AS routing protocol with other gateway routers

Intra AS and Inter AS routing a Host h1 C C.b b A.a A.c a d A b c Intra-AS routing within AS A Inter-AS routing between A and B B.a a B c b Host h2 Intra-AS routing within AS B We ll examine specific inter-as and intra-as Internet routing protocols shortly

Multipath

Multicast

Reverse Path Broadcast (RPB) + Pruning

One Tree vs. Multiple Trees

Multicast in Practice

Link State Routing Algorithm Dijkstra s algorithm net topology, link costs known to all nodes accomplished via link state broadcast all nodes have same info computes least cost paths from one node ( source ) to all other nodes gives routing table for that node iterative: after k iterations, know least cost path to k dest. s Notation: c(i,j): link cost from node i to j. cost infinite if not direct neighbors D(v): current value of cost of path from source to dest. V p(v): predecessor node along path from source to v, that is next v N:set of nodes whose least cost path definitively known

Dijkstra s algorithm: example Step 0 1 2 3 4 5 start N A AD ADE ADEB ADEBC ADEBCF D(B),p(B) 2,A 2,A 2,A D(C),p(C) 5,A 4,D 3,E 3,E D(D),p(D) 1,A D(E),p(E) infinity 2,D D(F),p(F) infinity infinity 4,E 4,E 4,E A E D C B F 2 2 1 3 1 1 2 5 3 5

Dijkstra s algorithm, discussion Algorithm complexity: n nodes each iteration: need to check all nodes, w, not in N n*(n+1)/2 comparisons: O(n^2) more efficient implementations possible: O(nlogn) Oscillations possible: e.g., link cost = amount of carried traffic 1 A 1+e D 0 0 B 0 e C 1 1 e initially A 2+e 0 D B 0 1+e1 0 C recompute routing A 0 2+e D B 1 0 0 C 1+e recompute A 2+e 0 D B 0 1+e1 e C recompute

Distance Vector Routing Algorithm iterative: continues until no nodes exchange info. self terminating: No signal to stop distributed: each node communicates only with directly attached neighbors Distance Table data structure each node has its own row for each possible destination column for each directly attached neighbor to node example: in node X, for dest. Y via neighbor Z: X D (Y,Z) = = distance from X to Y, via Z as next hop Z c(x,z) + min {D (Y,w)} w

Distance Table: example A E D (C,D) E D (A,D) E D (A,B) 1 7 B E 8 1 2 C D D = c(e,d) + min {D (C,w)} w = 2+2 = 4 D = c(e,d) + min {D (A,w)} w = 2+3 = 5 loop! 2 B c(e,b) + min {D (A,w)} w = = 8+6 = 14 loop! cost to destination via D E() A B D A B C D 1 7 6 4 14 8 9 11 5 5 4 2

Distance table gives routing table cost to destination via D E() A B D Outgoing link to use, cost A 1 14 5 A A,1 B 7 8 5 B D,5 C 6 9 4 C D,4 D 4 11 2 D D,2 Distance table Routing table

Distance Vector Routing: overview Iterative, asynchronous: each local iteration caused by: local link cost change message from neighbor: its least cost path change from neighbor Distributed: each node notifies neighbors only when its least cost path to any destination changes neighbors then notify their neighbors if necessary Each node: wait for (change in local link cost of msg from neighbor) recompute distance table if least cost path to any dest has changed, notify neighbors

Comparison of LS and DV algorithms Message complexity LS: with n nodes, E links, O(nE) msgs sent each DV: exchange between neighbors only convergence time varies Speed of Convergence LS: O(n^2) algorithm requires O(nE) msgs may have oscillations DV: convergence time varies may be routing loops count to infinity problem Robustness: what happens if router malfunctions? LS: DV: node can advertise incorrect link cost each node computes only its own table DV node can advertise incorrect path cost each node s table used by others error propagate thru network

Intra AS Routing Also known as Interior Gateway Protocols (IGP) Most common IGPs: RIP: Routing Information Protocol OSPF: Open Shortest Path First IGRP: Interior Gateway Routing Protocol (Cisco propr.)

RIP ( Routing Information Protocol) Distance vector algorithm Included in BSD UNIX Distribution in 1982 Distance metric: # of hops (max = 15 hops) Can you guess why? Distance vectors: exchanged every 30 sec via Response Message (also called advertisement) Each advertisement: route to up to 25 destination nets

RIP: Link Failure and Recovery If no advertisement heard after 180 sec > neighbor/link declared dead routes via neighbor invalidated new advertisements sent to neighbors neighbors in turn send out new advertisements (if tables changed) link failure info quickly propagates to entire net poison reverse used to prevent ping pong loops (infinite distance = 16 hops)

OSPF (Open Shortest Path First) open : publicly available Uses Link State algorithm LS packet dissemination Topology map at each node Route computation using Dijkstra s algorithm OSPF advertisement carries one entry per neighbor router Advertisements disseminated to entire AS (via flooding)

OSPF advanced features (not in RIP) Security: all OSPF messages authenticated (to prevent malicious intrusion); TCP connections used Multiple same cost paths allowed (only one path in RIP) For each link, multiple cost metrics for different TOS (eg, satellite link cost set low for best effort; high for real time) Integrated uni and multicast support: Multicast OSPF (MOSPF) uses same topology data base as OSPF Hierarchical OSPF in large domains.

IGRP (Interior Gateway Routing Protocol) CISCO proprietary; successor of RIP (mid 80s) Distance Vector, like RIP several cost metrics (delay, bandwidth, reliability, load etc) uses TCP to exchange routing updates Loop free routing via Distributed Updating Alg. (DUAL) based on diffused computation

Internet inter AS routing: BGP BGP (Border Gateway Protocol): the de facto standard Path Vector protocol: similar to Distance Vector protocol each Border Gateway broadcast to neighbors (peers) entire path (I.e, sequence of ASs) to destination E.g., Gateway X may send its path to dest. Z: Path (X,Z) = X,Y1,Y2,Y3,,Z

Internet inter AS routing: BGP Suppose: gateway X send its path to peer gateway W W may or may not select path offered by X cost, policy (don t route via competitors AS), loop prevention reasons. If W selects path advertised by X, then: Path (W,Z) = w, Path (X,Z) Note: X can control incoming traffic by controling it route advertisements to peers: e.g., don t want to route traffic to Z > don t advertise any routes to Z

Internet inter AS routing: BGP BGP messages exchanged using TCP. BGP messages: OPEN:opens TCP connection to peer and authenticates sender UPDATE:advertises new path (or withdraws old) KEEPALIVE keeps connection alive in absence of UPDATES; also ACKs OPEN request NOTIFICATION: reports errors in previous msg; also used to close connection

Why different Intra and Inter AS routing? Policy: Inter AS: admin wants control over how its traffic routed, who routes through its net. Intra AS: single admin, so no policy decisions needed Scale: hierarchical routing saves table size, reduced update traffic Performance: Intra AS: can focus on performance Inter AS: policy may dominate over performance

Router Architecture Overview Two key router functions: run routing algorithms/protocol (RIP, OSPF, BGP) switching datagrams from incoming to outgoing link

Input Port Queuing Fabric slower that input ports combined > queueing may occur at input queues Head of the Line (HOL) blocking: queued datagram at front of queue prevents others in queue from moving forward queueing delay and loss due to input buffer overflow!

Output Ports Buffering required when datagrams arrive from fabric faster than the transmission rate Scheduling discipline chooses among queued datagrams for transmission

Three types of switching fabrics Limited buffer Contention

What about Routing in Wireless? Wireless transmission medium is not a wire Radiates over space Signal weakens with distance: r 2 or faster Intermediate links Uncontrolled medium Signal strength changes over time Interference from other transmitters

Closer look at Signal Strength Obstructions can further weaken signal Wireless signals can reflect Multipath: can receive signal in multiple paths/reflections, with different delays (analogy: echoes in a canyon) There is no perfectly uniform antenna The world is continuously changing

Changing over time

Interference

Example of a WiFi Channel

Summary Wireless networks are increasingly the last hop for personal communications But generally don t work as well Wireless behaves very differently from wired: many complex behaviors! Signal weakens over distance Signal affected by environment Intermediate links External interference Different behavior leads to different protocols and algorithms