Topics. TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput

Similar documents
ECE 461 Internetworking. Problem Sheet 6

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Transport Layer PREPARED BY AHMED ABDEL-RAOUF

EECS 122, Lecture 19. Reliable Delivery. An Example. Improving over Stop & Wait. Picture of Go-back-n/Sliding Window. Send Window Maintenance

Networking Technologies and Applications

CSCD 330 Network Programming

Correcting mistakes. TCP: Overview RFCs: 793, 1122, 1323, 2018, TCP seq. # s and ACKs. GBN in action. TCP segment structure

32 bits. source port # dest port # sequence number acknowledgement number not used. checksum. Options (variable length)

CS321: Computer Networks Congestion Control in TCP

Connection-oriented (virtual circuit) Reliable Transfer Buffered Transfer Unstructured Stream Full Duplex Point-to-point Connection End-to-end service

8. TCP Congestion Control

Lecture 3: The Transport Layer: UDP and TCP

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

User Datagram Protocol (UDP):

Outline. TCP: Overview RFCs: 793, 1122, 1323, 2018, steam: r Development of reliable protocol r Sliding window protocols

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

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

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections

Outline. TCP: Overview RFCs: 793, 1122, 1323, 2018, Development of reliable protocol Sliding window protocols

Congestion / Flow Control in TCP

23-3 TCP. Topics discussed in this section: TCP Services TCP Features Segment A TCP Connection Flow Control Error Control 23.22

User Datagram Protocol

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

UNIT IV -- TRANSPORT LAYER

Lecture 08: The Transport Layer (Part 2) The Transport Layer Protocol (TCP) Dr. Anis Koubaa

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1

IS370 Data Communications and Computer Networks. Chapter 5 : Transport Layer

Lecture 21: Congestion Control" CSE 123: Computer Networks Alex C. Snoeren

Transport Layer: outline

Lecture 8. TCP/IP Transport Layer (2)

Transport Layer Protocols. Internet Transport Layer. Agenda. TCP Fundamentals

Fast Retransmit. Problem: coarsegrain. timeouts lead to idle periods Fast retransmit: use duplicate ACKs to trigger retransmission

Chapter 3- parte B outline

Chapter 24. Transport-Layer Protocols

Computer Communication Networks Midterm Review

Network Protocols. Transmission Control Protocol (TCP) TDC375 Autumn 2009/10 John Kristoff DePaul University 1

Computer Networks Spring 2017 Homework 2 Due by 3/2/2017, 10:30am

Transport Protocols & TCP TCP

Q23-5 In a network, the size of the receive window is 1 packet. Which of the follow-ing protocols is being used by the network?

ADVANCED COMPUTER NETWORKS

TRANSMISSION CONTROL PROTOCOL. ETI 2506 TELECOMMUNICATION SYSTEMS Monday, 7 November 2016

Reliable Transport II: TCP and Congestion Control

CSCD 330 Network Programming Winter 2015

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

CS244a: An Introduction to Computer Networks

Transport Protocols and TCP

TCP. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli)

TSIN02 - Internetworking

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

ECE 435 Network Engineering Lecture 10

Stream Control Transmission Protocol

CSC 4900 Computer Networks: TCP

Chapter 3 Review Questions

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 25, 2018

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

Intro to LAN/WAN. Transport Layer

Flow Control, and Congestion Control

ECE697AA Lecture 3. Today s lecture

RSC Part III: Transport Layer 3. TCP

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

Overview. TCP congestion control Computer Networking. TCP modern loss recovery. TCP modeling. TCP Congestion Control AIMD

COMP 431 Internet Services & Protocols. Transport Layer Protocols & Services Outline. The Transport Layer Reliable data delivery & flow control in TCP

Network Management & Monitoring

CSE 4213: Computer Networks II

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

Advanced Computer Networks

Reliable Transport II: TCP and Congestion Control

Networked Systems and Services, Fall 2018 Chapter 3

Networked Systems and Services, Fall 2017 Reliability with TCP

Multiple unconnected networks

TCP/IP Performance ITL

Transmission Control Protocol (TCP)

CSC 8560 Computer Networks: TCP

TSIN02 - Internetworking

The Transport Layer Reliable data delivery & flow control in TCP. Transport Layer Protocols & Services Outline

ECE 610: Homework 4 Problems are taken from Kurose and Ross.

TCP Congestion Control in Wired and Wireless networks

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

Computer Networks. Homework #4: No Grading

Congestions and Control Mechanisms in Wired and Wireless Networks

I TCP 1/2. Internet TA: Connection-oriented (virtual circuit) Connectionless (datagram) (flow control) (congestion control) TCP Connection-oriented

Congestion Control in TCP

ICS 451: Today's plan. Sliding Window Reliable Transmission Acknowledgements Windows and Bandwidth-Delay Product Retransmission Timers Connections

CS519: Computer Networks. Lecture 5, Part 4: Mar 29, 2004 Transport: TCP congestion control

TCP Congestion Control

TCP Congestion Control

TCP. TCP: Overview. TCP Segment Structure. Maximum Segment Size (MSS) Computer Networks 10/19/2009. CSC 257/457 - Fall

ECE 333: Introduction to Communication Networks Fall 2001

CS 356: Introduction to Computer Networks. Lecture 16: Transmission Control Protocol (TCP) Chap. 5.2, 6.3. Xiaowei Yang

Transport Protocols and TCP: Review

Answers to Sample Questions on Transport Layer

The Transport Layer Reliable data delivery & flow control in TCP. Transport Layer Protocols & Services Outline

TCP and Congestion Control (Day 1) Yoshifumi Nishida Sony Computer Science Labs, Inc. Today's Lecture

Basic Reliable Transport Protocols

Congestion Avoidance and Control. Rohan Tabish and Zane Ma

TCP. 1 Administrivia. Tom Kelliher, CS 325. Apr. 2, Announcements. Assignment. Read From Last Time

Reliable Transport I: Concepts and TCP Protocol

Transport Layer: Outline

TCP = Transmission Control Protocol Connection-oriented protocol Provides a reliable unicast end-to-end byte stream over an unreliable internetwork.

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste

Transcription:

Topics TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput 2

Introduction In this chapter we will discuss TCP s form of flow control called a sliding window protocol It allows the sender to transmit multiple packets before it stops and waits for an ACK The leads to faster data transfer sender does not have to wait for an ACK after each packet We will also look at the TCP PUSH flag and slow start Slow start is the technique used by TCP for getting the flow of data established Finally, we will examine bulk data throughput 3

Normal Data Flow 4

Normal Data Flow (Continued) 5

Normal Data Flow (Continued) Normal Data Flow Example Transfer of 8192 bytes of data from srv4 to bsdi *Warning: This example appears to not use slow start (discussed later) Sender transmits 3 data segments (4-6) Next segment (7) acknowledges the first two data segments only. This is because of the following: When TCP processes segment 4 the connection is marked to generate a delayed ACK When segment 5 arrives TCP has two outstanding segments and immediately acknowledges TCP Immediately ACK's two outstanding segments 6

Normal Data Flow (Continued) Next segment (8) ACK's the third data segment due to ACK acknowledgement timer reaching a 200 ms Interval Window of only 3072 advertised since 1024 bytes of data still in TCP receive buffer In TCP ACK's are cumulative. They acknowledge receipt of up through ACK sequence number minus one Note in Fig. 20.1 that the FIN segment has no data and is 8193:8193(0). The ACK for this is an ACK8194 which is one more than the last data. This is always true. A FIN uses up one ACK number 7

Normal Data Flow (Continued) Another Normal Data Flow Example: [Fig 20.2] Same as before but data sent a bit different Warning: This example appears to not use slow start (discussed later) 8

Normal Data Flow (Continued) 9

Normal Data Flow (Continued) 10

Normal Data Flow (Continued) Fast Sender, Slow Receiver Example: [Fig 20.3] Warning: This example appears to not use slow start (discussed later) - Sender transmits four back-to-back data segments (4-7) to fill receiver s window - Receiver sends ACK but with advertised window 0. Application has not yet read data - Another ACK called a window update is sent later announcing that it can now receive another 4096 bytes 11

Normal Data Flow (Continued) 12

Normal Data Flow (Continued) 13

Sliding Windows 14

Sliding Windows (Continued) 15

Sliding Windows (Continued) 16

Sliding Windows (Continued) 17

PUSH Flag A notification from the sender to the receiver to pass all the data the receiver has to the receiving application Some implementations of TCP automatically set the push flag if the data in the segment being sent empties the send buffer These same implementations ignore a received PUSH flag because they normally deliver the received data to the application as soon as possible In Fig 20.3 missing 3 PSH because sends did not empty the send buffer. Application has already sent all of its data to the send buffer so only last write empties the send buffer We cannot manually set this flag through the Sockets Application Programming Interface 18

Slow Start Steven s examples did not use slow start up until now All TCP implementations must now use the slow start algorithm! An Intermediate router queue may run out of space Slow start algorithm notes that the rate it should inject new packets into the network is the rate at which acknowledgements are returned by the other end Add a congestion window cwnd on the SENDER side In a new connection, the congestion window is initialized to one MSS announced by other end cwnd is maintained in bytes however cwnd is incremented by segment size For each ACK received cwnd is increased by one segment 19

Slow Start (Continued) Sender can transmit up to minimum of (the congestion window and the advertised window) (Congestion window cwnd is set by sender while advertised window is set by receiver) Sender starts by transmitting one segment and waiting for its ACK. When that ACK is received, congestion window is incremented from one to two and two segments can be sent When each of those two segments acknowledged, congestion window set to four This provides an exponential increase At some point an intermediate router will discard packets. Congestion window cwnd is too large 20

Slow Start (Continued) 21

Slow Start (Continued) 22

Slow Start Example [ Fig 20.8] MSS=512 Slow Start (Continued) - Bulk data throughput - interaction of window size, windowed flow control, and slow start on the throughput of a TCP connection [Fig 20.9& 20.10] - At time 0 sender transmits one segment cwnd = 1, must wait for ACK - At times 1, 2, 3, segment moves one time unit right - At time 4 ACK generated - At time 7 ACK received at sender - At time 8 sender can transmit two segments, cwnd = 2 (we have round trip time = 8 ) - At times 12, 13 ACK 2 and ACK 3 generated - At time 15, 16 ACK's RCVD and with cwnd = 4 sender transmits four segments - At time 24 and on can always transmit 23

Bulk Data Throughput 24

Bulk Data Throughput (Continued) 25

Bulk Data Throughput (Continued) Bandwidth - Delay Product In previous example sender needs to have 8 segments outstanding and unacknowledged for max throughput. Thus receivers advertised window must be at least that large so as not to limit throughput Capacity of pipe = bandwidth ( bits/ sec ) x round trip time ( sec ) ( also know as bandwidth-delay product) -How does increasing the RTT affect the connection? Example: What size should receivers advertised window be for a T1 Cross USA country phone line? = 1, 544, 000 Bits / Sec x 0.060 Sec round trip time = 11,580 byte window 26

Bulk Data Throughput (Continued) 27

Congestion Bulk Data Throughput (Continued) 28

Bulk Data Throughput (Continued) Congestion Can occur when data arrives on a big pipe (i.e., fast LAN) and gets sent out a smaller pipe (a slower WAN) Can also occur when multiple input streams arrive at a router whose output capacity is less than the sum of the inputs The spacing of the ACKs will correspond to the bandwidth of the slowest links 29