networks protocols
play

Networks & Protocols INF566 - X2010 - 2012 Lecture 2a - - PowerPoint PPT Presentation

Networks & Protocols INF566 - X2010 - 2012 Lecture 2a - Congestion control: Seeing Red thomas@thomasclausen.org http://www.thomasclausen.org mark@townsley.net http://www.townsley.net/ 1 Networks & Protocols INF566 - X2010 - 2012


  1. Networks & Protocols INF566 - X2010 - 2012 Lecture 2a - Congestion control: Seeing Red thomas@thomasclausen.org http://www.thomasclausen.org mark@townsley.net http://www.townsley.net/ 1

  2. Networks & Protocols INF566 - X2010 - 2012 Lecture 2a - Congestion control: Seeing Red thomas@thomasclausen.org http://www.thomasclausen.org mark@townsley.net http://www.townsley.net/ 1

  3. Intro, kick-off, objectives and motivation (Thomas) 1 9/1 “What Makes For A Successful Protocol?” (Mark) 2 16/1 “Bufferbloat & the Broken Internet” (Thomas & Mark) 3 23/1 “Carrier-Grade Routing” (Thomas) 4 30/1 “Peering” (Thomas & Mark) 5 6/2 RPKI (Mark) 6 13/2 "Indirection, Encapsulation, and Obfuscation" (Mark & Thomas) 7 20/2 SDOs: the ITU, IETF, ... - Guest Lecture by Elliot Lear 8 27/2 "Homenetworking and The Curse of the End-2-End Model" (Mark) 9 ??? Presentations by buddy-teams (Thomas + Mark) thomas@thomasclausen.org http://www.thomasclausen.org mark@townsley.net http://www.townsley.net/ 2

  4. Intro, kick-off, objectives and motivation (Thomas) 1 9/1 “What Makes For A Successful Protocol?” (Mark) 2 16/1 “Bufferbloat & the Broken Internet” (Thomas & Mark) 3 23/1 “Carrier-Grade Routing” (Thomas) 4 30/1 “Peering” (Thomas & Mark) 5 6/2 RPKI (Mark) 6 13/2 "Indirection, Encapsulation, and Obfuscation" (Mark & Thomas) 7 20/2 SDOs: the ITU, IETF, ... - Guest Lecture by Elliot Lear 8 27/2 "Homenetworking and The Curse of the End-2-End Model" (Mark) 9 ??? Presentations by buddy-teams (Thomas + Mark) thomas@thomasclausen.org http://www.thomasclausen.org mark@townsley.net http://www.townsley.net/ 2

  5. Objectives thomas@thomasclausen.org http://www.thomasclausen.org mark@townsley.net http://www.townsley.net/ 3

  6. Objectives • Recapitulate TCP Congestion Control... thomas@thomasclausen.org http://www.thomasclausen.org mark@townsley.net http://www.townsley.net/ 3

  7. Objectives • Recapitulate TCP Congestion Control... • ...and why that doesn’t actually work... thomas@thomasclausen.org http://www.thomasclausen.org mark@townsley.net http://www.townsley.net/ 3

  8. Objectives • Recapitulate TCP Congestion Control... • ...and why that doesn’t actually work... • Can’t fix TCP , can we fix the routers? thomas@thomasclausen.org http://www.thomasclausen.org mark@townsley.net http://www.townsley.net/ 3

  9. Objectives • Recapitulate TCP Congestion Control... • ...and why that doesn’t actually work... • Can’t fix TCP , can we fix the routers? • We could, but didn’t - let’s blame Cisco ;) thomas@thomasclausen.org http://www.thomasclausen.org mark@townsley.net http://www.townsley.net/ 3

  10. Flow Control Buffers “in end-points” Sender Receiver Sender window determined by receiver buffer capacity: do not overload receiver. “speed dating matching service” matches rate of sender to rate at which receiving application is reading thomas@thomasclausen.org http://www.thomasclausen.org mark@townsley.net http://www.townsley.net/ 4

  11. Congestion Control Buffers “in between” Sender Receiver thomas@thomasclausen.org http://www.thomasclausen.org mark@townsley.net http://www.townsley.net/ 5

  12. Congestion Control Buffers “in between” Different senders “share” links and buffer space Sender Receiver “Network Buffers” (routers, etc.) overload too thomas@thomasclausen.org http://www.thomasclausen.org mark@townsley.net http://www.townsley.net/ 5

  13. Congestion Control So, what signals do we have... Transport Protocol Signaling Sender Receiver “Something’s Rotten.....”? Goal: thomas@thomasclausen.org http://www.thomasclausen.org mark@townsley.net http://www.townsley.net/ 6

  14. Congestion Control So, what signals do we have... Transport Protocol Signaling Sender Receiver “Something’s Rotten.....”? Goal: • Less, not more, signals • Infer congestion thomas@thomasclausen.org http://www.thomasclausen.org mark@townsley.net http://www.townsley.net/ 6

  15. Congestion Control So, what signals do we have... Transport Protocol Signaling Sender Receiver “Something’s Rotten.....”? Goal: • • Message Drops Less, not more, signals • • Duplicate ACKs Infer congestion thomas@thomasclausen.org http://www.thomasclausen.org mark@townsley.net http://www.townsley.net/ 6

  16. Congestion Control How do we slow down? Transport Protocol Signaling Sender Receiver thomas@thomasclausen.org http://www.thomasclausen.org mark@townsley.net http://www.townsley.net/ 7

  17. Congestion Control How do we slow down? Transport Protocol Signaling Sender Receiver • Introduce “Congestion Window”, CWS in sender • Set Sender Window = min{UWS, RWS} thomas@thomasclausen.org http://www.thomasclausen.org mark@townsley.net http://www.townsley.net/ 7

  18. Congestion Control The Beginning: Tahoe (UWS=CWS) thomas@thomasclausen.org http://www.thomasclausen.org mark@townsley.net http://www.townsley.net/ 8

  19. Congestion Control The Beginning: Tahoe (UWS=CWS) 1. Start: CWS = 1; threshold = reasonable-large-value thomas@thomasclausen.org http://www.thomasclausen.org mark@townsley.net http://www.townsley.net/ 8

  20. Congestion Control The Beginning: Tahoe (UWS=CWS) 1. Start: CWS = 1; threshold = reasonable-large-value 2. While CWS < threshold: • For each message ACKed: CWS=CWS+1 thomas@thomasclausen.org http://www.thomasclausen.org mark@townsley.net http://www.townsley.net/ 8

  21. Congestion Control The Beginning: Tahoe (UWS=CWS) 1. Start: CWS = 1; threshold = reasonable-large-value 2. While CWS < threshold: • For each message ACKed: CWS=CWS+1 3. While CWS > threshold: • For each CWS messages ACKed: CWS=CWS+1 thomas@thomasclausen.org http://www.thomasclausen.org mark@townsley.net http://www.townsley.net/ 8

  22. Congestion Control The Beginning: Tahoe (UWS=CWS) 1. Start: CWS = 1; threshold = reasonable-large-value 2. While CWS < threshold: • For each message ACKed: CWS=CWS+1 3. While CWS > threshold: • For each CWS messages ACKed: CWS=CWS+1 4. If no ACK received before time-out: • threshold = CWS/2 • CWS = 1 thomas@thomasclausen.org http://www.thomasclausen.org mark@townsley.net http://www.townsley.net/ 8

  23. Congestion Control The Beginning: Tahoe (UWS=CWS) 1. Start: CWS = 1; threshold = reasonable-large-value 2. While CWS < threshold: • For each message ACKed: CWS=CWS+1 3. While CWS > threshold: • For each CWS messages ACKed: CWS=CWS+1 4. If no ACK received before time-out: • threshold = CWS/2 • CWS = 1 ➡ probe for success, back down for failure thomas@thomasclausen.org http://www.thomasclausen.org mark@townsley.net http://www.townsley.net/ 8

  24. Congestion Control The Beginning: Tahoe (UWS=CWS) 1. Start: CWS = 1; threshold = reasonable-large-value 2. While CWS < threshold: Slow • Start For each message ACKed: CWS=CWS+1 3. While CWS > threshold: Congestion • Avoidance For each CWS messages ACKed: CWS=CWS+1 4. If no ACK received before time-out: • threshold = CWS/2 Recovery • CWS = 1 ➡ probe for success, back down for failure thomas@thomasclausen.org http://www.thomasclausen.org mark@townsley.net http://www.townsley.net/ 8

  25. Congestion Control Tahoe CWIN Evolution CWIN Size t 1 t 2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 thomas@thomasclausen.org http://www.thomasclausen.org mark@townsley.net http://www.townsley.net/ 9

  26. Congestion Control Tahoe CWIN Evolution CWIN Size t 1 t 2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 thomas@thomasclausen.org http://www.thomasclausen.org mark@townsley.net http://www.townsley.net/ 9

  27. Congestion Control Tahoe acts on no-ack + Timeout Tahoe CWIN Evolution CWIN Size t 1 t 2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 thomas@thomasclausen.org http://www.thomasclausen.org mark@townsley.net http://www.townsley.net/ 9

  28. Congestion Control Tahoe • Problems: • Takes complete timeout interval to detect and react to packet loss • Go-back-n is “forced” • So, not good at the lonely packet loss .... thomas@thomasclausen.org http://www.thomasclausen.org mark@townsley.net http://www.townsley.net/ 10

  29. Congestion Control Reno Slow Start Congestion Avoidance Recovery thomas@thomasclausen.org http://www.thomasclausen.org mark@townsley.net http://www.townsley.net/ 11

  30. Congestion Control Reno 1. Start: CWS = 1; threshold = reasonable-large-value 2. While CWS < threshold: Slow • For each message ACKed: CWS=CWS+1 Start 3. While CWS > threshold: Congestion • For each CWS messages ACKed: CWS=CWS+1 Avoidance 4. If no ACK received before time-out: • threshold = CWS/2 Recovery • CWS = 1 thomas@thomasclausen.org http://www.thomasclausen.org mark@townsley.net http://www.townsley.net/ 11

  31. Congestion Control Reno 1. Start: CWS = 1; threshold = reasonable-large-value 2. While CWS < threshold: Slow • For each message ACKed: CWS=CWS+1 Start 3. While CWS > threshold: Congestion • For each CWS messages ACKed: CWS=CWS+1 Avoidance 4. If no ACK received before time-out: • threshold = CWS/2 Recovery • CWS = 1 5. If triple duplicate ACK received: • Fast Retransmit + Fast Recovery (FR&R) thomas@thomasclausen.org http://www.thomasclausen.org mark@townsley.net http://www.townsley.net/ 11

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend