论文部分内容阅读
数据包分类技术是网络管理的基础技术,尤其在网络访问控制以及面向网络业务的Qos控制中发挥着至关重要的作用。目前已有的数据包分类算法面向静态规则算法,其研究目标主要集中在加快数据包匹配的速度上。而面向统一威胁管理目标的网络安全系统则大部分由多个部件联动形成,访问控制规则分发多以自动联动的模式工作,规则动态更新的数量和频率比以前有了极大的提高,更新的速度对于网络安全防护系统的性能有着重要的影响。本文首先从分析访问控制列表出发,研究规则库特征,根据访问控制规则的分布特点,提出基于变步长trie树的数据包分类算法。该算法使用变步长trie树结构,根据规则集合中的源地址域,选择合适的渐变步长,建立查找树。由于采用变步长trie树结构,大大减少了查询过程中的访存操作。在此基础上,结合线性链表,散列表以及二叉查找树结构,可快速构建基于变步长trie树的复合式查找树结构。使得该算法在保持较高的数据包分类速度的同时,可以快速添加和删除访问控制规则,达到动态更新规则库的目的。最后,本文将详细介绍采用该算法的基于专用Linux系统平台的数据包分类系统,该系统运行稳定,并取得了较好的应用效果。与同类算法的量化测试评估实验表明,本文提出的算法具有明显的性能提升,尤其在平均访存次数和规则构建速度上具有明显的优势,其中:在内存占用处于可接受范围内的情况下,该算法比预处理时间最优的EGT-PC算法减少了60%时间耗费。平均访问次数则与该项指标较优的Hicuts算法以及RFC算法持平。而最坏访存次数在5000条规则以下的规则集评测中,比EGT-PC算法减少了50%,在10000条规则以上的规则集评测中,与Hicuts算法接近。此外,采用该算法的数据包分类系统,作为网络安全防护体系中的联动部件,在实际应用中表现良好。