CS Transport. Outline. Window Flow Control. Window Flow Control

Similar documents
Computer Networking Introduction

TCP congestion control:

Transport Layer PREPARED BY AHMED ABDEL-RAOUF

CS321: Computer Networks Congestion Control in TCP

Mid Term Exam Results

Chapter III: Transport Layer

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

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Chapter 3 Transport Layer

CSCI Topics: Internet Programming Fall 2008

image 3.8 KB Figure 1.6: Example Web Page

Flow and Congestion Control Marcos Vieira

Chapter 3 Transport Layer

TCP Congestion Control

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

Congestion Control 3/16/09

TCP Congestion Control

TCP Congestion Control

The Transport Layer Congestion control in TCP

Lecture 15: Transport Layer Congestion Control

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

Congestion Control in TCP

Congestion Control in TCP

Transport Protocols and TCP

Bandwidth Allocation & TCP

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

Congestion Control in TCP

Flow and Congestion Control (Hosts)

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

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

Principles of congestion control

Congestion Control. Queuing Discipline Reacting to Congestion Avoiding Congestion. Issues

CSCI-1680 Transport Layer II Data over TCP Rodrigo Fonseca

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

Chapter 3 Transport Layer

Lecture 8. TCP/IP Transport Layer (2)

CNT 6885 Network Review on Transport Layer

TCP Congestion Control. Lecture 16. Outline. TCP Congestion Control. Additive Increase / Multiplicative Decrease (AIMD)

CS4700/CS5700 Fundamentals of Computer Networks

Outline. CS5984 Mobile Computing

ADVANCED COMPUTER NETWORKS

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

Fall 2012: FCM 708 Bridge Foundation I

CS3600 SYSTEMS AND NETWORKS

Chapter 3- parte B outline

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

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

CSCD 330 Network Programming Winter 2015

TCP Congestion Control. Housekeeping. Additive Increase/Multiplicative Decrease. AIMD (cont) Pick up folders for exam study Exam next Friday, Nov.

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

Internet Networking recitation #10 TCP New Reno Vs. Reno

Recap. TCP connection setup/teardown Sliding window, flow control Retransmission timeouts Fairness, max-min fairness AIMD achieves max-min fairness

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

Reliable Transport II: TCP and Congestion Control

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

Computer Network Fundamentals Spring Week 10 Congestion Control Andreas Terzis

Performance Analysis of TCP Variants

Reliable Transport II: TCP and Congestion Control

CSC 4900 Computer Networks: TCP

CMPE 257: Wireless and Mobile Networking

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

COMP/ELEC 429/556 Introduction to Computer Networks

Chapter III. congestion situation in Highspeed Networks

Transmission Control Protocol (TCP)

Impact of transmission errors on TCP performance. Outline. Random Errors

TCP Congestion Control 65KB W

TCP over Wireless. Protocols and Networks Hadassah College Spring 2018 Wireless Dr. Martin Land 1

Transport Layer Congestion Control

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

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

EE122 MIDTERM EXAM: Scott Shenker, Ion Stoica

Lecture 4: Congestion Control

Detecting half-open connections. Observed TCP problems

CSE 461. TCP and network congestion

Congestion / Flow Control in TCP

TCP Veno: Solution to TCP over Wireless

What is Congestion? Congestion: Moral of the Story. TCP Approach. Transport Layer: TCP Congestion Control & Buffer Management

Congestion Control in TCP

8. TCP Congestion Control

The Impact of Delay Variations on TCP Performance

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

ENRICHMENT OF SACK TCP PERFORMANCE BY DELAYING FAST RECOVERY Mr. R. D. Mehta 1, Dr. C. H. Vithalani 2, Dr. N. N. Jani 3

cs/ee 143 Communication Networks

Congestion Collapse in the 1980s

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

Congestion Control. Resource allocation and congestion control problem

Advanced Computer Networks

ECE 461 Internetworking. Problem Sheet 6

CSC 8560 Computer Networks: TCP

Review Questions for Midterm Exam-2 Fall 2016

Lecture 14: Congestion Control"

TCP: Transmission Control Protocol UDP: User Datagram Protocol TCP - 1

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

Lecture 14: Congestion Control"

TCP Performance. EE 122: Intro to Communication Networks. Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim

DualRTT: Enhancing TCP Performance During Delay Spikes

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

Improving the Ramping Up Behavior of TCP Slow Start

Managing Caching Performance and Differentiated Services

Transcription:

CS 54 Outline indow Flow Control (Very brief) Review of TCP TCP throughput modeling TCP variants/enhancements Transport Dr. Chan Mun Choon School of Computing, National University of Singapore Oct 6, 005 indow Flow Control A session between a transmitter A and a receiver B is said to be window flow controlled if there is an upper bound on the number of data units that have been transmitted by A and are not yet known by A to have received by B The upper bound is known as the window size The receiver B notifies the transmitter A that it has disposed of a data unit by sending a special message to A, which is called a permit/acknowledgement/allocate message Upon receive an acknowledgement, A is free to send more data Acknowledgement can be sent as a special packet or can be piggybacked on regular data packet 3 indow Flow Control Let the round-trip time be d, the window size be and the transmission time of a single data unit be X X is the time it takes to sent an entire window of data Flow control is inactive if d <= X Since acknowledges comes back before the entire window of data is sent Sending rate is capped by (/X) Flow control is active if d > X Sending rate is capped by /d Therefore, the rate of a window flow control system is min {/X, /d} 4

Issues Cannot guarantee minimum throughput since rate is a function of end-to to-end delay which varies Choice of window size Choose small windows to avoid delays and congestion Choose large window for higher throughput Determining the proper window size and adjusting that size in response to congestion is not easy (see for example TCP) depends of traffic load depends on the length of the route chosen, a longer route will need a large window size Generally, smaller window size during high load and larger window size during light to medium load Rate-Based Flow Control Besides window-based flow control, rate-based flow control is also possible Similar issues, what rate should be chosen? Earlier and current versions of TCP are widow- based, but there are also rate-based versions 5 6 Outline indow Flow Control Review of TCP TCP throughput modeling Enhancements to TCP TCP Congestion Control The idea is for each source: to determine how much capacity is available in the n/w hence to know how many packets it can have in transit use the arrival of an ack as a signal that one of its packet has left the n/w then insert a new packet into the n/w - self clocking 7 8

TCP Congestion Control (cont) TCP uses four different mechanisms:. Congestion Avoidance : behaviour with mid congestion. Slow Start: behaviour after serious congestion 3. Fast Retransmit 4. Fast Recovery Since TCP s congestion control is window-based, all these mechanisms affect the size of the congestion window 9 TCP Congestion Control end-end control (no network assistance) sender limits transmission: LastByteSent-LastByteAcked LastByteAcked Congin Roughly, rate = Congin RTT Bytes/sec Congin is dynamic, function of perceived network congestion How does sender perceive congestion? loss event = timeout (why?) or 3 duplicate acks (why 3?) TCP sender reduces rate (Congin( Congin) ) after loss event 0 Additive Increase/Multiplicative Decrease also known as congestion avoidance algorithm TCP maintains a variable called congestion window cwnd for each connection, to limit the data in transit cwnd is the congestion control s s counterpart to flow control s advertised window maintained in bytes sender can transmit up to minimum of cwnd and advertised window cwnd is decreased when congestion level goes up and increased when congestion level goes down multiplicative decrease: cut Congin in half after loss event 4 Kbytes 6 Kbytes 8 Kbytes congestion window Half window size after loss TCP AIMD Increase window size linearly Long-lived TCP connection additive increase: increase Congin by MSS every RTT in the absence of loss events: probing time 3

hy pick AIMD? hy AIMD? Outline indow Flow Control Review of TCP TCP throughput modeling Enhancements to TCP 3 4 TCP indow Evolution : No Loss TCP indow Evolution : Loss, Ideal Case indow Size Constraint by max Slow Start Time 5 6 4

TCP indow Evolution : Loss TCP Throughput Modeling Lakshman and Madhow, The performance of networks with high bandwidth-delay products and random loss, IEEE/ACM Transaction of Networking, Jun 997. Source Buffer B Delay τ µ System Model infinite data source single bottleneck link with capacity µ FIFO buffer of size B All delays except for queuing and service are lumped into a single delay τ 7 8 TCP Reno Throughput Modeling The source uses TCP Reno.. After a new ACK. If < t, set = (Slow Start). Else = /[] (Congestion Avoidance). After 3 duplicate ACKs. Retransmit. t = /; = t 3. Resume with congestion avoidance 3. If timer expire. Retrasmit. t = /; = 3. Resume with slow start 9 Evolution with only Buffer Overflow Loss Let β = B /(µτ ) and T = τ /µ µτ is also called the bandwidth-delay delay product Maximum window size max = µt B = µτ B Consider only congestion avoidance phase, after a packet loss the window size = max/ Rate of window increase d/da = / (da = rate of acknowledgement) 0 d /dt = λ = i {/T µ} 5

TCP Reno Throughput For <= µt (phase A) t A = T(µT max/) n A = ((max/)t A t A /(T)) / T For >= µt (phase B) t B = (max (µt) )/(µ) n B = µt B Throughput = (n( A n B ) / (t( A t B ) Question: what is the minimum value of B in order to maximize throughput? L = / ( n ) n = 0 TCP Throughput with loss Question: Given loss rate and rtt,, what is the throughput? Loss rate and rtt are network-related related parameters measured Again assume single packet loss and let a cycle be define as the duration between packet loss Let maximum window size be. Hence the window size changes between / to and the average window size is 3/4 Throughput is approximated as (3/4)/RTT TCP Throughput The number of packets sent in a cycle is / (/ ) = 3 / 8 3/4 The loss rate p = /(3 /8 3/4), if is large, then p ~ /(3 / 8) = (8/3p) 0.5 Finally, throughput = 3/4 (8/3p) 0.5 / RTT 3 p 0.5 RTT. RTT p TCP Throughput Model In the previous models, there are only single buffer overflow loss and there is no timeout. A better model with timeout can be obtained, assuming timeout value to be To, p is small and loss events are independent. Throughput 3p.RTT p To min(,3 ) p( 3p ) 8 There are a number of other models using different assumptions of the error distribution 3 4 6

Outline indow Flow Control Review of TCP TCP throughput modeling TCP Variants/Enhancements TCP Variants The congestion avoidance strategies of the most common implementations of TCP are based on loss detection, for example TCP Tahoe, Reno, and Sack There are a number TCP variants which does not use loss detection for window size adjustment TCP Vegas (994) TCP estwood (000) Fast TCP 5 6 TCP Vegas TCP Vegas computes two throughput, expected and actual Expected thru put (E) = window size / minimum RTT Actual thru put (A) = window size/rtt If (E A) < α,, increase window size linearly If (E A) > β,, decrease window size linearly where α < β Issues with TCP Vegas Hard to fine-tune and be robust Random queuing delay: use minrtt to approximate expected throughput Route changes cause changes in minrtt and can cause significant error in expected throughput estimation Delayed ACKs complicates rate estimation Link layer loss, retransmission, compression Vegas tries to keep window small and is more sensitive to loss Reno may be dumb, but it is robust Reference: http://flophouse.com/~neal/uw/linux-vegas 7 8 7

TCP estwood Use the same congestion avoidance of TCP Reno but computes Eligible Rate Estimate (ERE) to decide window size (cwnd( cwnd) ) and slow start threshold (ssthresh( ssthresh). b k = d k / (t( k t k- ) R k = α k R k- 0.5(-α k ) (b( k b k- ) After triple duplicates cwnd = R k * RTTmin After a timeout ssthresh = R k * RTTmin cwnd = RFC 3449: TCP with Path Asymmetry Asymmetric links are exhibited by several network technologies, including cable data networks digital video broadcast Very small aperture satellite terminals (VSAT) ADSL Many of these networks are being deployed as high speed Internet access networks Asymmetry can be caused by differences in transmit and receive capacity shared media in the reverse direction Problem caused by the imperfection and variability of ACK feedback 9 30 Path Asymmetry In general, the downstream bandwidth (from Internet to user) is larger than the upstream bandwidth (from user to Internet) Upstream bottleneck link has sufficient buffer TCP Performance is a strong function of the normalized bandwidth ratio k If downstream link is 0Mbps and upstream link is 50Kbps, the ratio = 0/0.05 = 00 ith KB data packets and 40 bytes ACKs, the ratio of the packet sizes is 5 K = 00/5 = 8 Path Asymmetry Assuming that we send one ACK for each data packet, in order to utilize 0Mbps in the downstream, 0/0.008 = 50 data packets will be transmitted For 50 data packets, 50 ACKs will be needed, which is 50*40*8 = 400Kbps > 50Kbps Maximum throughput attained by downstream link is only (50K/30) * 8K=.5Mbps Alternatively, an ACK should be sent for every 40 * (0M/50K) = 8KB in order to fully utilized the downstream link henever K> or K>0.5, ACK clocking breaks down 3 3 8

Path Asymmetry If the upstream link is slow, saturated and the buffer is large enough Affects TCP by causing excessive RTT May trigger false time out If upstream buffer is small and ACKs can be dropped Since ACKs are cumulative, may not affect performance as much Increases the likelihood of data burst in the downstream direction and increases the likelihood of data packet loss May affect fast retransmission and recovery since it takes longer to receive three duplicate ACKs 33 9