Download presentation
Presentation is loading. Please wait.
1
CSE 4213: Computer Networks II
Suprakash Datta Office: CSEB 3043 Phone: ext 77875 Course page: 4/22/2019 COSC S.Datta
2
TCP congestion control – the problem
Roadmap TCP congestion control – the problem TCP congestion control – solutions Performance of TCP congestion control The future of TCP 4/22/2019 COSC S.Datta
3
TCP congestion control: the problem
Arguably the most crucial part of TCP Lots of research effort (over 25+ years) Performance Objectives Link utilization Fairness Keep congestion down Q: What is the right notion of fairness? 4/22/2019 COSC S.Datta
4
TCP congestion control: the problem
Nodes do not know about other nodes total or available capacity on any link the number of packets in a router buffer So, how does a node sense congestion? delays, losses,…. absence of congestion? lower delays, fewer losses…. 4/22/2019 COSC S.Datta
5
TCP congestion control – the problem
Roadmap TCP congestion control – the problem TCP congestion control – solutions Performance of TCP congestion control The future of TCP 4/22/2019 COSC S.Datta
6
TCP congestion control – solutions
“Packet loss indicates congestion” Sensing congestion: timeouts, duplicate ACKs Reacting to congestion: drastic decrease of sending rates How/when does a sender recover from congestion? Continuous probing Conservative increases Q: Formula for increase and decrease ? 4/22/2019 COSC S.Datta
7
TCP congestion control – v1
Let’s think in terms of rates: Additive (conservative) increase, multiplicative (drastic) decrease of sending rates (AIMD) Starting rate: High? Low? Transmission rate 24 Kb/s 16 Kb/s 8 Kb/s time 4/22/2019 COSC S.Datta
8
TCP congestion control – v2
TCP Tahoe (1988) Two modes: Aggressive probing (Slow start) and careful probing (Congestion avoidance). Slow(!) start mode: Multiplicative (aggressive) increase, multiplicative decrease of sending rates. Congestion avoidance mode: Additive (conservative) increase, multiplicative (drastic) decrease of sending rates. 4/22/2019 COSC S.Datta
9
TCP Tahoe illustration
Assume that ssthresh = 8 14 12 10 ssthresh 8 ssthresh 6 Cwnd (in segments) 4 2 t=0 t=2 t=4 t=6 Rounds 4/22/2019 COSC S.Datta
10
TCP Reno(1990) and Fast recovery
A further improvement TCP Reno(1990) and Fast recovery Intuition: Distinguish between loss and 3-dup ACK 4/22/2019 COSC S.Datta
11
TCP uses windows (number of packets sent without waiting for ACKs)
Windows vs rates TCP uses windows (number of packets sent without waiting for ACKs) Transmission rate = W * Packet size/RTT RTT = round trip time Self-clocking 4/22/2019 COSC S.Datta
12
TCP congestion control – the problem
Roadmap TCP congestion control – the problem TCP congestion control – solutions Performance of TCP congestion control The future of TCP 4/22/2019 COSC S.Datta
13
Performance of TCP congestion control
Fairness Link utilization Algorithmic perspective? Note: Many other TCP versions have been proposed. No one version outperforms all others in all situations 4/22/2019 COSC S.Datta
14
TCP Performance – Fairness
[Chiu and Jain, 89] Two competing LONG sessions, no arrival or departures, assume rates are real numbers. R equal bandwidth share loss: decrease window by factor of 2 Session 2 throughput congestion avoidance: additive increase Session 1 throughput R 4/22/2019 COSC S.Datta
15
Once the trajectory hits x=y line, it stays there
Lessons Caveat: In reality, both sessions may not detect congestion at the same time Once the trajectory hits x=y line, it stays there For real-valued rates, reaches x=y only as t Will leave optimal point after reaching it (continuous probing) Generalizes to n sessions MIMD, MIAD, AIAD all unfair Can be shown to hold in the presence of arrivals and departures if all sessions are long [Edmonds, Datta, Dymond, 03] 4/22/2019 COSC S.Datta
16
TCP Performance – link utilization
At least 25% capacity lost Transmission rate C 3C/4 C/2 time 4/22/2019 COSC S.Datta
17
TCP Performance – algorithmic view
How good an algorithm is it? i.e. Optimal? Near-optimal? …. Very difficult question - Does not correspond to clean theoretical models. [Edmonds, Datta, Dymond, 03] TCP “performs well” (is competitive against a limited adversary) when each session is of a minimum specified size… 4/22/2019 COSC S.Datta
18
TCP Performance – problems
When/where does TCP not work well? Multimedia networking Non-smooth (sawtooth) bit rate Best-effort: no QoS guarantees Wireless/hybrid networks “Packet loss indicates congestion” ? Congestion and loss are not always correlated Very high-speed networks Fairness issues: parallel sessions, multiple bottlenecks, small sessions… 4/22/2019 COSC S.Datta
19
Co-operative algorithm Policing is hard to do
TCP/IP Design issues Co-operative algorithm Policing is hard to do Tracing of malicious hosts/users difficult 4/22/2019 COSC S.Datta
20
A 2-minute introduction to the TCP/IP architecture The role of TCP
Roadmap A 2-minute introduction to the TCP/IP architecture The role of TCP TCP congestion control – the problem TCP congestion control – solutions Performance of TCP congestion control The future of TCP 4/22/2019 COSC S.Datta
21
Active queue management schemes
The Future of TCP Active queue management schemes Drop packets proactively to reduce congestion RED, REM, BLUE,… TCP for ultra-high speed networks FastTCP, HSTCP,…. Usually use delay for being more responsive to congestion Less draconian TCP for wireless, hybrid networks Treats wireless parts separately 4/22/2019 COSC S.Datta
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.