PRIO

PRIO,PRIO QDisc不能限制带宽,因为属于不同类别的数据包是顺序离队的。使用PRIO 
QDisc可以很容易对流量进行优先级管理,只有属于高优先级类别的数据包全部发送完毕,才
会发送属于低优先级类别的数据包。为了方便管理,需要使用iptables或者ipchains处理数据
包的服务类型(Type Of Service,ToS)。

PRIO分类优先算法(从左至右优先发包),队列规定并不进行整形,它仅仅根据你配置的过
滤器把流量进一步细分.你可以认为PRIO队列规定是pfifo_fast的一种衍生物,区别在每
个频道都是一个单独的类,而非简单的FIFO.
当数据包进入PRIO队列规定后,将根据你给定的过滤器设置选择一个类.缺省情况下有三
个类,这些类仅包含纯FIFO队列规定而没有更多的内部结构.你可 以把它们替换成你需
要的任何队列规定. 每当有一个数据包需要出队时,首先处理:1类.只有当标号更小的类中
没有需要处理的包时,才会标号大的类.
PRIO配置范例:
大批量数据使用30:,交互数据使用20:或10:.
命令如下:
#tc qdisc add dev eth0 root handle 1: prio
#此命令立即创建了类: 1:1, 1:2, 1:3 (缺省三个子类)
#tc qdisc add dev eth0 parent 1:1 handle 10: sfq
#tc qdisc add dev eth0 parent 1:2 handle 20: tbf rate 20kbit buffer 1600 limit 3000
注:此为TBF限速的另一写法,前文有讲解.
#tc qdisc add dev eth0 parent 1:3 handle 30: sfq
主要参数有:(后续有实例)
bands 创建频道的数目.每个频道实际上就是一个类 跟priomap参数配合使用
注:频道是类,缺省情况下命名为主标号:1到主标号:3.如果你的PRIO队列规定是12:,把数
据包过滤到
12:1将得到最高优先级. 0频道的次标号是1!1频道的次标号是2,以此类推.
priomap 给tc提供过滤器,如不提供PRIO队列规定将参考TC_PRIO的优先级来决定如何
给数据包入队.

猜你喜欢

转载自blog.csdn.net/weixin_43664746/article/details/94736687
今日推荐