以adsl为例adsl上传下载是不对等的
一般adsl上传为512k下载如4m的话
电信在ros里显示为上传400来k下载3.5m.因为算法的不同所以这个必须得清楚.
通常你想得到最好的速度.
上传保留值一般在320k下载3m这样的速度来设置ping值基本上跑满保留值ping值不变
既然了解了保留值现在开始了解queue tree,我们来看看一个标准的htb
类名 接口 数据包 数据类型 最大速度 优先级
1u pppoe-out1 无 pcq 320k 8
游戏 1u 游戏 pfifo 无 1
网页 1u 网页 pfifo 无 2
其它 1u 其它 pfifo 无 8
这就是接口型的htb
通常这种htb是不对源ip进行分配速度的.基本上都是客户机随机得到速度.
但是它可以对pppoe-out通过的数据包进行排序.通过这个我们可以让出口的数据包进行优先出去
下载也是同理通常因为gobal-in接口受到标记的限制.
因为prerouting只能对数据包使用一次标记.所以我们只好转到forward进行下载数据包的标记
而forward只能使用gobal-out接口.这个接口是在in接口之后的.
类名 接口 数据包 数据类型 最大速度 优先级
1d gobal-out 无 pcq 3m 8
游戏1 1d 游戏 pfifo 无 1
网页1 1d 网页 pfifo 无 2
其它1 1d 其它 pfifo 无 8
向上面一样这个接口的下载数据包优先就做出来了.
下面我们来说说速度分配的做法
在queue tree里.没有父类的类可以对数据包进行速度分配
类名 接口 数据包 数据类型 最大速度
游戏 gobal-in 游戏 pcq源地址100k 320k
游戏上传 gobal-out 游戏 pcq目标地址1m 3m
这样每个用户都可以得到游戏100k的上传,当然你pcq的速度设为0也行
同样这个得到了1m的下载,当然这里你也可以设为0.设为0的前提是你得很有把握你能够准确的识别出游戏这个数据包.
同样其它包这样做就行了.
这样就完成了一个简单而又灵活的htb了
这样的做法可以很灵活地控制你的数据包的流量.如果压力较大.你也可以压制上传时其它数据包的流量以保证游戏网页的流畅