The Transport Layer: TCP & Congestion Control

Similar documents
The Transport Layer: Review

The Transport Layer: TCP & Reliable Data Transfer

Transport Layer PREPARED BY AHMED ABDEL-RAOUF

Chapter 3 Transport Layer

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

Computer Networking Introduction

Mid Term Exam Results

CSCI Topics: Internet Programming Fall 2008

Lecture 15: Transport Layer Congestion Control

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

Chapter III: Transport Layer

Lecture 8. TCP/IP Transport Layer (2)

Chapter 3 Transport Layer

Chapter 3 Transport Layer

CNT 6885 Network Review on Transport Layer

Chapter 3- parte B outline

Transport Layer Congestion Control

The Transport Layer Congestion control in TCP

CC451 Computer Networks

CSCI Topics: Internet Programming Fall 2008

CS 43: Computer Networks. 19: TCP Flow and Congestion Control October 31, Nov 2, 2018

TCP congestion control:

TCP reliable data transfer. Chapter 3 outline. TCP sender events: TCP sender (simplified) TCP: retransmission scenarios. TCP: retransmission scenarios

CSCD 330 Network Programming Winter 2015

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

Fall 2012: FCM 708 Bridge Foundation I

TCP Congestion Control 65KB W

Congestion Control in TCP

Flow and Congestion Control (Hosts)

CSC 4900 Computer Networks: TCP

TCP over Wireless PROF. MICHAEL TSAI 2016/6/3

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

Chapter 3 Transport Layer

Chapter III: Transport Layer

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

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

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

Congestion Control in TCP

TCP Congestion Control

Transport Protocols and TCP

Chapter 6 Transport Layer

CSCD 330 Network Programming Spring 2018 Lecture 11a Transport Layer

Congestion Control. Principles of Congestion Control. Network-assisted Congestion Control: ATM. Congestion Control. Computer Networks 10/21/2009

Flow and Congestion Control Marcos Vieira

Lecture 11. Transport Layer (cont d) Transport Layer 1

RSC Part III: Transport Layer 3. TCP

CSC 8560 Computer Networks: TCP

Congestion Control in TCP

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

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

image 3.8 KB Figure 1.6: Example Web Page

TCP: Overview RFCs: 793,1122,1323, 2018, 2581

Congestion Control. Principles of Congestion Control. Network assisted congestion. Asynchronous Transfer Mode. Computer Networks 10/23/2013

CS321: Computer Networks Congestion Control in TCP

Chapter 1 Introduction

CSCD 330 Network Programming

CS4700/CS5700 Fundamentals of Computer Networks

Congestion Control 3/16/09

Transport Layer: outline

TCP Congestion Control

TCP Congestion Control

Go-Back-N. Pipelining: increased utilization. Pipelined protocols. GBN: sender extended FSM

Lecture 3 The Transport Control Protocol (TCP) Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

file:///c:/users/hpguo/dropbox/website/teaching/fall 2017/CS4470/H...

CS3600 SYSTEMS AND NETWORKS

TCP Review. Carey Williamson Department of Computer Science University of Calgary Winter 2018

TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581

CSC 4900 Computer Networks: TCP

Congestion Control. Daniel Zappala. CS 460 Computer Networking Brigham Young University

CS Lecture 1 Review of Basic Protocols

CSCI Topics: Internet Programming Fall 2008

CSE 473 Introduction to Computer Networks. Midterm Exam Review

Internet Networking recitation #10 TCP New Reno Vs. Reno

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

Problem 7. Problem 8. Problem 9

Master Course Computer Networks IN2097

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

Chapter 3 Transport Layer

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

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

Review Questions for Midterm Exam-2 Fall 2016

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

Congestion Control in TCP

Page 1. Review: Internet Protocol Stack. Transport Layer Services. Design Issue EEC173B/ECS152C. Review: TCP

Computer Networks & Security 2016/2017

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

LECTURE 3 - TRANSPORT LAYER

UNIT IV -- TRANSPORT LAYER

Chapter 3 Transport Layer

COMP/ELEC 429/556 Introduction to Computer Networks

Computer Networking: A Top Down Approach

Chapter 3 outline. 3.5 connection-oriented transport: TCP segment structure reliable data transfer flow control connection management

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

Computer Communication Networks Midterm Review

Transport Layer: Outline

Congestion Control in TCP

Principles of congestion control

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

Chapter 3 Review Questions

Transcription:

The Transport Layer: TCP & Congestion Control Smith College, CSC 249 Feb 20, 2018 1 Oeriew: TCP Basics q Recap: using SEQ and ACK numbers SEQ random initial number for numbering the bytes in the application message ACKnowledge next byte expected Read chapter to reiew q TCP congestion control Read through multiple s! q TCP flow control 2 1

TCP: SEQ and ACK numbers head len source port # dest port # sequence number acknowledgement number U A P R S F receie window application data (ariable length) Host A Host B ACK=100 Seq=100, 20 bytes data head len source port # dest port # sequence number acknowledgement number U A P R S F receie window application data (ariable length) ACK=120 3-3 TCP: Cumulatie ACK Host A Host B r Seq=100, 20 bytes data X loss ACK=100 ACK=120 Cumulatie ACK scenario 3-4 2

TCP possible sender eents: (1) Data receied from application: 1. Create a segment and assign a SEQ number SEQ # is byte-stream number of first data byte in segment 2. Start r if it is not already running Timer is for the oldest un-acked segment Expiration interal: TimeOutInteral (2) Timeout (ACK not receied): 1. Retransmit segment that caused the out 2. Restart the r (3) ACK receied for preiously unacked segments 1. Update what is known to be acked 2. Start r if there are outstanding segments 5 TCP: retransmission scenarios Host A Host B Host A Host B out X loss ACK=100 Seq=92 out Seq=100, 20 bytes data ACK=100 ACK=120 SendBase = 100 ACK=100 lost ACK scenario Seq=92 out ACK=120 premature out 1) What is/was A s next step? 2) What does B then do? 6 3

What does A do next, and when does it do it? Host A Host B triple duplicate ACKs seq # x1 seq # x2 seq # x3 seq # x4 seq # x5 resend seq X2 X ACK x1 ACK x1 ACK x1 ACK x1 out Fast retransmit, before the r s out 7 New Today: Principles of Congestion Control q Packet loss is caused by oerflowing router buffers q Retransmission treats the symptom q Congestion control treats the cause q What are costs of congestion? 8 4

TCP Congestion Control q Three questions 1. How does a sender sense congestion? 2. How does a sender limit its sending rate? 3. What algorithm is used to change the send-rate? 10 TCP Congestion Control: details How does sender perceie congestion? q A loss eent is? A out or 3 duplicate ACKs How does sender limit its send rate? q TCP sender reduces the send rate ia changing a ariable alue, the CongWin, after a loss eent LastByteSent-LastByteAcked CongWin 12 5

TCP Congestion Control Window q CongWin is dynamic, function of perceied network congestion q Sender limits transmission: LastByteSent-LastByteAcked CongWin q Changing CongWin changes the SendRate 13 TCP Congestion Control Algorithm 14 6

TCP Congestion Control Algorithm Three major mechanisms: 1) Slow start 2) Congestion Aoidancce AIMD = additie increase, multiplicatie decrease 3) Fast Recoery: Reaction to out eents ersus 3 duplicate ACKs Are used to adjust...? Adjust CongWin 15 TCP Slow Start 1) When connection begins, CongWin = 1 MSS Aailable bandwidth probably much greater Desirable to quickly ramp up to respectable rate 2) Increase rate exponentially fast until first loss eent Grow window 1MSS for each ACK receied q Summary: initial rate is slow but ramps up exponentially fast 16 7

TCP: detecting, reacting to loss Loss indicated by out cwnd set to 1 MSS; Window (cwnd ) grows exponentially (slow start) to the threshold, then grows linearly Loss indicated by 3 duplicate ACKs Duplicate ACKs indicate network capable of deliering some segments cwnd is cut in half window then grows linearly 17 TCP Slow Start with Exp. Increase q When connection begins, increase rate exponentially until first loss eent: RTT Host A Host B one segment Double CongWin eery RTT two segments Increment CongWin for eery ACK receied four segments 18 8

TCP: Congestion algorithm switching from slow start to CA Implementation: ariable ssthresh on loss eent, ssthresh is set to 1/2 of cwnd just before loss eent 19 Reaction to Loss Eents q Exponential increase switches to linear increase when CongWin gets to the threshold alue (size) 20 9

Identify eerything on this graph 21 Summary: TCP Congestion Control Increase Sending Rate Phase Options: 1. When CongWin is below Threshold, sender in slow-start phase, window grows exponentially. 2. When CongWin is aboe Threshold, sender is in congestion-aoidance phase, window grows linearly. Decrease Sending Rate Phase Options: 1. When a triple duplicate ACK occurs, Threshold set to CongWin/2 and CongWin set to Threshold. 2. When out occurs, Threshold set to CongWin/2 and CongWin is set to 1 MSS. 27 10