Principles of Congestion Control

Similar documents
Lecture 15: Congestion Control. CSE 123: Computer Networks Stefan Savage

Outline. TCP connection setup/data transfer Computer Networking. TCP Reliability. Congestion sources and collapse. Congestion control basics

Router-assisted congestion control. Lecture 8 CS 653, Fall 2010

TCP in Wireless Mobile Networks

First Midterm for ECE374 03/09/12 Solution!!

Transport Layer Protocols

TCP over Multi-hop Wireless Networks * Overview of Transmission Control Protocol / Internet Protocol (TCP/IP) Internet Protocol (IP)

Improving the Performance of TCP Using Window Adjustment Procedure and Bandwidth Estimation

TCP over Wireless Networks

First Midterm for ECE374 03/24/11 Solution!!

Chapter 6 Congestion Control and Resource Allocation

TCP/IP Over Lossy Links - TCP SACK without Congestion Control

Final for ECE374 05/06/13 Solution!!

A Survey on Congestion Control Mechanisms for Performance Improvement of TCP

15-441: Computer Networks Homework 2 Solution

Transport layer issues in ad hoc wireless networks Dmitrij Lagutin,

TCP Westwood for Wireless

Data Networks Summer 2007 Homework #3

Transport Layer and Data Center TCP

Low-rate TCP-targeted Denial of Service Attack Defense

TCP, Active Queue Management and QoS

Computer Networks. Chapter 5 Transport Protocols

1. The subnet must prevent additional packets from entering the congested region until those already present can be processed.

Lecture Objectives. Lecture 07 Mobile Networks: TCP in Wireless Networks. Agenda. TCP Flow Control. Flow Control Can Limit Throughput (1)

Congestions and Control Mechanisms n Wired and Wireless Networks

Transport layer protocols for ad hoc networks

17: Queue Management. Queuing. Mark Handley

TCP over High Speed Variable Capacity Links: A Simulation Study for Bandwidth Allocation

CS268 Exam Solutions. 1) End-to-End (20 pts)

AN IMPROVED SNOOP FOR TCP RENO AND TCP SACK IN WIRED-CUM- WIRELESS NETWORKS

TCP for Wireless Networks

ICTCP: Incast Congestion Control for TCP in Data Center Networks

Congestion Control Review Computer Networking. Resource Management Approaches. Traffic and Resource Management. What is congestion control?

Names & Addresses. Names & Addresses. Hop-by-Hop Packet Forwarding. Longest-Prefix-Match Forwarding. Longest-Prefix-Match Forwarding

TCP and Wireless Networks Classical Approaches Optimizations TCP for 2.5G/3G Systems. Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme

Visualizations and Correlations in Troubleshooting

Application Level Congestion Control Enhancements in High BDP Networks. Anupama Sundaresan

Active Queue Management (AQM) based Internet Congestion Control

2 TCP-like Design. Answer

Mobile Communications Chapter 9: Mobile Transport Layer

Simulation-Based Comparisons of Solutions for TCP Packet Reordering in Wireless Network

Traffic Mangement in ATM Networks Dollar Day Sale

The Problem with TCP. Overcoming TCP s Drawbacks

Chaoyang University of Technology, Taiwan, ROC. 2 Department of Computer Science and Information Engineering

CSE 473 Introduction to Computer Networks. Exam 2 Solutions. Your name: 10/31/2013

An Improved TCP Congestion Control Algorithm for Wireless Networks

Computer Networks - CS132/EECS148 - Spring

International Journal of Scientific & Engineering Research, Volume 6, Issue 7, July ISSN

Parallel TCP Data Transfers: A Practical Model and its Application

Higher Layer Protocols: UDP, TCP, ATM, MPLS

A Survey: High Speed TCP Variants in Wireless Networks

EINDHOVEN UNIVERSITY OF TECHNOLOGY Department of Mathematics and Computer Science

Prefix AggregaNon. Company X and Company Y connect to the same ISP, and they are assigned the prefixes:

TRANSPORT LAYER AND SECURITY PROTOCOLS FOR AD HOC WIRELESS NETWORKS

La couche transport dans l'internet (la suite TCP/IP)

TCP Flow Control. TCP Receiver Window. Sliding Window. Computer Networks. Lecture 30: Flow Control, Reliable Delivery

Analytic Models for the Latency and Steady-State Throughput of TCP Tahoe, Reno and SACK

Optimization of Communication Systems Lecture 6: Internet TCP Congestion Control

Access Control: Firewalls (1)

An enhanced TCP mechanism Fast-TCP in IP networks with wireless links

Packet Queueing Delay

Linux 2.4 Implementation of Westwood+ TCP with rate-halving: A Performance Evaluation over the Internet

Performance evaluation of TCP connections in ideal and non-ideal network environments

A packet-reordering solution to wireless losses in transmission control protocol

Protagonist International Journal of Management And Technology (PIJMT) Online ISSN Vol 2 No 3 (May-2015) Active Queue Management

TCP Adaptation for MPI on Long-and-Fat Networks

TCP Window Size for WWAN Jim Panian Qualcomm

PART III. OPS-based wide area networks

High Speed Internet Access Using Satellite-Based DVB Networks

CS 78 Computer Networks. Internet Protocol (IP) our focus. The Network Layer. Interplay between routing and forwarding

SJBIT, Bangalore, KARNATAKA

SCTP over Satellite Networks

TCP/IP Performance with Random Loss and Bidirectional Congestion

TCP in Wireless Networks

Introduction. Abusayeed Saifullah. CS 5600 Computer Networks. These slides are adapted from Kurose and Ross

Multipath TCP in Practice (Work in Progress) Mark Handley Damon Wischik Costin Raiciu Alan Ford

Research of TCP ssthresh Dynamical Adjustment Algorithm Based on Available Bandwidth in Mixed Networks

Improving Throughput Performance of the IEEE MAC Layer Using Congestion Control Methods

TTC New Reno - Consistent Control of Packet Traffic

Master Course Computer Networks IN2097

Architecture and Performance of the Internet

Midterm Exam CMPSCI 453: Computer Networks Fall 2011 Prof. Jim Kurose

COMP 3331/9331: Computer Networks and Applications. Lab Exercise 3: TCP and UDP (Solutions)

TCP Trunking for Bandwidth Management of Aggregate Traffic

Student, Haryana Engineering College, Haryana, India 2 H.O.D (CSE), Haryana Engineering College, Haryana, India

Chapter 5. Transport layer protocols

APPENDIX 1 USER LEVEL IMPLEMENTATION OF PPATPAN IN LINUX SYSTEM

Homework 3 assignment for ECE374 Posted: 03/13/15 Due: 03/27/15

SELECTIVE-TCP FOR WIRED/WIRELESS NETWORKS

HyperIP : VERITAS Replication Application Note

On the Efficiency and Fairness of TCP over Wired/Wireless Networks. Dimitrios Vardalis. Master of Science in Computer Science

La couche transport dans l'internet (la suite TCP/IP)

4 High-speed Transmission and Interoperability

[Prof. Rupesh G Vaishnav] Page 1

technology standards and protocol for ip telephony solutions

FEW would argue that one of TCP s strengths lies in its

CS551 End-to-End Internet Packet Dynamics [Paxson99b]

Applying Router-Assisted Congestion Control to Wireless Networks: Challenges and Solutions 1

Digital Audio and Video Data

The Network Layer Functions: Congestion Control

Transcription:

Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles of reliable data transfer 3.5 Connection-oriented transport: TCP segment structure reliable data transfer flow control connection management 3.6 Principles of congestion control 3.7 TCP congestion control Transport Layer 3-1 Principles of Congestion Control Congestion: informally: too many sources sending too much data too fast for network to handle different from flow control! manifestations: lost packets (buffer overflow at routers) long delays (queueing in router buffers) a top-10 problem! Transport Layer 3-2

Causes/costs of congestion: scenario 1 two senders, two receivers one router, infinite buffers Host B Host A λ in : original data unlimited shared output link buffers λ out no retransmission large delays when congested maximum achievable throughput Transport Layer 3-3 Causes/costs of congestion: scenario 2 one router, finite buffers sender retransmission of lost packet Host A λ in : original data λ' in : original data, plus retransmitted data λ out Host B finite shared output link buffers Transport Layer 3-4

Causes/costs of congestion: scenario 2 Ideal case: only send a packet if buffer available: More reasonable case: λ = λ' = in in λ out retransmit only packets that where dropped: λ < λ' in in Realistic case: retransmit packets that where either dropped or delayed: λ < λ' in in unnecessary retransmissions! Even larger offered load costs of congestion: more work (retrans) for given goodput unneeded retransmissions: link carries multiple copies of pkt Transport Layer 3-5 Causes/costs of congestion: scenario 3 four senders multihop paths timeout/retransmit Q: what happens as λ in and increase? λ in Host A λ in : original data λ' in : original data, plus retransmitted data finite shared output link buffers λ out Host B Transport Layer 3-6

Causes/costs of congestion: scenario 3 H o s t A λ o u t H o s t B Another cost of congestion: when packet dropped, any upstream transmission capacity used for that packet was wasted! Transport Layer 3-7 Approaches towards congestion control Two broad approaches towards congestion control: End-end congestion control: no explicit feedback from network congestion inferred from end-system observed loss, delay approach taken by TCP Network-assisted congestion control: routers provide feedback to end systems single bit indicating congestion (SNA, DECbit, TCP/IP ECN, ATM) explicit rate sender should send at Transport Layer 3-8

Case study: ATM ABR congestion control ABR: available bit rate: elastic service if sender s path underloaded : sender should use available bandwidth if sender s path congested: sender throttled to minimum guaranteed rate RM (resource management) cells: sent by sender, interspersed with data cells bits in RM cell set by switches ( network-assisted ) NI bit: no increase in rate (mild congestion) CI bit: congestion indication RM cells returned to sender by receiver, with bits intact Transport Layer 3-9 Case study: ATM ABR congestion control two-byte ER (explicit rate) field in RM cell congested switch may lower ER value in cell sender send rate thus minimum supportable rate on path EFCI bit in data cells: set to 1 in congested switch if data cell preceding RM cell has EFCI set, sender sets CI bit in returned RM cell Transport Layer 3-10

TCP Congestion Control end-end control (no network assistance) sender limits transmission: congwin congwin is dynamic, function of perceived network congestion w segments, each with MSS bytes sent in one RTT: throughput = w * MSS RTT Bytes/sec Transport Layer 3-11 TCP congestion control: probing for usable bandwidth: ideally: transmit as fast as possible (Congwin as large as possible) without loss increase Congwin until loss event (congestion) loss event: decrease Congwin, then begin probing (increasing) again How does sender perceive congestion? Timeout 3 duplicate acks two phases slow start congestion avoidance important variables: Congwin threshold: defines threshold between two slow start phase, congestion control phase Transport Layer 3-12

TCP Slowstart Slowstart algorithm initialize: Congwin = 1 for (each segment ACKed) Congwin++ until (loss event OR CongWin > threshold) RTT Host A Host B one segment two segments four segments Double congestion window every RTT (exponential increase) loss event: timeout (Tahoe TCP) and/or or three duplicate ACKs (Reno TCP) time Transport Layer 3-13 TCP Congestion Avoidance: Tahoe TCP Tahoe Congestion avoidance /* slowstart is over */ /* Congwin > threshold */ Until (loss event) { every w segments ACKed: Congwin++ } threshold = Congwin/2 Congwin = 1 perform slowstart Transport Layer 3-14

TCP Congestion Avoidance: Reno three duplicate ACKs (Reno TCP): some segments are getting through correctly! don t overreact by decreasing window to 1 as in Tahoe decrease window size by half TCP Reno Congestion avoidance /* slowstart is over */ /* Congwin > threshold */ Until (loss event) { every w segments ACKed: Congwin++ } threshold = Congwin/2 If (loss detected by timeout) { Congwin = 1 perform slowstart } If (loss detected by triple duplicate ACK) Congwin = Congwin/2 Transport Layer 3-15 TCP Reno versus TCP Tahoe: 14 congestion window size (segments) 12 10 8 6 4 2 0 threshold 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Transmission round Series1 TCP Series2 TCP Tahoe Reno Figure 3.49 (revised): Evolution of TCP s Congestion window (Tahoe and Reno) Transport Layer 3-16

TCP AIMD additive increase: increase CongWin by 1 MSS every RTT in the absence of loss events: probing multiplicative decrease: cut CongWin in half on loss event 24 Kbytes congestion window 16 Kbytes 8 Kbytes Long-lived TCP connection time Transport Layer 3-17 TCP Fairness Fairness goal: if K TCP sessions share same bottleneck link of bandwidth R, each should have average rate of R/K TCP connection 1 TCP connection 2 bottleneck router capacity R Transport Layer 3-18

Why is TCP fair? Two competing sessions: Additive increase gives slope of 1, as throughout increases multiplicative decrease decreases throughput proportionally R equal bandwidth share Connection 2 throughput Connection 1 throughput loss: decrease window by factor of 2 congestion avoidance: additive increase loss: decrease window by factor of 2 congestion avoidance: additive increase R Transport Layer 3-19 Fairness (more) Fairness and UDP Multimedia apps often do not use TCP do not want rate throttled by congestion control Instead use UDP: pump audio/video at constant rate, tolerate packet loss Research area: TCP friendly Fairness and parallel TCP connections nothing prevents app from opening parallel cnctions between 2 hosts. Web browsers do this Example: link of rate R supporting 9 cnctions; new app asks for 1 TCP, gets rate R/10 new app asks for 11 TCPs, gets R/2! Transport Layer 3-20

TCP Throughput (macroscopic view) Transfer of a very large file long-lived TCP connection Network is not too congested AIMD in steady state W bytes W/2 bytes congestion window Each transmission period send w bytes time Throughput = 0.75 W RTT Transport Layer 3-21 Chapter 3: Summary principles behind transport layer services: multiplexing, demultiplexing reliable data transfer flow control congestion control instantiation and implementation in the Internet UDP TCP Next: leaving the network edge (application, transport layers) into the network core Transport Layer 3-22