measurement and modelling i - mit opencourseware...c=100 mbps, u=0.95 x c=20 mbps, u=0.5 y capacity...
TRANSCRIPT
![Page 1: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/1.jpg)
Measurement and Modelling I:End-to-End Bandwidth Measurements
6.829 Lecture 11
October 10, 2002
Jacob Strauss
1
![Page 2: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/2.jpg)
End-to-End Measurements
Goal: Bandwidth-Aware Applications• Is a path fast enough?• Which path is faster?
What is bandwidth?• Link Capacity: physical link speed (e.g. 100 Mbps Ethernet)
. for link i, link capacity ci.
• Path Capacity: minimum capacity link along a path
. C = mini=0...n(ci)
• Link Utilization: fraction of link capacity used over some time interval
. 0 ≤ ui ≤ 1
• Available Bandwidth: minimum spare capacity along a path over some interval
. A = mini=0...n(1− ui)ci
2
![Page 3: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/3.jpg)
Example Topology
C=10 Mbps, u=0.2C=100 Mbps, u=0.95
C=20 Mbps, u=0.5X
Y
Capacity from X to Y?
![Page 4: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/4.jpg)
Example Topology
C=10 Mbps, u=0.2C=100 Mbps, u=0.95
C=20 Mbps, u=0.5X
Y
Capacity from X to Y? C = 10Mbps
Available bandwidth from X to Y?
![Page 5: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/5.jpg)
Example Topology
C=10 Mbps, u=0.2C=100 Mbps, u=0.95
C=20 Mbps, u=0.5X
Y
Capacity from X to Y? C = 10Mbps
Available bandwidth from X to Y? A = 5Mbps
3
![Page 6: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/6.jpg)
Problem: Capacity Estimation
X Y
C1C2
C3
How can we measure the path capacity between X and Y ?
4
![Page 7: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/7.jpg)
Packet Pair on an unloaded path
X Y
tt
C1C2
C3
Send two packets, of P bits each, back-to-back
Record the difference between arrival times, ∆t.
Path Capacity is P∆t
5
![Page 8: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/8.jpg)
Packet Pair Complications: Cross Traffic
X Y
t
C1C2
C3
t
other packet
probe packet
∆t >P
C
6
![Page 9: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/9.jpg)
Packet Pair Complications: Multiple Queues
X Y
C1C2
C3
t
other packet
probe packett
∆t <P
C
7
![Page 10: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/10.jpg)
Delay Measurements Block Diagram
Timestamps
Filters
Estimates
Network
Packet Source
8
![Page 11: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/11.jpg)
New Problem: Path capacity and packet sizedistribution
Long train of packets with size P , sent every δ seconds
Record either one-way-delay or round-trip time for each packet
• RTT is easier to measure. Why?
Use phase plots:
• For each n, plot a point at (rttn, rttn + 1)
9
![Page 12: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/12.jpg)
Delay Components & Model
Components
• Propagation delays• Queuing delays• Processing delay (lookup & scheduling)• Transmission delay
Model assuming a single queue
• Fixed delay: D
• waiting time: wn
• service time: yn = Pµ
• total delay: rttn = D + wn + Pµ
10
![Page 13: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/13.jpg)
Explain the Plot: light load conditions
Assume that the tight link load is low:
• wn+1 = wn + εn
⇒ rttn+1 = rttn + εn
![Page 14: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/14.jpg)
Explain the Plot: light load conditions
Assume that the tight link load is low:
• wn+1 = wn + εn
⇒ rttn+1 = rttn + εn
Points plotted near the line y = x above (x, y) = (D,D)
11
![Page 15: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/15.jpg)
Explain the Plot: heavy load conditions
Assume B bits in between probe packets n and n + 1
wn+1 = wn + Bµ − δ
![Page 16: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/16.jpg)
Explain the Plot: heavy load conditions
Assume B bits in between probe packets n and n + 1
wn+1 = wn + Bµ − δ
Now assume Bµ � δ
• We have probe compression: k − 1 packets arrive before B clears the queue• These k packets depart every P/µ seconds
for the k packets: wn+i − wn+i−1 = P/µ− δ
• why is P/µ− δ < 0?
![Page 17: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/17.jpg)
Explain the Plot: heavy load conditions
Assume B bits in between probe packets n and n + 1
wn+1 = wn + Bµ − δ
Now assume Bµ � δ
• We have probe compression: k − 1 packets arrive before B clears the queue• These k packets depart every P/µ seconds
for the k packets: wn+i − wn+i−1 = P/µ− δ
• why is P/µ− δ < 0?
result is rttn+1 = rttn + (P/µ− δ)
![Page 18: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/18.jpg)
Explain the Plot: heavy load conditions
Assume B bits in between probe packets n and n + 1
wn+1 = wn + Bµ − δ
Now assume Bµ � δ
• We have probe compression: k − 1 packets arrive before B clears the queue• These k packets depart every P/µ seconds
for the k packets: wn+i − wn+i−1 = P/µ− δ
• why is P/µ− δ < 0?
result is rttn+1 = rttn + (P/µ− δ)
We now know the bottleneck capacity µ from the plot.
12
![Page 19: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/19.jpg)
Packet size distribution
Assume that between packets n and n + 1, bn bits from other flowsjoin queue• Use Lindley’s recurrence:
wn+1 = (wn + yn − δn)+, where x+ means max(x, 0)
![Page 20: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/20.jpg)
Packet size distribution
Assume that between packets n and n + 1, bn bits from other flowsjoin queue• Use Lindley’s recurrence:
wn+1 = (wn + yn − δn)+, where x+ means max(x, 0)
Apply twice:
wbn = (wn + P/µ− δb)+
wn+1 =((wn + P/µ− δb)+ + bn/µ− (δ − δb)
)+
![Page 21: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/21.jpg)
Packet size distribution
Assume that between packets n and n + 1, bn bits from other flowsjoin queue• Use Lindley’s recurrence:
wn+1 = (wn + yn − δn)+, where x+ means max(x, 0)
Apply twice:
wbn = (wn + P/µ− δb)+
wn+1 =((wn + P/µ− δb)+ + bn/µ− (δ − δb)
)+
wn+1 = wn + (P + bn)/µ− δ
bn = µ(wn+1 − wn + δ)− P
Now we can find packet sizes from peaks in PDF of wn+1−wn + δ
13
![Page 22: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/22.jpg)
Example Distribution Plot
0
100
200
300
400
500
600
700
800
0 50 100 150 200
pair
coun
t
received gap in usec (2 us buckets)
Squeezed Pair Histogram: ccicom.ron.lcs.mit.edu --> nyu.ron.lcs.mit.edu
1500
B
500B
sent
gap
b2b
14
![Page 23: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/23.jpg)
New Problem: Available Bandwidth Estimation
Can we use the same packet train to estimate A?
![Page 24: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/24.jpg)
New Problem: Available Bandwidth Estimation
Can we use the same packet train to estimate A?
No, but we can determine whether P/δ > A or P/δ < A
• Later we’ll build on this test to estimate A
![Page 25: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/25.jpg)
New Problem: Available Bandwidth Estimation
Can we use the same packet train to estimate A?
No, but we can determine whether P/δ > A or P/δ < A
• Later we’ll build on this test to estimate A
Basic idea: instead of just comparing wn+1 to wn, compare wn town+1, wn+2, wn+3, . . .
Method: Plot evolution of wn versus n
15
![Page 26: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/26.jpg)
Pathload Delay Model
The packet train consists of K packets of size L sent at a constantrate R.
Path consists of H links, each with capacity Ci, available bandwidthAi, and queue length qk
i when the kth probe packet arrives
![Page 27: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/27.jpg)
Pathload Delay Model
The packet train consists of K packets of size L sent at a constantrate R.
Path consists of H links, each with capacity Ci, available bandwidthAi, and queue length qk
i when the kth probe packet arrives
The One-Way-Delay for probe k is:
Dk =H∑i=1
(L
Ci+
qki
Ci
)
![Page 28: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/28.jpg)
Pathload Delay Model
The packet train consists of K packets of size L sent at a constantrate R.
Path consists of H links, each with capacity Ci, available bandwidthAi, and queue length qk
i when the kth probe packet arrives
The One-Way-Delay for probe k is:
Dk =H∑i=1
(L
Ci+
qki
Ci
)
∆Dk ≡ Dk+1 −Dk =H∑i=1
∆qki
Ci
16
![Page 29: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/29.jpg)
Increasing Trends
If R > A, then ∆Dk > 0 for k ≥ 1
If R ≤ A, then ∆Dk = 0 for k ≥ 1
![Page 30: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/30.jpg)
Increasing Trends
If R > A, then ∆Dk > 0 for k ≥ 1
If R ≤ A, then ∆Dk = 0 for k ≥ 1
Intuition for a single link i with Ai < R:
• Queue grows longer with each probe packet that arrives• ∆qk
i = (L + uiCiT )− C1T = (R−Ai)T > 0
For a single link with Ai ≥ R:
• ∆qki = 0
By induction, show that ∆Dk > 0 when R > A
![Page 31: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/31.jpg)
Increasing Trends
If R > A, then ∆Dk > 0 for k ≥ 1
If R ≤ A, then ∆Dk = 0 for k ≥ 1
Intuition for a single link i with Ai < R:
• Queue grows longer with each probe packet that arrives• ∆qk
i = (L + uiCiT )− C1T = (R−Ai)T > 0
For a single link with Ai ≥ R:
• ∆qki = 0
By induction, show that ∆Dk > 0 when R > A
Plot Dk – if ∆Dk > 0 then R > A
17
![Page 32: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/32.jpg)
Complications
Ai not a constant
• varies on both short and long time scales
Need to choose K and L carefully
• Too short – can’t tell if ∆Dk > 0• Too long – flood link• Compromise – use multiple trains
How did we choose R initially?
18
![Page 33: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/33.jpg)
Iterative Search for A
maintain two state variables: Rmax and Rmin.
always have Rmin ≤ A ≤ Rmax .
Pick a new R halfway between Rmax and Rmin
Test whether R <> A, update either Rmax or Rmin
Stop when Rmax and Rmin are close enough.
In practice the search is more complicated because the outcome oftesting R <> A is sometimes unsure
19
![Page 34: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/34.jpg)
Pathload Block Diagram
Timestamps
Filters
Estimates
Network
Packet Source
20
![Page 35: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/35.jpg)
Available Bandwidth isn’t the full story
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0.01 0.1 1 10 100
CD
F
BTC / Pathload rate
BTC vs Pathload: 15 RON hosts -- one test per path
21
![Page 36: Measurement and Modelling I - MIT OpenCourseWare...C=100 Mbps, u=0.95 X C=20 Mbps, u=0.5 Y Capacity from X to Y? C = 10Mbps Available bandwidth from X to Y? A = 5Mbps 3 Problem: Capacity](https://reader033.vdocuments.site/reader033/viewer/2022041820/5e5d7156df64f05fec28bddd/html5/thumbnails/36.jpg)
Conclusion
There’s a lot you can learn with simple probes
• packet pair• packet trains — regular interval, constant packet size
Just by looking at packet delay variations you can determine
• Path Capacity• Common Packet Sizes• Available Bandwidth
22