Download Analysis of TCP flows in the Surfnet network Bachelor

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
How to Identify
the Speed Limiting Factor
of a TCP Flow
E2EMON 2006
Vancouver
Mark Timmer
April 3, 2006
Co-authors:
Pieter-Tjerk de Boer and Aiko Pras
1
How to Identify the Speed Limiting Factor of a TCP Flow
E2EMON, April 3, 2006
Contents
•
•
•
•
•
•
•
Motivation
Related work
Possible factors
Overview: identifying the limiting factors
One factor in-depth
Measurement results
Conclusions
2
How to Identify the Speed Limiting Factor of a TCP Flow
E2EMON, April 3, 2006
Motivation
•
Surfnet: 1 Gbit
•
Upgrades still useful?
•
Approach: Identify speed limiting factor
10 Gbit
3
How to Identify the Speed Limiting Factor of a TCP Flow
E2EMON, April 3, 2006
Related work
• Y. Zhang, L. Breslau, V. Paxson, and S. Shenker,
“On the characteristics and origins of internet flow rates”,
Proceedings of SIGCOMM’02
• M. Siekkinen, G. Urvoy-Keller, E.W. Biersack, and T. En-Najjary,
“Root cause analysis for long-lived tcp connections”,
Proceedings of CoNEXT’05
4
How to Identify the Speed Limiting Factor of a TCP Flow
E2EMON, April 3, 2006
Speed limiting factors of a TCP flow
application
application
(sender)
(receiver)
TCP
(receiver)
TCP
(sender)
network
(network layer, link
layer, physical layer)
application
layer
TCP
layer
network
5
How to Identify the Speed Limiting Factor of a TCP Flow
E2EMON, April 3, 2006
Overview: identifying the limiting factors
Data repository of packet traces
• Information directly available:
– Arrival time
– IP header (source, destination)
– TCP header (port numbers, sequence number,
acknowledgment number, size of receive window)
• Information calculated:
– Number of outstanding bytes
– Achieved throughput
6
How to Identify the Speed Limiting Factor of a TCP Flow
E2EMON, April 3, 2006
Application layer limitations (1)
Slow sender limitation
A
B
idle period
data
data
data
ack
ack
Identification
– Measure idle period percentage
– Careful when receive window is empty
data
data
data
Note:
We only consider flows
measured at the sending side
7
How to Identify the Speed Limiting Factor of a TCP Flow
E2EMON, April 3, 2006
Application layer limitations (2)
Slow receiver limitation
A
B
=30)
ack (rwnd
data (leng
th=30)
=0)
ack (rwnd
=30)
ack (rwnd
Identification
– Measure how often the
receive window decreases
data (leng
th=30)
8
How to Identify the Speed Limiting Factor of a TCP Flow
E2EMON, April 3, 2006
Application layer limitations (3)
Application protocol limitation
A
B
=150)
ack (rwnd
data (leng
t
data (leng h=30)
t
data (leng h=30)
th=30)
h=0)
ack (lengt =4)
h
ack (lengt
data (leng
t
data (leng h=30)
t
data (leng h=30)
th=30)
h=0)
ack (lengt =4)
h
ack (lengt
Identification
– Measure how often an ACK
contains data
Note:
We only consider flows
sending data one-way
9
E2EMON, April 3, 2006
How to Identify the Speed Limiting Factor of a TCP Flow
Network limitation (1)
#outstanding bytes
Limited by loss / retransmission
‘TCP Friendly formula’
BW 
MSS c
RTT p
time
10
How to Identify the Speed Limiting Factor of a TCP Flow
E2EMON, April 3, 2006
Network limitation (2)
Limited by delay
– Large buffers
– Entire receive window stored
– Injecting more packets
more delay
extra
data
throughput of bottleneck link 
extra delay
11
E2EMON, April 3, 2006
How to Identify the Speed Limiting Factor of a TCP Flow
TCP buffers limitations
The receive buffer limitation
B
B
=100)
ack (rwnd
60 bytes
=30)
ack (rwnd
data (leng
t
data (leng h=10)
data (leng th=10
th=10)
=30)
ack (rwnd rwnd=30)
ack (
data (le
data (lengngth=10)
t
data (leng h=10)
th=10)
=30)
ack (rwnd 30)
=
ack (rwndd
ata (length
=10)
A
60 bytes
rwnd full
rwnd full
A
The send buffer limitation
data (leng
t
data (leng h=20)
t
data (leng h=20)
th=20)
=100)
ack (rwnd 100)
=
ack (rwnddat
a (length=
20)
data (leng
t
h
=
20)
data (leng
th=20)
=100)
ack (rwnd 100)
=
ack (rwnd
12
E2EMON, April 3, 2006
How to Identify the Speed Limiting Factor of a TCP Flow
In-depth: the receive window limitation
• Peaks
t1 t2
t3 t4
rwnd full
receive
window
receive
window
rwnd full
#outstanding bytes
A
time
B
=30)
ack (rwnd
data (leng
t
data (leng h=10)
data (leng th=10
th=10)
=30)
ack (rwnd rwnd=30)
ack (
data (leng
data (leng th=10)
t
data (leng h=10)
th=10)
=30)
ack (rwnd 30)
=
ack (rwndd
ata (length
=10)
13
How to Identify the Speed Limiting Factor of a TCP Flow
E2EMON, April 3, 2006
Measurement results
Category
% flows
% bytes
Undetermined
20 – 40
10 – 20
Network
20 – 30
30 – 40
0 – 10
0 – 10
Receive buffer
10 – 15
10 – 20
Slow sender
20 – 30
20 – 40
Slow receiver
0–5
0–5
Application protocol
0 – 10
0–1
Send buffer
14
How to Identify the Speed Limiting Factor of a TCP Flow
E2EMON, April 3, 2006
Conclusions
• Upgrading network still useful
• However, many flows limited by buffers
• Recommentations:
– Perform statistical analyses
– Develop tool to ‘fix’ TCP-buffer limited flows
– Detect changes of limiting factor in time
15
How to Identify the Speed Limiting Factor of a TCP Flow
E2EMON, April 3, 2006
Questions?
16
Related documents