Burst 允许满足队列需要增加的带宽,甚至要求速率在有限的时间内大于 MIR( max-limit), Burst 发生仅当队列的 average-rate 在 burst-time 时间内小于 burst-threshold。 Burst 停止当队列的 average-rate 在 burst-time时间内大于或者等于 burst-threshlod
Burst 原理很简单,如果 burst 被允许 max-limit 被 burst-limit 代替,当 burst 被禁止 max-limit 恢复不变
- burst-limit (整型) :能被 burst 允许达到的最大上传和下载数据
- burst-time (时间) :一段时间,单位秒,用于平均速率的计算 (并非实际的 burst 时间长度)
- burst-threshold (整型):这个参数是通过计算后比对,并开关 burst 功能
- average-rate (隐含只读参数) :路由器计算平均速率根据 burst-time 划分为 16 份,每份都会计算出一个平均速率进行比对
- actual-rate (隐含只读参数) : 队列的实际传输带宽
Burst 事例
我们设置的 Queue 速率参数: limit-at=1M , max-limit=2M , burst-threshold=1500k , burst-limit=4M Burst-time=16s
客户将会下载一个4MByte( 32Mbit,队列单位是bit)数据,下载将从0秒开始,第二次下载将开始于第17秒, 最后一分钟传输将停止。
如同我们看到的客户要求的带宽 burst 在 6 秒钟能达到 4Mbps。这个最长的 burst 时间具有一个值( 最长突发时间 = burst-threshold * burst-time / burst-limit)。很快 burst 用完突发时间,剩下的数据下载将到 2Mbps。在 9秒钟后数据被下载完,一段时间没有流量, Burst 有 7 秒钟的空闲,并重新计算,第 16 秒开始将有新的下载开始。
注:从这个事例我们证明可以发生在下载的中间部分, Burst 持续了 4 秒钟。
每个 Average rate(平均速率)是根据 burst time 的 1/16,因此这个事例是 1 秒钟 计算一次平均速率
时间 | average-rate | burst | 实际速率 |
---|---|---|---|
0 | (0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0)/16=0Kbps | average-rate < burst-threshold → Burst 开启 | 4Mbps |
1 | (0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+4)/16=250Kbps | average-rate < burst-threshold → Burst 开启 | 4Mbps |
2 | (0+0+0+0+0+0+0+0+0+0+0+0+0+0+4+4)/16=500Kbps | average-rate < burst-threshold → Burst 开启 | 4Mbps |
3 | (0+0+0+0+0+0+0+0+0+0+0+0+0+4+4+4)/16=750Kbps | average-rate < burst-threshold → Burst 开启 | 4Mbps |
4 | (0+0+0+0+0+0+0+0+0+0+0+0+4+4+4+4)/16=1000Kbps | average-rate < burst-threshold → Burst 开启 | 4Mbps |
5 | (0+0+0+0+0+0+0+0+0+0+0+4+4+4+4+4)/16=1250Kbps | average-rate < burst-threshold → Burst 开启 | 4Mbps |
6 | (0+0+0+0+0+0+0+0+0+0+4+4+4+4+4+4)/16=1500Kbps | average-rate = burst-threshold → Burst 关闭 | 2Mbps |
7 | (0+0+0+0+0+0+0+0+0+4+4+4+4+4+4+2)/16=1625Kbps | average-rate = burst-threshold → Burst 关闭 | 2Mbps |
8 | (0+0+0+0+0+0+0+0+4+4+4+4+4+4+2+2)/16=1750Kbps | average-rate = burst-threshold → Burst 关闭 | 2Mbps |
9 | (0+0+0+0+0+0+0+4+4+4+4+4+4+2+2+2)/16=1750Kbps | average-rate = burst-threshold → Burst 关闭 | 2Mbps |
10 | (0+0+0+0+0+0+4+4+4+4+4+4+2+2+2+2)/16=1875Kbps | average-rate = burst-threshold → Burst 关闭 | 0Mbps |
11 | (0+0+0+0+0+4+4+4+4+4+4+2+2+2+2+0)/16=1875Kbps | average-rate = burst-threshold → Burst 关闭 | 0Mbps |
12 | (0+0+0+0+4+4+4+4+4+4+2+2+2+2+0+0)/16=1875Kbps | average-rate = burst-threshold → Burst 关闭 | 0Mbps |
13 | (0+0+0+4+4+4+4+4+4+2+2+2+2+0+0+0)/16=1875Kbps | average-rate = burst-threshold → Burst 关闭 | 0Mbps |
14 | (0+0+4+4+4+4+4+4+2+2+2+2+0+0+0+0)/16=1875Kbps | average-rate = burst-threshold → Burst 关闭 | 0Mbps |
15 | (0+4+4+4+4+4+4+2+2+2+2+0+0+0+0+0)/16=1875Kbps | average-rate = burst-threshold → Burst 关闭 | 0Mbps |
16 | (4+4+4+4+4+4+2+2+2+2+0+0+0+0+0+0)/16=1875Kbps | average-rate = burst-threshold → Burst 关闭 | 0Mbps |
17 | (4+4+4+4+4+2+2+2+2+0+0+0+0+0+0+0)/16=1625Kbps | average-rate = burst-threshold → Burst 关闭 | 2Mbps |
18 | (4+4+4+4+2+2+2+2+0+0+0+0+0+0+0+2)/16=1500Kbps | average-rate = burst-threshold → Burst 关闭 | 2Mbps |
19 | (4+4+4+2+2+2+2+0+0+0+0+0+0+0+2+2)/16=1375Kbps | average-rate < burst-threshold → Burst 开启 | 4Mbps |
20 | (4+4+2+2+2+2+0+0+0+0+0+0+0+2+2+4)/16=1375Kbps | average-rate < burst-threshold → Burst 开启 | 4Mbps |
21 | (4+2+2+2+2+0+0+0+0+0+0+0+2+2+4+4)/16=1375Kbps | average-rate < burst-threshold → Burst 开启 | 4Mbps |
22 | (2+2+2+2+0+0+0+0+0+0+0+2+2+4+4+4)/16=1375Kbps | average-rate < burst-threshold → Burst 开启 | 4Mbps |
23 | (2+2+2+0+0+0+0+0+0+0+2+2+4+4+4+4)/16=1500Kbps | average-rate = burst-threshold → Burst 关闭 | 2Mbps |
24 | (2+2+0+0+0+0+0+0+0+2+2+4+4+4+4+2)/16=1500Kbps | average-rate = burst-threshold → Burst 关闭 | 2Mbps |
25 | (2+0+0+0+0+0+0+0+2+2+4+4+4+4+2+2)/16=1500Kbps | average-rate = burst-threshold → Burst 关闭 | 2Mbps |
26 | (0+0+0+0+0+0+0+2+2+4+4+4+4+2+2+2)/16=1500Kbps | average-rate = burst-threshold → Burst 关闭 | 2Mbps |
27 | (0+0+0+0+0+0+2+2+4+4+4+4+2+2+2+2)/16=1625Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps |
28 | (0+0+0+0+0+2+2+4+4+4+4+2+2+2+2+2)/16=1750Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps |
29 | (0+0+0+0+2+2+4+4+4+4+2+2+2+2+2+2)/16=1875Kbps | average-rate > burst-threshold → Burst 关闭 | 0Mbps |
30 | (0+0+0+2+2+4+4+4+4+2+2+2+2+2+2+0)/16=1875Kbps | average-rate > burst-threshold → Burst 关闭 | 0Mbps |
31 | (0+0+2+2+4+4+4+4+2+2+2+2+2+2+0+0)/16=1875Kbps | average-rate > burst-threshold → Burst 关闭 | 0Mbps |
当 Burst-time=8s
如果我们减少 burst-time 为 8 秒,我们能看到在这个事例中 burst 仅在下载开始 每个 Average rate(平均速率)是根据 burst time 的 1/16,因此这个事例是 0.5 秒钟计算一次平均速
时间 | average-rate | burst | 实际速率 |
---|---|---|---|
0 | (0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0)/8=0Kbps | average-rate < burst-threshold → Burst 开启 | 4Mbps (2Mb per 0,5sek) |
0.5 | (0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+2)/8=250Kbps | average-rate < burst-threshold → Burst 开启 | 4Mbps (2Mb per 0,5sek) |
1 | (0+0+0+0+0+0+0+0+0+0+0+0+0+0+2+2)/8=500Kbps | average-rate < burst-threshold → Burst 开启 | 4Mbps (2Mb per 0,5sek) |
1.5 | (0+0+0+0+0+0+0+0+0+0+0+0+0+2+2+2)/8=750Kbps | average-rate < burst-threshold → Burst 开启 | 4Mbps (2Mb per 0,5sek) |
2 | (0+0+0+0+0+0+0+0+0+0+0+0+2+2+2+2)/8=1000Kbps | average-rate < burst-threshold → Burst 开启 | 4Mbps (2Mb per 0,5sek) |
2.5 | (0+0+0+0+0+0+0+0+0+0+0+2+2+2+2+2)/8=1250Kbps | average-rate < burst-threshold → Burst 开启 | 4Mbps (2Mb per 0,5sek) |
3 | (0+0+0+0+0+0+0+0+0+0+2+2+2+2+2+2)/8=1500Kbps | average-rate = burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
3.5 | (0+0+0+0+0+0+0+0+0+2+2+2+2+2+2+1)/8=1625Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
4 | (0+0+0+0+0+0+0+0+2+2+2+2+2+2+1+1)/8=1750Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
4.5 | (0+0+0+0+0+0+0+2+2+2+2+2+2+1+1+1)/8=1875Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
5 | (0+0+0+0+0+0+2+2+2+2+2+2+1+1+1+1)/8=2000Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
5.5 | (0+0+0+0+0+2+2+2+2+2+2+1+1+1+1+1)/8=2125Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
6 | (0+0+0+0+2+2+2+2+2+2+1+1+1+1+1+1)/8=2250Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
6.5 | (0+0+0+2+2+2+2+2+2+1+1+1+1+1+1+1)/8=2375Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
7 | (0+0+2+2+2+2+2+2+1+1+1+1+1+1+1+1)/8=2500Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
7.5 | (0+2+2+2+2+2+2+1+1+1+1+1+1+1+1+1)/8=2625Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
8 | (2+2+2+2+2+2+1+1+1+1+1+1+1+1+1+1)/8=2750Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
8.5 | (2+2+2+2+2+1+1+1+1+1+1+1+1+1+1+1)/8=2625Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
9 | (2+2+2+2+1+1+1+1+1+1+1+1+1+1+1+1)/8=2500Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
9.5 | (2+2+2+1+1+1+1+1+1+1+1+1+1+1+1+1)/8=2375Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
10 | (2+2+1+1+1+1+1+1+1+1+1+1+1+1+1+1)/8=2250Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
10.5 | (2+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1)/8=2125Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
11 | (1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1)/8=2000Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
11.5 | (1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1)/8=2000Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
12 | (1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1)/8=2000Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
12.5 | (1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1)/8=2000Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
13 | (1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1)/8=2000Kbps | average-rate > burst-threshold → Burst 关闭 | 0Mbps (0Mb per 0,5sek) |
13.5 | (1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+0)/8=1875Kbps | average-rate > burst-threshold → Burst 关闭 | 0Mbps (0Mb per 0,5sek) |
14 | (1+1+1+1+1+1+1+1+1+1+1+1+1+1+0+0)/8=1750Kbps | average-rate > burst-threshold → Burst 关闭 | 0Mbps (0Mb per 0,5sek) |
14.5 | (1+1+1+1+1+1+1+1+1+1+1+1+1+0+0+0)/8=1625Kbps | average-rate > burst-threshold → Burst 关闭 | 0Mbps (0Mb per 0,5sek) |
15 | (1+1+1+1+1+1+1+1+1+1+1+1+0+0+0+0)/8=1500Kbps | average-rate > burst-threshold → Burst 关闭 | 0Mbps (0Mb per 0,5sek) |
15.5 | (1+1+1+1+1+1+1+1+1+1+1+0+0+0+0+0)/8=1375Kbps | average-rate < burst-threshold → Burst 开启 | 0Mbps (0Mb per 0,5sek) |
16 | (1+1+1+1+1+1+1+1+1+1+0+0+0+0+0+0)/8=1250Kbps | average-rate < burst-threshold → Burst 开启 | 0Mbps (0Mb per 0,5sek) |
16.5 | (1+1+1+1+1+1+1+1+1+0+0+0+0+0+0+0)/8=1125Kbps | average-rate < burst-threshold → Burst 开启 | 0Mbps (0Mb per 0,5sek) |
17 | (1+1+1+1+1+1+1+1+0+0+0+0+0+0+0+0)/8=1000Kbps | average-rate < burst-threshold → Burst 开启 | 2Mbps (1Mb per 0,5sek) |
17.5 | (1+1+1+1+1+1+1+0+0+0+0+0+0+0+0+1)/8=1000Kbps | average-rate < burst-threshold → Burst 开启 | 4Mbps (2Mb per 0,5sek) |
18 | (1+1+1+1+1+1+0+0+0+0+0+0+0+0+1+2)/8=1125Kbps | average-rate < burst-threshold → Burst 开启 | 4Mbps (2Mb per 0,5sek) |
18.5 | (1+1+1+1+1+0+0+0+0+0+0+0+0+1+2+2)/8=1250Kbps | average-rate < burst-threshold → Burst 开启 | 4Mbps (2Mb per 0,5sek) |
19 | (1+1+1+1+0+0+0+0+0+0+0+0+1+2+2+2)/8=1375Kbps | average-rate < burst-threshold → Burst 开启 | 4Mbps (2Mb per 0,5sek) |
19.5 | (1+1+1+0+0+0+0+0+0+0+0+1+2+2+2+2)/8=1500Kbps | average-rate = burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
20 | (1+1+0+0+0+0+0+0+0+0+1+2+2+2+2+1)/8=1500Kbps | average-rate = burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
20.5 | (1+0+0+0+0+0+0+0+0+1+2+2+2+2+1+1)/8=1500Kbps | average-rate = burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
21 | (0+0+0+0+0+0+0+0+1+2+2+2+2+1+1+1)/8=1500Kbps | average-rate = burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
21.5 | (0+0+0+0+0+0+0+1+2+2+2+2+1+1+1+1)/8=1625Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
22 | (0+0+0+0+0+0+1+2+2+2+2+1+1+1+1+1)/8=1750Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
22.5 | (0+0+0+0+0+1+2+2+2+2+1+1+1+1+1+1)/8=1875Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
23 | (0+0+0+0+1+2+2+2+2+1+1+1+1+1+1+1)/8=2000Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
23.5 | (0+0+0+1+2+2+2+2+1+1+1+1+1+1+1+1)/8=2125Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
24 | (0+0+1+2+2+2+2+1+1+1+1+1+1+1+1+1)/8=2250Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
24.5 | (0+1+2+2+2+2+1+1+1+1+1+1+1+1+1+1)/8=2375Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
25 | (1+2+2+2+2+1+1+1+1+1+1+1+1+1+1+1)/8=2500Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
25.5 | (2+2+2+2+1+1+1+1+1+1+1+1+1+1+1+1)/8=2500Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
26 | (2+2+2+1+1+1+1+1+1+1+1+1+1+1+1+1)/8=2375Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
26.5 | (2+2+1+1+1+1+1+1+1+1+1+1+1+1+1+1)/8=2250Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
27 | (2+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1)/8=2125Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
27.5 | (1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1)/8=2000Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
28 | (1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1)/8=2000Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
28.5 | (1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1)/8=2000Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
29 | (1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1)/8=2000Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
29.5 | (1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1)/8=2000Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
30 | (1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1)/8=2000Kbps | average-rate > burst-threshold → Burst 关闭 | 2Mbps (1Mb per 0,5sek) |
30.5 | (1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1)/8=2000Kbps | average-rate > burst-threshold → Burst 关闭 | 0Mbps (0Mb per 0,5sek) |
31 | (1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+0)/8=1875Kbps | average-rate > burst-threshold → Burst 关闭 | 0Mbps (0Mb per 0,5sek) |