Chapter 4: Network Layer

Similar documents
Network Layer: Routing

Computer Networks. Instructor: Niklas Carlsson

Interplay between routing, forwarding

Routing Algorithm Classification. A Link-State Routing Algorithm

Computer Networking. Rou1ng Algorithms. Rou1ng Algorithms. Interplay between rou1ng, forwarding. routing algorithm

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

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

Agenda. distance-vector (what you invented last Friday) hierarchical routing routing in the Internet. v DNS assignment Q&A v Routing Algorithms

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

Network Layer: Control Plane 5-2

Chapter 4: Network Layer: Part II

CS 3516: Advanced Computer Networks

Chapter IV: Network Layer

Chapter 4 Network Layer. Network Layer 4-1

CS 3516: Advanced Computer Networks

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

DATA COMMUNICATOIN NETWORKING

Interplay tra routing e forwarding

Chapter 4: Network Layer, partb

CSC 4900 Computer Networks: Routing Algorithms

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

11/13/2017 Network Layer (SSL) Network-layer functions. Recall the two network-layer functions:

Announcements. CS 5565 Network Architecture and Protocols. Count-To-Infinity. Poisoned Reverse. Distance Vector: Link Cost Changes.

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

Chapter 4 Network Layer

Chapter 5: Network Layer Control Plane. understand principles behind network control plane : traditional routing algorithms

Network layer: Overview. Network layer functions Routing IP Forwarding

CSCE 463/612 Networks and Distributed Processing Spring 2018

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

Chapter 4 Network Layer

CSC 401 Data and Computer Communications Networks

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

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

Chapter 5 Network Layer: The Control Plane

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

Internet Protocol: Routing Algorithms. Srinidhi Varadarajan

EE 122: Intra-domain routing

Chapter 4: Network Layer

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

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

CSCD 330 Network Programming Spring 2018

CSCD 330 Network Programming Spring 2017

Internet Technology. 08. Routing. Paul Krzyzanowski. Rutgers University. Spring CS Paul Krzyzanowski

Chapter 4 Network Layer

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

CSC 8560 Computer Networks: Control Plane

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

Protocoles et Interconnexions

Chapter 4: Network Layer

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

COMP 3331/9331: Computer Networks and Applications

Chapter IV: Network Layer

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

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

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

4.5.2 The Distance-Vector (DV) Routing Algorithm

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

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

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

Lecture 4. The Network Layer (cont d)

Network layer: Overview. Network layer functions Routing IP Forwarding

Initialization: Loop until all nodes in N

CSC 4900 Computer Networks: Routing Protocols

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

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

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

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

Chapter 4: outline. Network Layer 4-1

Chapter 4: Network Layer

Computer Networking Introduction

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

Routing Algorithms : Fundamentals of Computer Networks Bill Nace

CSc 450/550 Computer Networks Internet Routing

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

UNIT III THE NETWORK LAYER

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

CS118 Discussion 1A, Week 7. Zengwen Yuan Dodd Hall 78, Friday 10:00 11:50 a.m.

Dynamic Routing. The Protocols

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

CSCE 463/612 Networks and Distributed Processing Spring 2017

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

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

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

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

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

Routing. Outline. Algorithms Scalability

Master Course Computer Networks IN2097

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

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

Interplay Between Routing, Forwarding

Telecomunicazioni. Docente: Andrea Baiocchi. DIET - Stanza 107, 1 piano palazzina P. Piga Via Eudossiana 18

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

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

Chapter 4: Network Layer. Chapter 4 Network Layer. Chapter 4: Network Layer. Network layer. Two Key Network-Layer Functions

Routing. Jens A Andersson Communication Systems

COMP/ELEC 429/556 Introduction to Computer Networks

Network Layer. CMPS 4750/6750: Computer Networks

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

Chapter 4: Network Layer. TDTS06 Computer networks. Chapter 4: Network Layer. Network layer. Two Key Network-Layer Functions

Transcription:

Chapter 4: Network Laer 4. Introduction 4. Virtual circuit and datagram networks 4. What s inside a router 4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6 4. Routing algorithms Link state Distance Vector Hierarchical routing 4.6 Routing in the Internet RIP OSPF BGP 4.7 Broadcast and multicast routing Network Laer 4-69 Interpla between routing, forwarding routing algorithm local forwarding table header value output link 000 00 0 00 value in arriving packet s header 0 Network Laer 4-70

Graph abstraction Graph: G = (N,E) u v w N = set of routers = { u, v, w,,, } E = set of links ={ (u,v), (u,), (v,), (v,w), (,w), (,), (w,), (w,), (,) } Remark: Graph abstraction is useful in other network contets Eample: PP, where N is set of peers and E is set of TCP connections Network Laer 4-7 Graph abstraction: costs u v w c(, ) = cost of link (, ) - e.g., c(w,) = cost could alwas be, or inversel related to bandwidth, or inversel related to congestion Cost of path (,,,, p ) = c(, ) + c(, ) + + c( p-, p ) Question: What s the least-cost path between u and? Routing algorithm: algorithm that finds least-cost path Network Laer 4-7

Routing Algorithm classification Global or decentralied information? Global: all routers have complete topolog, link cost info link state algorithms Decentralied: router knows phsicallconnected neighbors, link costs to neighbors iterative process of computation, echange of info with neighbors distance vector algorithms Static or dnamic? Static: routes change slowl over time Dnamic: routes change more quickl periodic update in response to link cost changes Network Laer 4-7 Chapter 4: Network Laer 4. Introduction 4. Virtual circuit and datagram networks 4. What s inside a router 4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6 4. Routing algorithms Link state Distance Vector Hierarchical routing 4.6 Routing in the Internet RIP OSPF BGP 4.7 Broadcast and multicast routing Network Laer 4-74

A Link-State Routing Algorithm Dijkstra s algorithm net topolog, link costs known to all nodes accomplished via link state broadcast all nodes have same info computes least cost paths one node ( source ) to all other nodes gives forwarding table for that node iterative: after k iterations, know least cost path to k dest. s Notation: c(,): link cost node to ; = if not direct neighbors D(v): current value of cost of path source to dest. v p(v): predecessor node along path source to v N': set of nodes whose least cost path definitivel known Network Laer 4-7 Dijsktra s Algorithm Initialiation: N' = {u} for all nodes v 4 if v adjacent to u then D(v) = c(u,v) 6 else D(v) = 7 8 Loop 9 find w not in N' such that D(w) is a minimum 0 add w to N' update D(v) for all v adjacent to w and not in N' : D(v) = min( D(v), D(w) + c(w,v) ) /* new v is either old v or known 4 shortest path w plus cost w to v */ until all nodes in N' Network Laer 4-76 4

Dijkstra s algorithm: eample Step 0 4 N' u u u uv uvw uvw D(v),p(v),u,u,u D(w),p(w),u 4,,, D(),p(),u D(),p(), D(),p() 4, 4, 4, u v w Network Laer 4-77 Dijkstra s algorithm: eample () Resulting shortest-path tree u: v w u Resulting forwarding table in u: destination v w link (u,v) (u,) (u,) (u,) (u,) Network Laer 4-78

Dijkstra s algorithm, discussion Algorithm compleit: n nodes each iteration: need to check all nodes, w, not in N n(n+)/ comparisons: O(n ) more efficient implementations possible: O(nlogn) Oscillations possible: e.g., link cost = amount of carried traffic A +e D 0 0 B 0 e C +e A 0 D +e B 0 0 C 0 A +e D 0 0 B +e C +e A 0 D +e B 0 e C e initiall recompute routing recompute recompute Network Laer 4-79 Chapter 4: Network Laer 4. Introduction 4. Virtual circuit and datagram networks 4. What s inside a router 4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6 4. Routing algorithms Link state Distance Vector Hierarchical routing 4.6 Routing in the Internet RIP OSPF BGP 4.7 Broadcast and multicast routing Network Laer 4-80 6

Distance Vector Algorithm Bellman-Ford Equation (dnamic programming) Define d () := cost of least-cost path to Then d () = min {c(,v) + d v () } v where min is taken over all neighbors v of Network Laer 4-8 Bellman-Ford eample u v w Clearl, d v () =, d () =, d w () = B-F equation sas: d u () = min { c(u,v) + d v (), c(u,) + d (), c(u,w) + d w () } = min { +, +, + } = 4 Node that achieves minimum is net hop in shortest path forwarding table Network Laer 4-8 7

Distance Vector Algorithm D () = estimate of least cost to Node knows each neighbor v: c(,v) Node maintains distance vector D = [D (): є N ] Node also maintains its neighbors distance vectors For each neighbor v, maintains D v = [D v (): є N ] Network Laer 4-8 Distance vector algorithm (4) Basic idea: From time-to-time, each node sends its own distance vector estimate to neighbors Asnchronous When a node receives new DV estimate neighbor, it updates its own DV using B-F equation: D () min v {c(,v) + D v ()} for each node N Under minor, natural conditions, the estimate D () converge to the actual least cost d () Network Laer 4-84 8

Distance Vector Algorithm () Iterative, asnchronous: each local iteration caused b: local link cost change DV update message neighbor Distributed: each node notifies neighbors onl when its DV changes neighbors then notif their neighbors if necessar Each node: wait for (change in local link cost or msg neighbor) recompute estimates if DV to an dest has changed, notif neighbors Network Laer 4-8 D () = min{c(,) + D (), c(,) + D ()} = min{+0, 7+} = node table 0 7 node table node table 0 7 0 0 0 7 0 time D () = min{c(,) + D (), c(,) + D ()} = min{+, 7+0} = 7 Network Laer 4-86 9

D () = min{c(,) + D (), c(,) + D ()} = min{+0, 7+} = node table 0 7 0 0 0 0 7 0 0 node table 0 7 0 0 0 0 7 0 0 node table 7 0 0 7 0 0 0 0 0 time D () = min{c(,) + D (), c(,) + D ()} = min{+, 7+0} = 7 Network Laer 4-87 Distance Vector: link cost changes Link cost changes: node detects local link cost change updates routing info, recalculates distance vector if DV changes, notif neighbors 4 0 good news travels fast At time t 0, detects the link-cost change, updates its DV, and informs its neighbors. At time t, receives the update and updates its table. It computes a new least and sends its neighbors its DV. At time t, receives s update and updates its distance table. s least costs do not change and hence does not send an message to. Network Laer 4-88 0

Distance Vector: link cost changes Link cost changes: good news travels fast bad news travels slow - count to infinit problem! 44 iterations before algorithm stabilies: see tet Poisoned reverse: If Z routes through Y to get to X : Z tells Y its (Z s) distance to X is infinite (so Y won t route to X via Z) will this completel solve count to infinit problem? 60 4 0 Network Laer 4-89 Comparison of LS and DV algorithms Message compleit LS: with n nodes, E links, O(nE) msgs sent DV: echange between neighbors onl convergence time varies Speed of Convergence LS: O(n ) algorithm requires O(nE) msgs ma have oscillations DV: convergence time varies ma be routing loops count-to-infinit problem Robustness: what happens if router malfunctions? LS: node can advertise incorrect link cost each node computes onl its own table DV: DV node can advertise incorrect path cost each node s table used b others error propagate thru network Network Laer 4-90

Chapter 4: Network Laer 4. Introduction 4. Virtual circuit and datagram networks 4. What s inside a router 4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6 4. Routing algorithms Link state Distance Vector Hierarchical routing 4.6 Routing in the Internet RIP OSPF BGP 4.7 Broadcast and multicast routing Network Laer 4-9 Hierarchical Routing Our routing stud thus far - idealiation all routers identical network flat not true in practice scale: with 00 million destinations: can t store all dest s in routing tables! routing table echange would swamp links! administrative autonom internet = network of networks each network admin ma want to control routing in its own network Network Laer 4-9

Hierarchical Routing aggregate routers into regions, autonomous sstems (AS) routers in same AS run same routing protocol intra-as routing protocol routers in different AS can run different intra- AS routing protocol Gatewa router Direct link to router in another AS Network Laer 4-9 Interconnected ASes c a b AS a c d b Intra-AS Routing algorithm AS Forwarding table Inter-AS Routing algorithm a c b AS forwarding table configured b both intra- and inter-as routing algorithm intra-as sets entries for internal dests inter-as & intra-as sets entries for eternal dests Network Laer 4-94

Inter-AS tasks suppose router in AS receives datagram destined outside of AS: router should forward packet to gatewa router, but which one? AS must:. learn which dests are reachable through AS, which through AS. propagate this reachabilit info to all routers in AS Job of inter-as routing! c a b AS a c d b AS a c b AS Network Laer 4-9 Eample: Setting forwarding table in router d suppose AS learns (via inter-as protocol) that subnet reachable via AS (gatewa c) but not via AS. inter-as protocol propagates reachabilit info to all internal routers. router d determines intra-as routing info that its interface I is on the least cost path to c. installs forwarding table entr (,I) c a b AS a c d b AS a c b AS Network Laer 4-96 4

Eample: Choosing among multiple ASes now suppose AS learns inter-as protocol that subnet is reachable AS and AS. to configure forwarding table, router d must determine towards which gatewa it should forward packets for dest. this is also job of inter-as routing protocol! c a b AS c a d b AS a c b AS Network Laer 4-97 Eample: Choosing among multiple ASes now suppose AS learns inter-as protocol that subnet is reachable AS and AS. to configure forwarding table, router d must determine towards which gatewa it should forward packets for dest. this is also job of inter-as routing protocol! hot potato routing: send packet towards closest of two routers. Learn inter-as protocol that subnet is reachable via multiple gatewas Use routing info intra-as protocol to determine costs of least-cost paths to each of the gatewas Hot potato routing: Choose the gatewa that has the smallest least cost Determine forwarding table the interface I that leads to least-cost gatewa. Enter (,I) in forwarding table Network Laer 4-98