论文部分内容阅读
网络的急剧膨胀和应用组合的不断扩充,已逐渐使得垂直封闭的传统网络架构难以追赶新业务的需求。软件定义网络(Software Defined Networking,SDN)作为一种控制面和数据面逻辑彼此分离的新型网络架构,由于其可控性及灵活性的特点,正受到越来越多的关注。SDN控制器是SDN网络中的控制大脑,其可伸缩性和可靠性对网络服务性能和稳定性起着决定作用。为了提升可伸缩性和可靠性,控制平面一般被实现为由多控制器集群构成的分布式系统,来自数据平面交换机的请求负载因而被静态地、不区分服务地分配给一个或多个控制器处理。然而,静态的负载分配会导致服务请求的响应时间显著增长且剧烈波动,这是因为负载的实时变动特性加上静态的负载分配方式会导致控制器集群中产生一些热点控制器。这些热点控制器在处理交换机的请求负载时会产生非常长的时延,从而影响网络整体的性能。而不区分服务的负载分配更是会造成服务质量的严重受损,因为不同类型的网络服务在控制平面的处理时延差异明显,需要多种级别的服务性能保障。因此,我们提出一种基于网络服务性能保障的多控制器负载分配方法。在SDN中为网络服务提供实时的性能保障。首先,我们提出一种基于实时调度器(RT-Scheduler)的请求负载分配架构,该架构有助于构建各服务独立且并行的控制平面。基于该架构,我们以降低网络服务的处理时延为目标,考虑动态请求负载分配问题,并将原问题转化为一个基于稳定匹配和联盟博弈的两阶段连续优化问题。我们对提出方法的近似性以及复杂度展开理论分析,证明了该方法可以在随网络规模线性增加的时间内计算得到近似最优解。此外,我们还设计并实现了一种基于协调层的多控制器负载分配系统SDN-RT,由编排器、资源管理器和实时调度器(RT-Scheduler)三个组件构成。通过SDN-RT,网络管理者可以真实地、有效地实现基于网络服务性能保障的多控制器负载分配。最后,我们对提出的方法和系统进行了评价与分析。评价结果显示我们提出的负载分配方法能够快速计算出近似最优解。和基准方案相比,我们的方法几乎达到了两倍的服务请求接受率,同时降低了最多75%的服务时延。基于Mininet的仿真结果显示,提出的RT-Scheduler拥有快速的收敛速度和完全可容忍的额外代价,因此可以应用在大规模的实时场景下。