CN-recitation10

advertisement
Communication Networks
Recitation 10
QoS
Comnet 2010
1
Quality of Service: What is it?
Multimedia applications:
network audio and video
QoS
network provides
application with level of
performance needed for
application to function.
Comnet 2010
2
Traffic Shaping
The Leaky Bucket Algorithm
(a) A leaky bucket with water. (b) a leaky bucket with packets.
Comnet 2010
3
Leaky Bucket example
• A source generates data in terms of bursts: 3 MB
bursts lasting 2 msec once every 100 msec.
• The network offers a bandwidth of 60 MB/sec.
• The leaky bucket has a capacity of 4 MB. How does
the output look like?
• Input: 0-2 msec: 1500 MB/sec; 100-102 msec: 1500
MB/sec; 200-202 msec: 1500 MB/sec; …
• Output: 0-50 msec: 60 MB/sec; 100-150 msec: 60
MB/sec; ….
Comnet 2010
4
Leaky Bucket CNTD.
• What should be the capacity of the leaky
bucket to avoid loss?
• During the burst, data inflow is at the rate of
1.5 MB/msec and the outflow is at the rate of
0.06 MB/msec.
• So accumulation is at the rate of 1.44
MB/msec. So at the end of 2 msec, there will
be an accumulation of 2.88 MB. This is the
minimum leaky bucket capacity to avoid
buffer overflow and hence data loss.
Comnet 2010
5
The Token Bucket Algorithm
5-34
(a) Before.
(b) After.
Token bucket allows some burstiness (up to the number of token the
bucket can hold)
Comnet 2010
6
Token Bucket – simple example
• 2 tokens of size 100 bytes added each
second to the token bucket of capacity 500
bytes
– Avg. rate = 200 bytes/sec, burst size = 500 bytes
– Packets bigger than 500 bytes will never be sent
– Peak rate is unbounded – i.e., 500 bytes of burst
can be transmitted arbitrarily fast
Comnet 2010
7
Token Bucket example
•
•
•
•
Bucket capacity: 1 MB
Token arrival rate: 2 MB/sec
Network capacity: 10 MB/sec
Application produces 0.5 MB burst
every 250 msec For 3 seconds
• The bucket is full of tokens
Comnet 2010
8
Token Bucket example CNTD.
• Initially, output can be at the rate of 10 MB/s.
But how long can the bucket sustain this?
– First, 1MB can be sent
– From then on, for X seconds, the token input rate
is 2MB/s, the traffic rate is 10MB/s
– 1 + 2X = 10X  8X = 1  X = 1/8 sec =125 ms
– The bucket can transmit 1.25 MB in this time >
0.5MB the application produces
• Output: 0-50 ms: 10 MB/s
50-250 ms: None
Comnet 2010
9
Token Bucket example CNTD.
• At the end of this period, the amount of
tokens in the bucket is:
– 1MB+250ms*2MB/s-0.5MB=1MB
• So the bucket is full again!
• Repeat for 3 seconds
Comnet 2010
10
Minimum Bucket size and Token
Rate
• Discarding Bucket (Policing)
– Bucket Size ≥ 0.5MB
– Token Rate ≥ 0.5MB/250ms = 2MB/s
• Queueing Bucket (Shaping)
– How will the traffic look with Bucket Size = 200K?
•
•
•
•
•
0.2+2X=10X  X=0.2/8=0.025s=25ms
0-25ms : 10 MB/s = 0.25MB. 0.25MB left
0.25MB/(2MB/s) = 125ms
25-150ms: 2MB/s
150-250ms: None
– Tokens after: 100ms*2MB/s=0.2MB
Comnet 2010
11
(σ,ρ) Model
• Over an interval of length t the number of packets/bits
that are admitted is less than or equal to (σ+ρt).
• Composing flows (σ1,ρ1) & (σ2,ρ2)
– Resulting flow (σ1+ σ2,ρ1+ρ2)
• What does a router need to support streams: (σ1,ρ1)
… (σk,ρk)
– Buffer size B > Σ σi
– Rate R > Σ ρi
• Admission Control (at the router)
– Can support (σk,ρk) if
– Enough buffers and bandwidth
• R > Σ ρi and B > Σ σi
Comnet 2010
12
(σ,ρ) Model example
• The line from the previous question has
router with 4MB of buffers. How many
flows of the above kind can it accept?
• σ = 0.5MB, ρ = 0.5MB/250ms = 2MB/s
• For n flows, we require 0.5n MB buffers,
2n MB/s rate  n = 5.
• Each line will be served with a
0.5MB:2MB/s token bucket
Comnet 2010
13
Random Early Detection
(RED)
• Basic premise:
– router should signal congestion when the queue first starts
building up (by dropping a packet)
– but router should give flows time to reduce their sending
rates before dropping more packets
– Note: when RED is coupled with ECN, the router can simply
mark a packet instead of dropping it
• Therefore, packet drops should be:
– early: don’t wait for queue to overflow
– random: don’t drop all packets in burst, but space them
Comnet 2010
QoS
14
RED
• FIFO scheduling
• Buffer management:
– Probabilistically discard packets
– Probability is computed as a function of average
queue length (why average?)
Discard Probability
1
0
min_th
max_th queue_len Average
Queue Length
Comnet 2010
15
RED (cont’d)
Discard
Discard Probability (P)
1
0
min_th max_th queue_len Average
Queue Length
Enqueue
Discard/Enqueue
probabilistically
Comnet 2010
16
RED (cont’d)
• Setting the discard probability P:
avg_len - min_th
P  max_ P
max_th - min_th
Discard Probability
max_P
1
P
0
min_th
max_th queue_len Average
Queue Length
avg_len
Comnet 2010
17
Average vs Instantaneous
Queue
Comnet 2010
18
Download