end to end previously on cs5229 not everyone uses tcp
play

End-to-End Previously on CS5229 , Not everyone uses TCP Congestion - PowerPoint PPT Presentation

End-to-End Previously on CS5229 , Not everyone uses TCP Congestion Control TCP Congestion Control UDP: Why not congestion controlled? Media streaming 1. UDP has low delay, no Gaming need full reliability VoIP


  1. End-to-End Previously on CS5229 , Not everyone uses TCP Congestion Control TCP Congestion Control UDP: Why not congestion controlled? Media streaming 1. UDP has low delay, no Gaming need full reliability VoIP Sally
Floyd,
http://www.icir.org/floyd/tcp_unfriendly.html 1

  2. Why not congestion controlled? Bad : lead to unfairness 2. No incentive. OTOH, “Unresponsive Flows” and congestion collapse. there are incentives NOT to use congestion control. Unfairness : Unfairness also exists between: unresponsive flows consume NS-2 Demo 1. TCP flows with different RTT more bandwidth than 2. Different TCP versions congestion controlled flows. 2

  3. Congestion Collapse : Bad : lead to unfairness wasting bandwidth by sending and congestion collapse. packets that will be dropped Why not congestion controlled? Provide Congestion Why not congestion controlled? Controlled, Unreliable UDP has low delay, no Transport Protocol No incentive. need full reliability 3

  4. Sally Floyd and Kevin Fall What mechanisms can we “Promoting End-to-End Provide Incentives for add to the router to provide Congestion Control in End-to-End Congestion incentives for congestion the Internet” Control control? TON, 1999 Idea : Identify unresponsive flows, Note : Not scalable to large How to identify then drop their packets or number of flows unresponsive flows in a regulate their rate. (eg in core routers). router? 4

  5. Definition . A flow is TCP Friendly if its arrival rate does Approach 1: “Same circumstances”: same not exceed the arrival of a TCP Un-Friendly Flows loss rate, RTT, packet size conformant TCP connection in the same circumstances. The paper uses a rough approximation MSS: Maximum packet size in bytes over all outgoing links p: Packet drop rates over all outgoing links R: Twice the 1-way propagation delay of outgoing links 5

  6. Does the packet arrival rate of a The expression will overestimate Approach 2: flow reduce appropriately when the fair throughput for TCP. Unresponsive Flows packet drop rate increase? Thus, not all unfriendly flows will be identified. If packet drop rate increases by Does Not Work: Does Not Work: x%, then packet arrival rate packet might be dropped by when packet drop rate is constant should decrease by sqrt(x)% earlier router 6

  7. Approach 3: Does Not Work: Flows with A flow should share 1/n of A flow has an incentive to start total bandwidth Disproportionate with high throughput Bandwidth Condition 1: If a flow’s Condition 2: If a flow’s bandwidth is more than ln(3n)/n bandwidth is more than When congestion is low of the aggregate, then it is using (packet drop rate is low), disproportionate share. skewness is OK. (ln(3n)/n : magic) For MSS=512 and RTT=0.05s 7

  8. If a flow’s bandwidth is more than ln(3n)/n of the aggregate Does Not Work: Does Not Work: flow bandwidth, then it is using the only flow with sustained flows with short RTT will be disproportionate share. demand (long live) will be considered as disproportionate considered as disproportionate. (ln(3n)/n : magic) E. Kohler, M. Handley, S. Floyd “Designing DCCP: Why not congestion controlled? Why not congestion controlled? Congestion Control UDP has low delay, no without Reliability” No incentive. need full reliability SIGCOMM, 2006 8

  9. Why not application layer? DCCP : A unreliable transport protocol with “plug-in” congestion Different applications would Datagram Congestion Control control mechanism have to implement it. Protocol Hard to implement. ECN bits in IP header is marked Why not TCP? Why not application layer? by router if the router is congested, and can be used as Application can’t choose Make use of ECN info from IP. congestion signal at the sender. congestion control algorithm 9

  10. Why multiple congestion control plug-ins? Pick one of CCID2: CCID 2 : TCP-like TCP-Like Congestion Control Different applications need CCID 3 : TFRC different congestion control behavior. DCCP uses acknowledgements with “ACK Vector” (similar to CCID3: TFRC SACK block). CCID2 is similar TCP-Friendly Rate Control to TCP SACK’s congestion control algorithm. 10

  11. In CCID3, receiver sends ACK One loss event: one or more AIMD: throughput fluctuates once every RTT to report lost lost or marked packets from a TFRC: smooth throughput events. window of data. Other DCCP features: Other DCCP features: Reliable connection setup, A packet stream protocol teardown, negotiation. (not a byte stream protocol) 11

  12. End-to-End Congestion Control 12

Recommend


More recommend