DOC PREVIEW
CMU CS 15744 - Lecture

This preview shows page 1-2-3-4-5-6-45-46-47-48-49-50-51-92-93-94-95-96-97 out of 97 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 97 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 97 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 97 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 97 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 97 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 97 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 97 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 97 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 97 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 97 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 97 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 97 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 97 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 97 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 97 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 97 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 97 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 97 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 97 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 97 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

15-744: Computer NetworkingTCP BasicsKey Things You Should Know AlreadyOverviewIntroduction to TCPEvolution of TCPTCP Through the 1990sWhat’s Different From Link Layers?Timeout-based RecoveryInitial Round-trip EstimatorJacobson’s Retransmission TimeoutRetransmission AmbiguityKarn’s RTT EstimatorTimestamp ExtensionTimer GranularityDelayed ACKSSlide 17TCP FlavorsFast RetransmitSlide 20Multiple LossesTahoeTCP Reno (1990)RenoNewRenoSlide 26SACKSlide 28Performance IssuesSlide 30CongestionCauses & Costs of CongestionSlide 33Congestion CollapseOther Congestion Collapse CausesWhere to Prevent Collapse?Congestion Control and AvoidanceSlide 38ObjectivesBasic Control ModelLinear ControlPhase plotsSlide 43Additive Increase/DecreaseMultiplicative Increase/DecreaseConvergence to EfficiencyDistributed Convergence to EfficiencyConvergence to FairnessConvergence to Efficiency & FairnessIncreaseConstraintsWhat is the Right Choice?Slide 53TCP Congestion ControlTCP Congestion Control - SolutionsSlide 56AIMDImplementation IssueCongestion AvoidanceCongestion Avoidance Sequence PlotCongestion Avoidance BehaviorPacket ConservationTCP Packet PacingReaching Steady StateSlow Start Packet PacingSlow Start ExampleSlow Start Sequence PlotReturn to Slow StartTCP Saw Tooth BehaviorHow to Change WindowFast RecoveryFast RecoveryNewReno ChangesRate Halving RecoveryDelayed Ack ImpactSlide 76TCP ModelingOverall TCP BehaviorSimple TCP ModelSimple Loss ModelTCP FriendlinessTCP PerformanceSlide 83Single TCP Flow Router without buffersSummary Unbuffered LinkSlide 86Slide 87Single TCP Flow Router with large enough buffers for full link utilizationSummary Buffered LinkExampleRule-of-thumbIf flows are synchronizedIf flows are not synchronizedCentral Limit TheoremRequired buffer sizeImportant LessonsNext Lecture15-744: Computer NetworkingL-4 TCPL -4; 10-7-04© Srinivasan Seshan, 2004 2TCP Basics•TCP reliability•Congestion control basics•TCP congestion control•Assigned reading•[JK88] Congestion Avoidance and Control•[CJ89] Analysis of the Increase and Decrease Algorithms for Congestion Avoidance in Computer Networks•[FF96] Simulation-based Comparisons of Tahoe, Reno, and SACK TCP•[FHPW00] Equation-Based Congestion Control for Unicast ApplicationsL -4; 10-7-04© Srinivasan Seshan, 2004 3Key Things You Should Know Already•Port numbers•TCP/UDP checksum•Sliding window flow control•Sequence numbers•TCP connection setupL -4; 10-7-04© Srinivasan Seshan, 2004 4Overview•TCP reliability: timer-driven•TCP reliability: data-driven•Congestion sources and collapse•Congestion control basics•TCP congestion control•TCP modelingL -4; 10-7-04© Srinivasan Seshan, 2004 5Introduction to TCP•Communication abstraction:•Reliable•Ordered•Point-to-point•Byte-stream•Full duplex•Flow and congestion controlled•Protocol implemented entirely at the ends•Fate sharing•Sliding window with cumulative acks•Ack field contains last in-order packet received•Duplicate acks sent when out-of-order packet receivedL -4; 10-7-04© Srinivasan Seshan, 2004 6Evolution of TCP1975 1980198519901982TCP & IPRFC 793 & 7911974TCP described byVint Cerf and Bob KahnIn IEEE Trans Comm1983BSD Unix 4.2supports TCP/IP1984Nagel’s algorithmto reduce overheadof small packets;predicts congestion collapse1987Karn’s algorithmto better estimate round-trip time1986Congestion collapseobserved1988Van Jacobson’s algorithmscongestion avoidance and congestion control(most implemented in 4.3BSD Tahoe)19904.3BSD Renofast retransmitdelayed ACK’s1975Three-way handshakeRaymond TomlinsonIn SIGCOMM 75L -4; 10-7-04© Srinivasan Seshan, 2004 7TCP Through the 1990s1993199419961994ECN(Floyd)Explicit CongestionNotification1993TCP Vegas (Brakmo et al)real congestion avoidance1994T/TCP(Braden)TransactionTCP1996SACK TCP(Floyd et al)Selective Acknowledgement1996HoeImproving TCP startup1996FACK TCP(Mathis et al)extension to SACKL -4; 10-7-04© Srinivasan Seshan, 2004 8What’s Different From Link Layers?•Logical link vs. physical link•Must establish connection•Variable RTT•May vary within a connection•Reordering•How long can packets live  max segment lifetime•Can’t expect endpoints to exactly match link•Buffer space availability•Transmission rate•Don’t directly know transmission rateL -4; 10-7-04© Srinivasan Seshan, 2004 9Timeout-based Recovery•Wait at least one RTT before retransmitting•Importance of accurate RTT estimators:•Low RTT  unneeded retransmissions•High RTT  poor throughput•RTT estimator must adapt to change in RTT•But not too fast, or too slow!•Spurious timeouts•“Conservation of packets” principle – more than a window worth of packets in flightL -4; 10-7-04© Srinivasan Seshan, 2004 10Initial Round-trip Estimator•Round trip times exponentially averaged:•New RTT =  (old RTT) + (1 - ) (new sample)•Recommended value for : 0.8 - 0.9•0.875 for most TCP’s•Retransmit timer set to  RTT, where  = 2•Every time timer expires, RTO exponentially backed-off•Like Ethernet•Not good at preventing spurious timeoutsL -4; 10-7-04© Srinivasan Seshan, 2004 11Jacobson’s Retransmission Timeout•Key observation:•At high loads round trip variance is high•Solution:•Base RTO on RTT and standard deviation or RRTT•rttvar =  * dev + (1- )rttvar•dev = linear deviation •Inappropriately named – actually smoothed linear deviationL -4; 10-7-04© Srinivasan Seshan, 2004 12Retransmission AmbiguityA BACKSampleRTTOriginal transmissionretransmissionRTOA BOriginal transmissionretransmissionSampleRTTACKRTOXL -4; 10-7-04© Srinivasan Seshan, 2004 13Karn’s RTT Estimator•Accounts for retransmission ambiguity•If a segment has been retransmitted:•Don’t count RTT sample on ACKs for this segment•Keep backed off time-out for next packet•Reuse RTT estimate only after one successful transmissionL -4; 10-7-04© Srinivasan Seshan, 2004 14Timestamp Extension•Used to improve timeout mechanism by more accurate measurement of RTT•When sending a packet, insert current timestamp into option•4 bytes for seconds, 4 bytes for microseconds•Receiver echoes timestamp in ACK•Actually will echo whatever is in timestamp•Removes retransmission ambiguity•Can get RTT sample on any packetL -4; 10-7-04© Srinivasan Seshan, 2004 15Timer Granularity•Many TCP implementations set RTO in multiples of 200,500,1000ms•Why?•Avoid spurious timeouts – RTTs can


View Full Document

CMU CS 15744 - Lecture

Documents in this Course
Lecture

Lecture

25 pages

Lecture

Lecture

10 pages

Lecture

Lecture

10 pages

Lecture

Lecture

45 pages

Lecture

Lecture

48 pages

Lecture

Lecture

19 pages

Lecture

Lecture

39 pages

Lecture

Lecture

49 pages

Lecture

Lecture

33 pages

Lecture

Lecture

21 pages

Lecture

Lecture

52 pages

Problem

Problem

9 pages

Lecture

Lecture

6 pages

03-BGP

03-BGP

13 pages

Lecture

Lecture

42 pages

lecture

lecture

54 pages

lecture

lecture

21 pages

Lecture

Lecture

18 pages

Lecture

Lecture

18 pages

Lecture

Lecture

58 pages

lecture

lecture

17 pages

lecture

lecture

46 pages

Lecture

Lecture

72 pages

Lecture

Lecture

44 pages

Lecture

Lecture

13 pages

Lecture

Lecture

22 pages

Lecture

Lecture

48 pages

lecture

lecture

73 pages

17-DNS

17-DNS

52 pages

Lecture

Lecture

10 pages

lecture

lecture

53 pages

lecture

lecture

51 pages

Wireless

Wireless

27 pages

lecture

lecture

14 pages

lecture

lecture

18 pages

Lecture

Lecture

16 pages

Lecture

Lecture

14 pages

lecture

lecture

16 pages

Lecture

Lecture

16 pages

Lecture

Lecture

37 pages

Lecture

Lecture

44 pages

Lecture

Lecture

11 pages

Lecture

Lecture

61 pages

Multicast

Multicast

61 pages

Lecture

Lecture

19 pages

Lecture

Lecture

8 pages

Lecture

Lecture

81 pages

Lecture

Lecture

9 pages

Lecture

Lecture

6 pages

Lecture

Lecture

63 pages

Lecture

Lecture

13 pages

Lecture

Lecture

63 pages

Lecture

Lecture

50 pages

lecture

lecture

35 pages

Lecture

Lecture

47 pages

Lecture

Lecture

29 pages

Lecture

Lecture

92 pages

Load more
Download Lecture
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Lecture and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?