Title: Available Bandwidth
1Available Bandwidth
- SpeakerChun Shih Lin (???)
- Date 2005/03/19
2Outline
- Introduction
- Background
- Related work
- Proposed method
3Outline
- Introduction
- Background
- Related work
- Proposed method
4Introduction (1/4)
- Problem How to measure available bandwidth for
an end-to-end network path ?
Receiver
Sender
Internet
5Introduction (2/4)
- Available bandwidth
- Important parameter for admission control, QoS
management, streaming applications
Receiver
Sender
Internet
According to those received probing packets, we
can measure and analyze the available bandwidth
Probing packet
6Introduction (3/4)
n number of hops in a path
capacity of linki avail-bw of the path
at time t utilization of linki
Link1 2Mbps 20
Link2 1Mbps 30
Link3 3Mbps 50
Sender
Receiver
A(2) C1 x (1-u1) 1.6Mbps A(2) C2 x (1-u2)
0.7Mbps A(2) C3 x (1-u3) 1.5Mbps
A(2) C2 x (1-u2) 0.7Mbps
7Introduction (4/4)
- Available bandwidth changes with time,
measurement is a big challenge - How to find bottleneck ?
- Tight link is not also bottleneck
- Other definition
- Average transmission rate
8Outline
- Introduction
- Background
- Related work
- Proposed method
9Background
10Outline
- Introduction
- Background
- Related work
- Proposed method
11IGI (Initial Gap Increasing) (1/4)
back-to-back packet pair
gi
go
P2
P1
gi initial gap (time between first
bit of P1 and P2 when they enter the
router) go output gap (time between
first bit of P1 and P2 when they leave
the router)
P2
P1
P2
P1
router
Cross traffic packets
- Benefit Reflect whether the link is bursting or
not
- Tradeoff The length of gi
- Too short Cause probe overflow
- Too long Underestimate the available bandwidth
12IGI (2/4)
Receiver
gi
Sender
P1
P2
P3
bottleneck
Cs
Cr
Cs Cross traffic Sender Cr Cross traffic
Receiver
- Probing packets length 60 packets (per phase)
gi initial gap go output gap
13IGI (2/4)
Receiver
go
Sender
P2
P1
P3
bottleneck
Stop or continue next phase
Cs
Cr
Cs Cross traffic Sender Cr Cross traffic
Receiver
- Probing packets length 60 packets (per phase)
gi initial gap go output gap
14IGI (2/4)
?
New gi gi ?
Receiver
Sender
P1
P2
P3
bottleneck
Cs
Cr
Cs Cross traffic Sender Cr Cross traffic
Receiver
- Probing packets length 60 packets (per phase)
gi initial gap go output gap
15IGI (2/4)
Receiver
go
Sender
P2
P1
P3
bottleneck
Collecting the each back-to-back packets
intervals (gi and go)
Cs
Cr
Cs Cross traffic Sender Cr Cross traffic
Receiver
- Probing packets length 60 packets (per phase)
gi initial gap go output gap
16IGI (3/4)
average gap difference (s)
- Turning point Avg_go - Avg_gi0 then algorithm
stops
Turning point
0
initial gap (s)
gi
Increased_gaps
P2
P1
P2
P1
router
Cross traffic packets
gi initial gap go output gap
Bottleneck link capacity
transmission delay on bottleneck link
17IGI (4/4)
Bottleneck link capacity
gi initial gap go output gap
receive
P3
P2
P1
time
2
3
1
1
send
P3
P2
P1
11
6
8
time
1
2
0
18PTR (Packet Transmission Rate) (1/6)
Receiver
gi
Sender
P1
P2
P3
bottleneck
Cs
Cr
Cs Cross traffic Sender Cr Cross traffic
Receiver
- Probing packets length 60 packets (per phase)
gi initial gap go output gap
19PTR (Packet Transmission Rate) (2/6)
Receiver
go
Sender
P2
P1
P3
bottleneck
Stop or continue next phase
Cs
Cr
Cs Cross traffic Sender Cr Cross traffic
Receiver
- Probing packets length 60 packets (per phase)
gi initial gap go output gap
20PTR (Packet Transmission Rate) (3/6)
?
New gi gi ?
Receiver
Sender
P1
P2
P3
bottleneck
Cs
Cr
Cs Cross traffic Sender Cr Cross traffic
Receiver
- Probing packets length 60 packets (per phase)
gi initial gap go output gap
21PTR (Packet Transmission Rate) (4/6)
Receiver
go
Sender
P2
P1
P3
bottleneck
Collecting the each back-to-back packets
intervals (gi and go)
Cs
Cr
Cs Cross traffic Sender Cr Cross traffic
Receiver
- Probing packets length 60 packets (per phase)
gi initial gap go output gap
22PTR (Packet Transmission Rate) (5/6)
- Algorithm terminates at turning point
- Average transmission rate of packet train
Available bandwidth
23PTR (Packet Transmission Rate) (6/6)
gi initial gap go output gap
receive
P3
P2
P1
time
2
3
1
1
send
P3
P2
P1
11
6
8
time
1
2
0
24Outline
- Introduction
- Background
- Related work
- Proposed method
25Proposed method (1/10)
- Create a gap function
- Gap is increased by a better choice
- Improve IGI/PTR probing phases
26Proposed method(2/10)
Receiver
gi
Sender
P1
P2
P3
bottleneck
Cs
Cr
Cs Cross traffic Sender Cr Cross traffic
Receiver
- Probing packets length 60 packets (per phase)
gi initial gap go output gap
27Proposed method (3/10)
Receiver
go
Sender
P2
P1
bottleneck
Stop or continue next phase
Cs Cross traffic Sender Cr Cross traffic
Receiver
Cs
Cr
gi initial gap go output gap
- Probing packets length 60 packets (per phase)
28Proposed method (4/10)
Sender
Receiver
New gi gi ?
P2
P1
P3
bottleneck
Cs
Cr
? generate by gap function
Cs Cross traffic Sender Cr Cross traffic
Receiver
gi initial gap go output gap
29Proposed method (5/10)
- Gap function
- Analysis from average_gi and average_go
- At first phase function should offer an better
increased gap - to next probing initial gap.
- Initial gap set too small
- So set ? 1
New gi gi 1
30Proposed method (6/10)
- Traffic models
- Policed by leaky bucket policing mechanism
-
Burst parameter
Average rate parameter
Traffic
Traffic of a connection in interval t
Time
31Proposed method (7/10)
arrival rate of probing packet
difference of departure time between P1 and P2
arrive
departure
P1
P1
departure
arrive
P2
P2
32Proposed method (8/10)
burst parameter average rate parameter
output link capacity packet size
Maximum waiting time
33Proposed method (9/10)
- Difference of departure time between P1 and P2
34Proposed method (10/10)
- Experiment scenario (using NS2)
- Single hop model
- Packet size 700 bytes
- Each probing uses 60 packets
- Cross traffic is generated by CBR (Constant Bit
Rate)
35END
36Probing
- Active Probing
- Effectively detect endpoints situation by
diagnosing timely information (egg. RTT) - Introducing additional network traffic
37Tools and Algorithms
38Cprobe (1/2)
Sender
Receiver
Internet
first
last
Echo transmission time
Probing until last echo packet report
time between 1th and last packet
39Cprobe (2/2)
- Problem
- No concern about cross traffic
- Only adapted for local area network
40Delphi (1/3)
Packet train
Sender
Receiver
Internet
Analyzing packets interarrival time and
calculating available bandwidth
20
20
21
22
probing
1
2
3
4
5
6
7
8
9
10
12
13
time
41Delphi (2/3)
Dynamic available bandwidth in T
Index of link of a queue
A link capacity of a queue
A time interval
Number of cross traffic bytes inserted in T
input
output
a router queue
Probe packet
A snapshot of a queue
Cross traffic packet
A single queue router
Empty
42Delphi (3/3)
- Problem
- Exponentially increasing packet-spacing may
overestimate the available bandwidth due to
burst of cross-traffic
43TOPP (Trains of Packet Pairs) (1/7)
Back-to-back packet pair
Sender
Receiver
Internet
tc
ta
tb
?TP
?TP
Source
Sink
b
b
b
b
b
b
ta gt tb gt tc
Probe packet with size b
b
44TOPP (2/7)
Rate omin
Receiver
Sender
N packet pairs (flow 1)
Internet
back-to-back packet pair initial transmission
rate
Omin
45TOPP (3/7)
Receiver
Sender
Internet
Measuring the receiving rate and decide next
probe transmission rate
back-to-back packet pair initial transmission
rate
Omin
46TOPP (4/7)
- Increasing probing rate each probing rate
increased by ?
New Rate omin?
Receiver
Sender
N packet pairs (flow 2)
Internet
Measuring the receiving rate and decide next
probe transmission rate
back-to-back packet pair initial transmission
rate
Omin
47TOPP (5/7)
- Until probing rate met omax
Final Rate omax
Receiver
Sender
N packet pairs (flow n)
Internet
Compare the total transmission rates and
receiving rates
back-to-back packet pair initial transmission
rate
Omax
48TOPP (6/7)
o
o transmission rate f receiving rate
Li congestible link capacity A available
bandwidth CTi cross traffic
f o
L1
L2
L3
f
- Decide available bandwidth
Link1 L12Mbps CT11Mbps
Link2 L21Mbps CT20.5Mbps
Link3 L32Mbps CT31Mbps
Sender
Receiver
A(2) L1-CT1 1.0Mbps A(2) L2-CT2
0.5Mbps A(2) L3 -CT3 1.0Mbps
Agt
49TOPP (7/7)
- Problems
- Rate bound
- Packet pair length
- The correctness of Cross traffic could affect
the estimation of available bandwidth
50TOPP
f receiving rate O sending rate m cross
traffic rate l link capacity
t1 , t2 ,t3 each links
av-bw
51TOPP
Omin initial probe rate Omax probe
packets end up with this rate
52PathChirp (1/4)
B (sink)
A (source)
A chirp N probe packets with same size
Time
T?N-1
T?N-2
T?N-3
T
T?
Probe packets are separated by exponentially
spacing time
53PathChirp (2/4)
A chirp typical queuing delay signature
54PathChirp (3/4)
- Studying from the signature
- Excursion 1 if qk lt qk1 then Ek Rk,
- Ek per packet avail-bw
- Rk P/?k ,
- P packet size
- ?k spacing time between packets k and k1
- qk queuing delay of packet k
- Excursion 2
- l start packet of excursion 2
- Others
Ek Rl, kgtl
Ek Rx , x N-1
55PathChirp (4/4)
per chirp avail-bw per packet avail-bw
spacing time between packets k and k1
56Pathload (1/4)
- SLoPS (Self-Loading Periodic Streams)
Sender
Receiver
internet
Sending K packets size L with a transmission rate
R which being sent in period T
Estimating the Avail-bw
probe packet timestamp
57Pathload (2/4)
- Iterative rate adjustment algorithm
1
58Pathload (3/4)
- Iterative rate adjustment algorithm
2
A is bounded in
59Pathload (4/4)
- Problems
- SLoPS does not instantly reflect the burst of the
link - Iteration algorithm convergence time takes too
long
60OWD (One Way Delay)
Sender
Receiver
internet
one way delay per packet number of hops
packet size link capacity queuing delay
61OWD (One Way Delay)
62Delay detection
one way delay per packet group number
63OWD (One Way Delay)
OWD of packet with size Lk N number of
links probe packet size capacity
of linki queue delay of packet k at link
i processing delay at link i
Receiver
Sender
Internet
????
64- Available bandwidth Definition
n number of hops in a path
capacity of linki avail-bw of the path
at time t utilization of linki
Link1 2Mbps 20
Link2 1Mbps 30
Link3 3Mbps 50
Sender
Receiver
A(2) C1 x (1-u1) 1.6Mbps A(2) C2 x (1-u2)
0.7Mbps A(2) C3 x (1-u3) 1.5Mbps
65IGI algorithm
66PTR formula