tutorial: tcp 101
DESCRIPTION
Tutorial: TCP 101. The Transmission Control Protocol (TCP) is the protocol that sends your data reliably Used for email, Web, ftp, telnet, p2p,… Makes sure that data is received correctly: right data, right order, exactly once - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Tutorial: TCP 101](https://reader036.vdocuments.site/reader036/viewer/2022062516/56812b92550346895d8faf50/html5/thumbnails/1.jpg)
CPSC 601.38 1
Tutorial: TCP 101
The Transmission Control Protocol (TCP) is the protocol that sends your data reliably
Used for email, Web, ftp, telnet, p2p,… Makes sure that data is received correctly:
right data, right order, exactly once Detects and recovers from any problems
that occur at the IP network layer Mechanisms for reliable data transfer:
sequence numbers, acknowledgements, timers, retransmissions, flow control...
![Page 2: Tutorial: TCP 101](https://reader036.vdocuments.site/reader036/viewer/2022062516/56812b92550346895d8faf50/html5/thumbnails/2.jpg)
CPSC 601.38 2
TCP 101 (Cont’d)
TCP is a connection-oriented protocol
SYNSYN/ACK
ACKGET URL
YOUR DATA HERE
FIN FIN/ACKACK
![Page 3: Tutorial: TCP 101](https://reader036.vdocuments.site/reader036/viewer/2022062516/56812b92550346895d8faf50/html5/thumbnails/3.jpg)
CPSC 601.38 3
TCP 101 (Cont’d)
TCP slow-start and congestion avoidance
ACK
![Page 4: Tutorial: TCP 101](https://reader036.vdocuments.site/reader036/viewer/2022062516/56812b92550346895d8faf50/html5/thumbnails/4.jpg)
CPSC 601.38 4
TCP 101 (Cont’d)
TCP slow-start and congestion avoidance
ACK
![Page 5: Tutorial: TCP 101](https://reader036.vdocuments.site/reader036/viewer/2022062516/56812b92550346895d8faf50/html5/thumbnails/5.jpg)
CPSC 601.38 5
TCP 101 (Cont’d)
TCP slow-start and congestion avoidance
ACK
![Page 6: Tutorial: TCP 101](https://reader036.vdocuments.site/reader036/viewer/2022062516/56812b92550346895d8faf50/html5/thumbnails/6.jpg)
CPSC 601.38 6
TCP 101 (Cont’d)
This (exponential growth) “slow start” process continues until either: packet loss: after a brief recovery phase,
you enter a (linear growth) “congestion avoidance” phase based on slow-start threshold found
limit reached: slow-start threshold, or maximum advertised receive window size
all done: terminate connection and go home
![Page 7: Tutorial: TCP 101](https://reader036.vdocuments.site/reader036/viewer/2022062516/56812b92550346895d8faf50/html5/thumbnails/7.jpg)
CPSC 601.38 7
Tutorial: TCP 201
There is a beautiful way to plot and visualize the dynamics of TCP behaviour
Called a “TCP Sequence Number Plot” Plot packet events (data and acks) as
points in 2-D space, with time on the horizontal axis, and sequence number on the vertical axis
![Page 8: Tutorial: TCP 101](https://reader036.vdocuments.site/reader036/viewer/2022062516/56812b92550346895d8faf50/html5/thumbnails/8.jpg)
CPSC 601.38 8
Time
Seq
Num
X +
Key: X Data Packet + Ack Packet X
XXXX
XXXX
XX
XX
++
++++
+
++++
++
![Page 9: Tutorial: TCP 101](https://reader036.vdocuments.site/reader036/viewer/2022062516/56812b92550346895d8faf50/html5/thumbnails/9.jpg)
CPSC 601.38 9
TCP 201 (Cont’d)
What happens when a packet loss occurs?
Quiz Time... Consider a 14-packet Web document For simplicity, consider only a single packet
loss
![Page 10: Tutorial: TCP 101](https://reader036.vdocuments.site/reader036/viewer/2022062516/56812b92550346895d8faf50/html5/thumbnails/10.jpg)
CPSC 601.38 10
Time
Seq
Num
X +
Key: X Data Packet + Ack Packet X
XXXX
XXXX
XX
XX
++
++++
+
++++
++
![Page 11: Tutorial: TCP 101](https://reader036.vdocuments.site/reader036/viewer/2022062516/56812b92550346895d8faf50/html5/thumbnails/11.jpg)
CPSC 601.38 11
Time
Seq
Num
X +
Key: X Data Packet + Ack Packet X
XXXX
XXXX
XX
X
++
++++
+
+++
++
?
![Page 12: Tutorial: TCP 101](https://reader036.vdocuments.site/reader036/viewer/2022062516/56812b92550346895d8faf50/html5/thumbnails/12.jpg)
CPSC 601.38 12
Time
Seq
Num
X +
Key: X Data Packet + Ack Packet X
XXXX
XXXX
XX
X
++
++++
+
+++
++
X +
![Page 13: Tutorial: TCP 101](https://reader036.vdocuments.site/reader036/viewer/2022062516/56812b92550346895d8faf50/html5/thumbnails/13.jpg)
CPSC 601.38 13
Time
Seq
Num
X +
Key: X Data Packet + Ack Packet X
XXXX
XXXX
XX
XX
++
++++
+
++++
++
![Page 14: Tutorial: TCP 101](https://reader036.vdocuments.site/reader036/viewer/2022062516/56812b92550346895d8faf50/html5/thumbnails/14.jpg)
CPSC 601.38 14
Time
Seq
Num
X +
Key: X Data Packet + Ack Packet X
XXXX
XXXX
XX
X
++
++++
+
++
++
?
![Page 15: Tutorial: TCP 101](https://reader036.vdocuments.site/reader036/viewer/2022062516/56812b92550346895d8faf50/html5/thumbnails/15.jpg)
CPSC 601.38 15
Time
Seq
Num
X +
Key: X Data Packet + Ack Packet X
XXXX
XXXX
XX
XX
++
++++
+
+
+++
++
![Page 16: Tutorial: TCP 101](https://reader036.vdocuments.site/reader036/viewer/2022062516/56812b92550346895d8faf50/html5/thumbnails/16.jpg)
CPSC 601.38 16
Time
Seq
Num
X +
Key: X Data Packet + Ack Packet X
XXXX
XXXX
XX
XX
++
++++
+
++++
++
![Page 17: Tutorial: TCP 101](https://reader036.vdocuments.site/reader036/viewer/2022062516/56812b92550346895d8faf50/html5/thumbnails/17.jpg)
CPSC 601.38 17
Time
Seq
Num
X +
Key: X Data Packet + Ack Packet X
XXX
XXXX
XX
XX
++
++++
+
++
?
![Page 18: Tutorial: TCP 101](https://reader036.vdocuments.site/reader036/viewer/2022062516/56812b92550346895d8faf50/html5/thumbnails/18.jpg)
CPSC 601.38 18
Time
Seq
Num
X +
Key: X Data Packet + Ack Packet X
XXX
XXXX
XX
XX
++
++++
+
+++++
X
+
![Page 19: Tutorial: TCP 101](https://reader036.vdocuments.site/reader036/viewer/2022062516/56812b92550346895d8faf50/html5/thumbnails/19.jpg)
CPSC 601.38 19
Time
Seq
Num
X +
Key: X Data Packet + Ack Packet X
XXXX
XXXX
XX
XX
++
++++
+
++++
++
![Page 20: Tutorial: TCP 101](https://reader036.vdocuments.site/reader036/viewer/2022062516/56812b92550346895d8faf50/html5/thumbnails/20.jpg)
CPSC 601.38 20
Time
Seq
Num
X +
Key: X Data Packet + Ack Packet
X +?
![Page 21: Tutorial: TCP 101](https://reader036.vdocuments.site/reader036/viewer/2022062516/56812b92550346895d8faf50/html5/thumbnails/21.jpg)
CPSC 601.38 21
Time
Seq
Num
X +
Key: X Data Packet + Ack Packet
XX
X + ++X
XX +
+
+
X +X +X +
![Page 22: Tutorial: TCP 101](https://reader036.vdocuments.site/reader036/viewer/2022062516/56812b92550346895d8faf50/html5/thumbnails/22.jpg)
CPSC 601.38 22
TCP 201 (Cont’d)
Main observation: “Not all packet losses are created equal”
Losses early in the transfer have a huge adverse impact on the transfer latency
Losses near the end of the transfer always cost at least a retransmit timeout
Losses in the middle may or may not hurt, depending on congestion window size at the time of the loss