The Transmission Control Protocol (TCP)

Similar documents
Transport Layer. Gursharan Singh Tatla. Upendra Sharma. 1

ECE697AA Lecture 3. Today s lecture

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

CMPE 80N: Introduction to Networking and the Internet

TSIN02 - Internetworking

Internet and Intranet Protocols and Applications

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control

CS457 Transport Protocols. CS 457 Fall 2014

TSIN02 - Internetworking

CS 4390 Computer Networks. Transport Services and Protocols

Announcements. IP Forwarding & Transport Protocols. Goals of Today s Lecture. Are 32-bit Addresses Enough? Summary of IP Addressing.

TSIN02 - Internetworking

Lecture 20 Overview. Last Lecture. This Lecture. Next Lecture. Transport Control Protocol (1) Transport Control Protocol (2) Source: chapters 23, 24

TSIN02 - Internetworking

Guide To TCP/IP, Second Edition UDP Header Source Port Number (16 bits) IP HEADER Protocol Field = 17 Destination Port Number (16 bit) 15 16

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

CSCI-131 Networking: the End-to-End Layer. Rodrigo Fonseca March 12 th, 2013

05 Transmission Control Protocol (TCP)

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2

CCNA R&S: Introduction to Networks. Chapter 7: The Transport Layer

CS4700/CS5700 Fundamentals of Computer Networks

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

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2. Goals for Todayʼs Lecture. Role of Transport Layer

Transport Layer. Chapter 3: Transport Layer

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

CSCE 463/612 Networks and Distributed Processing Spring 2018

UNIT IV -- TRANSPORT LAYER

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

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

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP

Transport Over IP. CSCI 690 Michael Hutt New York Institute of Technology

OSI Transport Layer. objectives

Lecture 9: Transpor Layer Overview and UDP

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

Transport Layer TCP & UDP Week 7. Module : Computer Networks Lecturers : Lucy White Office : 324

Transport Layer Protocols TCP

CSCD 330 Network Programming

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

Mobile Transport Layer Lesson 02 TCP Data Stream and Data Delivery

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

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

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

CSCD 330 Network Programming

Chapter 3 Transport Layer

TDTS06: Computer Networks

Data Transport over IP Networks

UDP, TCP, IP multicast

TCP/IP THE TCP/IP ARCHITECTURE

The Transport Layer Multiplexing, Error Detection, & UDP

Chapter 5 End-to-End Protocols

Applied Networks & Security

Introduction to Protocols

Transport Protocols. Raj Jain. Washington University in St. Louis

Chapter 3 Transport Layer

Different Layers Lecture 21

CCNA 1 Chapter 7 v5.0 Exam Answers 2013

ECE 333: Introduction to Communication Networks Fall 2002

ECE 333: Introduction to Communication Networks Fall 2001

ETSF10 Internet Protocols Transport Layer Protocols

Page 1. Goals for Today" Discussion" Example: Reliable File Transfer" CS162 Operating Systems and Systems Programming Lecture 11

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

User Datagram Protocol (UDP):

CCNA 1 v3.11 Module 11 TCP/IP Transport and Application Layers

NWEN 243. Networked Applications. Layer 4 TCP and UDP

EE 122: IP Forwarding and Transport Protocols

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

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

Lecture 3: The Transport Layer: UDP and TCP

COMP/ELEC 429/556 Introduction to Computer Networks

CSC 4900 Computer Networks: Transport Layer

User Datagram Protocol

COSC4377. Useful Linux Tool: screen

CN1047 INTRODUCTION TO COMPUTER NETWORKING CHAPTER 6 OSI MODEL TRANSPORT LAYER

Application. Transport. Network. Link. Physical

NT1210 Introduction to Networking. Unit 10

OSI Layer OSI Name Units Implementation Description 7 Application Data PCs Network services such as file, print,

Different Layers Lecture 20

Transport Protocols and TCP

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

CSE 4213: Computer Networks II

Introduction to TCP/IP networking

CSC 401 Data and Computer Communications Networks

Lecture 5: Flow Control. CSE 123: Computer Networks Alex C. Snoeren

The Transport Layer. Part 1

CPSC156a: The Internet Co-Evolution of Technology and Society. Lecture 4: September 16, 2003 Internet Layers and the Web

Transport layer Internet layer

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

EEC-484/584 Computer Networks. Lecture 16. Wenbing Zhao

NWEN 243. Networked Applications. Transport layer and application layer

Chapter 3: Transport Layer Part A

CMSC 332 Computer Networks Transport Layer

Concept Questions Demonstrate your knowledge of these concepts by answering the following questions in the space that is provided.

CSE 461 Module 10. Introduction to the Transport Layer

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

7. TCP 최양희서울대학교컴퓨터공학부

CCNA Exploration Network Fundamentals. Chapter 04 OSI Transport Layer

The Transport Layer. Internet solutions. Nixu Oy PL 21. (Mäkelänkatu 91) Helsinki, Finland. tel fax.

Lecture 5. Transport Layer. Transport Layer 1-1

Summary of Data Communications

Transcription:

The Transmission Control Protocol (TCP) Application Services (Telnet, FTP, e-mail, WWW) Reliable Stream Transport (TCP) Unreliable Transport Service (UDP) Connectionless Packet Delivery Service (IP)

Goals for Today s Lecture Principles underlying transport-layer services (De)multiplexing Detecting corruption Reliable delivery Flow control Transport-layer protocols in the Internet User Datagram Protocol (UDP) Transmission Control Protocol (TCP) 2

3 E.g., IP Role of Transport Layer Application layer Communication for specific applications E.g., HyperText Transfer Protocol (HTTP), File Transfer Protocol (FTP), Network News Transfer Protocol (NNTP) Transport layer Communication between processes (e.g., socket) Relies on network layer and serves the application layer E.g., TCP and UDP Network layer Logical communication between nodes Hides details of the link technology

Transport Protocols Provide logical communication between application processes running on different hosts Run on end hosts Sender: breaks application messages into segments, and passes to network layer Receiver: reassembles segments into messages, passes to application layer Multiple transport protocol available to applications application transport network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical 4 application transport network data link physical

Internet Transport Protocols Datagram messaging service (UDP) No-frills extension of best-effort IP Reliable, in-order delivery (TCP) Connection set-up Discarding of corrupted packets Retransmission of lost packets Flow control Congestion control (next lecture) Other services not available Delay guarantees Bandwidth guarantees 5

TCP Support for Reliable Delivery Checksum Used to detect corrupted data at the receiver leading the receiver to drop the packet Sequence numbers Used to detect missing data... and for putting the data back in order Retransmission Sender retransmits lost or corrupted data Timeout based on estimates of round-trip time Fast retransmit algorithm for rapid retransmission 6

Initiating Stream Transfers (cont) An endpoint for a TCP connection is defined by a (host, port) pair Host = the IP address of for a host Port = a TCP port on that host A TCP connection is defined by a pair of endpoints: Port 1037 on www.whitehouse.gov and port 76 on viper.cs.virginia.edu: (198.137.240.91, 1037) and (128.143.137.17, 76)

TCP Data Stream Format Data from application programs is a sequence of octets (with no type associated) TCP divides data into segments for transmission Usually, each segment travels across the internet in a single IP datagram

Providing Reliability with Acknowledgments and Retransmissions Sender Network Receiver Send packet 1 Receive packet 1 Send ACK 1 Receive ACK 1 Send packet 2 Receive packet 2 Send ACK 2 Receive ACK 2

Packet Loss Sender Network Receiver Send packet 1 (Timeout) Send packet 1 Receive packet 1 Send ACK 1 Receive ACK 1

ACK Loss Sender Network Receiver Send packet 1 Receive packet 1 Send ACK 1 (Timeout) Send packet 1 Receive packet 1 (Discard) Send ACK 1 Receive ACK 1

ACK Delayed Sender Network Receiver Send packet 1 Receive packet 1 Send ACK 1 (Timeout) Send packet 1 Receive ACK 1 Receive packet 1 (Discard) Send ACK 1 Receive ACK 1 (Discard)

A Problem A simple positive acknowledgment protocol wastes a substantial amount of network bandwidth because it must delay sending a new packet until it receives an acknowledgment for the previous packet.

A Solution Sender Network Receiver 2 1 3 ACK1 ACK2 ACK3

Sliding Windows window 1 2 3 4 5 6 7 8 9 10 All packets inside the window can be transmitted When an acknowledgment for packet 1 is received the window slides to the right and allows the transmission of packet 9: 1 2 3 4 5 6 7 8 9 10

Sliding Windows (cont) Receiver must keep a sliding window as well: window 1 2 3 4 5 6 7 8 9 10 After packet 1 is received and acknowledged: 1 2 3 4 5 6 7 8 9 10

Sliding Windows (cont) 1 2 3 4 5 6 7 8 9 10 Conceptually partitions the packets into three classes: Transmitted, received, and acknowledged packets (outside and left of sliding window) Packets being transmitted (inside the window) Packets waiting to be transmitted (outside and right of sliding window)

Ideal Sliding Window Performance Sender Network Receiver