可以使用如下通用规则来学习Linux流量控制。可以使用tcng 或 tc进行初始化配置Linux下的流量控制结构。
qdisc
。当没有明确附加其他qdisc时会使用默认的qdisc( pfifo_fast
qdisc)。当一个链路已知带宽时,HTB是一个理想的qdisc,因为可以给最内层的(最根)类设置给定链接上的最大可用带宽。流量后续会被分割到子类中,用于保证特定类型的流量的带宽或允许优先选择特定类型的流量。
理论上,PRIO是一个理想的用于处理可变带宽的调度器,因为它是一个连续工作的qdisc(这意味着它不提供整流)。在带宽未知或波动的链路中,PRIO 调度器更喜欢优先将具有最高优先级的band中的所有报文出队列,然后再处理较低优先级的队列中。
在多种类型的网络带宽竞争中,这通常是比较容易处理的竞争类型之一。通过使用SFQ,特定队列中的流量可以分为多条流,然后公平地处理该队列中的每条流。表现良好的应用程序(和用户)会发现,使用SFQ和ESFQ足以满足大多数共享需求。
这些公平排队算法的致命弱点是无法抵御行为不端的用户或应用程序同时打开很多连接(例如,eMule, eDonkey, Kazaa)。通过创建大量独立的流,应用程序可以控制公平排队算法中的时间间隙。重申一下,公平排队算法不知道单个应用程序会生成大多数流,并且不会惩罚用户。 需要依赖其他方法。
对于许多管理员来说,这是在用户之间划分带宽的理想方法。不幸的是,没有简单的解决方案,而且随着共享网络连接的机器数量的增加,它变得越来越复杂。
为了在N个IP地址之间公平地分配带宽,必须有N个类。
更多参见 wondershaper.
myshaper
)更多参见myshaper.
htb.init
更多参见htb.init
.
tcng.init
更多参见 tcng.init
.
cbq.init
更多参见 cbq.init
.