TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk...

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

Transcript of TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk...

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

TCP: Transmission Control Protocol

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

Page 2: 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– 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 Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.

TCP: Overview

IP Header TCP Header TCP Data

TCP segment

Source port # Destination port #Sequence #

Acknowledgement #HL reserv flags Window size

Checksum Urgent pointer

Options if any

65535-20-20=65495

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

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 Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.

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 Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.

TCP: Termination

A:FIN

B: ack of FIN

B: FIN

A: ack of FIN

A B

Bothsidesclose

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

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 Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Page 9: TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Page 10: TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Page 11: TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Page 12: TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.

Transmission window: cwnd

1

cwnd1

ack1

2 23 ack2

ack34 4

567

Doublingevery RT!

Page 13: TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Page 14: TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Page 15: TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Page 16: TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Page 17: TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Page 18: TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Page 19: TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.

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 Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Page 21: TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Page 22: TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Page 23: TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Page 24: TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Page 25: TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Page 26: TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Page 27: TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Page 28: TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Page 29: TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Page 30: TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Page 31: TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Page 32: TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Page 33: TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Page 34: TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.

TCP

• Slow start: cwnd =1cwnd exponentially increasing

• Congestion avoidance: cwnd reaches ssthresh,cwnd linearly increasing

Page 35: TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Page 36: TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Page 37: TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Page 38: TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Page 39: TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Page 40: TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Page 41: TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Page 42: TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.

TCP: Tahoe and Reno

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