论文部分内容阅读
随着计算机硬件体系结构和虚拟网络的迅猛发展,包分类(PacketClassification)的运行模式发生了显著的变化:首先,包分类的物理路由平台从单核处理器向多核处理器过渡;其次,一个物理路由器需要被复用为大量的虚拟路由器。本文针对包分类运行模式的变化,研究支持大规模规则库的高效多维包分类算法,以及在多核处理器路由平台上支持多虚拟路由器的高效包分类技术,最后将提出的算法应用到网络新型业务的流量识别中。(1)支持大规模规则库的高效多维包分类算法包括:基于规则集压缩的多维包分类决策树研究和基于并行分布式联合布鲁姆过滤器的包分类算法。基于规则集压缩的多维包分类决策树研究包括两个部分,首先提出基于规则集压缩的二维地址前缀匹配算法EGT-SC(Extended Grid of Triewith Sets Compression)。然后,针对新型业务的包分类规则库特点,提出在多维多模式匹配情况下的四种包分类决策树,通过实验比较这些决策树的时间和空间性能差异,进而得出适合新型业务包分类的最佳算法。基于并行分布式联合布鲁姆过滤器的包分类算法PDCBF(ParallelDistributed Combination Bloom Filter)分为两个阶段:规则存储阶段和包匹配阶段,两个阶段的核心部件都是聚合结点。在规则存储阶段,算法将所有规则依据协议存放到三个匹配逻辑单元中,相对原始数据包匹配规则数目来说,每个逻辑单元的待匹配规则数目大大减少。包匹配阶段分为三个步骤,协议匹配、地址的单域匹配和聚合匹配。理论分析和实验结果表明,PDCBF算法包匹配效率高、硬件资源消耗合理、包分类准确率高,是一种支持大规模规则库的高效多维包分类算法。(2)在多核处理器路由平台上支持多虚拟路由器的包分类技术包括基于演化博弈(非合作博弈)和基于联盟博弈(合作博弈)的多虚拟路由器的多核动态选择算法。非合作博弈方面,通过多个独立群体的演化博弈分析和建模多虚拟路由器的多核动态选择行为,演化均衡的策略分布作为最后的解。本文基于演化博弈模型提出了三种演化算法:群体演化算法、强化学习算法和基于均衡迭代方程的分布式演化算法。实验结果表明,三种算法都能够实现多核的负载均衡,保障各个虚拟路由器公平地使用计算资源,并且维持系统稳定的高吞吐量。基于均衡迭代方程的分布式演化算法比群体演化算法和强化学习算法具有更快的收敛速度。合作博弈方面,本文针对多虚拟路由器的多核动态选择问题建立联盟博弈模型,通过联盟形成的过程设计了一个多核选择算法,即核联盟算法。算法中,核与核之间组成联盟,每个核可以属于不同的联盟,由一个联盟组成的集合为虚拟路由器提供计算服务。实验结果表明,算法可以有效地实现多核的负载均衡和维持系统稳定的高吞吐量。(3)新型业务的流量识别技术包括两个部分:基于H.323协议的VoIP语音流量识别技术和一种高效的P2P流量识别技术。本文通过分析基于H.323协议的VoIP语音通信过程中出现的会话特征,提取出通信方的元组信息,进而识别整个语音会话流量。同时,设计相应流结点的存储、搜索和更新方案,提出一种H.323语音流量的识别算法。仿真实验结果表明,与传统流量识别方法相比,本文算法能够更加准确地识别基于H.323协议的VoIP语音流量。针对目前网络中典型的P2P应用,本文通过分析通信终端会话过程中的特征,提取数据传输通道的五元组信息,建立P2P流量的识别规则库,并且设计相应的流存储结构和提出一种识别P2P流量的高效包分类算法。仿真实验和实际的链路测试结果表明,与基于端口的识别方法和基于行为特征的识别方法相比,本文算法具有更高的识别精度和更快的识别速度,可以有效地进行多种协议的P2P应用的流量识别,具有实际应用价值。