论文部分内容阅读
当前网络存在互联网用户规模持续增长、互联网应用领域日益广阔、网络基础设施建设越发庞大三个显著特征。在这种情况下,传统网络架构暴露出体系结构复杂、资源冗余度高、网络管理受限三大缺陷。而网络体系架构是支撑网络工程设计的基本原则。在这种状态下,软件定义网络(Software Defined Networking,SDN)的概念应运而生。SDN通过控制与转发分离,可以有效的简化网络体系结构,提高资源利用率,实现细粒度网络管理。经典软件定义网络架构实质上是一种响应式的(Reactive)流处理方式。控制平面根据新到来的流信息,计算路径并下发表项,交换机根据存储在流表项中的规则来转发流量。而在实际网络中,一方面,随着网络规模不断扩大,这种控制与转发分离的响应式的流处理方式,会造成极大的数据平面与控制平面之间的通信负载、数据平面流转发的等待延迟和控制平面的计算负载;另一方面,交换机的流表项资源非常有限,如果每条流都需要消耗大量流表项资源,则会造成数据平面表项资源不足。响应式的流处理方式和有限的流表项资源给软件定义网络的数据平面的可扩展性带来了极大的挑战,因此本文致力于解决不同应用场景下软件定义网络数据平面的可扩展性问题。本论文的主要研究内容与贡献如下:1.提出了基于流表和组表联合优化的默认路径部署方案。软件定义网络将控制平面和数据平面剥离以简化网络管理。控制平面通过接口与数据平面交互信息,该接口在每个交换机上配置流表和组表以实现数据包转发。由于三态内容可寻址存储器(Ternary Content Addressable Memory,TCAM)的高成本和高功耗,交换机一般只支持有限数量的流表和组表,这对数据平面的可扩展性造成了不利影响。通过部署通配符转发规则实现聚合转发可以有效解决这一瓶颈,但是众多系统参数之间的多维交互性使得在所有交换机上进行最优表项部署变成非常具有挑战性。因此,本论文研究了软件定义网络中基于流表和组表联合优化的默认路径部署问题。首先,将此问题形式化为整数线性规划,并证明其NP难特性。其次,提出了有近似比保障的近似算法来解决该问题,并证明了该算法的有效性。最后,本研究在软件定义网络测试平台上进行了平台测试和仿真实验,结果表明,与已有算法相比,本研究提出的近似算法可以使用更少的表项资源实现更好的转发效果,从而提高了数据平面的可扩展性。2.提出了细粒度流管理场景下的可扩展性路由方案。细粒度流管理在许多实际应用中可以发挥重大作用,例如细粒度流管理可提高资源分配、异常检测、流量工程等应用的效能。通过流表项的信息统计可以实现细粒度流管理,但由于交换机的流表资源极其有限,因此很难为网络中的大量流提供细粒度管理。通过使用通配符规则可以减少所需的流表项数量,但通配符匹配不能保证流的细粒度管理特性。因此,本论文设计了基于混合规则部署的细粒度流管理方案HiFi(Hybrid Rule Placement for Fine-Grained Flow Management in SDNs),该方案通过掩码规则安装和精确匹配规则安装来实现细粒度流管理。实际上,如何合理的安装掩码规则和精确匹配规则从而最大限度的实现细粒度流管理是一个非常复杂的问题,本研究设计了有近似比保障的近似算法来最优化部署掩码规则和精确匹配规则,从而提高细粒度流管理场景下数据平面的可扩展性。在测试平台上进行的小规模平台测试和大规模仿真实验表明与已有算法相比,HiFi在实现细粒度流管理的前提下,可以减少所需流表项数量达45-69%,减少控制器负载达28-50%。3.提出了中间件网络场景下的可扩展性路由方案。中间件目前在广域网、园区网等多种网络中均发挥重大作用。由于在中间件网络中,网络管理者要求网络流必须遍历特定的服务功能链以确保安全性等策略保障,因此导致路由路径长且可能存在环路。这造成了中间件网络场景下路由的复杂性。由于服务功能链的存在和潜在的路由环路,传统网络下的解决方案(比如OSPF、ECMP)并不适用于中间件网络场景。现有的中间件网络路由解决方案可能会在数据平面消耗大量资源(如TCAM表项资源),并导致控制平面的高负载,这极大降低了中间件网络场景的可扩展性。因此,本论文设计并实现了中间件网络场景下的可扩展路由架构 SAFE-ME(Scalable and Flexible Middlebox Policy Enforcement with Software Defined Networking)。SAFE-ME将网络划分为控制平面与数据平面。控制平面负责默认路径的计算和路由的阶段性更新工作。数据平面为交换机设计三种类型的匹配表:SFC(Service Function Chain)表、NF(Network Function)表和流(Flow)表。其中SFC表负责将服务链信息写入数据包包头;NF表根据包头的服务链信息,将数据包转发至对应中间件进行处理,并负责将已完成的中间件信息从包头的服务链信息中删除;流表根据五元组信息将数据包转发至目的地。通过三个匹配表的协同工作以及控制平面与数据平面的信息交互,克服了传统中间件网络路由复杂、表项资源消耗大、控制负载高等缺点。通过多表项的匹配与转发,可以使用极少的表项资源实现复杂的中间件网络路由,从而提高了中间件网络的可扩展性。测试与仿真结果均表明,相比现有方案,SAFE-ME可以大幅度提高中间件网络场景下的可扩展性(例如减少TCAM消耗、降低更新延迟及控制负载等)。