CSCE 463/612 Networks and Distributed Processing Spring 2018

Similar documents
HW3 and Quiz. P14, P24, P26, P27, P28, P31, P37, P43, P46, P55, due at 3:00pm with both soft and hard copies, 11/11/2013 (Monday) TCP), 20 mins

Network layer overview

Lecture 7. Network Layer. Network Layer 1-1

Last time. Wireless link-layer. Introduction. Characteristics of wireless links wireless LANs networking. Cellular Internet access

Chapter 4 Network Layer

Chapter 4. Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, sl April 2009.

CMSC 332 Computer Networks Network Layer

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

CSE 3214: Computer Network Protocols and Applications Network Layer

Computer Networks. Instructor: Niklas Carlsson

Data Communication & Networks G Session 7 - Main Theme Networks: Part I Circuit Switching, Packet Switching, The Network Layer

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

Key Network-Layer Functions

Chapter 4 Network Layer: The Data Plane. Part A. Computer Networking: A Top Down Approach

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

CSCE 463/612 Networks and Distributed Processing Spring 2017

CS 3516: Advanced Computer Networks

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

Chapter 4 Network Layer

Chapter 4: network layer

Chapter 4: Network Layer

TDTS06: computer Networks

CSCI Computer Networks Fall 2016

CSCE 463/612 Networks and Distributed Processing Spring 2018

Network Layer: outline

CSCE 463/612 Networks and Distributed Processing Spring 2018

internet technologies and standards

Chapter 4 Network Layer

CS 43: Computer Networks. 20: The Network Layer November 5, 2018

Chapter 4 Network Layer

Lecture 16: Network Layer Overview, Internet Protocol

CS 3516: Computer Networks

internet technologies and standards

Network Superhighway CSCD 330. Network Programming Winter Lecture 13 Network Layer. Reading: Chapter 4

EPL606. Internetworking. Part 2a. 1Network Layer

Chapter 4 Network Layer

Chapter 4: Network Layer

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

Virtual Link Layer : Fundamentals of Computer Networks Bill Nace

Chapter 4 Network Layer

CS 43: Computer Networks The Network Layer. Kevin Webb Swarthmore College November 2, 2017

Virtual Link Layer : Fundamentals of Computer Networks Bill Nace

The Network Layer Forwarding Tables and Switching Fabric

Master Course Computer Networks IN2097

CSCE 463/612 Networks and Distributed Processing Spring 2018

CSCE 463/612 Networks and Distributed Processing Spring 2018

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

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

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

Lecture 19: Network Layer Routing in the Internet

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

Chapter 4: Network Layer

Course on Computer Communication and Networks. Lecture 6 Network Layer part 1: Data Plane Chapter 4 (7/e) (6/e Ch4-first part)

CSCE 463/612 Networks and Distributed Processing Spring 2018

CSCD 330 Network Programming

CSCE 463/612 Networks and Distributed Processing Spring 2018

CSC 4900 Computer Networks: Network Layer

Chapter 4 Network Layer: The Data Plane

CSC 401 Data and Computer Communications Networks

CS519: Computer Networks. Lecture 1 (part 2): Jan 28, 2004 Intro to Computer Networking

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

COMP211 Chapter 4 Network Layer: The Data Plane

Chapter 4 Network Layer

Chapter 8 roadmap. Network Security

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

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

CS 4390 Computer Networks. Transport Services and Protocols

CSC358 Week 6. Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright J.F Kurose and K.W. Ross, All Rights Reserved

Module 3 Network Layer CS755! 3-1!

Lecture 2: Internet Structure

CSCE 463/612 Networks and Distributed Processing Spring 2017

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

Lecture 20: Link Layer

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

CSCE 463/612 Networks and Distributed Processing Spring 2018

Chapter 4: network layer. Network service model. Two key network-layer functions. Network layer. Input port functions. Router architecture overview

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

Lecture 9: Transpor Layer Overview and UDP

CSCD 330 Network Programming

CS 3516: Computer Networks

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

CSCI Topics: Internet Programming Fall 2008

Chapter 1 Introduction

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

CS 3516: Advanced Computer Networks

Chapter 4 Network Layer: The Data Plane

4.2 Virtual Circuit and Datagram Networks

Chapter 4 Network Layer

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

LAN Interconnection and Other Link Layer Protocols

Internetworking With TCP/IP

CSC 401 Data and Computer Communications Networks

Switching / Forwarding

Application. Transport. Network. Link. Physical

Internet Technology 3/23/2016

Transport Layer. Chapter 3: Transport Layer

Chapter 3 Transport Layer

Goals and topics. Verkkomedian perusteet Fundamentals of Network Media T Circuit switching networks. Topics. Packet-switching networks

NETWORK LAYER DATA PLANE

CS-435 spring semester Network Technology & Programming Laboratory. Stefanos Papadakis & Manolis Spanakis

Transcription:

CSCE 463/612 Networks and Distributed Processing Spring 2018 Network Layer Dmitri Loguinov Texas A&M University March 29, 2018 Original slides copyright 1996-2004 J.F Kurose and K.W. Ross 1

Homework #3 Reliable data transfer between two processes ss.send() is the producer into a bounded buffer of W packets (W = sender window) Worker thread is the consumer from this buffer (ACK arrival that moves sndbase by X pkts releases X slots in buffer) Requires two semaphores Main thread application layer ss.send() worker thread transport layer producer consumer stats thread shared buffer of pending packets 2

Homework #3 Interesting aspect is how to release semaphore to accommodate flow control Assume sndbase, nextseq, W are known Receive ACK with sequence y > sndbase, recvwnd = R By how much to release semaphore? lastreleased = 0; sndbase = -1; // SYN-ACK 0 will move this to 0 while (not end of transfer) { get ACK or SYN-ACK with sequence y, receiver window R if (y > sndbase) { sndbase = y effectivewin = min (W, R) // how much we can advance the semaphore newreleased = sndbase + effectivewin - lastreleased; ReleaseSemaphore (s, newreleased); lastreleased += newreleased; } } 3

Chapter 4: Network Layer Chapter goals: Understand principles behind layer services: How a router works (forwarding) Routing (path selection) Dealing with scale Other topics: IPv6, multicasting Traceroute program as hw#4 Big picture: TCP UDP Application (5) Transport (4) Network (3) Data-link (2) Physical (1) transport IP ICMP IGMP 4

Chapter 4: Roadmap 4.1 Introduction 4.2 Virtual circuit and datagram s 4.3 What s inside a router 4.4 IP: Internet Protocol 4.5 Routing algorithms 4.6 Routing in the Internet 4.7 Broadcast and multicast routing 5

Network Layer = IP Layer Transports segments from sending to receiving host On the sending side, encapsulates segments into datagrams On the receiving side, delivers segments to transport layer Network layer protocols in every host and router application transport application transport Router examines header fields in all IP datagrams passing through it 6

Key Network-Layer Functions 1) Routing: determine the path taken by packets from source to dest Build a minimum-cost table at each router Table has next-hop neighbor for each possible destination Goal: send packet along the least-expensive path (e.g., in terms of hops, ISPs, or peering agreements) 2) Forwarding: move packets from a router s input port to appropriate router output port Table lookup Port-to-port transfer Goal: efficiency interface (NIC) inside router, not a TCP/UDP port! 7

Interplay Between Routing and Forwarding routing algorithm local forwarding table header value output link 0100 0101 0111 1001 3 2 2 1 value in arriving packet s header 0111 3 2 1 8

Connection Setup (ATM) 3) Connection setup in certain architectures: e.g., ATM (Asynchronous Transfer Mode) Before datagrams flow in such s, two hosts and intermediate routers establish virtual circuit (VC) Routers get involved to set up a path Network and transport layer connection service: Network: between two hosts Transport: between two processes analogy: TCP service model analogy: UDP connection-oriented (ATM) datagram (IP) 9

Chapter 4: Roadmap 4.1 Introduction 4.2 Virtual circuit and datagram s 4.3 What s inside a router 4.4 IP: Internet Protocol 4.5 Routing algorithms 4.6 Routing in the Internet 4.7 Broadcast and multicast routing 10

Virtual Circuits VCs may create a path that behaves much like a telephone circuit (no congestion, low delay, no loss) Call setup for each connection before data can flow Similar to TCP s handshake, but involves routers Each packet carries a VC tag instead of the 5-tuple <src addr, dest addr, src port, dest port, proto> Every router on source-dest path maintains state for each passing connection Mapping from tags to next-hop router Fraction of router resources (bandwidth, buffers) are allocated to each VC 11

Forwarding Table VC number 12 1 2 3 22 32 Forwarding table in northwest router: interface number Incoming interface Incoming VC # Outgoing interface Outgoing VC # 1 12 3 22 2 63 1 18 3 7 2 17 1 97 3 87 Routers maintain connection state information! 12

Virtual Circuits: Signaling Protocols Setup, maintain, teardown VC Used in ATM, frame-relay, etc. Not used end-to-end in today s Internet application transport 5. Data flow begins 6. Receive data 4. Call connected 3. Accept call 1. Initiate call 2. incoming call application transport 13

Datagram Networks No call setup at layer Routers: no state about end-to-end connections No -level concept of connection Packets forwarded using destination host address Packets between the same source-dest pair may take different paths (multi-path routing) application transport 1. Send data 2. Receive data application transport 14

Datagram Forwarding Table Destination Address Range (32 bit) 4 billion possible entries Link Interface 11001000 00010111 00010000 00000000 through 0 11001000 00010111 00010111 11111111 11001000 00010111 00011000 00000000 through 1 11001000 00010111 00011000 11111111 11001000 00010111 00011000 00000000 through 2 11001000 00010111 00011111 11111111 otherwise 3 15

Longest Prefix Matching Prefix Match Link Interface 11001000 00010111 00010 0 11001000 00010111 00011000 1 11001000 00010111 00011 2 otherwise 3 Examples (DA = destination address) DA: 11001000 00010111 00010110 10100001 DA: 11001000 00010111 00011001 10101010 DA: 11001000 00010111 00011000 10101010 Which interface? 16

Datagram or VC Network: Why? Internet Driven by data exchange among computers Elastic service, no strict timing requirements Smart end systems (computers) Can adapt, perform control, error recovery Simple core, complexity at edge Many link types Different characteristics Uniform service difficult ATM Evolved from telephony Human conversation: Strict timing, bandwidth requirements Need for guaranteed service Dumb end systems Telephones Complexity in core 17