TCP Sequence Number Plots Carey Williamson Department of Computer - - PowerPoint PPT Presentation

tcp sequence number plots
SMART_READER_LITE
LIVE PREVIEW

TCP Sequence Number Plots Carey Williamson Department of Computer - - PowerPoint PPT Presentation

TCP Sequence Number Plots Carey Williamson Department of Computer Science University of Calgary Tutorial: TCP 101 The Transmission Control Protocol (TCP) is the protocol that sends your data reliably Used for email, Web, ftp, telnet,


slide-1
SLIDE 1

TCP Sequence Number Plots

Carey Williamson Department of Computer Science University of Calgary

slide-2
SLIDE 2

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...

“TCP is the four-wheel drive of transport-layer protocols. It can go anywhere, but sometimes it is a pretty bumpy ride!”

slide-3
SLIDE 3

TCP 101 (Cont’d) ▪ TCP is a connection-oriented protocol

SYN SYN/ACK ACK GET URL YOUR DATA HERE FIN FIN/ACK ACK Web Client Web Server

slide-4
SLIDE 4

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

ACK

slide-5
SLIDE 5

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

ACK

slide-6
SLIDE 6

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

ACK

slide-7
SLIDE 7

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

slide-8
SLIDE 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)…

slide-9
SLIDE 9

Time SeqNum

X + Key: X Data Packet + Ack Packet X X X X X X X X X X X X X + + + + + + + + + + + + +

slide-10
SLIDE 10

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

slide-11
SLIDE 11

SeqNum

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

slide-12
SLIDE 12

SeqNum

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

slide-13
SLIDE 13

SeqNum

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

slide-14
SLIDE 14

SeqNum

X + Key: X Data Packet + Ack Packet X X X X X X X X X X X X X + + + + + + + + + + + + + Num Bytes Sent

slide-15
SLIDE 15

SeqNum

X + Key: X Data Packet + Ack Packet X X X X X X X X X X X X X + + + + + + + + + + + + + Bytes Sec

slide-16
SLIDE 16

SeqNum

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

slide-17
SLIDE 17

SeqNum

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

slide-18
SLIDE 18

SeqNum

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

slide-19
SLIDE 19

SeqNum

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

slide-20
SLIDE 20

SeqNum

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

slide-21
SLIDE 21

SeqNum

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

slide-22
SLIDE 22

SeqNum

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

slide-23
SLIDE 23

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

slide-24
SLIDE 24

SeqNum

X + Key: X Data Packet + Ack Packet X X X X X X X X X X X X X + + + + + + + + + + + + +

slide-25
SLIDE 25

SeqNum

X + Key: X Data Packet + Ack Packet X X X X X X X X X X X X + + + + + + + + + + + +

?

slide-26
SLIDE 26

SeqNum

X + Key: X Data Packet + Ack Packet X X X X X X X X X X X X + + + + + + + + + + + + X +

slide-27
SLIDE 27

SeqNum

X + Key: X Data Packet + Ack Packet X X X X X X X X X X X X X + + + + + + + + + + + + +

slide-28
SLIDE 28

SeqNum

X + Key: X Data Packet + Ack Packet X X X X X X X X X X X X + + + + + + + + + + +

?

slide-29
SLIDE 29

SeqNum

X + Key: X Data Packet + Ack Packet X X X X X X X X X X X X X + + + + + + + + + + + + +

slide-30
SLIDE 30

SeqNum

X + Key: X Data Packet + Ack Packet X X X X X X X X X X X X X + + + + + + + + + + + + +

slide-31
SLIDE 31

SeqNum

X + Key: X Data Packet + Ack Packet X X X X X X X X X X X X + + + + + + + + +

?

slide-32
SLIDE 32

SeqNum

X + Key: X Data Packet + Ack Packet X X X X X X X X X X X X + + + + + + + ++ + + + X +

slide-33
SLIDE 33

SeqNum

X + Key: X Data Packet + Ack Packet X X X X X X X X X X X X X + + + + + + + + + + + + +

slide-34
SLIDE 34

SeqNum

X + Key: X Data Packet + Ack Packet X +

?

slide-35
SLIDE 35

SeqNum

X + Key: X Data Packet + Ack Packet X X X + ++ X X X + + + X + X + X +

slide-36
SLIDE 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

  • n congestion window size at the time of the loss
slide-37
SLIDE 37

Congratulations! ▪ You are now a TCP expert!