TC为TrafficControl的缩写,借助linux下的tc命令。
HTB顾名思义是一个层次式的过滤框架,可以通过配置TC HTB规则来实现流量控制.
我是在嵌入式linux环境中进行流量控制的,所以除了tc命令的移植,还需要内核方便的支持。所以分为两部分, 一是:iproute2-2.6.31的移植,生成tc命令。二是编译内核,进入内核目录进行make menuconfig
进入Networking support ---->
Networking option ---->
选中 QoS and/or fair queueing ---->
选择需要的项目,如果你的设备空间足够大也可大部分都选上。让后进行编译。同时把先前移植好的tc放进设备中。
下面开始进行流量控制的命令:
1 tc qdisc del root dev eth0 //删除设备eth0上的规则队列 2 tc qdisc add dev eth0 root handle 1:htb default 91 3 tc class add dev eth0 parent 1:0 classid1:1 htb rate 100mbit 4 tc class add dev eth0 parent 1:1 classid 1:2 htb rate 512kbit ceil 1024kbit 5 tc qdisc add dev eth0 parent 1:2 sfq quantum 1514b perturb 15 6 tc filter add dev eth0 protocol ip parent 1:0 prio 5 u32 match ip dst 192.168.1.6 flowid 1:2