在网络资源有限的情况下,为了高效的管理和分配网络带宽和限制网络中的异常流量,保证重要用户的通信畅通,通常需要实时的网络流量控制。普遍采用的方法是Linux Traffic Control(TC)命令+IPTABLES,但这种方法结构繁琐、效率低下。通过分析Linux网络流量控制原理和LQL库结构的基础上,经过对流量模型策略的重新设计、LQL库的扩充以及U32过滤器的改进,提出了一种基于LQL库的流量控制方法。该方法摒弃了传统方法中所运用的TC命令解析,netlink传输,内核空间执行的3层结构,而直接在Linux内核的框架下,采用LQL库直接对内核进行操控,并改进了相关U32过滤器以对IP段的流量控制,从而实现对系统的智能流量控制。实验表明,这种方法能够大幅度提高Linux内核和用户空间命令解析及传输的时间效率,减少设备延时,增强设备的实时性,同时保证带宽合理利用。
1