论文部分内容阅读
软件定义网络一方面通过数控分离思想式改变了传统网络控制和转发紧密耦合的工作模式,提高了网络管理的灵活性和开放性。另一方面通过基于控制器本身的北向接口使网络具有强大的可编程能力,使开发者可以通过软件的方式灵活定义网络应用,满足用户对网络的个性化需求,为网络管理的智能化带来无限可能。具体来说,软件定义网络不是一个具体的网络协议,而是提出一种网络体系架构。一般具有这两个特点的网络都可以称为是一个广义软件定义网络。在大规模网络中,软件定义网络因控制器性能的限制导致网络整体性能受到影响,因此控制平面可扩展性的研究非常必要。研究表明在控制平面部署多个控制器来缓解单控制器负载过重的方案是解决控制平面可扩展性问题的有效手段。本文针对软件定义网络中多控制器的部署策略展开研究,主要贡献体现在以下三个方面:(1)研究影响控制器性能的因素,提出基于控制器处理能力指标的控制器数量优化算法CNO。通过分析新流到达控制器的过程及控制器处理新流的特点,运用排队论的相关理论,对该过程进行数学建模,得出模型的数学表达式。通过设定模型的相关参数,最终对模型进行数学求解,确定SDN网络中控制器部署的较合理的数量。在实际运用过程中,通过控制平面的相关参数可以直接计算出所需的控制器数量,且通过排队模型对控制平面处理新流的过程进行建模,所得的结果更接近实际测量的逗留时延。(2)研究SDN网络拓扑结构特点,改进扩展随机块(GSB)模型,并在GSB模型中加入负载均衡因子,提出以传播时延为主要指标的控制器均衡部署算法CDGSB。根据网络拓扑中一般具有社团结构的特点,利用扩展随机块模型拟合网络的生成过程,利用统计学中的期望最大化方法估计模型参数,从而在没有任何先验信息的情况下利用网络的内部结构将网络划分为若干个子域,并根据负载均衡指标对划分的子域划分结果进行二次调整,以适应SDN控制器的控制规模。在确定控制器在子域中的部署位置时,以控制器最短传播时延为目标函数,以负载均衡指标为约束条件设计部署算法,可以得到既符合网络内部结构特点、又符合负载均衡和网络时延要求的控制器部署策略。(3)研究SDN网络链路的可靠性,改进图结构中查找双连通分量的Trajin算法,提出以可靠性为主要指标的多控制器部署算法Reliability-Trajin。利用图论中关节点的特点,依据可靠性指标,借助图论中的双连通分量概念处理中小规模网络的子域划分问题。寻找网络拓扑图中的割顶,并在DFS树遍历过程中用一个栈保存遍历过的边,以便在找到割顶之后可以直接从栈中取出边,即双连通分量的边。然后以域内交换机到控制器的平均跳数最小为目标函数,避开割点位置,最终确定控制器的部署的实际位置。通过分离子域划分和控制器位置部署的方法,可以降低算法复杂度,不仅使算法结构清晰,而且可以得到同时符合可靠性、负载均衡要求的控制器部署策略,更加符合对可靠性敏感的SDN网络。