Chapter 6 Congestion Control and Resource Allocation



Similar documents
CSE 123: Computer Networks

Quality of Service versus Fairness. Inelastic Applications. QoS Analogy: Surface Mail. How to Provide QoS?

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

Data Networks Summer 2007 Homework #3

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

TCP in Wireless Mobile Networks

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

A Survey on Congestion Control Mechanisms for Performance Improvement of TCP

The network we see so far. Internet Best Effort Service. Is best-effort good enough? An Audio Example. Network Support for Playback

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

Optimization of Communication Systems Lecture 6: Internet TCP Congestion Control

TCP over Wireless Networks

SJBIT, Bangalore, KARNATAKA

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

Active Queue Management (AQM) based Internet Congestion Control

Transport Layer Protocols

17: Queue Management. Queuing. Mark Handley

2 TCP-like Design. Answer

Why Congestion Control. Congestion Control and Active Queue Management. Max-Min Fairness. Fairness

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

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

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

6.6 Scheduling and Policing Mechanisms

Congestions and Control Mechanisms n Wired and Wireless Networks

TCP Westwood for Wireless

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

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

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

Lecture 16: Quality of Service. CSE 123: Computer Networks Stefan Savage

Real-time apps and Quality of Service

Mobile Communications Chapter 9: Mobile Transport Layer

Congestion control in Mobile Ad-Hoc Networks (MANETs)

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

A Study on TCP Performance over Mobile Ad Hoc Networks

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

Per-Flow Queuing Allot's Approach to Bandwidth Management

15-441: Computer Networks Homework 2 Solution

TCP, Active Queue Management and QoS

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

COMPARATIVE ANALYSIS OF DIFFERENT QUEUING MECHANISMS IN HETROGENEOUS NETWORKS

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

Final for ECE374 05/06/13 Solution!!

TCP in Wireless Networks

Active Queue Management

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

Routing in packet-switching networks

Analysis of Internet Transport Service Performance with Active Queue Management in a QoS-enabled Network

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

Performance improvement of active queue management with per-flow scheduling

Quality of Service. Traditional Nonconverged Network. Traditional data traffic characteristics:

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

Quality of Service Analysis of site to site for IPSec VPNs for realtime multimedia traffic.

QoS scheduling. Scheduling algorithms

Network management and QoS provisioning - QoS in the Internet

Computer Networks - CS132/EECS148 - Spring

Sources: Chapter 6 from. Computer Networking: A Top-Down Approach Featuring the Internet, by Kurose and Ross

Modeling Active Queue Management algorithms using Stochastic Petri Nets

TCP for Wireless Networks

Network Protocol Design and Evaluation

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

Network Management Quality of Service I

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

Active Queue Management

B-2 Analyzing TCP/IP Networks with Wireshark. Ray Tompkins Founder of Gearbit

Master s Thesis. A Study on Active Queue Management Mechanisms for. Internet Routers: Design, Performance Analysis, and.

Comparative Analysis of Congestion Control Algorithms Using ns-2

QoS Parameters. Quality of Service in the Internet. Traffic Shaping: Congestion Control. Keeping the QoS

Parallel TCP Data Transfers: A Practical Model and its Application

Optimizing Converged Cisco Networks (ONT)

Transport layer issues in ad hoc wireless networks Dmitrij Lagutin,

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

TCP/IP Optimization for Wide Area Storage Networks. Dr. Joseph L White Juniper Networks

Denial-of-Service Shrew Attacks

Low-rate TCP-targeted Denial of Service Attack Defense

Seamless Congestion Control over Wired and Wireless IEEE Networks

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

SELECTIVE-TCP FOR WIRED/WIRELESS NETWORKS

TCP/IP Performance with Random Loss and Bidirectional Congestion

Basic Multiplexing models. Computer Networks - Vassilis Tsaoussidis

Visualizations and Correlations in Troubleshooting

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

Announcements. Midterms. Mt #1 Tuesday March 6 Mt #2 Tuesday April 15 Final project design due April 11. Chapters 1 & 2 Chapter 5 (to 5.

EECS 122: Introduction to Computer Networks Multiaccess Protocols. ISO OSI Reference Model for Layers

Robust Router Congestion Control Using Acceptance and Departure Rate Measures

APPENDIX 1 USER LEVEL IMPLEMENTATION OF PPATPAN IN LINUX SYSTEM

Multimedia Requirements. Multimedia and Networks. Quality of Service

Modeling and Simulation of Queuing Scheduling Disciplines on Packet Delivery for Next Generation Internet Streaming Applications

ECSE-6600: Internet Protocols Exam 2

Using median filtering in active queue management for telecommunication networks

Referring to the above question, the end-to-end delay (transmission delay plus propagation delay) is

Requirements of Voice in an IP Internetwork

Packet Queueing Delay

Transcription:

Chapter 6 Congestion Control and Resource Allocation 6.3 TCP Congestion Control Additive Increase/Multiplicative Decrease (AIMD) o Basic idea: repeatedly increase transmission rate until congestion occurs; reduce transmission rate when congestion occurs. o New state variable per connection: CongestionWindow CongestionWindow limits how much data source is allowed to have in transit in order to not cause congestion. MaxWindow = MIN(CongestionWindow, AdvertisedWindow) is the maximum number of unacked bytes allowed. EffeciveWindow = MaxWindow (LastByteSent LastByteAcked) o The AIMD algorithm Increase CongestionWindow by one MSS per RTT when all packets sent during the last RTT have been ACKed (additive increase) Divide CongestionWindow by two when a timeout occurs (multiplicative decrease) Source interprets timeouts as a sign of congestion CongestionWindow not allowed to fall below MSS In practice, CongestionWindow is incremented by a fraction of MSS when an ACK is received. Increment = MSS x (MSS/CongestionWindow) Slow Start o Slow start is used at the beginning of a connection to increase the congestion window rapidly. o The slow start algorithm: Begin with CongestionWindow = 1 MSS Double CongestionWindow each RTT Increment CongestionWindow by 1 MSS for each ACK

o Slow start is also used after a timeout occurs. Upon timeout: Threshold is set to 1/2 of CongestionWindow just before timeout. CongestionWindow set to 1 MSS. CongestionWindow grows exponentially to Threshold (slow start), then grows linearly (additive increase). Fast Retransmit and Fast Recovery o Fast retransmit Goal: trigger retransmission of a dropped packet sooner than the regular timeout mechanism. Trigger of retransmission: three duplicate ACKs Timeouts cannot be eliminated because There may not be enough packets in transit to cause 3 duplicate ACKs when the window size is small. A large number of packets may be lost. o Fast recovery: skip the slow start phase when fast retransmit detects a lost packet Threshold set to CongestionWindow/2. CongestionWindow set to Threshold, window grows linearly. Summary of TCP congestion control o When CongestionWindow is below Threshold, window grows exponentially. o When CongestionWindow is above Threshold, window grows linearly. o When timeout occurs, Threshold is set to CongestionWindow/2 and CongestionWindow is set to 1 MSS. o When a triple duplicate ACK occurs, Threshold is set to CongestionWindow/2 and CongestionWindow is set to Threshold. 6.4 Congestion-Avoidance Mechanisms Congestion avoidance o Predict when congestion is about to happen. o Reduce sending rate of source host before packets start being discarded.

Two congestion avoidance approaches o With router assistance: DECbit and RED. o Without router assistance: TCP Vegas. DECbit o Add a congestion bit to packet header. o Router actions Monitor average queue length over last busy + idle cycle, plus the current busy cycle. Set congestion bit if average queue length 1 when the packet arrives. A queue length of 1 maximizes throughput/delay. o End host actions Destination host echoes congestion bit back to source host. Source records the fraction of the last window s worth of packets that resulted in the congestion bit being set. If fraction < 50%, increase congestion window by 1 packet. If fraction 50%, decrease congestion window to 0.875 times previous value. A threshold of 50% maximizes throughput/delay. Random Early Detection (RED) o Implicit notification: router drops packets when congestion is imminent. Designed to be used in conjunction with TCP. o Early random drop: router drops each arriving packet with some drop probability whenever the queue length exceeds a threshold. o RED details Average queue length computation AvgLen = (1 - Weight) x AvgLen + Weight x SampleLen, 0<Weight<1. Queue length measured every time a packet arrives.

Two queue length thresholds If AvgLen MinThreshold, queue the packet. If MinThreshold < AvgLen < MaxThreshold, calculate probability P and drop the arriving packet with probability P. If MaxThreshold Computing probability P AvgLen, drop the arriving packet. TempP = MaxP x (AvgLen MinThreshold) /(MaxThreshold - MinThreshold). P = TempP/(1 count x Temp), count = number of newly arriving packets that have been queued since the last drop. o Using count in the calculation ensures a roughly even distribution of drops over time. RED provides fair resource allocation because the probability of dropping a particular flow s packets is roughly proportional to the share of the bandwidth the flow is currently getting at the router. TCP Vegas o Goal: maintain the right amount of extra data in the network. Extra data data that the source would not have transmitted had it been trying to match exactly the available bandwidth of the network. Too much extra data: long delays and congestion. Too little extra data: cannot respond rapidly enough to transient increases in the available network bandwidth. o The algorithm Define BaseRTT to be the RTT of a packet when the flow is not congested. BaseRTT is set to the minimum of all measured RTTs. Calculate expected throughput ExpectedRate = CongestionWindow/BaseRTT

6.2 Queuing Disciplines Calculates current sending rate, ActualRate, once per RTT. ActualRate = K/(t1-t2), where t1 is the time a packet is sent, t2 is the time the ACK is received, K is the number of bytes transmitted between t1 and t2. Set congestion window based on ActualRate and ExpectedRate. Diff = ExpectedRate ActualRate (Diff 0) If Diff < α, increase CongestionWindow linearly during next RTT. If Diff > β, decrease CongestionWindow linearly during next RTT. If α < Diff < β, leave CongestionWindow unchanged. Use multiplicative decrease when a timeout occurs. Router implements queuing discipline that consists of o Scheduling discipline: determine the order in which packets are transmitted. (allocate link bandwidth) o Drop policy: determine which packets get discarded. (allocate buffer space) FIFO Queuing o The packets are transmitted in the order they arrive. o Tail drop. Priority Queuing - a variation of FIFO Queuing o Each packet is marked with a priority. o Routers implement one FIFO queue for each priority class. o Queues are serviced in strict order of queue priority. o Starvation problem. Fair Queuing (FQ) o Maintain a separate queue for each flow, queues serviced in roundrobin. Segregate traffic so that an ill-behaved source does not interfere with well-behaved sources.

o Approximate bit-by-bit round robin to fairly allocate link bandwidth. Imagine a clock that ticks once each time a bit is transmitted from all of the active flows. For a single flow Let P i denote the length of packet i. Let S i denote the time when the router starts to transmit packet i. Let F i denote the time when the router finishes transmitting packet i. Let A i denote the time when packet i arrives at the router. F i = S i +P i and S i = MAX (F i-1, A i ), so F i = MAX (F i-1, A i ) + P i. For multiple flows For each flow, calculate F i for each packet. Treat all F i s as timestamps, next packet to transmit is one with lowest timestamp. Not perfect: can t preempt a packet that is currently being transmitted. o Properties of FQ Work-conserving: the link is never left idle as long as there is at least one packet in the queue. Fair bandwidth allocation: when there are n flows, each flow gets 1/n th of the link bandwidth. Weighted Fair Queuing (WFQ) - a variation of FQ o A weight is assigned to each flow (queue) Weight specifies how many bits to transmit each time the router services that queue o Bandwidth received by a flow depends on its weight and the number of flows that are sharing the link. o If packet i belongs to a flow with weight w, then F i = MAX (F i-1, A i ) + P i /w