使用Linux TC进行流量带宽控制

2012/12/7 18:06:19【作者】佚名

 

    在一个局域网中(如图1所示),我们设定流量控制器上的以太网卡(设备名为eth0)的IP地址为10.172.4.66,在其上建立一个CBQ队列。假设包的平均大小为1K字节,包间隔发送单元的大小为8字节,可接收冲突的发送最长包数目为20字节。假如有三种类型的流量需要控制:


    (1)发往主机1的流量,其IP地址设定为10.172.4.138.其流量带宽控制在500Mbit,优先级为2;


    (2)是发往主机2的,其IP地址为10.172.4.141.其流量带宽控制在200Mbit,优先级为1;


    (3)是发往子网1的,其子网号为10.172.4.0,子网掩码为255.255.255.0.流量带宽控制在300Mbit,优先级为6.


    那么,根据上面的实例条件,我们可以采用如下的步骤进行TC配置和控制:
 

\
 

    图1  Linux TC流量控制示意图


    1.绑定CBQ队列


    一般情况下,针对一个网卡只需建立一个队列:


    将一个cbq队列绑定到网络物理设备eth0上,其编号为1:0;网络物理设备eth0的实际带宽为1000Mbit,包的平均大小为1000字节;包间隔发送单元的大小为8字节,最小传输包大小为64字节。


    #tc qdisc add dev eth0 root handle 1: cbq bandwidth 1000Mbit avpkt 1000 cell 8 mpu 64

【打印】
查看完整文章 | 频道首页 | 网站首页