Tutorial: TCP 101 - PowerPoint PPT Presentation

1 / 36
About This Presentation
Title:

Tutorial: TCP 101

Description:

Used for email, Web, ftp, telnet, p2p, ... Seg. Size. CPSC 601.38. 12. Time. SeqNum. X. Key: X Data Packet Ack Packet. X. X. X. X. X. X ... – PowerPoint PPT presentation

Number of Views:55
Avg rating:3.0/5.0
Slides: 37
Provided by: donto
Category:
Tags: tcp | seg | tutorial

less

Transcript and Presenter's Notes

Title: Tutorial: TCP 101


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

2
TCP 101 (Contd)
  • TCP is a connection-oriented protocol

YOUR DATA HERE
Web Client
Web Server
3
TCP 101 (Contd)
  • TCP slow-start and congestion avoidance

4
TCP 101 (Contd)
  • TCP slow-start and congestion avoidance

5
TCP 101 (Contd)
  • TCP slow-start and congestion avoidance

6
TCP 101 (Contd)
  • 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

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
  • Example Consider a 14-packet transfer

8

Key X Data Packet Ack Packet
X

X

X

X

X
SeqNum

X

X
X


X

X

X

X

X

X
Time
9
So What?
  • What can it tell you?
  • Everything!!!

10

Key X Data Packet Ack Packet
X

X

X

X

X
SeqNum

X

X
X


X

X

X

X

X

X
Time
RTT
11

Key X Data Packet Ack Packet
X

X

X

X

X
SeqNum

X

X
X


X

X

X
TCP Seg. Size

X

X

X
Time
12

Key X Data Packet Ack Packet
X

X

X

X

X
SeqNum

X

X
X


X

X

X

X

X

X
Time
TCP Connection Duration
13

Key X Data Packet Ack Packet
X

X

X

X

X
SeqNum

X

X
X


Num Bytes Sent
X

X

X

X

X

X
Time
14

Key X Data Packet Ack Packet
X

X

X

X

X
SeqNum

X

X
Bytes
Avg Throughput (Bytes/Sec)
X


X

X

X

X

X

X
Sec
Time
15

Key X Data Packet Ack Packet
X

X

X

X

X
SeqNum
Access Network Bandwidth (Bytes/Sec)

X

X
X


X

X

X

X

X

X
Time
16

Key X Data Packet Ack Packet
X

X

X

X

X
SeqNum

X

X
X


X
Senders Flow Control Window Size

X

X

X

X

X
Time
17

Key X Data Packet Ack Packet
X

X

X

X

X
SeqNum

X

X
TCP Slow Start
X


X

X

X

X

X

X
Time
18

Key X Data Packet Ack Packet
X

X
X

X
X
SeqNum

X
X
X

X
Delayed ACK

X
X

X
X

X
Time
19
Key X Data Packet Ack Packet
X


X

X
Packet Loss
SeqNum

X

X
X


Duplicate ACK
X

X

X

X

X

X
Time
20
Cumulative ACK
Key X Data Packet Ack Packet

X
X


X

X
SeqNum

X

Retransmit
X
X


X

X

X

X

X

X
Time
21
Key X Data Packet Ack Packet

X
X


X

X
SeqNum

X

X
X


X

X

X

X

X

X
Time
RTO
22
TCP 201 (Contd)
  • What happens when a packet loss occurs?
  • Quiz Time...
  • Consider a 14-packet Web document
  • For simplicity, consider only a single packet
    loss

23

Key X Data Packet Ack Packet
X

X

X

X

X
SeqNum

X

X
X


X

X

X

X

X

X
Time
24
?
Key X Data Packet Ack Packet

X

X

X

X
SeqNum

X

X
X


X

X

X

X

X

X
Time
25
Key X Data Packet Ack Packet

X

X

X

X
SeqNum

X

X
X


X

X

X

X

X

X
Time
26

Key X Data Packet Ack Packet
X

X

X

X

X
SeqNum

X

X
X


X

X

X

X

X

X
Time
27
Key X Data Packet Ack Packet
X
?

X

X

X
SeqNum

X

X
X


X

X

X

X

X

X
Time
28

Key X Data Packet Ack Packet
X
X


X

X

X
SeqNum

X

X
X


X

X

X

X

X

X
Time
29

Key X Data Packet Ack Packet
X

X

X

X

X
SeqNum

X

X
X


X

X

X

X

X

X
Time
30
Key X Data Packet Ack Packet
X
X
X
?

X
SeqNum

X

X
X


X

X

X

X

X

X
Time
31

Key X Data Packet Ack Packet
X
X
X
X




X
SeqNum

X

X
X


X

X

X

X

X

X
Time
32

Key X Data Packet Ack Packet
X

X

X

X

X
SeqNum

X

X
X


X

X

X

X

X

X
Time
33
Key X Data Packet Ack Packet
SeqNum
?

X

X
Time
34
Key X Data Packet Ack Packet
SeqNum

X

X
X
X



X

X
Time
35
TCP 201 (Contd)
  • 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

36
Congratulations!
  • You are now a TCP expert!
Write a Comment
User Comments (0)
About PowerShow.com