论文部分内容阅读
伴随互联网的高速发展,网络应用与服务种类越来越复杂,用户对防火墙,路由器等网络节点设备数据处理能力的要求也越来越高。流分类技术作为网络设备的关键技术之一,可以有效的提高网络设备性能,为网络应用与服务提供全方位技术支持。本文阐述了流分类问题的研究背景、研究现状、应用技术等,对经典流分类算法进行分析比较,深入研究经典流分类算法—RFC算法。RFC算法在预处理过程生成预处理表、等价类表和交叉乘积表,这些表的容量随规则集规模增加而急剧膨胀,占用大量内存空间。因此,在大规模规则集的应用环境中,RFC算法内存消耗过大。针对这一问题,提出一种改进算法—Optimize_RFC算法,该算法采用对域的比特位进行异或运算,将32位的源/目的IP地址压缩到8位;16位的N/目的端口号压缩到8位,从而减少了预处理表、等价类表、交叉乘积表的存储空间,降低预处理过程的内存消耗。当数据包到达时,提取数据包头信息并进行比特位压缩,通过预处理表,得到各阶段索引值,根据索引值以及对应比特位图,找到最佳匹配规则。Optimize_RFC算法具有较快分类速度的同时,克服了RFC算法在大规模规则集环境中内存消耗过大的问题。本论文分析了Linux防火墙的实现机制。在netfilter框架下,基于Optimize_RFC算法设计并实现UTM网关流分类模块,提升防火墙性能。最后,构建网络测试平台,对RFC算法、文献[42]算法以及Optimize_RFC算法性能进行分析比较。实验结果表明,Optimize_RFC算法在较大规模规则集的应用环境中,具有较快的分类速度和更好的空间性能。