Lecture 4: TCP and TFRC

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Lecture 4: TCP and TFRC - Presentation Transcript

    1. TCP" Reno, NewReno, SACK 4 September 2009 CS5229, Semester 1, 2009/10 1
    2. TCP Reno 4 September 2009 CS5229, Semester 1, 2009/10 2
    3. 14 cwnd ssthresh 12 10 8 6 4 2 0 4 September 2009 CS5229, Semester 1, 2009/10 3
    4. new ack:" if (cwnd < sstresh)" cwnd += 1" else" cwnd += 1/cwnd 4 September 2009 CS5229, Semester 1, 2009/10 5
    5. timeout:" retransmit 1st unacked" ssthresh = cwnd/2" cwnd = 1" 4 September 2009 CS5229, Semester 1, 2009/10 6
    6. 3rd duplicate ACK:" fast retransmission" (ie, retransmit 1st unack) " fast recovery" (details today)" ssthresh = cwnd = cwnd/2 4 September 2009 CS5229, Semester 1, 2009/10 7
    7. TCP’s rule" send more packets if " L + cwnd > H" [ L .. H-1 ] are outstanding packets 4 September 2009 CS5229, Semester 1, 2009/10 10
    8. 4 September 2009 CS5229, Semester 1, 2009/10 11
    9. Data Packets ACK Packets (received up to this seq number) Congestion Window Sequence Number Time 4 September 2009 CS5229, Semester 1, 2009/10 12
    10. 3rd dup ack:" retransmit 1st unacked" ssthresh = cwnd/2" cwnd = cwnd/2 4 September 2009 CS5229, Semester 1, 2009/10 13
    11. Incorrectly clamping the congestion window too soon (without fast recovery) X 4 September 2009 CS5229, Semester 1, 2009/10 14
    12. fast recovery:" keep the pipe occupied" 4 September 2009 CS5229, Semester 1, 2009/10 15
    13. X 4 September 2009 CS5229, Semester 1, 2009/10 16
    14. 4 September 2009 CS5229, Semester 1, 2009/10 17
    15. X X 4 September 2009 CS5229, Semester 1, 2009/10 18
    16. TCP Reno timeout with multiple losses in a window 4 September 2009 CS5229, Semester 1, 2009/10 19
    17. TCP NewReno 4 September 2009 CS5229, Semester 1, 2009/10 20
    18. X X 4 September 2009 CS5229, Semester 1, 2009/10 21
    19. 4 September 2009 CS5229, Semester 1, 2009/10 22
    20. 3rd dup ack:" retransmit 1st unacked" ssthresh = cwnd/2" cwnd = cwnd/2 + 3" remember highest 4 September 2009 CS5229, Semester 1, 2009/10 25
    21. “complete” ack:" (all are acked) " cwnd = ssthresh 4 September 2009 CS5229, Semester 1, 2009/10 26
    22. “partial” ack:" (acknowledge n packets)" retransmit" cwnd = cwnd - n + 1 4 September 2009 CS5229, Semester 1, 2009/10 27
    23. Note: RFC2581/RFC2582 give the accurate/gory details. Simplified version is presented here (eg. cwnd vs FlightSize, update of cwnd upon partial ACK). 4 September 2009 CS5229, Semester 1, 2009/10 29
    24. What does a dup ACK tell us? 4 September 2009 CS5229, Semester 1, 2009/10 30
    25. “Coarse Feedback” 4 September 2009 CS5229, Semester 1, 2009/10 31
    26. TCP SACK 4 September 2009 CS5229, Semester 1, 2009/10 32
    27. Use TCP header options to report received segments. 4 September 2009 CS5229, Semester 1, 2009/10 33
    28. SACK Blocks:" 1st block - report most recently received segments" subsequent blocks - repeat most recent previous blocks 4 September 2009 CS5229, Semester 1, 2009/10 34
    29. pipe: num of outstanding packets in the pipe." send only if pipe < cwnd 4 September 2009 CS5229, Semester 1, 2009/10 35
    30. scoreboard: which packets have been received? 4 September 2009 CS5229, Semester 1, 2009/10 36
    31. X X 4 September 2009 CS5229, Semester 1, 2009/10 37
    32. 3rd dup ack:" pipe = cwnd - 3" retransmit 1st unacked" ssthresh = cwnd/2" cwnd = cwnd/2 + 3 4 September 2009 CS5229, Semester 1, 2009/10 38
    33. subsequent dup ack:" cwnd++" pipe--" if pipe < cwnd" send packet, pipe++ 4 September 2009 CS5229, Semester 1, 2009/10 39
    34. “partial” ack:" retransmit" cwnd = cwnd - n + 1" pipe -= 2" if pipe < cwnd" send packet, pipe++ 4 September 2009 CS5229, Semester 1, 2009/10 40
    35. Idea of SACK:" Which packet has left the network?" Where is the gap?" Decouple when to send and what to send. 4 September 2009 CS5229, Semester 1, 2009/10 43
    36. TCP SACK recovers faster than NewReno with multiple losses in a window. 4 September 2009 CS5229, Semester 1, 2009/10 44
    37. Deployment 4 September 2009 CS5229, Semester 1, 2009/10 57
    38. Feb 2004 NewReno Reno 8% Tahoe 15% 77% 4 September 2009 CS5229, Semester 1, 2009/10 58
    39. 70% " SACK capable 4 September 2009 CS5229, Semester 1, 2009/10 59
    40. TCP BIC/CUBIC" Linux 2.6.x 4 September 2009 CS5229, Semester 1, 2009/10 63
    41. Compound TCP " MS Windows Vista 4 September 2009 CS5229, Semester 1, 2009/10 64
    42. TFRC" equation-based" congestion control 4 September 2009 CS5229, Semester 1, 2009/10 65
    43. Not everyone uses TCP 4 September 2009 CS5229, Semester 1, 2009/10 66
    44. UDP:" Media streaming" Gaming" VoIP 4 September 2009 CS5229, Semester 1, 2009/10 67
    45. Why not congestion controlled?" 1. UDP has low delay, no need full reliability. UDP " is not congestion controlled. 4 September 2009 CS5229, Semester 1, 2009/10 68
    46. Why not congestion controlled?" 2. No incentive. OTOH, there are incentives NOT to use congestion control. 4 September 2009 CS5229, Semester 1, 2009/10 69
    47. Sally Floyd, h+p://www.icir.org/floyd/tcp_unfriendly.html  4 September 2009 CS5229, Semester 1, 2009/10 70
    48. “Unresponsive Flows” 4 September 2009 CS5229, Semester 1, 2009/10 71
    49. Bad: lead to unfairness and congestion collapse. 4 September 2009 CS5229, Semester 1, 2009/10 72
    50. Unfairness: unresponsive flows consume more bandwidth than congestion controlled flows. 4 September 2009 CS5229, Semester 1, 2009/10 73
    51. Congestion Collapse: wasting bandwidth by sending packets that will be dropped 4 September 2009 CS5229, Semester 1, 2009/10 77
    52. Today: " a TCP-friendly" unreliable protocol 4 September 2009 CS5229, Semester 1, 2009/10 78
    53. Idea: " send at a rate that a TCP flow would send 4 September 2009 CS5229, Semester 1, 2009/10 79
    54. we can do the AIMD-thing" at the source, or 4 September 2009 CS5229, Semester 1, 2009/10 80
    55. 4 September 2009 CS5229, Semester 1, 2009/10 81
    56. equation-based " congestion control 4 September 2009 CS5229, Semester 1, 2009/10 82
    57. steady" fair" responsive 4 September 2009 CS5229, Semester 1, 2009/10 83
    58. how to determine" RTT" tRTO" p 4 September 2009 CS5229, Semester 1, 2009/10 84
    59. p is not packet loss rate" but " loss event rate 4 September 2009 CS5229, Semester 1, 2009/10 85
    60. 4 September 2009 CS5229, Semester 1, 2009/10 86
    61. 4 September 2009 CS5229, Semester 1, 2009/10 87
    62. 4 September 2009 CS5229, Semester 1, 2009/10 88
    63. RTT can fluctuates 4 September 2009 CS5229, Semester 1, 2009/10 89
    64. 4 September 2009 CS5229, Semester 1, 2009/10 90
    65. 4 September 2009 CS5229, Semester 1, 2009/10 91
    66. 4 September 2009 CS5229, Semester 1, 2009/10 92
    67. 4 September 2009 CS5229, Semester 1, 2009/10 93
    68. how to initialize? 4 September 2009 CS5229, Semester 1, 2009/10 94
    69. slow start" (until loss occur)" Tnow = min(2Tprev, 2Trecv) 4 September 2009 CS5229, Semester 1, 2009/10 95
    70. no loss history, how?" solve p given T, RTT 4 September 2009 CS5229, Semester 1, 2009/10 96
    71. 4 September 2009 CS5229, Semester 1, 2009/10 97
    72. TFRC is now part of DCCP 4 September 2009 CS5229, Semester 1, 2009/10 98
    SlideShare Zeitgeist 2009

    + weitsangweitsang Nominate

    custom

    183 views, 0 favs, 0 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 183
      • 183 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 2
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories