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