Introduction to the Transport Layer

Similar documents
Chapter 3 Transport Layer

Transport Layer. Chapter 3: Transport Layer

Chapter 3 Transport Layer

CS 4390 Computer Networks. Transport Services and Protocols

CSC 401 Data and Computer Communications Networks

Chapter III: Transport Layer

CSC 4900 Computer Networks: Transport Layer

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

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

CS 3516: Computer Networks

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

Chapter 3: Transport Layer Part A

CMSC 332 Computer Networks Transport Layer

Transport Layer Overview

COSC4377. Useful Linux Tool: screen

CSCE 463/612 Networks and Distributed Processing Spring 2018

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

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

Lecture 9: Transpor Layer Overview and UDP

CSCD 330 Network Programming

Transport layer. Our goals: Understand principles behind transport layer services: Learn about transport layer protocols in the Internet:

Transport layer: Outline

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

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

CSE 4213: Computer Networks II

Chapter 3 Transport Layer

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

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

Chapter 3 Transport Layer

CC451 Computer Networks

Transport Layer. Gursharan Singh Tatla. Upendra Sharma. 1

Application. Transport. Network. Link. Physical

CMPE 80N: Introduction to Networking and the Internet

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

Chapter 6 Transport Layer

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

Course on Computer Communication and Networks. Lecture 4 Chapter 3; Transport Layer, Part A

Chapter 2: outline. 2.6 P2P applications 2.7 socket programming with UDP and TCP

Internet and Intranet Protocols and Applications

Course on Computer Communication and Networks. Lecture 4 Chapter 3; Transport Layer, Part A

TDTS06: Computer Networks

Lecture 07 The Transport Layer (TCP & UDP) Dr. Anis Koubaa

Chapter 3: Transport Layer

Lecture 5. Transport Layer. Transport Layer 1-1

CSCD 330 Network Programming

The Transmission Control Protocol (TCP)

CSC 8560 Computer Networks: Transport Layer

Internet transport-layer protocols. Transport services and protocols. Sending and receiving. Connection-oriented (TCP) Connection-oriented

Solution to Question 1: ``Quickies'' (25 points, 15 minutes)

CS 43: Computer Networks. 15: Transport Layer & UDP October 5, 2018

Preview Test: HW3. Test Information Description Due:Nov. 3

Lecture 4: The Transport Layer and UDP

Distributed Systems. 5. Transport Protocols

Chapter 3 Transport Layer

Computer Networks & Security 2016/2017

Distributed Systems. 5. Transport Protocols. Werner Nutt

ECE 435 Network Engineering Lecture 15

CS519: Computer Networks. Lecture 5, Part 1: Mar 3, 2004 Transport: UDP/TCP demux and flow control / sequencing

Lecture 3: The Transport Layer: UDP and TCP

The Transport Layer Multiplexing, Error Detection, & UDP

Foundations of Telematics

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

Master Course Computer Networks IN2097

Chapter 11. User Datagram Protocol (UDP)

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

Different Layers Lecture 20

The Transport Layer: TCP & Reliable Data Transfer

TSIN02 - Internetworking

Transport Layer. <protocol, local-addr,local-port,foreign-addr,foreign-port> ϒ Client uses ephemeral ports /10 Joseph Cordina 2005

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

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP

Announcements. No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control

By Ossi Mokryn, Based also on slides from: the Computer Networking: A Top Down Approach Featuring the Internet by Kurose and Ross

C19: User Datagram and Multicast

TSIN02 - Internetworking

c. If the sum contains a zero, the receiver knows there has been an error.

Computer Networking: A Top Down Approach

LECTURE 3 - TRANSPORT LAYER

ECE 333: Introduction to Communication Networks Fall 2002

Chapter 5 End-to-End Protocols

Internet Applications and the Application Layer Material from Kurose and Ross, Chapter 2: The Application Layer

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

No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

COMPUTER NETWORK. Homework #2. Due Date: April 12, 2017 in class

TSIN02 - Internetworking

TSIN02 - Internetworking

CS4700/CS5700 Fundamentals of Computer Networks

COMP211 Chapter 3 Transport Layer

Master Course Computer Networks IN2097

ECE697AA Lecture 3. Today s lecture

CCNA 1 Chapter 7 v5.0 Exam Answers 2013

NT1210 Introduction to Networking. Unit 10

Chapter 3 Transport Layer

OSI Transport Layer. objectives

Chapter 3: Transport Layer

Computer network questions for final exam preparation 21/08/2017

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

Chapter 3 Review Questions

PROBLEMSAND EXERCISES

Transcription:

Introduction to the Transport Layer CSC 249 Feb 13, 2018 1 Transport Layer Overview q Tasks performed by the layer v Services provided to the layer v Services expected from the layer q Multiplexing and demultiplexing q Error checking the checksum q Connection management q Reliability 2 1

Transport Layer Tasks qthe layer (TCP) provides reliability over an unreliable qwhat can go wrong? v Bit errors original data as well as ACKs v Lossy channel (with bit errors) Stop-and-wait v. pipelining v Out-of-order packets v Noticeable delay 3 The Actual Transport Layer q Basic layer services: v Connection management v Reliable data transfer v Multiplexing/demultiplexing v Some error checking v Flow control & Congestion control q Services not available: v delay guarantees v bandwidth guarantees v security q Internet protocols: v UDP: Connectionless v TCP: Connection-oriented & Reliability 4 2

Multiplexing/demultiplexing qmultiplexer vselects input from one of many input lines (processes) and directs the information to a single output line vmany sockets to one connection qdemultiplexer vdirect a single input to one of many possible processes that are running vsingle connection to many sockets (processes) 7 Multiplexing/demultiplexing multiplexing at sender: v handle data from multiple sockets v add header (later used for demultiplexing) demultiplexing at receiver: v use header info to deliver received segments to correct socket P3 P1 P2 P4 socket process 8 3

Connectionless demultiplexing DatagramSocket serversocket = new DatagramSocket DatagramSocket(6428); mysocket2 = new DatagramSocket(9157); P3 P1 DatagramSocket mysocket1 = new DatagramSocket(5775); P4 source port: 6428 dest port: 9157 source port:? dest port:? source port: 9157 dest port: 6428 source port:? dest port:? 9 Connectionless demultiplexing q UDP socket is bound to the local host port # q recall: when creating datagram to send into a UDP socket, the socket must specify v destination IP address v destination port # q when host receives UDP segment: 1) check destination port # in segment header 2) direct UDP segment to socket with that port # IP datagrams with same dest. port #, but different source IP addresses and/or source port numbers will be directed to same socket at destination 10 4

UDP: User Datagram Protocol q UDP is a best effort service. Segments may be: v lost v delivered out of order SO why is there a UDP? q Better control over what is sent and when q Simple: no connection state at sender, receiver q Fast(er): v no connection establishment (can add delay) v small segment header v no congestion control: UDP can blast away as fast as desired 11 Connection-oriented demux: example host: IP address A P3 server: IP address B P4 P5 P6 host: IP address C P2 P3 source IP,port: B, 80 dest IP,port: A,9157 source IP,port: C, 5775 dest IP,port: B, 80 source IP,port: A,9157 dest IP, port: B, 80 source IP,port: C, 9157 dest IP,port: B, 80 Three segments all destined to IP address: B, dest port: 80 are demultiplexed to different sockets 12 5

Connection-oriented demux q TCP socket identified by 4-tuple: v source IP address v source port number v dest IP address v dest port number q demux: receiver uses all four values to direct segment to appropriate socket q server host may support many simultaneous TCP sockets: v each socket identified by its own 4-tuple q web servers have different sockets for each connecting client v non-persistent HTTP will have different socket for each request 13 TCP Socket & Segment qtcp: Server host has simultaneous TCP sockets, one for each connection: v each socket identified by its own 4-tuple qtcp segment includes data, and source & destination port and IP addresses (+ length & checksum) 14 6

Error Checking: Checksum * Practice in HW * straightforward calculation Goal: detect errors (e.g., flipped bits) in transmitted segment Sender: q treat segment contents as sequence of 16-bit integers q checksum: 1 s complement of the sum of (16-bit) segment contents q sender puts checksum value into UDP checksum field Receiver: q compute checksum of received segment including the sender s checksum 16-bit word in the sum q If receiver s sum is all 1 s then there were no errors (probably) v If a bit is 0 then the packet has errors 16 Internet Checksum Example q Note v When adding numbers, a carryout from the most significant bit needs to be added to the result, for 1 s complement q Example: add two 16-bit integers 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 wraparound sum checksum 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 17 7

Summary q Transport layer services v Desired services v Actual protocol services v What can go wrong? q Multiplexing and demultiplexing q Connection Management q Error checking checksum v Transport layer provides end-to-end error checking v. layer single error checking 18 8