Presentation is loading. Please wait.

Presentation is loading. Please wait.

TCP Sequence Number Plots

Similar presentations


Presentation on theme: "TCP Sequence Number Plots"— Presentation transcript:

1 TCP Sequence Number Plots
Carey Williamson Department of Computer Science University of Calgary Winter 2018

2 Used for email, Web, ftp, telnet, p2p,…
Tutorial: TCP 101 The Transmission Control Protocol (TCP) is the protocol that sends your data reliably Used for , 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... “TCP is the four-wheel drive of transport-layer protocols. It can go anywhere, but sometimes it is a pretty bumpy ride!”

3 TCP is a connection-oriented protocol
TCP 101 (Cont’d) TCP is a connection-oriented protocol SYN SYN/ACK ACK GET URL YOUR DATA HERE Web Client Web Server FIN FIN/ACK ACK

4 TCP slow-start and congestion avoidance
TCP 101 (Cont’d) TCP slow-start and congestion avoidance ACK

5 TCP slow-start and congestion avoidance
TCP 101 (Cont’d) TCP slow-start and congestion avoidance ACK

6 TCP slow-start and congestion avoidance
TCP 101 (Cont’d) TCP slow-start and congestion avoidance ACK

7 This (exponential growth) “slow start” process continues until either:
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

8 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 Example: 20 KB Web page (14 packets)…

9 SeqNum Time Key: X Data Packet + Ack Packet X + + X + X X + X + X + X

10 So What? What can it tell you? Everything!!!

11 SeqNum Key: X Data Packet + Ack Packet X + + X X + X + X + X + X + X +
RTT + X + X + X X +

12 SeqNum Key: X Data Packet + Ack Packet X + + X + X X + X + X + X + X +
TCP Seg. Size + X + X X +

13 SeqNum Key: X Data Packet + Ack Packet X + + X X + X + X + X + + X X +
TCP Connection Duration

14 SeqNum Key: X Data Packet + Ack Packet X + + X + X X + X + X + X + X +
Bytes Sent X + + X + X + X + X X +

15 SeqNum Key: X Data Packet + Ack Packet X + + X + X X + X + X + X +
Bytes Avg Throughput (Bytes/Sec) X + X + + X + X + X + X X + Sec

16 SeqNum Key: X Data Packet + Ack Packet X + + X + X X + X + Access
Network Bandwidth (Bytes/Sec) X + X + X + X + + X + X + X + X X +

17 SeqNum Key: X Data Packet + Ack Packet X + + X + X X + X + X + X + X +
Sender’s Flow Control Window Size + X + X + X + X X +

18 SeqNum Key: X Data Packet + Ack Packet X + + X + X X + X + X + X + TCP
Slow Start X + X + + X + X + X + X X +

19 SeqNum Key: X Data Packet + Ack Packet X + + X X X + X X + X X + X
Delayed ACK + X X + X X X +

20 SeqNum Key: X Data Packet + Ack Packet X X + + Packet Loss X + X + X +
Duplicate ACK + X + X + X + X X +

21 SeqNum Cumulative ACK Key: X Data Packet + Ack Packet + X X X + + X +
Retransmit X + X + + X + X + X + X X +

22 SeqNum Key: X Data Packet + Ack Packet + X X X + + X + X + X + X + X +
RTO X +

23 What happens when a packet loss occurs? Quiz Time...
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

24 SeqNum Key: X Data Packet + Ack Packet X + + X + X X + X + X + X + X +

25 SeqNum ? Key: X Data Packet + Ack Packet + X + X + X X + + X + X X + +

26 SeqNum X + Key: X Data Packet + Ack Packet + X + X + X X + + X + X X +

27 SeqNum Key: X Data Packet + Ack Packet X + + X + X X + X + X + X + X +

28 SeqNum ? Key: X Data Packet + Ack Packet X + X X + X + X + X + X + X +

29 SeqNum Key: X Data Packet + Ack Packet X + X + + X X + X + X + X + X +

30 SeqNum Key: X Data Packet + Ack Packet X + + X + X X + X + X + X + X +

31 SeqNum ? Key: X Data Packet + Ack Packet X X X X + X + X + X + X + + X

32 SeqNum Key: X Data Packet + Ack Packet X + X X X X + + + + X + X + X +

33 SeqNum Key: X Data Packet + Ack Packet X + + X + X X + X + X + X + X +

34 Key: X Data Packet + Ack Packet SeqNum ? + X X +

35 SeqNum Key: X Data Packet + Ack Packet X + X + + X X + X + X X + + + X

36 TCP 201 (Cont’d) Main observation:
“Not all packet losses are created equal” - CLW 2002 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

37 Congratulations! You are now a TCP expert!


Download ppt "TCP Sequence Number Plots"

Similar presentations


Ads by Google