Lecture 2 Communication services The Trasport Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Similar documents
Internet Architecture & Performance. What s the Internet: nuts and bolts view

Part 1: Introduction. Goal: Review of how the Internet works Overview

CMPE 80N: Introduction to Networking and the Internet

CS 4390 Computer Networks. Transport Services and Protocols

CSEN 503 Introduction to Communication Networks. Mervat AbuElkheir Hana Medhat Ayman Dayf. ** Slides are attributed to J. F.

Chapter 3 Transport Layer

CMSC 332 Computer Networks Transport Layer

Module 2 Overview of Computer Networks

Module 2 Overview of. Computer Networks

Chapter 3 Transport Layer

CSC 401 Data and Computer Communications Networks

Input ports, switching fabric, output ports Switching via memory, bus, crossbar Queueing, head-of-line blocking

Transport Layer. Chapter 3: Transport Layer

end systems, access networks, links circuit switching, packet switching, network structure

CSCE 463/612 Networks and Distributed Processing Spring 2018

Development of reliable protocol Sliding window protocols. C = channel capacity in bps I = interrupt/service time + propagation delay

Part I: Introduction. 1: Introduction 1

A closer look at network structure:

Transport Layer Overview

Application. Transport. Network. Link. Physical

CSC 4900 Computer Networks: Transport Layer

Chapter 3: Transport Layer

Chapter 1. Computer Networks and the Internet

Network Protocols and Architectures

CSE3213 Computer Network I

Announcements. CS 5565 Network Architecture and Protocols. Outline for today. The Internet: nuts and bolts view. The Internet: nuts and bolts view

Announcement. Homework 1 due last night, how is that? Will discuss some problems in the lecture next week

Chapter 3: Transport Layer Part A

Packet-switching: store-and-forward

Web Protocols and Practice

INTRODUCTORY COMPUTER

Four sources of packet delay

Chapter III: Transport Layer

Overview on the Internet the current and future telecommunication network

Different Layers Lecture 21

What is a Distributed System? Module 1: Introduction to Networking & Internetworking

Networks Overview. Dr. Yingwu Zhu

CSC 401 Data and Computer Communications Networks

Introduction to the Transport Layer

CSCD 330 Network Programming

Lecture 9: Transpor Layer Overview and UDP

CS 640: Introduction to Computer Networks. Today s Lecture. Page 1

Lecture 5. Transport Layer. Transport Layer 1-1

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

Internet and Intranet Protocols and Applications

Suprakash Datta. Office: CSEB 3043 Phone: ext Course page:

Computer Communication Networks Midterm Review

Computer Networks and the Internet. CMPS 4750/6750: Computer Networks

Chapter 1: Introduction

CS 332: Computer Networks Introduction

CS 3516: Computer Networks

Announcements Computer Networking. Outline. Transport Protocols. Transport introduction. Error recovery & flow control. Mid-semester grades

Switching Networks (Fall 2010) EE 586 Communication and. August 30, Lecture 3. (modified by Cheung for EE586; based on K&R original) 1-1

Transport Layer. The transport layer is responsible for the delivery of a message from one process to another. RSManiaol

COMP 562: Advanced Topics in Networking

Different Layers Lecture 20

The Transport Layer Multiplexing, Error Detection, & UDP

CSEN 503 Introduction to Communication Networks

The Network Layer and Routers

Computer Networking Introduction

Computer Communication Networks

A Whirlwind Introduction to the Internet. A Whirlwind Introduction to the Internet Overview

ECE 650 Systems Programming & Engineering. Spring 2018

Lecture 2: Internet Structure

CS 3516: Computer Networks

COSC4377. Useful Linux Tool: screen

Chapter I: Introduction

Operating Systems. 16. Networking. Paul Krzyzanowski. Rutgers University. Spring /6/ Paul Krzyzanowski

JAMES F. KUROSE AND KEITH W. ROSS

CS3600 SYSTEMS AND NETWORKS

CC451 Computer Networks

Transport Layer. Gursharan Singh Tatla. Upendra Sharma. 1

Introduction to Computer Networks. Roadmap

2 Network Basics. types of communication service. how communication services are implemented. network performance measures. switching.

COMP 431 Internet Services & Protocols. A Whirlwind Introduction to the Internet ( Networking Nouns and Verbs ) Jasleen Kaur

Chapter 1 Computer Networks and the Internet

CN1047 INTRODUCTION TO COMPUTER NETWORKING CHAPTER 6 OSI MODEL TRANSPORT LAYER

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

Computer Networks. ENGG st Semester, 2010 Hayden Kwok-Hay So

NT1210 Introduction to Networking. Unit 10

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

Announcements. TAs office hours: Mohamed Grissa: Mohamed Alkalbani:

Internet Routing. Review of Networking Principles. What s the Internet: nuts and bolts view. Communication links

Internet Routing. Review of Networking Principles

Foundations of Telematics

Computer Networks 2012/2013. Introduction part 1 (01) Dr. Tanir Ozcelebi. Thanks to A. Leon-Garcia & I. Widjaja, & I. Radovanovic & A. S.

Chapter 3: Transport Layer. Chapter 3 Transport Layer. Chapter 3 outline. Transport services and protocols

Welcome to CS 340 Introduction to Computer Networking

CSE 3214: Computer Network Protocols and Applications Transport Layer (Part 2) Chapter 3 outline. UDP checksum. Port numbers

UNIT IV -- TRANSPORT LAYER

Chapter 7 Transport Layer. 7.0 Introduction 7.1 Transport Layer Protocols 7.2 TCP and UDP 7.3 Summary

ETSF10 Internet Protocols Transport Layer Protocols

Introduction to computer networking

MIDTERM EXAMINATION #2 OPERATING SYSTEM CONCEPTS U N I V E R S I T Y O F W I N D S O R S C H O O L O F C O M P U T E R S C I E N C E

Transport services and protocols. Chapter 3 outline. Internet transport-layer protocols Chapter 3 outline. Multiplexing/demultiplexing

Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

PLEASE READ CAREFULLY BEFORE YOU START

PLEASE READ CAREFULLY BEFORE YOU START

Lecture 4: The Transport Layer and UDP

Transcription:

Lecture 2 Communication services The Trasport Layer Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

The structure edge: applications and hosts core: routers of s access s, media: communication links Access Backbone Access

The edge end systems (hosts): run application programs e.g., WWW, email at edge of client/server model client host requests, receives service from server e.g., WWW client (browser)/ server; email client/server peer-peer model: host interaction symmetric e.g.: teleconferencing, file sharing

The Network Core The fundamental question: how is data transferred through the?. Network as a graph. Resources: Links: Bandwidth (bit/sec) Multiplexing: how different flows* can share the same link Nodes: Processing capability Switching: forward data from the incoming interface to the proper outgoing interface * flow (end-to-end data stream): the traffic relationship among a source host and a destination host

Link Multiplexing Static: link bandwidth divided into pieces (channels) each channel is allocated to a single flow Link multiplexing techniques: Time Division Multiplexing (TDM), Frequency Division Multiplexing (FDM)..

Link Multiplexing Dynamic: Link bandwidth not divided When using the link, the whole bandwidth is available Contentions among different flows Resource used as needed (temporary) Data packets (to make possible the flow identification into the )

Node forwarding Direct: Static multiplexing The forwarding action is pre-defined for each flow -> no processing of data at nodes Fixed delay Store and forward: Dynamic multiplexing The node has to process all the incoming packets Variable delay

The Network Core The fundamental question: how is data transferred through the? Circuit Switching: Static multiplexing Direct Forwarding Reservation procedure Example: telephone Packet Switching: Dynamic multiplexing Store and Forward Packet Header needed Example: Internet

Network Core: Packet Switching resource contention: aggregate resource demand can exceed amount available congestion: packets queue, wait for link use store and forward: packets move one hop at a time transmit over link wait turn at next link DELAYS

Node operations Incoming Interfaces Processing Buffer Transmission Buffer Node (Router)

Delay in packet-switched s packets experience delay on end-to-end path four sources of delay at each hop A transmission propagation nodal processing: check bit errors determine output link queueing time waiting at output link for transmission depends on congestion level of router B nodal processing queueing

Transmission and propagation Transmission delay: R=link bandwidth (bps) L=packet length (bits) time to send bits into link = L/R Propagation delay: d = length of link s = propagation speed in medium (~2x10 8 m/sec) propagation delay = d/s A transmission propagation B nodal processing queueing

Queueing delay R=link bandwidth (bps) L=packet length (bits) a=average packet arrival rate traffic intensity = La/R r r r La/R ~ 0: average queueing delay small La/R -> 1: delays become large La/R > 1: more work arriving than can be serviced, average delay infinite!

Statistical multiplexing A 10 Mbs Ethernet statistical multiplexing C B queue of packets waiting for output link 1.5 Mbs 45 Mbs D E Ability to efficiently use the resources

Packet switching versus circuit switching Packet switching allows more users to use! 1 Mbit link each user: 100Kbps when active active 10% of time circuit-switching: 10 users packet switching: with 35 users, probability > 10 active less that.004 N users 1 Mbps link

Network core: Circuit-like Switching End-end resources reserved for call dedicated resources: no sharing (for audio/video apps) circuit-like (guaranteed) performance call setup required (dedicated protocol: RSVP) virtual circuit : tag for packets identification (MPLS)

The (old) telephone Reservation procedure TDM Voice signal Ls = 8 bit Voice signal: (8kHz, 8 bit for sample)

The Transport Layer

Network Applications (1/2) Network Application: communicating, distributed processes running in hosts in user space exchange messages to implement app e.g., email, file transfer, the Web Application-layer protocols one piece of an app define messages exchanged by apps and actions taken user services provided by lower layer protocols application transport application transport application transport

Network Applications (2/2) A process is a program that is running within a host. Within the same host, two processes communicate with interprocess communication defined by the OS. Processes running in different hosts communicate with an application-layer protocol A user agent is an interface between the user and the application. Web:browser E-mail: mail reader streaming audio/video: media player

Client-server paradigm Typical app has two pieces: client and server Client: initiates contact with server ( speaks first ) typically requests service from server, for Web, client is implemented in browser; for e-mail, in mail reader Server: provides requested service to client e.g., Web server sends requested Web page, mail server delivers e-mail application transport request reply application transport

Transport services and protocols provide logical communication between app processes running on different hosts transport protocols run in end systems transport vs layer services: application transport layer: data transfer between end systems transport layer: data transfer between processes relies on, enhances, layer services application transport

Transport-layer protocols Transport protocols: User Datagram Protocol (UDP): unreliable ( besteffort ), unordered data delivery Transmission Control Protocol (TCP): reliable, inorder data delivery application transport congestion flow control connection setup application transport

Multiplexing/demultiplexing Multiplexing: gathering data from multiple app processes, enveloping data with header (later used for demultiplexing) Demultiplexing: delivering received segments to correct app layer processes segment header segment application-layer data Ht M Hn segment P1 M application transport P3 M receiver M application transport P4 M P2 application transport

Multiplexing/demultiplexing multiplexing/demultiplexing is based on sender, receiver port numbers, IP addresses source, dest port #s in each segment the port number identifies the process well-known port numbers for specific applications 16 bit 0-1023 (well-known) 1024-65535 available 32 bits source port # dest port # other header fields application data (message) TCP/UDP segment format

Multiplexing/demultiplexing: examples host A source port: x dest. port: 23 server B host C source port:23 dest. port: x connectionless Source IP: C Dest IP: B source port: y dest. port: 80 Source IP: C Dest IP: B source port: x dest. port: 80 host A Source IP: A Dest IP: B source port: x dest. port: 80 server B connection oriented

UDP: User Datagram Protocol [RFC 768] best effort service, UDP segments may be: lost delivered out of order to app connectionless: no handshaking between UDP sender, receiver each UDP segment handled independently of others Why is there a UDP? no connection establishment (which can add delay) simple: no connection state at sender, receiver small segment header no congestion control: UDP can blast away as fast as desired

UDP: more often used for streaming multimedia apps loss tolerant rate sensitive reliable transfer over UDP: add reliability at application layer application-specific error recover! Length, in bytes of UDP segment, including header 32 bits source port # dest port # length Application data (message) checksum UDP segment format

UDP checksum Goal: detect errors (e.g., flipped bits) in transmitted segment Sender: treat segment contents as sequence of 16-bit integers checksum: addition (1 s complement sum) of segment contents sender puts checksum value into UDP checksum field Receiver: compute checksum of received segment check if computed checksum equals checksum field value: NO - error detected YES - no error detected. But maybe errors nonethless? More later.