cs5229 09/10 lecture 9: internet packet dynamics
TRANSCRIPT
1 22 August 2008 NUS CS5229 Semester 1 2008/09
Vern Paxson’s Paper"“End-to-End"
Internet Packet Dynamics”, 1997/99
2 22 August 2008 NUS CS5229 Semester 1 2008/09
How often are packets dropped?"
How often are packets reordered?" :
3 22 August 2008 NUS CS5229 Semester 1 2008/09
Why these questions?
4 22 August 2008 NUS CS5229 Semester 1 2008/09
1. Understand the Internet
5 22 August 2008 NUS CS5229 Semester 1 2008/09
“ ”
when you can measure what you are speaking about, and express it in numbers, you know something about it; but when you cannot measure it, when you cannot express it in numbers, your knowledge is of a meagre and unsatisfactory kind;
- Lord Kelvin
6 22 August 2008 NUS CS5229 Semester 1 2008/09
2. Model the Internet
7 22 August 2008 NUS CS5229 Semester 1 2008/09
3. Enable more accurate evaluation through simulations
8 22 August 2008 NUS CS5229 Semester 1 2008/09
4. Lead to a better application/systems
design
9 22 August 2008 NUS CS5229 Semester 1 2008/09
How often are packets dropped?"
How often are packets reordered?" :
10 22 August 2008 NUS CS5229 Semester 1 2008/09
How to answer these questions?
11 22 August 2008 NUS CS5229 Semester 1 2008/09
Collect lots of packet traces"
Analyze the traces
12 22 August 2008 NUS CS5229 Semester 1 2008/09
Trace collection:"
large number of flows"
a variety of sites"
many packets per flow"
use TCP
13 22 August 2008 NUS CS5229 Semester 1 2008/09
Why TCP:"
real-world traffic"
will not overload the network
14 22 August 2008 NUS CS5229 Semester 1 2008/09
Time between measurement is Poisson distributed."
PASTA Theorem: Intuitively, if we make n observations and k observations is in some state S and n-k in other states, then we can assume prob of observing S is approximately k/n.
15 22 August 2008 NUS CS5229 Semester 1 2008/09
Two traces:"
N1: Dec94 "N2: Nov-Dec95"
use tcpdump at sender + receiver"
16 22 August 2008 NUS CS5229 Semester 1 2008/09
100 kB Size of file transfered
17 22 August 2008 NUS CS5229 Semester 1 2008/09
21 Number of sites
18 22 August 2008 NUS CS5229 Semester 1 2008/09
20800 Number of trace pairs
19 22 August 2008 NUS CS5229 Semester 1 2008/09
Part 1:"The Unexpected
20 22 August 2008 NUS CS5229 Semester 1 2008/09
Packet Reordering
21 22 August 2008 NUS CS5229 Semester 1 2008/09
1 2 5 3 4
2 reorderings
22 22 August 2008 NUS CS5229 Semester 1 2008/09
36% 12% N1 N2
Percentage of connections with at least one out-of-order delivery
23 22 August 2008 NUS CS5229 Semester 1 2008/09
2% .3% N1 N2
Percentage of data packets out-of-order
24 22 August 2008 NUS CS5229 Semester 1 2008/09
.6% .1% N1 N2
Percentage of ACK packets out-of-order
25 22 August 2008 NUS CS5229 Semester 1 2008/09
Data packets are usually sent
closer together.
26 22 August 2008 NUS CS5229 Semester 1 2008/09
15% .2% From To
Percentage of packets out-of-order to and from U of Colorado in N1.
27 22 August 2008 NUS CS5229 Semester 1 2008/09
Route fluttering: alternate packets can take different
route to dest.
28 22 August 2008 NUS CS5229 Semester 1 2008/09
Taken from Paxson’s PhD Thesis: Alternate routes are taken for packets from WUSTL to U Mannheim
29 22 August 2008 NUS CS5229 Semester 1 2008/09
Fig 1 from the paper, showing large gap and two slopes.
30 22 August 2008 NUS CS5229 Semester 1 2008/09
Fig 1 from the paper, showing large gap and two slopes.
T1 (new arrival)
Ethernet (buffered packets)
31 22 August 2008 NUS CS5229 Semester 1 2008/09
Impact of Packet Reordering
32 22 August 2008 NUS CS5229 Semester 1 2008/09
Recap: TCP’s fast retransmit
33 22 August 2008 NUS CS5229 Semester 1 2008/09
S = 1000
S = 2000
S = 3000 S = 4000
S = 5000
A = 2000
A = 2000
A = 2000
A = 2000
S = 2000
34 22 August 2008 NUS CS5229 Semester 1 2008/09
S = 1000
S = 2000
S = 3000 S = 4000
S = 5000
A = 2000
A = 2000
A = 2000
A = 2000
S = 2000
35 22 August 2008 NUS CS5229 Semester 1 2008/09
Nd = 3 is a conservative
choice.
36 22 August 2008 NUS CS5229 Semester 1 2008/09
What if receiver wait longer before sending dup ack?
37 22 August 2008 NUS CS5229 Semester 1 2008/09
W
S = 2000
S = 2000
38 22 August 2008 NUS CS5229 Semester 1 2008/09
1 2 5 3 4
Delivery Gap: "time between receiving "an out-of-order packet and "the packet sent before it.
39 22 August 2008 NUS CS5229 Semester 1 2008/09
Taken from Paxson’s PhD Thesis: CDF for delivery gap between reordered packets.
40 22 August 2008 NUS CS5229 Semester 1 2008/09
N2 N1
higher BW
41 22 August 2008 NUS CS5229 Semester 1 2008/09
20ms 8ms N1 N2
Waiting time with which 70% of "out-of-order delivery would be identified.
42 22 August 2008 NUS CS5229 Semester 1 2008/09
Is needless retransmission a
problem?
43 22 August 2008 NUS CS5229 Semester 1 2008/09
Good S = 2000
S = 2000
44 22 August 2008 NUS CS5229 Semester 1 2008/09
S = 2000
S = 2000
Bad
45 22 August 2008 NUS CS5229 Semester 1 2008/09
22 300 N1 N2
Number of good retransmissions for every bad retransmission.
Nd = 3, W = 0
46 22 August 2008 NUS CS5229 Semester 1 2008/09
~7 100 N1 N2
Number of good retransmissions for every bad retransmission.
Nd = 2, W = 0
47 22 August 2008 NUS CS5229 Semester 1 2008/09
15 300 N1 N2
Number of good retransmissions for every bad retransmission.
Nd = 2, W = 20ms
48 22 August 2008 NUS CS5229 Semester 1 2008/09
Packet Corruption
49 22 August 2008 NUS CS5229 Semester 1 2008/09
1 in 5000 packet is corrupted
50 22 August 2008 NUS CS5229 Semester 1 2008/09
1 in 65536 corrupted packet goes undetected
using TCP checksum (assuming each possible checksum is equally likely)
51 22 August 2008 NUS CS5229 Semester 1 2008/09
1 in 300million Internet packet is corrupted "
and is undetected.
52 22 August 2008 NUS CS5229 Semester 1 2008/09
Part 2:"Bottleneck Bandwidth
53 22 August 2008 NUS CS5229 Semester 1 2008/09
Packet Pair
54 22 August 2008 NUS CS5229 Semester 1 2008/09
B bps
b bytes
55 22 August 2008 NUS CS5229 Semester 1 2008/09
Q s
Q x B = b
56 22 August 2008 NUS CS5229 Semester 1 2008/09
Q s
57 22 August 2008 NUS CS5229 Semester 1 2008/09
Q s
58 22 August 2008 NUS CS5229 Semester 1 2008/09
Q s
59 22 August 2008 NUS CS5229 Semester 1 2008/09
Problems with Packet Pair
60 22 August 2008 NUS CS5229 Semester 1 2008/09
1. Asymmetric Link
61 22 August 2008 NUS CS5229 Semester 1 2008/09
62 22 August 2008 NUS CS5229 Semester 1 2008/09
2. ACK Compression
63 22 August 2008 NUS CS5229 Semester 1 2008/09
64 22 August 2008 NUS CS5229 Semester 1 2008/09
3. Out of order delivery
65 22 August 2008 NUS CS5229 Semester 1 2008/09
66 22 August 2008 NUS CS5229 Semester 1 2008/09
4. Clock resolution
67 22 August 2008 NUS CS5229 Semester 1 2008/09
Suppose
B = 1000 kBps b = 1 kB Q = ?
68 22 August 2008 NUS CS5229 Semester 1 2008/09
5. Changing bottleneck bandwidth
69 22 August 2008 NUS CS5229 Semester 1 2008/09
Fig 2 from the paper, showing changing bandwidth.
70 22 August 2008 NUS CS5229 Semester 1 2008/09
Fig 3 from the paper, showing multi-channel links.
71 22 August 2008 NUS CS5229 Semester 1 2008/09
6. Multi-channel Links
72 22 August 2008 NUS CS5229 Semester 1 2008/09
Asymmetric links"ACK compression"Out-of-order delivery"Clock resolution"Changes in bottleneck bandwidth"Multi-channel links"
73 22 August 2008 NUS CS5229 Semester 1 2008/09
Measure at receiver: "Asymmetric links"ACK compression"
Packet bunch:"Out-of-order delivery"Clock resolution"Changes in bottleneck bandwidth"Multi-channel links
74 22 August 2008 NUS CS5229 Semester 1 2008/09
2Q
75 22 August 2008 NUS CS5229 Semester 1 2008/09
Collect multiple estimates, take the most freq occurrence (modes) as the bottleneck bandwidth.
76 22 August 2008 NUS CS5229 Semester 1 2008/09
77 22 August 2008 NUS CS5229 Semester 1 2008/09
Part 3:"Packet Loss
78 22 August 2008 NUS CS5229 Semester 1 2008/09
2.7% 5.2% N1 N2
Percentage of packets that were lost.
79 22 August 2008 NUS CS5229 Semester 1 2008/09
50% 50% N1 N2
Percentage of loss free connections
80 22 August 2008 NUS CS5229 Semester 1 2008/09
5.7% 9.2% N1 N2
Loss rate on lossy connections
81 22 August 2008 NUS CS5229 Semester 1 2008/09
17% Loss rate on connections from EU to US
82 22 August 2008 NUS CS5229 Semester 1 2008/09
Are packet losses independent?
83 22 August 2008 NUS CS5229 Semester 1 2008/09
Compute:"Pu = Pr [ p lost ]"Pc = Pr [ p lost | prev pkt lost ]
84 22 August 2008 NUS CS5229 Semester 1 2008/09
2.8% 49% Pu Pc
Loss rate for “queued data pkt” on N1
85 22 August 2008 NUS CS5229 Semester 1 2008/09
Fig 6 from the paper, showing outage duration.
86 22 August 2008 NUS CS5229 Semester 1 2008/09
Are retransmission
redundant?
87 22 August 2008 NUS CS5229 Semester 1 2008/09
Unavoidable
ACK X
88 22 August 2008 NUS CS5229 Semester 1 2008/09
Coarse Feedback
89 22 August 2008 NUS CS5229 Semester 1 2008/09
Bad RTO
90 22 August 2008 NUS CS5229 Semester 1 2008/09
26% 28% N1 N2
Percentage of retransmissions that"are redundant
91 22 August 2008 NUS CS5229 Semester 1 2008/09
44
51
4
Unavoidable
Coarse Feedback
Bad RTO
Type of redundant retransmission in N1.
92 22 August 2008 NUS CS5229 Semester 1 2008/09
Part 4:"Packet Delay
93 22 August 2008 NUS CS5229 Semester 1 2008/09
OTT is not well approximated using RTT/2
94 22 August 2008 NUS CS5229 Semester 1 2008/09
ACK Compression
95 22 August 2008 NUS CS5229 Semester 1 2008/09
(might affect TCP self-clocking)
96 22 August 2008 NUS CS5229 Semester 1 2008/09
sent
recv
97 22 August 2008 NUS CS5229 Semester 1 2008/09
Sending interval
Receiving interval
98 22 August 2008 NUS CS5229 Semester 1 2008/09
99 22 August 2008 NUS CS5229 Semester 1 2008/09
100 22 August 2008 NUS CS5229 Semester 1 2008/09
Compression event if ξ < .75
101 22 August 2008 NUS CS5229 Semester 1 2008/09
50% 60% N1 N2
Percentage of connection that experiences"at least one compression event.
102 22 August 2008 NUS CS5229 Semester 1 2008/09
50% 60% N1 N2
Percentage of connection that experiences"at least one compression event.
103 22 August 2008 NUS CS5229 Semester 1 2008/09
2 Average number of events per connection.
104 22 August 2008 NUS CS5229 Semester 1 2008/09
Estimating Available
Bandwidth
105 22 August 2008 NUS CS5229 Semester 1 2008/09
Qb: time to transit the bottleneck"
ψi: expected time spent queuing behind predecessor (derived from sending time)"
γi: diff between packet OTT and min OTT
106 22 August 2008 NUS CS5229 Semester 1 2008/09
time packet i is sent
107 22 August 2008 NUS CS5229 Semester 1 2008/09
108 22 August 2008 NUS CS5229 Semester 1 2008/09
β = 1 means all bandwidth is available."
β = 0 means none of the bandwidth is available.
109 22 August 2008 NUS CS5229 Semester 1 2008/09
Fig 10 from the paper, showing distribution of available bandwidth.
110 22 August 2008 NUS CS5229 Semester 1 2008/09
Conclusion
111 22 August 2008 NUS CS5229 Semester 1 2008/09
The numbers in the paper are not important. "
(the Internet has changed)
112 22 August 2008 NUS CS5229 Semester 1 2008/09
Measurement is difficult but useful
113 22 August 2008 NUS CS5229 Semester 1 2008/09
Many new techniques needed (e.g to
measure bottleneck bandwidth)
114 22 August 2008 NUS CS5229 Semester 1 2008/09
We can improve current design (e.g.
TCP if we know more about reordering)
115 22 August 2008 NUS CS5229 Semester 1 2008/09
We can identify problem (e.g. packet
corruption)
116 22 August 2008 NUS CS5229 Semester 1 2008/09
We can better model the behavior (e.g.
bursty packet loss)
117 22 August 2008 NUS CS5229 Semester 1 2008/09
We can infer much info from just a
packet trace (e.g. available bandwidth)