DOC PREVIEW
TAMU ECEN 602 - lec16

This preview shows page 1 out of 4 pages.

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

Unformatted text preview:

Segment Segment TCP Receive buffer Read bytes Application process Full duplex Flow control keep sender from overrunning receiver Congestion control keep sender from overrunning network Transmit segments Write bytes Segment TCP Send buffer Application process app writes bytes TCP sends segments app reads bytes Connection oriented Byte stream TCP Overview Connection Establishment Termination Sliding Window Revisited Flow Control Adaptive Timeout Outline Reliable Byte Stream TCP 3 1 drop messages re orders messages delivers duplicate copies of a given message limits messages to some finite size delivers messages after an arbitrarily long delay Data Link Versus Transport guarantee message delivery deliver messages in the same order they are sent deliver at most one copy of each message support arbitrarily large messages support synchronization allow the receiver to flow control the sender support multiple application processes on each host need to be prepared for network congestion Potentially different network capacity need to accommodate different node capacity Potentially different capacity at destination need to be prepared for arrival of very old packets Potentially long delay in network need adaptive timeout mechanism Potentially different RTT need explicit connection establishment and termination Potentially connects many different hosts Common end to end services Underlying best effort network End to End Protocols 4 2 0 SrcPort SequenceNum 16 UrgPtr 31 o Ackn wle ACK Ackno wledg ment SY Num x Passive participant server y 1 m y ceNu n e u 1 eq nt x CK S e A m g d N SYN Sequ ence Active participant client Connection Establishment and Termination Data DstPort AdvertisedWindow Options variable Flags Acknowledgment 10 Checksum 4 HdrLen 0 Segment Format 7 5 Acknowledgment AdvertisedWindow Receiver FIN WAIT 2 ACK FIN WAIT 1 Close FIN ACK AC FIN ACK K FI N A C K Close FIN ACK FIN ACK TIME WAIT SYN SENT Active open SYN CLOSED ACK LAST ACK Close FIN CLOSE WAIT ACK Timeout after two segment lifetimes CLOSING ESTABLISHED SYN ACK ACK SYN SYN ACK Send SYN SYN SYN ACK Close FIN SYN RCVD Close LISTEN Passive open CLOSED State Transition Diagram pseudo header TCP header data Checksum SYN FIN RESET PUSH URG ACK Flags Sender Data SequenceNum acknowledgment SequenceNum AdvertisedWinow Sliding window flow control SrcPort SrcIPAddr DsrPort DstIPAddr Each connection identified with 4 tuple Segment Format cont 8 6 TCP LastByteSent LastByteRcvd TCP Bandwidth T1 1 5 Mbps Ethernet 10 Mbps T3 45 Mbps FDDI 100 Mbps STS 3 155 Mbps STS 12 622 Mbps STS 24 1 2 Gbps 32 bit SequenceNum Time Until Wrap Around 6 4 hours 57 minutes 13 minutes 6 minutes 4 minutes 55 seconds 28 seconds 11 9 LastByteRead NextByteExpected NextByteExpected LastByteRcvd 1 buffer bytes between NextByteRead and LastByteRcvd Receiving side NextByteExpected LastByteRead Receiving application Protection Against Wrap Around LastByteAcked LastByteSent LastByteSent LastByteWritten buffer bytes between LastByteAcked and LastByteWritten Sending side LastByteAcked LastByteWritten Sending application Sliding Window Revisited Bandwidth T1 1 5 Mbps Ethernet 10 Mbps T3 45 Mbps FDDI 100 Mbps STS 3 155 Mbps STS 12 622 Mbps STS 24 1 2 Gbps Delay x Bandwidth Product 18KB 122KB 549KB 1 2MB 1 8MB 7 4MB 14 8MB 16 bit AdvertisedWindow Keeping the Pipe Full Always send ACK in response to arriving data segment Persist when AdvertisedWindow 0 12 10 LastByteSent LastByteAcked AdvertisedWindow EffectiveWindow AdvertisedWindow LastByteSent LastByteAcked LastByteWritten LastByteAcked MaxSendBuffer block sender if LastByteWritten LastByteAcked y MaxSenderBuffer Sending side LastByteRcvd LastByteRead MaxRcvBuffer AdvertisedWindow MaxRcvBuffer LastByteRcvd NextByteRead Send buffer size MaxSendBuffer Receive buffer size MaxRcvBuffer Receiving side Flow Control Receiver Sender Receiver ACK Retr ansm issio n Orig inal trans miss ion Do not sample RTT when retransmitting Double timeout after each retransmission ACK Retr ansm issio n Orig inal trans miss ion Sender SampleR TT Karn Partridge Algorithm Implemented as header options Store timestamp in outgoing segments Extend sequence space with 32 bit timestamp PAWS Shift scale advertised window TCP Extensions SampleR TT 15 13 EstRTT x EstimatedRTT x SampleRTT where 1 between 0 8 and 0 9 between 0 1 and 0 2 where 8 is a factor between 0 and 1 New Calculations for average RTT Diff sampleRTT EstRTT EstRTT EstRTT 8 x Diff Dev Dev 8 Diff Dev 14 16 algorithm only as good as granularity of clock 500ms on Unix accurate timeout mechanism important to congestion control later Notes where 1 and 4 Consider variance when setting timeout value TimeOut x EstRTT x Dev Jacobson Karels Algorithm TimeOut 2 x EstRTT Set timeout based on EstRTT Measure SampleRTT for each segment ACK pair Compute weighted average of RTT Adaptive Retransmission Original Algorithm


View Full Document

TAMU ECEN 602 - lec16

Documents in this Course
lec16

lec16

16 pages

lec6

lec6

14 pages

lec21

lec21

20 pages

lec12

lec12

5 pages

lec152

lec152

16 pages

lec1

lec1

23 pages

socket

socket

10 pages

lec23

lec23

12 pages

lec3

lec3

42 pages

lec15

lec15

14 pages

lec13

lec13

28 pages

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