IMQ(Intermediate queueing device,中介队列设备) 不是一个队列规定,但它的使用与队列规定是紧密相连的。就 Linux而言,队列规定是附带在网卡上的,所有在这个网卡上排队的数据都排进这个队列规定。根据这个概念,出现了两个局限:
1. 只能进行出口整形(虽然也存在入口队列规定,但在上面实现分类的队列规定的可能性非常小)。
2. 一个队列规定只能处理一块网卡的流量,无法设置全局的限速。
IMQ 就是用来解决上述两个局限的。
Linux内核并不包括IMQ模块,所以不能直接使用,得要先编译这个模块。编译过程可参照网络博客。
http://tcfw.blog.com/kernel-compile-and-enable-imq-device-how-to/
这个过程不仅要编译linux内核,还要给iptables打上IMQ补丁,并重新编译它。
IMQ官网http://www.linuximq.net/
Iptables 官网http://www.netfilter.org/
Linux内核官网 https://www.kernel.org/