DOC PREVIEW
CMU CS 15441 - lecture- TCP

This preview shows page 1-2-3-4-28-29-30-31-57-58-59-60 out of 60 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 60 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 60 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 60 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 60 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 60 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 60 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 60 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 60 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 60 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 60 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 60 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 60 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 60 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

15-441 Computer NetworkingOverviewReliability ChallengesTCP = Go-Back-N VariantRound-trip Time EstimationInitial Round-trip EstimatorJacobson’s Retransmission TimeoutRetransmission AmbiguityKarn’s RTT EstimatorTimestamp ExtensionTimer GranularityDelayed ACKSTCP ACK Generation [RFC 1122, RFC 2581]Slide 14CongestionCauses & Costs of Congestion: Scenario 1Causes & Costs of Congestion: Scenario 2Causes & Costs of Congestion: Scenario 2Causes & Costs of Congestion: Scenario 3Slide 20Congestion CollapseOther Congestion Collapse CausesCongestion Control and AvoidanceApproaches Towards Congestion ControlExample: ATM Rate-based Flow ControlExample: TCPTradeoffs in Congestion ControlSlide 28ObjectivesBasic Control ModelLinear ControlPhase PlotsSlide 33Additive Increase/DecreaseMuliplicative Increase/DecreaseConvergence to EfficiencyDistributed Convergence to EfficiencyConvergence to FairnessConvergence to Efficiency & FairnessWhat is the Right Choice?Slide 41TCP Congestion ControlTCP Congestion Control - SolutionsSlide 44TCP Congestion Control Open QuestionsTCP Congestion Control ImplementationTCP Packet PacingCongestion AvoidanceCongestion Avoidance Sequence PlotCongestion Avoidance BehaviorSlow Start Packet PacingSlow Start ExampleSlow Start Sequence PlotReturn to Slow StartTCP Saw Tooth BehaviorSlide 56TCP FlavorsFast RetransmitSlide 59Multiple Losses15-441 Computer NetworkingTCPLecture 15: 10-25-01 2Overview•TCP timeouts•Congestion sources and collapse•Congestion control basics•TCP congestion control•TCP fast recoveryLecture 15: 10-25-01 3Reliability Challenges•Like reliability on links•Similar techniques (timeouts, acknowledgements, etc.)•New challenges•Congestion related losses•Variable packet delays•What should the timeout be?•Reordering of packets•Ensure sequences numbers are not reused•How long do packets live?•MSL = 120 seconds based on IP behaviorLecture 15: 10-25-01 4TCP = Go-Back-N Variant•Receiver can only return a single “ack” sequence number to the sender.•Acknowledges all bytes with a lower sequence number•Starting point for retransmission•But: sender only retransmits a single packet.•Reason???•Error control is based on byte sequences, not packets.•Retransmitted packet can be different from the original lost packet – why?•Packets can overlap – why?•Sliding window with cumulative acks•Ack field contains last in-order packet received•Duplicate acks sent when out-of-order packet receivedLecture 15: 10-25-01 5Round-trip Time Estimation•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 flightLecture 15: 10-25-01 6Initial 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 timeoutsLecture 15: 10-25-01 7Jacobson’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 deviationLecture 15: 10-25-01 8Retransmission AmbiguityA BACKSampleRTTOriginal transmissionretransmissionRTOA BOriginal transmissionretransmissionSampleRTTACKRTOXLecture 15: 10-25-01 9Karn’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 transmissionLecture 15: 10-25-01 10Timestamp 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 packetLecture 15: 10-25-01 11Timer Granularity•Many TCP implementations set RTO in multiples of 200,500,1000ms•Why?•Avoid spurious timeouts – RTTs can vary quickly due to cross traffic•Make timers interrupts efficient•What happens for the first couple of packets?•Pick a very conservative value (seconds)Lecture 15: 10-25-01 12Delayed ACKS•Problem:•In request/response programs, you send separate ACK and Data packets for each transaction•Solution:•Don’t ACK data immediately•Wait 200ms (must be less than 500ms – why?)•Must ACK every other packet•Must not delay duplicate ACKsLecture 15: 10-25-01 13TCP ACK Generation [RFC 1122, RFC 2581]EventIn-order segment arrival, No gaps,Everything else already ACKedIn-order segment arrival, No gaps,One delayed ACK pendingOut-of-order segment arrivalHigher-than-expect seq. #Gap detectedArrival of segment that Partially or completely fills gapTCP Receiver actionDelayed ACK. Wait up to 500msfor next segment. If no next segment,send ACKImmediately send singlecumulative ACK Send duplicate ACK, indicating seq. #of next expected byteImmediate ACK if segment startsat lower end of gapLecture 15: 10-25-01 14Overview•TCP timeouts•Congestion sources and collapse•Congestion control basics•TCP congestion control•TCP fast recoveryLecture 15: 10-25-01 15Congestion•Different sources compete for resources inside network•Why is it a problem?•Sources are unaware of current state of resource•Sources are unaware of each other•Manifestations:•Lost packets (buffer overflow at routers)•Long delays (queuing in router buffers)•In many situations will result in < 1.5 Mbps of throughput for the above topology (congestion collapse)10 Mbps100 Mbps1.5 MbpsLecture 15: 10-25-01 16Causes & Costs of Congestion: Scenario 1 •Two senders, two receivers•One router, infinite buffers •No retransmission•Large delays when congested•Maximum achievable throughputLecture 15: 10-25-01 17Causes & Costs of Congestion: Scenario 2 •One router, finite buffers •Sender retransmission of lost packetLecture 15: 10-25-01 18Causes & Costs of


View Full Document

CMU CS 15441 - lecture- TCP

Documents in this Course
lecture

lecture

34 pages

lecture

lecture

38 pages

lecture

lecture

18 pages

lecture

lecture

28 pages

lecture

lecture

11 pages

Lecture

Lecture

64 pages

lecture

lecture

10 pages

lecture

lecture

19 pages

Lecture 6

Lecture 6

43 pages

Exam

Exam

14 pages

lecture

lecture

38 pages

Debugging

Debugging

23 pages

lecture

lecture

60 pages

review

review

27 pages

lecture

lecture

12 pages

The Web

The Web

28 pages

Lecture

Lecture

40 pages

lecture

lecture

42 pages

lecture

lecture

9 pages

lecture

lecture

10 pages

lecture

lecture

49 pages

lecture

lecture

26 pages

Project

Project

5 pages

lecture

lecture

40 pages

lecture

lecture

9 pages

lecture

lecture

41 pages

lecture

lecture

32 pages

lecture

lecture

36 pages

lecture

lecture

34 pages

lecture

lecture

45 pages

lecture

lecture

26 pages

lecture

lecture

6 pages

lecture

lecture

51 pages

Project

Project

16 pages

lecture

lecture

44 pages

lecture

lecture

13 pages

lecture

lecture

42 pages

lecture

lecture

36 pages

Project

Project

13 pages

Project

Project

33 pages

lecture

lecture

43 pages

lecture

lecture

49 pages

Load more
Download lecture- TCP
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- TCP 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- TCP 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?