论文部分内容阅读
Internet发展到今天,各种应用以及网络流量迅猛增长,需要网络设备提供更高的带宽和数据分类处理能力。包分类是下一代因特网网络设备和新型网络服务实现的关键技术之一,包分类速度的快慢、分类功能的强弱都直接影响到网络服务的性能或者直接决定着相应网络设备所需的内存、CPU等资源。为了提供更大的地址空间和更好的服务质量,由IPv4网络向IPv6网络升级是因特网发展的必然趋势,新的网络环境下包分类技术面临着新的压力和挑战,因此研究多维快速包分类问题具有重要的现实意义和理论价值。本文对目前常见的十余种典型的基于软件实现的包分类算法进行了系统的研究,并对各种算法的分类速度和空间需求进行了比较,选择其中分类速度最快的递归流分类(RFC)算法作为研究的重点。本文对该算法进行了以下两个方面的改进,使其在保持较高分类速度的前提下,降低内存需求,扩大应用范围:(1)为了解决RFC算法的空间需求随着规则集规模的增大而迅速膨胀的问题,本文提出了一种内存优化的RFC算法—Merge_RFC算法,通过位串合并的方法,对RFC算法的交叉乘积表进行压缩,消除冗余空间,将其推广到大规模规则集上。仿真结果表明,Merge_ RFC算法在保持较高分类速度的前提下,可以将RFC算法占用的内存空间压缩80%以上。(2)随着网络规模的不断扩大,新的IPv6协议将取代IPv4成为下一代互联网的核心协议,而应用于IPv6环境的数据包分类技术也成为包分类研究的热点。本文对RFC算法在IPv6环境下的适用性进行了分析,提出了一种适用于IPv6的递归流包分类算法RFCv6,将RFC算法推广到IPv6环境中,通过提取特征规则的方法,抑制地址长度增长所带来的内存膨胀。仿真结果表明,RFCv6算法取得了分类速度和内存需求的良好平衡。