1 2004.5.13.  Last Class  Resource Allocation  This Class  Chapter 6.3. ~ 6.4.  TCP congestion control.

Slides:



Advertisements
Similar presentations
Different TCP Flavors CSCI 780, Fall TCP Congestion Control Slow-start Congestion Avoidance Congestion Recovery Tahoe, Reno, New-Reno SACK.
Advertisements

TCP Congestion Control
1 TCP Congestion Control. 2 TCP Segment Structure source port # dest port # 32 bits application data (variable length) sequence number acknowledgement.
Congestion Control Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
Introduction 1 Lecture 14 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
Introduction to Congestion Control
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.
Transport Layer3-1 Congestion Control. Transport Layer3-2 Principles of Congestion Control Congestion: r informally: “too many sources sending too much.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 TCP Congestion Control: AIMD and Binomial Shivkumar Kalyanaraman Rensselaer Polytechnic Institute.
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
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.
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.
Data Communication and Networks
Transport Layer Congestion control. Transport Layer 3-2 Approaches towards congestion control End-to-end congestion control: r no explicit feedback.
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.
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.
1 #6 in Mid-Term  Most answered:  many users thru the same bottleneck -> increased queueing delay -> increased e2e latency  Possible reasons behind.
3: Transport Layer3b-1 Principles of Congestion Control Congestion: r informally: “too many sources sending too much data too fast for network to handle”
Transport Layer 4 2: Transport Layer 4.
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.
Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley Chapter3_3.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A.
Principles of Congestion Control Congestion: informally: “too many sources sending too much data too fast for network to handle” different from flow control!
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.
Contents Causes and cost of congestion Three examples How to handle congestion End-to-end Network-assisted TCP congestion control ATM ABR 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
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
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.
TCP Congestion Control Computer Networks TCP Congestion Control 1.
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 John Magee 20 February 2014 CS 280: Transport Layer: Congestion Control Concepts, TCP Congestion Control Most slides adapted from Kurose and Ross, Computer.
 Last Class  This Class  Chapter 6.3. ~ 6.4.  TCP congestion control.
1 Computer Networks Congestion Avoidance. 2 Recall TCP Sliding Window Operation.
Advance Computer Networks Lecture#09 & 10 Instructor: Engr. Muhammad Mateen Yaqoob.
TCP OVER ADHOC NETWORK. TCP Basics TCP (Transmission Control Protocol) was designed to provide reliable end-to-end delivery of data over unreliable networks.
CS 6401 Congestion Control in TCP Outline Overview of RENO TCP Reacting to Congestion SS/AIMD example.
TCP Congestion Control 컴퓨터공학과 인공지능 연구실 서 영우. TCP congestion control2 Contents 1. Introduction 2. Slow-start 3. Congestion avoidance 4. Fast retransmit.
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.
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
CS450 – Introduction to Networking Lecture 19 – Congestion Control (2)
9.6 TCP Congestion Control
Approaches towards congestion control
Chapter 3 outline 3.1 transport-layer services
CS-1652 Jack Lange University of Pittsburgh
Congestion Control.
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.
Congestion Control in TCP
If both sources send full windows, we may get congestion collapse
EE 122: Lecture 10 (Congestion Control)
Congestion Control in TCP
Transport Layer: Congestion Control
Chapter 3 outline 3.1 Transport-layer services
TCP flow and congestion control
Chapter 3 Transport Layer
Presentation transcript:

 Last Class  Resource Allocation  This Class  Chapter 6.3. ~ 6.4.  TCP congestion control

2 How does TCP figure out the right sending rate?  Situation:  Bottleneck link is inside the network  Network does not tell sender nor receiver  TCP must figure it out on its own  Be conservative in increase and aggressive in decrease  Use Additive-Increase, Multiplicative Decrease

3 AIMD SenderReceiver

4 Ramp-Up Time  How long does it take for a TCP sender to exploit the full bandwidth of 10 Mbps?  when RTT = 10 ms  when RTT = 1 sec

5 Be Aggressive At First SenderReceiver

6 What about doubling each time? TIME RTT Cwnd=1Cwnd=2Cwnd=4Cwnd=8 Multiplicative increase

7 More State Variables for TCP  CongestionWindow (cwnd)  determines the sending rate  CongestionThreshold (ssthreshold)  remembers last max CongestionWindow

8 Then Why Call it Slow Start?  Compare it with what we had in Chap  Dump as many bytes as AdvertisedWindow!  Thus slow start

9 When to stop increasing?  Finite world, finite beginning  ssthresh = set to an arbitrary large number (65KB)  Sender rate exceeds AdvWindow  Only transmit min(cwnd, AdvWindow)  Packets start to be dropped at the bottleneck  Sending rate exceeds bottleneck b/w  Another user shares the bottleneck  Contention for shared resource

10 Evolution of TCP cwnd

11 TCP Thruput?

12 Congestion Control  End-to-end approach in detecting congestion  No ack for some time  Duplicate acks  Network-assisted approach  Routers provide explicit feedback  IBM SNA, DEC DECnet, ATM ABR, TCP ECN

13 No ack for some time?  How to estimate RTT at the sender?  Time between data and ACK  It differs from one ack to another due to different levels of congestion on the fw/rv path  R(t) : estimated RTT at time t R(t+1) = (1-α) R(t) + αR  d(t): estimated variation in RTT at time t d(t+1) = (1-β) d(t) + βd  Timer = R(t) + 4d(t)

14 When congestion happens …  ssthresh = ½ of cwnd  In case of TCP Tahoe, cwnd = 1  When timeout happened/triple ACKs arrived  Start from minimum sending rate (slow start)  In case of TCP Reno, cwnd = ssthresh  When triple duplicate ACKs arrive  Sending rate decreased only by half (fast recovery)  When timeout happened, same as in Tahoe.

15 Slow Start and Congestion Avoidance  If cwnd < ssthresh  Do slow start  Otherwise, increase cwnd by 1 per RTT (congestion avoidance)  If triple ACKs arrive  retransmit the next segment w/o waiting for the retransmission timer to expire (fast retransmit)

16 Next Class  HW #7 due  QoS (Chap 6.5.)  End-to-End data (Chap. 7)