1 Congestion Control Outline Queuing Discipline Reacting to Congestion Avoiding Congestion.
Un-Cooperative Congestion Control
description
Transcript of Un-Cooperative Congestion Control
![Page 1: Un-Cooperative Congestion Control](https://reader037.fdocuments.net/reader037/viewer/2022110404/568130c4550346895d96e3da/html5/thumbnails/1.jpg)
Un-Cooperative Congestion Control
Kartikeya Chandrayana
Prof. Shivkumar Kalyanaraman
ECSE Dept., R.P.I.
[email protected] (http://www.rpi.edu/~chandk)
![Page 2: Un-Cooperative Congestion Control](https://reader037.fdocuments.net/reader037/viewer/2022110404/568130c4550346895d96e3da/html5/thumbnails/2.jpg)
Outline
• Review• Motivation• Previous Work• Network Optimization• Proposed Framework• Results
![Page 3: Un-Cooperative Congestion Control](https://reader037.fdocuments.net/reader037/viewer/2022110404/568130c4550346895d96e3da/html5/thumbnails/3.jpg)
Present Internet
• Uses TCP.– TCP Variants
• Tahoe (First Proposal)• Reno, New-Reno : Windows 95/98• Sack: Windows 2000+• Vegas
– Other variants possible.
• Routers Deploy FIFO queues to absorb bursts.
![Page 4: Un-Cooperative Congestion Control](https://reader037.fdocuments.net/reader037/viewer/2022110404/568130c4550346895d96e3da/html5/thumbnails/4.jpg)
Internet Dynamics
Search Game: User searches for bandwidth with some help from the network
![Page 5: Un-Cooperative Congestion Control](https://reader037.fdocuments.net/reader037/viewer/2022110404/568130c4550346895d96e3da/html5/thumbnails/5.jpg)
Feedback from Network
• Positive Feedback– Acks
• Negative Feedback– Implicit
• Drop Packets
– Explicit• Mark Packets
– Set a bit in the packet.– This bit is echoed in the Acks
• Explicit Congestion Notification (ECN)
![Page 6: Un-Cooperative Congestion Control](https://reader037.fdocuments.net/reader037/viewer/2022110404/568130c4550346895d96e3da/html5/thumbnails/6.jpg)
TCP
• Slow Start – Probe exponentially for bandwidth.
• Congestion Avoidance– Send w packets in a round-trip time.
– If receive w acks then put w+1 packets in next RTT
– If congestion put w/2 packets in next RTT.
![Page 7: Un-Cooperative Congestion Control](https://reader037.fdocuments.net/reader037/viewer/2022110404/568130c4550346895d96e3da/html5/thumbnails/7.jpg)
TCP Variants
TCP Friendliness: Any rate control scheme gets the same throughput as TCP under same operating conditions.
Why ?• TCP does not get beaten down by newer protocols
Examples of TCP-Friendly Protocols: SQRT: Increase: 1/sqrt(w) Decrease: sqrt(w) IIAD : Increase: 1/w Decrease: 1
Mathematical Definition:x: Rate = w/RTT p: loss rateTCP Friendliness x 1/sqrt(p)
![Page 8: Un-Cooperative Congestion Control](https://reader037.fdocuments.net/reader037/viewer/2022110404/568130c4550346895d96e3da/html5/thumbnails/8.jpg)
But..
• Application needs changed.– Different congestion control protocols.
• Real-Player, Windows Media, Quake, Half-Life etc.
– Some of these are constant rate protocols.
• Linux, FreeBSD Boxes came along.– Make your own TCP.– If receive w acks then put w+5 packets in next RTT
– If congestion put 3w/4 packets in next RTT.
![Page 9: Un-Cooperative Congestion Control](https://reader037.fdocuments.net/reader037/viewer/2022110404/568130c4550346895d96e3da/html5/thumbnails/9.jpg)
So..
Users can choose their rate control algo Rate Control Scheme rate allocation. Aggressive Rate Control More Rate Incentive for users to misbehave. But majority of users are responsible.
Assume (for now) the network’s standard CC scheme is TCP
Any scheme which gets more rate than TCP is uncooperative
![Page 10: Un-Cooperative Congestion Control](https://reader037.fdocuments.net/reader037/viewer/2022110404/568130c4550346895d96e3da/html5/thumbnails/10.jpg)
Consequences
Selfish flows grab most of the bandwidth.
One form of traffic volume based denial of service attack. Congestion Collapse Network has no control over equilibrium
rate distributions. Unfair Sharing aggravated on a network of Drop-Tail queues
![Page 11: Un-Cooperative Congestion Control](https://reader037.fdocuments.net/reader037/viewer/2022110404/568130c4550346895d96e3da/html5/thumbnails/11.jpg)
Effect of MisbehaviorLong Flow: Conformant (TCP Reno, U=-1/x),
Short Flows: Mis-Behaving (U=-1/x0.5)
Incr : 1 packet/RTTDecr: sqrt(w) on loss
Drop Tail Queue
TCP Flows shut out
Present Internet is a network of Drop Tail queuesHappened in NCSU !
![Page 12: Un-Cooperative Congestion Control](https://reader037.fdocuments.net/reader037/viewer/2022110404/568130c4550346895d96e3da/html5/thumbnails/12.jpg)
AQM: Active Queue Management
• Drop Tail (FIFO) queues has limitations.• Synchronization:
– Queue is full– Packets from all flows are dropped.– All flows cut their rates by half simultaneously.– For a long period link is not fully utilized.– Pattern of simultaneous increase and decrease.
AQM: Drop some packets before queue gets full. • Some flows get early congestion signal and cut back.• Link tends to be fully utilized.• Example: Random Early Drop (RED)• Selfish flows will probably have more packets in the buffer
Probably they will cut their rates more often.
![Page 13: Un-Cooperative Congestion Control](https://reader037.fdocuments.net/reader037/viewer/2022110404/568130c4550346895d96e3da/html5/thumbnails/13.jpg)
AQM: Effect of Misbehavior
Long Flow: Conformant (TCP Reno, U=-1/x),
Short Flows: Mis-Behaving (U=-1/x0.5)
RED
RED Helps: Though unfair sharing persists
![Page 14: Un-Cooperative Congestion Control](https://reader037.fdocuments.net/reader037/viewer/2022110404/568130c4550346895d96e3da/html5/thumbnails/14.jpg)
AQM: Deployment
• RED was proposed in 1993• Almost all routers have RED.• But RED is not deployed !
– No one knows how to configure it. – Providers don’t like to drop packets.– RED too has limitations !
• Lots of them • Unfair sharing• At High Loads RED is worse than Drop Tail !
Present Internet is just network of Drop Tail queues !Possibility of Volume based Denial of Service Attack
![Page 15: Un-Cooperative Congestion Control](https://reader037.fdocuments.net/reader037/viewer/2022110404/568130c4550346895d96e3da/html5/thumbnails/15.jpg)
Related Work
Some Buffer Mgmt. Scheme
Users
End System Based Solution: Use same congestion control
algorithm
Network
Routers
Network Based Solution: Use AQM/Scheduler in the network
Limitation
Constrains the choice of congestion control algorithms
AQM Placement Required at every router.
Limitations
May require exchange of control information between all AQMs/Schedulers in the network.
Generally only provides Max-Min Fairness.
Most Solutions do not work with a Drop Tail queue Network
No clean method to manage non-conformant flowsWhat is the right architectural response ?
![Page 16: Un-Cooperative Congestion Control](https://reader037.fdocuments.net/reader037/viewer/2022110404/568130c4550346895d96e3da/html5/thumbnails/16.jpg)
Detour: Congestion Control-Optimization Frameworks
• Utility Functions– Economics– One function can
capture a group of rate control schemes.
– TCP-Friendly schemes imply• U(x) = -1/x
x (Rate)
U(x)
![Page 17: Un-Cooperative Congestion Control](https://reader037.fdocuments.net/reader037/viewer/2022110404/568130c4550346895d96e3da/html5/thumbnails/17.jpg)
Detour: Congestion Control-Optimization Frameworks
• Users choose congestion control algorithm. Choose a Utility Function. TCP : U(x) = -1/x
• CC Scheme Utility function
• Every user maximizes his own utility function.
• Distributed optimization.
• Network communicates price (loss, mark, delay) to users.
• Users use this price to update their rate.
![Page 18: Un-Cooperative Congestion Control](https://reader037.fdocuments.net/reader037/viewer/2022110404/568130c4550346895d96e3da/html5/thumbnails/18.jpg)
Idea: Managing Non-Conformance: Work in the Utility Function Space
Key Design Objectives:• Deployment Ease
• Retain existing link price update rules.
No changes in the core.• Retain existing user’s rate
updation rules. Allows users to chose
rate control protocol.
• Should work with either drop or marking based network.
• Should work on a network of Drop Tail queues.
U1
U2
Us
Conformant
Non Conformant
U1,U2 define the conformance space
U
x (Rate)
Map user’s Utility Function to Conformant Space
![Page 19: Un-Cooperative Congestion Control](https://reader037.fdocuments.net/reader037/viewer/2022110404/568130c4550346895d96e3da/html5/thumbnails/19.jpg)
• User s is described by: – xs: Rate, Us: Utility function, q: end-to-end price – xs = Us'-1(q)
– If source was using Uobj then rate would be: xs = Uobj'-1(q)
• Communicate to user the price qnew : qnew = Us' (Uobj'-1(q))
• Now user’s update algorithm looks like xs = Us'-1(qnew)
xs = Uobj'-1(q)
Appears as if user is maximizing Uobj !
Map user’s utility function to some (or range of) objective utility function
Us Uobj , Uobj [U1 , U2 ]
How? By Penalty Function Transformation
![Page 20: Un-Cooperative Congestion Control](https://reader037.fdocuments.net/reader037/viewer/2022110404/568130c4550346895d96e3da/html5/thumbnails/20.jpg)
Core Network (No Changes)
Any queue mgmt algorithm Drop Tail/RED etc.
Core Routers
Edge Routers
Edge Based Re-Marking Agent
Maps utility function
Manages Selfish Flows. (Decouple it from AQM design)
Provides Service differentiation (Map users to different utility functions).
Users
Free to choose their congestion control algorithm
Either marking or dropping
Idea: Remap @ the Edge, Not in AQM
Decouple Management of Non-Conformant Flows from AQM Design
![Page 21: Un-Cooperative Congestion Control](https://reader037.fdocuments.net/reader037/viewer/2022110404/568130c4550346895d96e3da/html5/thumbnails/21.jpg)
Users
Network
Routers
Placement
Destination
Mark Packets
MarkAcks
MarkAcks
Drop Packets
![Page 22: Un-Cooperative Congestion Control](https://reader037.fdocuments.net/reader037/viewer/2022110404/568130c4550346895d96e3da/html5/thumbnails/22.jpg)
What do we need to make it work ?
• Need to identify misbehaving flows.– Smart Sampling in Netflow, Sample & Hold etc
• Estimate loss/mark rate– Currently using EWMA, WALI methods of TFRC
• Estimate utility function– Currently using Least Squares, Recursive LS– Needs only estimates of sending and loss rates
• Scalability– Keep state about only mis-behaving flows
• CBR/UDP flows – Need to drop (Marking does not work)
![Page 23: Un-Cooperative Congestion Control](https://reader037.fdocuments.net/reader037/viewer/2022110404/568130c4550346895d96e3da/html5/thumbnails/23.jpg)
Re-Marker Design
• Implemented it in Network Simulator• Estimation of loss rate• Estimation of throughput• Get utility function estimate• Compute the Re-Marking function• Appropriately Mark/Drop packets.
– Can also Mark Acks
• Different Algorithm for CBR flows.
![Page 24: Un-Cooperative Congestion Control](https://reader037.fdocuments.net/reader037/viewer/2022110404/568130c4550346895d96e3da/html5/thumbnails/24.jpg)
Results: Single Bottleneck
Conformance: TCP-Friendliness
2 Flows: Conformant (TCP Reno, U=-1/x),
Mis-Behaving (U=-1/x0.5)
• Packet Drop Based Network. • Drop packets from mis-behaving flows at the edge of the network.
• Marking Based Network. • Re-mark packets from mis-behaving flows at the edge of the network.
Drop TailRED
ECN Enabled
![Page 25: Un-Cooperative Congestion Control](https://reader037.fdocuments.net/reader037/viewer/2022110404/568130c4550346895d96e3da/html5/thumbnails/25.jpg)
Results: Multi-Bottleneck (Drop Tail)
Conformance: TCP-Friendliness
Long Flow: Conformant (TCP Reno, U=-1/x),
Short Flows: Mis-Behaving (U=-1/x0.5)
TCP Flows shut out
Framework prevents volume based denial of service attack.
Without Re-MappingWith Re-Mapping
![Page 26: Un-Cooperative Congestion Control](https://reader037.fdocuments.net/reader037/viewer/2022110404/568130c4550346895d96e3da/html5/thumbnails/26.jpg)
Results: Multi-Bottleneck (RED)
Conformance: TCP-Friendliness
Long Flow: Conformant (TCP Reno, U=-1/x),
Short Flows: Mis-Behaving (U=-1/x0.5)
Framework improves fair sharing of network
Without Re-Mapping
With Re-Mapping
![Page 27: Un-Cooperative Congestion Control](https://reader037.fdocuments.net/reader037/viewer/2022110404/568130c4550346895d96e3da/html5/thumbnails/27.jpg)
Results: Multi-Bottleneck in an ECN Enabled Network
Ideal Case No Re-Mapping With Re-Mapping
Conformance: TCP-Friendliness
Long Flow: Conformant (TCP Reno, U=-1/x),
Short Flows: Mis-Behaving (U=-1/x0.5)
![Page 28: Un-Cooperative Congestion Control](https://reader037.fdocuments.net/reader037/viewer/2022110404/568130c4550346895d96e3da/html5/thumbnails/28.jpg)
More Results
• Background Traffic– Web (http) Traffic– Single/Multi Bottleneck scenarios
• Cross Traffic– Reverse path congestion– Especially important with RED– Multi-Bottleneck scenarios
• Comparison with other AQM schemes
• Differentiated Services
![Page 29: Un-Cooperative Congestion Control](https://reader037.fdocuments.net/reader037/viewer/2022110404/568130c4550346895d96e3da/html5/thumbnails/29.jpg)
Conclusions• On a network of Drop Tail queues Mis-Behaving flows can
force Traffic Volume based denial of service attack.– RED can prevent it though not unfair sharing.
• Edge-based transformation of price can handle misbehaving flows– No changes in the core
• No need to add penalty box functions in the context of AQM schemes (eg: CHoKe …)– Decouple mgmt of non-conformant flows from AQM Design.
• Works with packet drop or packet marking (ECN)
• Independent of buffer management algorithm.
• Limitation : Path Asymmetry– Different Exit and Entry routers
![Page 30: Un-Cooperative Congestion Control](https://reader037.fdocuments.net/reader037/viewer/2022110404/568130c4550346895d96e3da/html5/thumbnails/30.jpg)
Thanks
For more details see http://networks.ecse.rpi.edu/~kartikc/nccc.ps Or email [email protected]