TCP Congestion Control 컴퓨터공학과 인공지능 연구실 서 영우. TCP congestion control2 Contents 1. Introduction 2. Slow-start 3. Congestion avoidance 4. Fast retransmit.

Slides:



Advertisements
Similar presentations
TCP Variants.
Advertisements

Simulation-based Comparison of Tahoe, Reno, and SACK TCP Kevin Fall & Sally Floyd Presented: Heather Heiman September 10, 2002.
Different TCP Flavors CSCI 780, Fall TCP Congestion Control Slow-start Congestion Avoidance Congestion Recovery Tahoe, Reno, New-Reno SACK.
1 TCP - Part II. 2 What is Flow/Congestion/Error Control ? Flow Control: Algorithms to prevent that the sender overruns the receiver with information.
Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Fourth Edition,Peterson.
Chapter 12 TCP Traffic Control Chapter 12 TCP Traffic Control.
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
Networking (from an OS perspective) Yin Lou 10/08/2009.
Transport Layer 3-1 Fast Retransmit r time-out period often relatively long: m long delay before resending lost packet r detect lost segments via duplicate.
Congestion Dr. Abdulaziz Almulhem. Almulhem©20012 Congestion It occurs when network resources are becoming scarce High demand Over utilized Offered load.
Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Third Ed.,Peterson.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
15-744: Computer Networking L-10 Congestion Control.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #7 TCP New Reno Vs. Reno.
1 Internet Networking Spring 2002 Tutorial 10 TCP NewReno.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
1 TCP Transport Control Protocol Reliable In-order delivery Flow control Responds to congestion “Nice” Protocol.
Congestion Avoidance and Control Van Jacobson Jonghyun Kim April 1, 2004.
Computer Networks : TCP Congestion Control1 TCP Congestion Control.
Congestion Avoidance and Control CSCI 780, Fall 2005.
1 Internet Networking Spring 2004 Tutorial 10 TCP NewReno.
Networks : TCP Congestion Control1 TCP Congestion Control.
Networks : TCP Congestion Control1 TCP Congestion Control Presented by Bob Kinicki.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
Advanced Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Fourth.
CMPE 257 Spring CMPE 257: Wireless and Mobile Networking Spring 2005 E2E Protocols (point-to-point)
1 K. Salah Module 6.1: TCP Flow and Congestion Control Connection establishment & Termination Flow Control Congestion Control QoS.
TCP: flow and congestion control. Flow Control Flow Control is a technique for speed-matching of transmitter and receiver. Flow control ensures that a.
CS 4396 Computer Networks Lab
CS540/TE630 Computer Network Architecture Spring 2009 Tu/Th 10:30am-Noon Sue Moon.
1 Transport Protocols (continued) Relates to Lab 5. UDP and TCP.
CSE 461 University of Washington1 Topic How TCP implements AIMD, part 1 – “Slow start” is a component of the AI portion of AIMD Slow-start.
1 TCP III - Error Control TCP Error Control. 2 ARQ Error Control Two types of errors: –Lost packets –Damaged packets Most Error Control techniques are.
Malathi Veeraraghavan Originals by Jörg Liebeherr 1 Error Control Congestion Control Timers.
HighSpeed TCP for High Bandwidth-Delay Product Networks Raj Kettimuthu.
Copyright © Lopamudra Roychoudhuri
1 TCP - Part II Relates to Lab 5. This is an extended module that covers TCP data transport, and flow control, congestion control, and error control in.
Chapter 24 Transport Control Protocol (TCP) Layer 4 protocol Responsible for reliable end-to-end transmission Provides illusion of reliable network to.
Lecture 9 – More TCP & Congestion Control
What is TCP? Connection-oriented reliable transfer Stream paradigm
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
Computer Networking Lecture 18 – More TCP & Congestion Control.
Lab The network simulator ns The network simulator ns Allows us to watch evolution of parameters like cwnd and ssthresh Allows us to watch evolution of.
TCP: Transmission Control Protocol Part II : Protocol Mechanisms Computer Network System Sirak Kaewjamnong Semester 1st, 2004.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
1 TCP Timeout And Retransmission Chapter 21 TCP sets a timeout when it sends data and if data is not acknowledged before timeout expires it retransmits.
Network Protocols: Design and Analysis Polly Huang EE NTU
TCP End-To-End Congestion Control Wanida Putthividhya Dept. of Computer Science Iowa State University Jan, 27 th 2002 (May, 25 th 2001)
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
1 TCP - Part II. 2 What is Flow/Congestion/Error Control ? Flow Control: Algorithms to prevent that the sender overruns the receiver with information.
1 Computer Networks Congestion Avoidance. 2 Recall TCP Sliding Window Operation.
Congestion Avoidance and Control Van Jacobson and Michael Karels Presented by Sui-Yu Wang.
TCP OVER ADHOC NETWORK. TCP Basics TCP (Transmission Control Protocol) was designed to provide reliable end-to-end delivery of data over unreliable networks.
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP data transport, and flow control, congestion control, and error control in TCP.
TCP Timeout and Retransmission
Fall 2004FSU CIS 5930 Internet Protocols1 TCP – Data Exchange Reading: Section 24.4.
Recap Slow start introduced cwnd Slow start introduced cwnd Can transmit up to Can transmit up to min( cwnd, offered window ) Flow control by the sender.
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
Karn’s Algorithm Do not use measured RTT to update SRTT and SDEV Calculate backoff RTO when a retransmission occurs Use backoff RTO for segments until.
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
Introduction to Congestion Control
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
Lecture 19 – TCP Performance
So far, On the networking side, we looked at mechanisms to links hosts using direct linked networks and then forming a network of these networks. We introduced.
CS640: Introduction to Computer Networks
CS4470 Computer Networking Protocols
EE 122: Lecture 10 (Congestion Control)
TCP III - Error Control TCP Error Control.
TCP: Transmission Control Protocol Part II : Protocol Mechanisms
Presentation transcript:

TCP Congestion Control 컴퓨터공학과 인공지능 연구실 서 영우

TCP congestion control2 Contents 1. Introduction 2. Slow-start 3. Congestion avoidance 4. Fast retransmit 5. Fast recovery

TCP congestion control3 Introduction Explosive growth in Internet –internet gateways drop 10% of the incoming packets base idea –achieving network stability by forcing the trasport connection to obey a ‘packet conservation’ principle Conservation of packets –A new packet isn’t put into the network until an old packet leaves

TCP congestion control4 Cont’d Conservation of packets –1. Round-trip-time variance estimation –2. Exponential retransmit timer backoff –3. Slow-start –4. more aggressive receiver ack policy –5. Dynamic window sizing on congestion

TCP congestion control5 Cont’d Ways for packet conservation to fail: –The connection doesn’t get to equilibrium –A sender injects a new packet before an old packet has exited –The equilibrium can’t be reached because of resource limits along the path

TCP congestion control6 Slow-start Definition –Whenever starting traffic on a new connection or increasing traffic after a period of congestion, start the congestion window at the size of a single segment and increase the congestion window by one segment each time an acknowledgement arrives[Douglas E. Comer, 1995] –It operates by observing that the rate at which new packets should be injected into the network is the rate at which the acknowledgments are returned by the other end.

TCP congestion control7 Slow-start(1) Self clocking –the sender uses acks as a ‘clock’ to strobe new packets into the network –automatically adjust to bandwidth and delay variations and have a wide dynamic range slow-start –to gradually increase the amount of data in-transit cwnd, add a congestion window to the per-connection state When starting or restarting after a loss, set cwnd to one packet(typically 536 or 512) On each ack for new data, increase cwnd by one packet When sending, send the minimum of the receiver’s advertised window and cwnd.

TCP congestion control8 Figure 1: Window Flow Control ‘Self-clocking’ Figure 2: The Chronology of Slow-start

TCP congestion control9 Figure 3: Startup behavior of TCP without slow-start Figure 4: Startup behavior of TCP with slow-start

TCP congestion control10 Round-trip timing Good RTT estimator –the core of the retransmit timer; is the single most important feature of any protocol implementation that expects to survive heavy load.

TCP congestion control11 Round-trip timing (1) Problem –it can’t keep up with wide fluctuations in the RTT, causing unnecessary retransmissions. –Calculating the RTO based on both the mean and variance provides much better response to wide fluctuations in the RTT

TCP congestion control12 Congestion avoidance Definition –Upon loss of a segment, reduce the congestion window by half(down to minimum of at least one segment). For those segments that remain in the allowed window, backoff the retransmission timer exponentially[Douglas E. Comer, 1995] Assumption –packet loss caused by damage is very small (much less than 1%), therefore the loss of a packet signals congestion somewhere in the network between the source and destination

TCP congestion control13 Congestion avoidance(1) [Jain, R., Ramakrishan, K., and Chiu, D.-M., 1987] –The network must be able to signal the transport endpoints that congestion is occurring –The endpoints must have a policy that decreases utilization if this signal is received and increases utilization if the signal isn’t received.

TCP congestion control14 Congestion avoidance(2) DEC/ISO scheme

TCP congestion control15 Congestion avoidance(3) Congestion avoidance –On any time out, set cwnd to half the current window size (multiplicative decrease) –On each ack for new data, increase cwnd by 1/cwnd (additive increase) –When sending, send the minimum of the receiver’s advertised window and cwnd

TCP congestion control16 Figure 8:Multiple, simultaneous TCPs with no congestion avoidance Figure 9:Multiple, simultaneous TCPs with congestion avoidance

TCP congestion control17 Operations of combined algorithm Congestion window and slow-start threshold size –1. cwnd = one segment size (512, 536), ssthresh = –2. TCP output routine never sends more than the min. of cwnd and the receiver’s advertised window –3. When congestion occurs, one-half of the current window size, but at is saved in ssthresh –4. When new data is acknowledge by the other end, increase cwnd, but the way it increase depends on whether TCP is performing slow start or congestion avoidance

TCP congestion control18 Cont’d –If cwnd is less than or equal to ssthresh, we’re doing slow start; otherwise we’re doing congestion avoidance –Additive increase: Congestion avoidance dictates that cwnd be incremented by 1/cwnd each time an ACK is received. to increase cwnd by at most one segment each RTT(regardless how many ACKs are received in that RTT), whereas slow start will increment cwnd by the number of ACKs received in a RTT.

TCP congestion control19

TCP congestion control20 Fast Retransmit duplicate ACK –should not be delayed. –to let the other end know that a segment was received out of order, and to tell it what sequence number is expected. –check the number of duplicate ACKs to be received. one or two: reordering of the segments three or more: lost segments –performs a retransmission of what appears to be the missing segment, without waiting for a retransmission timer to expire

TCP congestion control21 Fast Recovery Definition –After fast retransmit sends what appears to be the missing segment, congestion avoidance, but not slow start is performed. –Reason for fast recovery there is still data flowing between the two ends, and TCP does not want to reduce the flow abruptly by going into slow start

TCP congestion control22 Operations of combined algorithm Steps –1. When the third duplicate ACK is received, set ssthresh to one-half the current cwnd. Retransmit the missing segment. Set cwnd to ssthresh plus 3 times the segment size. –2. Each time another duplicate ACK arrives, increment cwnd by the segment size and transmit a packet

TCP congestion control23 Cont’d –3. When the next ACK arrives that acknowledges new data, set cwnd to ssthresh. This should be the ACK of the retransmission from step 1. Additionally, this ACK should acknowledge all the intermediate segments sent between the lost packet and the receipt of the first duplicate ACK.

TCP congestion control24

TCP congestion control25