42
TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements

TCP: Transmission Control Protocol

  • Upload
    maren

  • View
    112

  • Download
    0

Embed Size (px)

DESCRIPTION

TCP: Transmission Control Protocol. Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements. TCP: Overview. Connection oriented, byte stream service Full or half duplex service Reliability (ARQ) Sliding window with variable sized window - PowerPoint PPT Presentation

Citation preview

Page 1: TCP:  Transmission Control Protocol

TCP: Transmission Control Protocol

• Overview• Connection set-up and termination• Interactive• Bulk transfer• Timers• Improvements

Page 2: TCP:  Transmission Control Protocol

TCP: Overview• Connection oriented, byte stream service• Full or half duplex service• Reliability (ARQ)

– Sliding window with variable sized window– Stream is sent in segments (IP datagrams)– SN for bytes– Receiver buffer reorders bytes– Checksum on header and data– Discards duplicate data– Flow control

Page 3: TCP:  Transmission Control Protocol

TCP: Overview

IP Header TCP Header TCP Data

TCP segment

Source port # Destination port #Sequence #

Acknowledgement #HL reserv flags Window size

Checksum Urgent pointerOptions if any

65535-20-20=65495

Page 4: TCP:  Transmission Control Protocol

TCP: Flags• URG: The urgent pointer is used• ACK: The acknowledgement number is valid• PSH: The receiver should pass this data to the

application as soon as possible• RST: Reset the connection• SYN: Synchronize sequence numbers to initiate

a connection. • FIN: The sender is finished sending data

Page 5: TCP:  Transmission Control Protocol

TCP: Set-Up Syn=1 Ack = 0

A:SYN, MSS, SN=ISN

B: SYN, MSS, SN=ISNSyn1 ack 1

B: ACK

A: ACK

A B

Fullduplex

Page 6: TCP:  Transmission Control Protocol

TCP: Termination

A:FIN

B: ack of FIN

B: FIN

A: ack of FIN

A B

Bothsidesclose

Page 7: TCP:  Transmission Control Protocol

TCP windows

1 2 3 4 5 6 7 8 9 10 11

sent andacked

sent butnot acked

can sendasap

min{offered window from receiver,cwnd}

usablewindow

Actually,

Page 8: TCP:  Transmission Control Protocol
Page 9: TCP:  Transmission Control Protocol
Page 10: TCP:  Transmission Control Protocol
Page 11: TCP:  Transmission Control Protocol
Page 12: TCP:  Transmission Control Protocol

Transmission window: cwnd

1

cwnd1

ack1

2 23 ack2

ack34 4

567

Doublingevery RT!

Page 13: TCP:  Transmission Control Protocol
Page 14: TCP:  Transmission Control Protocol
Page 15: TCP:  Transmission Control Protocol
Page 16: TCP:  Transmission Control Protocol
Page 17: TCP:  Transmission Control Protocol
Page 18: TCP:  Transmission Control Protocol
Page 19: TCP:  Transmission Control Protocol

TCP Timeout and Retransmission

Each packet has a retransmission timer• It is initialized by the retransmission time out

(RTO) value• When the timer expires, a time out occurs and

the data is retransmitted• If a retransmission fails then the time-out doubles

i.e., exponential backoff.

It’s important to find a good RTO value

Page 20: TCP:  Transmission Control Protocol
Page 21: TCP:  Transmission Control Protocol
Page 22: TCP:  Transmission Control Protocol
Page 23: TCP:  Transmission Control Protocol
Page 24: TCP:  Transmission Control Protocol
Page 25: TCP:  Transmission Control Protocol
Page 26: TCP:  Transmission Control Protocol
Page 27: TCP:  Transmission Control Protocol
Page 28: TCP:  Transmission Control Protocol
Page 29: TCP:  Transmission Control Protocol
Page 30: TCP:  Transmission Control Protocol
Page 31: TCP:  Transmission Control Protocol
Page 32: TCP:  Transmission Control Protocol
Page 33: TCP:  Transmission Control Protocol
Page 34: TCP:  Transmission Control Protocol

TCP• Slow start: cwnd =1

cwnd exponentially increasing• Congestion avoidance: cwnd reaches ssthresh,

cwnd linearly increasing

Page 35: TCP:  Transmission Control Protocol
Page 36: TCP:  Transmission Control Protocol
Page 37: TCP:  Transmission Control Protocol
Page 38: TCP:  Transmission Control Protocol
Page 39: TCP:  Transmission Control Protocol
Page 40: TCP:  Transmission Control Protocol
Page 41: TCP:  Transmission Control Protocol
Page 42: TCP:  Transmission Control Protocol

TCP: Tahoe and Reno

Tahoe: slow start + congestion avoidanceReno: fast retransmit + fast recovery