CSCE 463/612 Networks and Distributed Processing Spring 2017

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

Chapter 4 Network Layer

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

Chapter 4 Network Layer. Network Layer 4-1

Δίκτυα Υπολογιστών ΙΙ. Κώστας Μαγκούτης Επίκουρος Καθηγητής Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων

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

CSC 4900 Computer Networks: Routing Algorithms

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

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

Chapter 4: Network Layer, partb

DATA COMMUNICATOIN NETWORKING

Lecture 17: Network Layer Addressing, Control Plane, and Routing

Chapter IV: Network Layer

Chapter 5 Network Layer: The Control Plane

Module 3 Network Layer CS755! 3-1!

Subnets. IP datagram format. The Internet Network layer. IP Fragmentation and Reassembly. IP Fragmentation & Reassembly. IP Addressing: introduction

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

internet technologies and standards

Chapter 4 Network Layer

Computer Networking Introduction

Network layer: Overview. Network layer functions IP Routing and forwarding NAT ARP IPv6 Routing

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

Network layer: Overview. Network Layer Functions

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

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

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

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

CSC 8560 Computer Networks: Control Plane

Lecture 4. The Network Layer (cont d)

Router Architecture Overview

Last time. Network layer. Introduction. Virtual circuit vs. datagram details. IP: the Internet Protocol. forwarding vs. routing

Chapter 4: network layer

COSC4377. TCP vs UDP Example Statistics

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

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

Chapter 4: Network Layer

Lecture 3. The Network Layer (cont d) Network Layer 1-1

Lecture 4 - Network Layer. Transport Layer. Outline. Introduction. Notes. Notes. Notes. Notes. Networks and Security. Jacob Aae Mikkelsen

Department of Computer Science Southern Illinois University Carbondale

EC441 Fall 2018 Introduction to Computer Networking Chapter4: Network Layer Data Plane

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

CSCE 463/612 Networks and Distributed Processing Spring 2018

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

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

Master Course Computer Networks IN2097

Interplay between routing, forwarding

Network Technology 1 5th - Network Layer. Mario Lombardo -

Lecture 19: Network Layer Routing in the Internet

Chapter 4: Network Layer

internet technologies and standards

CSC 4900 Computer Networks: Network Layer

Summary Chapter 4. Smith College, CSC 249 March 2, q IP Addressing. q DHCP dynamic addressing

Chapter 4 Network Layer

CMPE 80N: Introduction to Networking and the Internet

Communication Networks ( ) / Fall 2013 The Blavatnik School of Computer Science, Tel-Aviv University. Allon Wagner

CSCE 463/612 Networks and Distributed Processing Spring 2018

Chapter 4 Network Layer

Information Network Systems The network layer. Stephan Sigg

Chapter 4: Network Layer

TDTS06: computer Networks

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

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

EECS 3214: Computer Networks Protocols and Applications

Chapter 4: network layer

Chapter 4 Network Layer

Chapter 4 Network Layer

CPSC 826 Internetworking. The Network Layer: Routing & Addressing Outline. The Network Layer

Chapter 4 Network Layer

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

Chapter 4 Network Layer: The Data Plane

CSCE 463/612 Networks and Distributed Processing Spring 2018

Network Layer: Internet Protocol

Chapter 5 Network Layer: The Control Plane

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

Chapter 5 Network Layer: The Control Plane

Chapter 5 Network Layer: The Control Plane

Network layer: Overview. Network layer functions Routing IP Forwarding

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

Network Layer. CMPS 4750/6750: Computer Networks

Chapter 4 Network Layer

Different Layers Lecture 20

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

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

Chapter 4 Network Layer. Chapter 4: Network Layer. Chapter 4: Network Layer. Chapter goals: understand principles behind network layer services:

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

HY 335 Φροντιστήριο 8 ο

Chapter 4 Network Layer

Chapter 4 Network Layer

Network Layer: DHCP, ICMP, NAT, IPv6

Routing Algorithms : Fundamentals of Computer Networks Bill Nace

Chapter 4 Network Layer

Chapter 4 Network Layer

Network Layer (4): ICMP

Department of Computer and IT Engineering University of Kurdistan. Network Layer. By: Dr. Alireza Abdollahpouri

CSCD58 WINTER 2018 WEEK 6 - NETWORK LAYER PART 1. Brian Harrington. February 13, University of Toronto Scarborough

Computer Network Fundamentals Spring Week 4 Network Layer Andreas Terzis

Transcription:

CSCE 46/6 Networks and Distributed Processing Spring 07 Network Layer III Dmitri Loguinov Texas A&M University April, 07 Original slides copyright 996-004 J.F Kurose and K.W. Ross

Homework #4 Grading Default mode: final grading will use homeworks Homework contribution = (hw+hw+hw) / Extra-credit option A: use hw4 in place of any previous homework Swapping out hw, we get (hw4+hw+hw) / Extra-credit option B: add 0% of hw4 to other homeworks (hw + hw + hw + 0.*hw4) / Example: hw =, hw = 80, hw = 70, hw4 = 60 Default = 57, option A = 70, option B = 6 Example: hw = 90, hw = 0, hw = 90, hw4 = 90 Default = option A = 94, option B = 00

NAT: Network Address Translation rest of Internet 8.76.9.7 local network (e.g., home network) 0.0.0/4 0.0.0.4 0.0.0. 0.0.0. 0.0.0. All datagrams leaving local network have the same single source NAT IP address: 8.76.9.7, different source port numbers Datagrams with source or destination in this network have 0.0.0/4 address for source, destination (as usual)

NAT: Network Address Translation Local network uses just one IP address as far as the outside word is concerned No need to be allocated a range of addresses from ISP just one IP address is used for all devices Can change addresses of devices in local network without notifying outside world Can change ISP without changing addresses of devices in local network Devices inside local net not explicitly addressable or visible to outside world (a security plus) To see your NAT IP and current NAT port, visit http://ipchicken.com/ 4

NAT: Network Address Translation : NAT router changes datagram source addr from 0.0.0., 45 to 8.76.9.7, 500, updates table NAT translation table WAN side addr LAN side addr 8.76.9.7, 500 0.0.0., 45 S: 8.76.9.7, 500 D: 8.94.5.7, 80 0.0.0.4 S: 0.0.0., 45 D: 8.94.5.7, 80 : host 0.0.0. sends datagram to 8.94.5.7, 80 0.0.0. 0.0.0. 8.76.9.7 S: 8.94.5.7, 80 D: 8.76.9.7, 500 : Reply arrives dest. address: 8.76.9.7, 500 S: 8.94.5.7, 80 D: 0.0.0., 45 4 0.0.0. 4: NAT router changes datagram dest addr from 8.76.9.7, 500 to 0.0.0., 45 5

NAT: Network Address Translation 6-bit port-number field Up to 64K simultaneous connections with a single LANside address NAT is controversial: Routers should only process up to layer Violates the end-to-end argument Makes inbound connections difficult Inbound connections needed in PP and other applications May be overcome by UPnP or manually configuring NAT to route incoming connections to a particular host Some believe that address shortage should instead be solved by IPv6 6

NAT: Network Address Translation Private networks: 0.0.0.0/8,9.68.0.0/6, 7.6.0.0/ Example: Verizon DSL with a Westell DSL modem Verizon DSL link 7..9.7 through DHCP from Verizon 9.68.. local network (9.68./4) modem implements DHCP + DNS for local network 9.68..46 9.68..47 9.68..48 7

Chapter 4: Roadmap 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.5 Routing algorithms 4.6 Routing in the Internet 4.7 Broadcast and multicast routing 8

ICMP: Internet Control Message Protocol Communicates networklevel debug information Error reporting: unreachable host, network, port, protocol Echo request/reply (ping) Network-layer above IP ICMP msgs carried in IP datagrams ( layer.5 ) ICMP reply message Payload contains first 8 bytes of IP pkt causing error Type Code description 0 0 echo reply (ping) 0 dest network unreachable dest host unreachable dest protocol unreachable dest port unreachable 4 0 source quench (congestion control - not used) 8 0 echo request (ping) 9 0 router advertisement 0 0 router discovery 0 TTL expired 0 bad IP header 8 bits 8 bits Type Code Checksum ID Sequence bits 9

Traceroute and ICMP Source sends series of UDP segments to dest First with TTL = Second with TTL = Unlikely port number When the n-th datagram arrives to the n-th router: Router discards datagram Sends to source a TTL Expired (type, code 0) Message includes IP hdr from router & first 8 bytes of original packet When ICMP message arrives, source calculates RTT Traceroute does this times per hop Stopping criterion UDP segment eventually arrives at destination host Destination returns ICMP port unreachable packet (type, code ) When source gets this ICMP, it stops 0

Chapter 4: Roadmap 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.5 Routing algorithms 4.6 Routing in the Internet 4.7 Broadcast and multicast routing

IPv6 6-byte IP, e.g., FEBC:A574:8B:C:AA49:459:4EFE:998 Initial motivation: -bit address space has been completely allocated Additional motivation: Simpler header format helps speed up forwarding Header changes to facilitate QoS and extensions IPv6 datagram format: Fixed-length 40 byte header No fragmentation allowed TTL priority of packet (QoS) flow ID (not well defined) upper-layer protocol (e.g., TCP, ICMP) or IPv6 extension header

IPv6 Notes Checksum: removed entirely to reduce processing time at each hop Recall that IPv4 checksums the header only (TCP/UDP checksum the entire packet) Options: allowed, but outside of header, indicated by Next Header field All routers cannot be upgraded simultaneously How will the network operate with mixed IPv4 / IPv6 routers? Tunneling: IPv6 carried as payload in IPv4 datagram among IPv4 routers

Tunneling Logical view: Physical view: Q: how does E know the packet has encapsulated IPv6 data? A: protocol field (often 4) A B E F tunnel IPv6 IPv6 IPv6 IPv6 A B C D E F IPv6 IPv6 IPv4 IPv4 IPv6 IPv6 Flow: X Src: A Dest: F data A-to-B: IPv6 Src:B Dest: E Flow: X Src: A Dest: F data B-to-E: IPv6 inside IPv4 Src:B Dest: E Flow: X Src: A Dest: F data B-to-E: IPv6 inside IPv4 Flow: X Src: A Dest: F data E-to-F: IPv6 4

Chapter 4: Roadmap 4. Introduction 4. Virtual circuit and datagram networks 4. What s inside a router 4.4 IP: Internet Protocol 4.5 Routing algorithms Link state Distance Vector Hierarchical routing 4.6 Routing in the Internet 4.7 Broadcast and multicast routing 5

Interplay Between Routing and Forwarding routing algorithm local forwarding table header value output link 000 00 0 00 value in arriving packet s header 0 6

Graph Abstraction u 5 v x Graph: G = (V, E) V = set of routers = {u, v, w, x, y, z } E = set of links = { (u,v), (u,x), (u,w), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z)} Remark: Graph abstraction is useful in other network contexts w y 5 z Example: PP, where V is set of peers and E is set of TCP connections 7

Graph Abstraction: Costs u 5 v x w y 5 z c(x,y) =cost of link (x,y) E.g., c(w,z) = 5 Cost options: Could always be Could be inversely related to bandwidth or be proportional to congestion Physical distance Cost of path (x, x, x,, x p ) = c(x,x ) + c(x,x ) + + c(x p-,x p ) Question: What s the least-cost path between u and z? Routing algorithm: algorithm that finds least-cost path 8

Routing Algorithm Classification Global or local information? Global: Routers have complete topology, link cost info Link state algorithms Local (decentralized): Router knows physicallyconnected neighbors, link costs to neighbors Iterative process of computation, exchange of info with neighbors Distance vector algorithms Static or dynamic? Static: Useful when routes change slowly over time Manual or DHCP-based route creation Dynamic: Routes change more quickly Periodic update in response to link cost changes 9

Chapter 4: Roadmap 4. Introduction 4. Virtual circuit and datagram networks 4. What s inside a router 4.4 IP: Internet Protocol 4.5 Routing algorithms Link state Distance Vector Hierarchical routing 4.6 Routing in the Internet 4.7 Broadcast and multicast routing 0

Simple Link-State Routing Algorithm Dijkstra s algorithm Entire network topology and link costs known Accomplished via link state broadcast Eventually, all nodes have same info Computes least cost paths from one node ( source ) to all other nodes Gives forwarding table for that node Iterative: after k iterations, know least-cost path to k closest destinations Notation: c(x,y): link cost from x to y Cost is if not direct neighbors D(v): current estimate of the cost from source to destination v p(v): predecessor of v along the least-cost path back to source F : set of closest nodes whose least-cost path has been finalized (i.e., known for a fact)

Dijsktra s s Algorithm Initialization: v w F = {u}, D(u) = 0 5 for all nodes v u u if v is adjacent to u D(v) = c(u,v) x y else D(v) = do { find node i not in F such that D(i) is minimum add i to F for all j adjacent to i and not in F : D(j) = min(d(j), D(i) + c(i,j)) /* new cost to j is either old cost to j or known shortest path cost to i plus cost from i to j */ } while (not all nodes in F) 5 z

Dijkstra s s Algorithm: Example Step 0 4 5 F u ux uxy uxyv uxyvw uxyvwz D(v),p(v),u,u,u D(w),p(w) 5,u 4,x,y,y D(x),p(x),u D(y),p(y),x D(z),p(z) 4,y 4,y 4,y 5 u v x w y 5 z

Dijkstra s s Algorithm Discussion Algorithm complexity: n nodes Iteration k: need to find min of (n k) costs Total: n(n )/ comparisons, O(n ) complexity Heap-based implementation: O(nlogn) Oscillations possible, but only for traffic-dependent cost: e.g., Link cost = amount of carried traffic A +e D 0 0 B 0 e C e initially +e A 0 D B 0 +e; 0 C recompute routing 0 A +e D 0 B 0 +e C recompute +e A 0 D B 0 +e e C recompute 4