写给想做HTB限速,又没有成功的朋友!
本帖最后由 mching 于 2010-1-28 09:43 编辑本文完全来自于自己的经验,仅供参考~!转载请注明出处!~
要想做限速,必须要知道以下几点:
首先要知道自己要限制什么的速度,谁的速度,于是需要用的标记,即Mangle。
其次要知道怎么限速,是限制上传,还是下载?
最后要知道所做的限速是否成功,即需要知道如何检查!
1、标记(mangle)
这是很有学问的一件事情,ros对数据包的标记不是很好,必须要通过标记连接以后再来标记数据包!
即,先通过mark connection,再通过connection来mark packet!(问:为什么非要标记成packet,不能直接用connection?)
mark的时候需注意passthrough,前面标记过的connection且勾选了passthrough,后面条件符合该连接的时候就会标记成后面的连接。
每个连接只会有一个标记!切记,切记!
2、Parent(父节点)
个人感觉很有意思的意见事情,因为ros的帮助文档中明确说明了,ros是管出不管入,而前面标记的都是整个连接的数据包(既有上行,又有下行!)
在设置htb的时候,父节点设置为wan口就为上行的流量,父节点为lan口就为下行的流量。
此外,父节点仅负责流量的整形与优先级的排队,并不存储任何数据包,即它是不存在任何队列的!
3、firewall(防火墙)
通过ros所有的连接都是掌控在firewall的法眼中的,通过connection的标签可以很容易的观察到所有用户的连接情况。
在connection mark中很容易看到某条连接是被自己标记成了什么,最好的情况是所有的连接均被标记,这样后面的htb才比较准确!
这是至关重要的一步,如果connection都没有被打上标记,限速注定是失败的!
4、Queue Tree
只需要说一点,某个节点只要被其他节点认成parent,它就失去了packet mark的权利!
这也是第一点中为什么标记成packet而不直接用connection的原因!
只要叶子节点在packet mark中选中标记的packet才有效!
5、Limit At & Max Limit
很多人误解Max Limit是最好的限速工具,其实不然,在HTB中最重要的是limit At(个人简介)!
ros总是保证了Limit At以后才有闲心去检测Max Limit!
说的比较笼统,理解靠个人!
希望对那些学了一点又有些困惑的朋友有些帮助,一无所知的就当是来打了酱油! :lol说的不错做个朋友一交流下7851858 我来打酱油 我的限速 某一个面. 图上的是光纤的 mark~
明天认真看一下
现在睡觉了 说的不错
。。。
本帖最后由 47771885 于 2010-2-18 13:25 编辑说的很好 很详细、、、、不过还 是欠缺了一点。。。。 打水来了。 嗯不错,可以看得出来楼主对htb和queue tree有研究
没有实践过和系统学习过理论的朋友,只能来打酱油了,呵呵 打电话的经过! 打酒來了......:lol 路 过看看 路 过看看 让我们也学习一下这么牛的东西一定要看