论文部分内容阅读
随着网络技术的飞速发展,越来越多的网络业务需要对数据包进行快速、准确的分类,包分类已经成为高速路由器的一个性能瓶颈,如何在良好的时间和空间性能下进行快速、高效的包分类是目前需要解决的一个难题。本文在研究了众多不同类型的包分类算法基础上,将网络中流的局部特性和布鲁姆过滤器相结合,设计了一种高效的包分类算法,并对该算法进行拓展应用,表现出了良好的性能。本文主要研究成果如下:一是针对高速网络中包分类算法问题提出一种基于流的局部特性和多级查找的高效包分类算法(packet classification algorithm based on the flow localityprinciples and multi-level lookup,简称PCFM)。PCFM算法将网络中数据流的局部特性和计数布鲁姆过滤器的优点进行了有效的结合,该算法分为三级:第一级缓存用于存放最近10秒内到达的流,第二级计数布鲁姆过滤器存放最近10秒至60秒内到达的流,第三级计数布鲁姆过滤器存放剩余的流。实验表明:该算法不仅可以支持规则库动态更新,相比传统的包分类算法,在消耗内存接近的情况下时间性能还提高了30%左右。二是将改进的基于流的局部特性和多级查找的高效包分类算法应用到网络流量识别中。选取网络中较为典型的两种流(HTTP流和PPlive流),并对它们的包长和时间属性特征进行分析。分析发现HTTP流具有包大、更新慢、稳定等特征,而PPlive流则具有包小、更新快、容量大等特征,然后根据两种流的不同特征对PCFM算法进行改进,在三级结构中分别存放不同数量的流:对于HTTP流,在第一级缓存中存放100秒内的流,第二级中存放100-150秒内的流,第三级存放剩余的流;而对于PPlive流在第一级中存放20秒内的流,第二级存放20-80秒内的流,第三级存放剩余的流。实验发现:改进后的PCFM算法在不同流量识别应用中都具有很高的准确性,在空间性能方面平均比传统的流量识别算法提高了35%。