论文部分内容阅读
软件定义网络(Software Defined Networking,SDN)解耦控制与数据平面,为网络提供开放灵活的可编程能力,增强了网络的管控能力,提高了网络功能的灵活性与可扩展性,为未来网络体系结构的研究开辟了道路。OpenFlow协议支持的流表项匹配域字段的增加提高了数据平面细粒度的控制能力,而表项匹配域支持的任意通配符依赖TCAM(Ternary Content Addressable Memory,三态內容寻址寄存器)进行匹配处理,导致交换机中TCAM存储空间面临很大压力。同时,爆发式增长的网络流量需要大量流表规则处理数据包,而交换机流表存储空间受限。因此,如何从降低存储开销并保证流表功能性的角度去优化OpenFlow流表是一个亟待解决的问题。传统网络设备中路由表、ACL(Access Control List,访问控制列表)等的优化主要从压缩出发,本文在借鉴传统网络中的表压缩方法的基础上,着重考虑了OpenFlow流表匹配域字段的独有特性,形成两类下的三个研究重点:第一类是通过研究“横向”压缩方法减小表项位宽,降低匹配域字段间冗余;第二类是通过研究“纵向”压缩方法减少表项数量,保持规则原始语义。具体研究要点如下:1.保持OpenFlow功能完整性的“横向”压缩方法针对现有“横向”压缩方法会破坏OpenFlow细粒度控制能力的问题,提出一种保持OpenFlow功能完整性的TCAM流表压缩模型。该模型首先根据匹配域不同字段间的关系,将字段之间的冗余分为三种,然后基于冗余提出三种预压缩算法,最终组合为更小位宽的表项被送往TCAM中进行流匹配。仿真结果表明,在保持OpenFlow功能完整性的前提下,与现有方案相比,所提方法的压缩性能提高约5.3%。并且随着流表规模的增大,压缩性能保持稳定。2.针对应用感知路由的“纵向”压缩方法针对现有“纵向”压缩方法压缩性能较低、压缩时间较长等问题,提出一种针对SDN中应用感知路由的动态流表压缩方法。该方法首先设计指令集分割算法将流表划分成指令集独立的分组,然后设计表项合并算法并应用于分组的每个子集中。与原有方法相比,所提流表压缩方法具有更好的压缩效果、更短的压缩时间。3.基于功能组合的表项合并与放置方法针对现有“纵向”压缩中基于功能组合的表项合并方法复杂度高、存储开销大、未考虑单点交换机功能承载力等问题,提出一种基于拓扑变换的功能组合方法。该方法首先提出功能组合整体架构,并将功能组合问题建模为“组合策略-执行路径-交换机表项”两级映射过程,然后提出表项合并与放置方法,当超过单点功能承载力时,提出拓扑变换方法将表项组合分散到多点中并完成表项的分配与放置。实验结果表明,所提方法可以有效的减少TCAM中表项存储开销,提高表项合并效率的同时降低流处理时延,满足业务对数据包多功能处理的需要。