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.

Slides:



Advertisements
Similar presentations
Simulation-based Comparison of Tahoe, Reno, and SACK TCP Kevin Fall & Sally Floyd Presented: Heather Heiman September 10, 2002.
Advertisements

Different TCP Flavors CSCI 780, Fall TCP Congestion Control Slow-start Congestion Avoidance Congestion Recovery Tahoe, Reno, New-Reno SACK.
3/2/2001Hanoch Levy, CS, TAU1 TCP Behavior and Performance Workshop on QoS Hanoch Levy April 2004.
1 TCP Congestion Control. 2 TCP Segment Structure source port # dest port # 32 bits application data (variable length) sequence number acknowledgement.
TCP EE122 Discussion 10/31/11. TCP Flow Control Keep sender from overwhelming receiver Data not necessarily pushed to app layer ACK Adv_Win: 300 R Push.
Congestion Control Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
Presentation by Joe Szymanski For Upper Layer Protocols May 18, 2015.
1 TCP - Part II. 2 What is Flow/Congestion/Error Control ? Flow Control: Algorithms to prevent that the sender overruns the receiver with information.
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
Transport Layer3-1 Congestion Control. Transport Layer3-2 Principles of Congestion Control Congestion: r informally: “too many sources sending too much.
Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Third Ed.,Peterson.
CSEE W4140 Networking Laboratory Lecture 7: TCP flow control and congestion control Jong Yul Kim
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
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.
Week 9 TCP9-1 Week 9 TCP 3 outline r 3.5 Connection-oriented transport: TCP m segment structure m reliable data transfer m flow control m connection management.
Computer Networks : TCP Congestion Control1 TCP Congestion Control.
1 Chapter 3 Transport Layer. 2 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4.
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.
TCP in Heterogeneous Network Md. Ehtesamul Haque # P.
Advanced Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Fourth.
TCP Congestion Control
Introduction 1 Lecture 14 Transport Layer (Congestion Control) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
TCP: flow and congestion control. Flow Control Flow Control is a technique for speed-matching of transmitter and receiver. Flow control ensures that a.
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.
Principles of Congestion Control Congestion: informally: “too many sources sending too much data too fast for network to handle” different from flow control!
1 Transport Protocols (continued) Relates to Lab 5. UDP and TCP.
TCP CS 168 Discussion Week 6 Many thanks to past EE 122 GSIs.
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.
EE 122: Congestion Control and Avoidance Kevin Lai October 23, 2002.
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.
Lecture 9 – More TCP & Congestion Control
What is TCP? Connection-oriented reliable transfer Stream paradigm
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
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.
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
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.
Advance Computer Networks Lecture#09 & 10 Instructor: Engr. Muhammad Mateen Yaqoob.
Recap of Lecture 19 If symptoms persist, please consult Dr Jacobson.
TCP Congestion Control 컴퓨터공학과 인공지능 연구실 서 영우. TCP congestion control2 Contents 1. Introduction 2. Slow-start 3. Congestion avoidance 4. Fast retransmit.
Fall 2004FSU CIS 5930 Internet Protocols1 TCP – Data Exchange Reading: Section 24.4.
Congestion Control CS 168 Discussion Week 7. RECAP: How does TCP set rate? How much data can be outstanding? – min{RWND, CWND} RWND: do not overload the.
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.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Congestion Control 0.
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.
Malathi Veeraraghavan Originals by Jörg Liebeherr 1 Congestion Control TCP implements congestion control at the sender –This control is intended to reduce.
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
9.6 TCP Congestion Control
Chapter 3 outline 3.1 transport-layer services
Chapter 6 TCP Congestion Control
Introduction to Congestion Control
Chapter 3 outline 3.1 Transport-layer services
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
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.
Chapter 6 TCP Congestion Control
Transport Layer: Congestion Control
Chapter 3 outline 3.1 Transport-layer services
TCP flow and congestion control
Presentation transcript:

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 Flow control by the sender cwnd increases by 1 (MSS) for every new ack cwnd increases by 1 (MSS) for every new ack

Recap Exponential increase of cwnd Exponential increase of cwnd Eventually, packet drop Eventually, packet drop Detected by time-out Detected by time-out –Let x = min ( cwnd, offered window ) at this point After time-out cwnd = 1 again After time-out cwnd = 1 again Recover the lost packet Recover the lost packet

Recap In the next cycle, cwnd allowed to increase exponentially till In the next cycle, cwnd allowed to increase exponentially till(1/2)*x Motivation for multiplicative decrease Motivation for multiplicative decrease –Over several RTTs, exponential decrease –Counteracting exponential increase in load

Congestion Avoidance The parameter where (1/2)*x is stored The parameter where (1/2)*x is storedssthresh Slow start threshold: The value till which cwnd increases exponentially in the next cycle Slow start threshold: The value till which cwnd increases exponentially in the next cycle

cwnd 1248 Time-out observed ssthresh = (1/2)*8 = 4 Next cycle: cwnd increases rapidly (by 1 for each new ack) till ssthresh After reaching ssthresh, cwnd increases more gently

Congestion Avoidance SS Loss (timeout) Store related value in ssthresh; ssthresh=(1/2)*cwnd cwnd=1 cwnd reaches ssthresh; henceforth, different rule for incrementing cwnd Loss (timeout) cwnd=1 Incrementing cwnd more conservatively, after it is = ssthresh; loss detection by timeout; next cycle begins with cwnd=1 SS time Store related value in ssthresh; ssthresh=(1/2)*cwnd

Congestion Avoidance Incrementing cwnd after it has reached ssthresh Incrementing cwnd after it has reached ssthresh –For each new ack, increment = 1/cwnd segment

Congestion Avoidance RTT Congestion avoidance begun cwnd At this point, cwnd increases to (cwnd+1) Exponential increase with RTT in Slow Start but additive increase with RTT in Congestion Avoidance time SS

SS and CA combined SS and CA are found together in implementations SS and CA are found together in implementations Upon reception of new ack Upon reception of new ack if (cwnd <= ssthresh) /* slow start */ cwnd += 1 else /* congestion avoidance */ else /* congestion avoidance */ cwnd += 1/cwnd SS and CA are distinct algorithms with different objectives, but both update the same parameter: cwnd SS and CA are distinct algorithms with different objectives, but both update the same parameter: cwnd

SS and CA Slow start Slow start –Get the ack clock started Congestion avoidance Congestion avoidance –Adapt to the congestion on the path Congestion leads to packet loss Congestion leads to packet loss Loss indicated by timeout Loss indicated by timeout

Congestion Avoidance After Congestion Avoidance has been implemented, are there aspects that can yet be improved? After Congestion Avoidance has been implemented, are there aspects that can yet be improved? –Loss detection still by timeout –A cycle always begins in Slow Start, with cwnd=1 n:n+s (s) X n+s:n+2s (s) Ack = n n+2s:n+3s (s) Ack = n Last ack carried no. n

Duplicate acks Early detection of congestion by watching for duplicate acks Early detection of congestion by watching for duplicate acks Instead of detecting congestion via time-outs Instead of detecting congestion via time-outs Every time-out is followed by cwnd = 1, and this means the window has to be built up again Every time-out is followed by cwnd = 1, and this means the window has to be built up again When bandwidth-delay product is large, this means considerable wastage When bandwidth-delay product is large, this means considerable wastage

Fast Retransmit Early retransmission, or “Fast Retransmit” Early retransmission, or “Fast Retransmit” If K dup acks are observed, conclude that a packet was dropped and retransmit the packet If K dup acks are observed, conclude that a packet was dropped and retransmit the packet K: a small fraction of the bandwidth-delay product K: a small fraction of the bandwidth-delay product Most implementations set K=3 Most implementations set K=3 K is called the duplicate ack threshold K is called the duplicate ack threshold

Bandwidth delay product (BDP) = 8 segments Also called “pipe capacity”