软件定义数据中心网络控制器的最小容错覆盖部署方法

文档序号:7822263阅读:268来源:国知局
软件定义数据中心网络控制器的最小容错覆盖部署方法
【专利摘要】本发明公开了一种基于软件定义数据中心网络的控制器的最小容错覆盖部署方法,能够提出一套部署多个控制器的方案,使得我们能使用最小数量的控制器和它们的位置从而确保每个交换机至少被两个控制器控制,进而形成一套逻辑中心物理分布多个控制器控制交换机平面的有效技术方案,使交换机控制平面免受单控制器的能力小、可靠性低以及可扩展性差等限制。
【专利说明】软件定义数据中心网络控制器的最小容错覆盖部署方法

【技术领域】
[0001] 本发明涉及软件定义数据中心网络,特别地,涉及一种基于软件定义数据中心网 络的控制器的最小容错覆盖部署方法。

【背景技术】
[0002] 当前,大规模的数据中心是云服务以及大型分布式计算的重要基础设施。数据中 心网络成为了影响许多数据中心应用性能的主要资源。另一方面,软件定义网络使得更加 自由地重构网络控制平面成为可能,并且进一步地提升了网络管理和应用的创新。软件定 义网络的一个核心的好处是将控制平面与数据平面解耦。从而,这个控制逻辑被移到一 个可编程的软件构件,也就是控制器,那些拥有全局网络视图的控制应用运行在控制器上。 软件定义网络的原理已经引起了许多的关注,并且被用来设计软件定义的数据中心网络 (Software-DefinedDataNetwork,下文中简称为SDDN)。
[0003]SDDN与数据中心的网络拓扑密切相关。近来,为了改进传统的类似树形的拓扑,已 经提出了许多新的扁平的数据中心拓扑。Jellyfish是一个具有代表性的扁平化的以交换机 为中心的数据中心拓扑。它将大量同类的交换机组织起来构成一个随机正则图,且每一台 交换机连接一些服务器。Jellyfish拓扑有许多好的性能,如可以渐进扩展、较高的性价比和 较小的网络直径。然而,由于网络拓扑的非结构化设计,它也面临路由复杂和网络资源管理 困难等问题。然而,软件定义网络可以在全局网络视图的支持下解决路由和网络管理的问 题。
[0004] 传统地,SDDN的实现依赖于单个控制器来提供中心化的控制平面。控制器被部署 在数据中心里一个给定的服务器上。已经有工作指出一个控制器面临能力、可靠性以及可 扩展性等多方面的限制。因此,在大规模的数据中心里,一个控制器只能控制一部分的交换 机。对于,每一个没有被控制的交换机,经过它的所有流将不能从控制平面获得路由路径。 现有技术中缺乏部署多个控制器来形成一个逻辑中心物理分布的控制平面的有效技术方 案,特别地,缺乏部署多个控制器来形成软件定义数据中心网络的交换机形成最小容错覆 盖的方法。
[0005] 针对现有技术中缺乏部署多个控制器来控制软件定义数据中心网络的交换机形 成最小容错覆盖的问题,目前尚未有有效的解决方案。


【发明内容】

[0006] 针对现有技术中缺乏部署多个控制器来控制软件定义数据中心网络的交换机形 成最小容错覆盖的问题,本发明的目的在于提出一种基于软件定义数据中心网络的控制器 的最小容错覆盖部署方法,能够使用最小数量的控制器和它们的位置从而确保每个交换机 至少被两个控制器控制,进而形成一套逻辑中心物理分布多个控制器控制交换机平面的有 效技术方案,使交换机控制平面免受单控制器的能力小、可靠性低以及可扩展性差等限制。
[0007] 根据本发明的一个方面,提供了一种基于软件定义数据中心网络的控制器的最小 容错覆盖部署方法。
[0008] 根据本发明提供的一种基于软件定义数据中心网络的控制器的最小容错覆盖部 署方法包括:在软件定义数据中心网络中构建Jellyfish拓扑,生成交换机的随机正则图, 确定交换机之间的链接关系,获得随机正则图的1-覆盖控制器的最小集合;确定每个控制 器的能力限制、一个交换机到它的支配交换机的传播时延限制、交换机的2-覆盖限制、之 前的控制器继续有效限制;根据交换机的总数目、交换机之间的链接关系、每个控制器的能 力限制、一个交换机到它的支配交换机的传播时延限制、交换机的2-覆盖限制、1-覆盖控 制器的最小集合,计算出最小容错覆盖的控制器集合。
[0009] 其中,确定每个控制器的能力限制、一个交换机到它的支配交换机的传播时延限 制、交换机的2-覆盖限制、之前的控制器继续有效限制包括:获取软件定义数据中心网络 中交换机的总数、软件定义数据中心网络中每个交换机的可用端口数、每个交换机用于与 其它交换机互联的端口数,构建Jellyfish拓扑的随机正则图;根据数据中心里交换机的集 合、随机正则图中交换机之间链路的集合,获得交换机之间的拓扑无向图与1-覆盖控制器 的最小集合;根据交换机之间的拓扑无向图与1-覆盖控制器的最小集合,获得表示一个交 换机是否是一个支配交换机的二元向量、表示一个交换机是否覆盖另一个交换机的二元向 量、表示从一个交换机到另一个交换机的传播时延的时延矩阵、表示一秒内从一个交换机 发往另一个交换机的平均流的数量的流量矩阵、每个交换机每秒能处理的流的最大数量、 从一个交换机到支配交换机允许的传播时延、已部署了控制器的支配交换机集合;根据表 示一个交换机是否是一个支配交换机的二元向量、表示一个交换机是否覆盖另一个交换机 的二元向量、表示从一个交换机到另一个交换机的传播时延的时延矩阵、表示一秒内从一 个交换机发往另一个交换机的平均流的数量的流量矩阵、每个交换机每秒能处理的流的最 大数量、从一个交换机到支配交换机允许的传播时延、已部署了控制器的支配交换机集合, 获得最小容错覆盖的限制条件。
[0010] 其中,计算出最小容错覆盖的控制器集合包括:得到每个交换机的邻居交换机; 按照宽度优先搜索的方式依次检查每个交换机,如果一个交换机已经被两个支配交换机覆 盖且该交换机本身不是支配交换机,则跳过此交换机检查下一个交换机;如果一个交换机 已经被两个支配交换机覆盖且该交换机本身是支配交换机,且此支配交换机覆盖的交换机 的数量超过了控制器的能力,则跳过此交换机检查下一个交换机;如果一个交换机已经被 两个支配交换机覆盖或只被一个支配交换机覆盖,且该交换机本身是支配交换机,且此支 配交换机覆盖的交换机的数量尚未超过控制器的能力,则在此交换机的邻居交换机中进行 检索尚未被支配交换机覆盖或只被一个交换机覆盖的一个邻居交换机,如果支配交换机的 邻居交换机到支配交换机的时延超出了时延所允许的跳数,则跳过邻居交换机,继续检索 下一个邻居交换机否则,支配交换机覆盖邻居交换机,并且支配交换机的控制器能力将减 少1,继续检索下一个邻居交换机,直到邻居交换机都被检测;如果一个交换机尚未被覆盖 或只被一个支配交换机覆盖,且该交换机本身不是支配交换机,它被选作一个支配交换机, 与一个控制器直接相连,并在此交换机的邻居交换机中进行检索尚未被支配交换机覆盖或 只被一个交换机覆盖的一个邻居交换机,如果支配交换机的邻居交换机到支配交换机的时 延超出了时延所允许的跳数,则跳过邻居交换机,继续检索下一个邻居交换机否则,支配交 换机覆盖邻居交换机,并且支配交换机的控制器能力将减少1,继续检索下一个邻居交换 机,直到邻居交换机都被检测。
[0011] 另外,获得随机正则图的1-覆盖控制器的最小集合包括:在软件定义数据中心网 络中构建Jellyfish拓扑,生成交换机的随机正则图,确定交换机之间的链接关系;确定每 个控制器的能力限制、一个交换机到它的支配交换机的传播时延限制、交换机的覆盖限制; 根据交换机的总数目、交换机之间的链接关系、每个控制器的能力限制、一个交换机到它的 支配交换机的传播时延限制、交换机的覆盖限制,计算出最小覆盖的控制器集合。
[0012] 其中,确定交换机之间的链接关系、确定每个控制器的能力限制、一个交换机到它 的支配交换机的传播时延限制、交换机的覆盖限制包括:获取软件定义数据中心网络中交 换机的总数、软件定义数据中心网络中每个交换机的可用端口数、每个交换机用于与其它 交换机互联的端口数,构建Jellyfish拓扑的随机正则图;根据数据中心里交换机的集合、 随机正则图中交换机之间链路的集合,获得交换机之间的拓扑无向图;根据交换机之间的 拓扑无向图,获得表示一个交换机是否是一个支配交换机的二元向量、表示一个交换机是 否覆盖另一个交换机的二元向量、表示从一个交换机到另一个交换机的传播时延的时延矩 阵、表示一秒内从一个交换机发往另一个交换机的平均流的数量的流量矩阵、每个交换机 每秒能处理的流的最大数量、从一个交换机到支配交换机允许的传播时延;根据表示一个 交换机是否是一个支配交换机的二元向量、表示一个交换机是否覆盖另一个交换机的二元 向量、表示从一个交换机到另一个交换机的传播时延的时延矩阵、表示一秒内从一个交换 机发往另一个交换机的平均流的数量的流量矩阵、每个交换机每秒能处理的流的最大数 量、从一个交换机到支配交换机允许的传播时延,获得最小覆盖的限制条件。
[0013]其中,计算出最小覆盖的控制器集合包括:得到每个交换机的邻居交换机;按照 宽度优先搜索的方式依次检查每个交换机,如果一个交换机还没有被任何控制器控制,它 被选作一个支配交换机,与一个控制器直接相连;对支配交换机进行判定,如果支配交换机 覆盖的交换机的数量超过了控制器的能力,则终止对支配交换机的搜索,继续检索下一个 交换机;选择支配交换机的一个邻居交换机,并对支配交换机进行判定,如果支配交换机的 邻居交换机到支配交换机的时延超出了时延所允许的跳数,则跳过邻居交换机,继续检索 下一个邻居交换机;否则,支配交换机覆盖邻居交换机,并且支配交换机的控制器能力将减 少1,继续检索下一个邻居交换机,直到邻居交换机都被检测。
[0014] 从上面所述可以看出,本发明提供的技术方案通过使用算法ABC满足最小容错覆 盖问题的限制条件,部署最少数量的控制器,确保所有的交换机都至少被两个控制器所覆 盖,当一个交换机的主控制器失效时,该交换机可以被另一个控制器接管。该方法构成了一 套完整的交换机控制平面上多控制器协作的解决方案,使交换机控制平面免受单控制器的 能力小、可靠性低以及可扩展性差等影响,且具有较高的普适性,本方法可以应用到其它的 以交换机为中心的数据中心里。

【专利附图】

【附图说明】
[0015] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施 例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获 得其他的附图。
[0016] 图1为根据本发明实施例的一种基于软件定义数据中心网络的控制器的最小容 错覆盖部署方法中最小覆盖部署方法的流程图;
[0017] 图2为根据本发明实施例的一种基于软件定义数据中心网络的控制器的最小容 错覆盖部署方法的流程图;
[0018] 图3为现有技术中一包含12个交换机的Jellyfish的拓扑随机正则图;
[0019]图4为根据本发明实施例一种基于软件定义数据中心网络的控制器的最小容错 覆盖部署方法下覆盖的包含12个交换机的Jellyfish的1-覆盖图;
[0020] 图5为根据本发明实施例一种基于软件定义数据中心网络的控制器的最小容错 覆盖部署方法下覆盖的包含12个交换机的Jellyfish的2-覆盖图;
[0021] 图6为根据本发明实施例的一种基于软件定义数据中心网络的控制器的最小容 错覆盖部署方法中,每个交换机有8个接口用于与其他交换机连接时,随机算法、算法ACC 与理论下限的控制器数量-交换机数量折线比较图;
[0022] 图7为根据本发明实施例的一种基于软件定义数据中心网络的控制器的最小容 错覆盖部署方法中,每个交换机有12个接口用于与其他交换机连接时,随机算法、算法ACC 与理论下限的控制器数量-交换机数量折线比较图;
[0023] 图8为根据本发明实施例的一种基于软件定义数据中心网络的控制器的最小容 错覆盖部署方法中,每个交换机有8个接口用于与其他交换机连接时,随机算法与算法ACC 的控制器数量-控制器能力折线比较图;
[0024] 图9为根据本发明实施例的一种基于软件定义数据中心网络的控制器的最小容 错覆盖部署方法中,每个交换机有12个接口用于与其他交换机连接时,随机算法与算法 ACC的控制器数量-控制器能力折线比较图;
[0025] 图10为根据本发明实施例的一种基于软件定义数据中心网络的控制器的最小容 错覆盖部署方法中,每个交换机有8个接口用于与其他交换机连接时,随机算法与算法ABC 的新增控制器数量-交换机数量折线比较图;
[0026] 图11为根据本发明实施例的一种基于软件定义数据中心网络的控制器的最小容 错覆盖部署方法中,每个交换机有12个接口用于与其他交换机连接时,随机算法与算法 ABC的新增控制器数量-交换机数量折线比较图;
[0027] 图12为根据本发明实施例的一种基于软件定义数据中心网络的控制器的最小容 错覆盖部署方法中,每个交换机有8个接口用于与其他交换机连接时,1-覆盖与2-覆盖的 失效交换机数量-失效控制器数量折线比较图;
[0028] 图13为根据本发明实施例的一种基于软件定义数据中心网络的控制器的最小容 错覆盖部署方法中,每个交换机有12个接口用于与其他交换机连接时,1-覆盖与2-覆盖的 失效交换机数量-失效控制器数量折线比较图。

【具体实施方式】
[0029] 为使本发明的目的、技术方案和优点更加清楚明白,下面将结合本发明实施例中 的附图,对本发明实施例中的技术方案进一步进行清楚、完整、详细地描述,显然,所描述的 实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域 普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0030] 为了更好地进行网络虚拟化和应用的创新,可以将软件定义网络的思想应用到数 据中心网络中。传统的软件定义网络依赖于一个中心化的控制器,这个控制器的性能和可 扩展性都有限。虽然最近有一些想法,想要使用多个控制器来控制一般的网络,但是SDDN 还缺乏一个可扩展的和可靠的数据平面。当引入多个控制器到SDDN时,将会带来一个新的 问题,我们叫做控制器的覆盖问题,包括最小覆盖问题与最小容错覆盖问题。
[0031] 最小覆盖问题是来找到最少数量的足够的控制器和它们的位置,从而确保每个交 换机至少被一个控制器控制。为解决最小覆盖问题,我们首先阐述了单个控制器的覆盖模 型和对SDDN中控制器的最小覆盖问题进行了建模。这需要找到最小数量的有效地控制器 和它们应该被部署的位置,并且确保每个交换机至少被一个控制器控制。可以证明,这个问 题是一个NP完全问题,不存在最优解,因此我们在Jellyfish拓扑下提出了一个近似算法。 需要说明的是,在SDDN中控制器并非越多越好,更多的控制器不仅仅会引发额外的花费, 而且会增加控制器之间同步时的复杂性,反而使SDDN的工作效率下降。
[0032] 最小容错覆盖问题是来找到最小数量的控制器和它们的位置,从而确保每个交换 机至少被两个控制器控制,这样,当主控制器失效的时候,它所控制的每一个交换机将被另 一个控制器所接管。最小容错覆盖问题通常是针对数据中心里常见的失效所设计的,任何 由主服务器或者是相关的交换机或者是连接到交换机的链路所引发的失效都将使一个控 制器不能正常的工作,而被这些失效的控制器覆盖的交换机将不能处理到达的新流。为了 抵御控制器的失效而提出的SDDN中控制器的最小容错覆盖问题也是一个NP完全问题,因 此在Jellyfish的拓扑下,我们进一步的设计了一个近似算法。
[0033] 大量地模拟实验与评估结果表明,我们的方法能有效地所需的控制器的数量,改 善控制平面的容错能力以及减少状态同步的花费与负载。需要指出的是,本文中公开的方 法稍加修改便可应用到其它的网络结构是以交换机为中心的数据中心网络中。
[0034] 如图1所示,根据本发明的实施例提供的基于软件定义数据中心网络的控制器的 最小覆盖部署方法包括:
[0035] 步骤S101,在软件定义数据中心网络中构建Jellyfish拓扑,生成交换机的随机正 则图,确定交换机之间的链接关系;
[0036] 步骤S103,确定每个控制器的能力限制、一个交换机到它的支配交换机的传播时 延限制、交换机的覆盖限制;
[0037] 步骤S105,根据交换机的总数目、交换机之间的链接关系、每个控制器的能力限 制、一个交换机到它的支配交换机的传播时延限制、交换机的覆盖限制,计算出最小覆盖的 控制器集合。
[0038] 其中,确定交换机之间的链接关系、确定每个控制器的能力限制、一个交换机到它 的支配交换机的传播时延限制、交换机的覆盖限制包括:获取软件定义数据中心网络中交 换机的总数、软件定义数据中心网络中每个交换机的可用端口数、每个交换机用于与其它 交换机互联的端口数,构建Jellyfish拓扑的随机正则图;根据数据中心里交换机的集合、 随机正则图中交换机之间链路的集合,获得交换机之间的拓扑无向图;根据交换机之间的 拓扑无向图,获得表示一个交换机是否是一个支配交换机的二元向量、表示一个交换机是 否覆盖另一个交换机的二元向量、表示从一个交换机到另一个交换机的传播时延的时延矩 阵、表示一秒内从一个交换机发往另一个交换机的平均流的数量的流量矩阵、每个交换机 每秒能处理的流的最大数量、从一个交换机到支配交换机允许的传播时延;根据表示一个 交换机是否是一个支配交换机的二元向量、表示一个交换机是否覆盖另一个交换机的二元 向量、表示从一个交换机到另一个交换机的传播时延的时延矩阵、表示一秒内从一个交换 机发往另一个交换机的平均流的数量的流量矩阵、每个交换机每秒能处理的流的最大数 量、从一个交换机到支配交换机允许的传播时延,获得最小覆盖的限制条件。
[0039]其中,计算出最小覆盖的控制器集合包括:得到每个交换机的邻居交换机;按照 宽度优先搜索的方式依次检查每个交换机,如果一个交换机还没有被任何控制器控制,它 被选作一个支配交换机,与一个控制器直接相连;对支配交换机进行判定,如果支配交换机 覆盖的交换机的数量超过了控制器的能力,则终止对支配交换机的搜索,继续检索下一个 交换机;选择支配交换机的一个邻居交换机,并对支配交换机进行判定,如果支配交换机的 邻居交换机到支配交换机的时延超出了时延所允许的跳数,则跳过邻居交换机,继续检索 下一个邻居交换机;否则,支配交换机覆盖邻居交换机,并且支配交换机的控制器能力将减 少1,继续检索下一个邻居交换机,直到邻居交换机都被检测。
[0040] 为了改善数据中心传统的类似树的拓扑,一些扁平化的拓扑已经被提出,本方法 使用一个有代表性的以交换机为中心的扁平拓扑jellyfish作为基本的软件定义的数据中 心网络。在Jellyfish拓扑中,所有的交换机形成一个随机正则图。设每一个交换机包括 k个可用端口,k个端口中的r个与其它的交换机进行互联,剩余的k-r个端口被用来连接 服务器进行数据交换工作,其中〇〈r〈k。图3示出的是一个有12个交换机的Jellyfish的 拓扑图,每一个交换机使用3个端口来连接其它的交换机。一个随机正则图可以被表示成 RRG(N,k,r),其中N是交换机的数量。
[0041] 我们将一个与控制器直接相连的交换机称为一个支配交换机。支配交换机覆盖这 个控制器所控制的所有交换机,包括它本身。如果一个交换机到一个支配交换机的距离是 c跳,而且这个支配交换机覆盖了这个交换机,我们称这个支配交换机能c-覆盖该交换机。
[0042]将数据中心网络的功能应用到SDDN的前提条件是每一个交换机至少被一个控制 器所控制。前文已经阐明,由于控制器的能力有限,在大规模的数据中心里使用一个控制器 来控制所有的交换机是不实际的,一个控制器只能控制数据中心里的一部分交换机。如果 一个控制器控制了太多的交换机,该控制器将变成网络应用的瓶颈。也就是说,控制器的能 力决定了它所能控制的交换机的数量。
[0043]传播时延从另一个方面限制了控制器能控制的交换机的数量。通常可以认为,传 播时延由控制器的支配交换机到一个普通交换机的距离所决定。对于给定的一个阈值c, 一个交换机到控制器的支配交换机的距离在C跳以内、且控制器的容量是足够的时候,这 个交换机才有可能会被这个控制器所控制,在这种情况下,这个支配交换机能C-覆盖这个 交换机。图4示出的是一个有12个交换机的Jellyfish的1-覆盖拓扑图,在图4中时延的 限制是1跳,且每个控制器可以同时控制4个交换机,连接线箭头指向方向为控制器的控制 方向。对于支配交换机switch:,switch:的连接线箭头指向switch:、switch2、8¥;11:(3113和 switch9,即switch:的控制器 1-覆盖switch^switch^switchs和switch9。这说明传播时 延和控制器的能力共同限制了一个控制器所能控制的交换机的个数。
[0044]根据单个控制器的覆盖模型,SDDN应该提供一个由多个控制器构成的分布式的控 制平面。SDDN中控制器的最小覆盖问题是决定控制器的个数和它们的位置,从而确保每个 交换机被至少一个控制器控制。我们已经确定,一个支配交换机能够覆盖被这个相应的控 制器所控制的所有交换机,包括它自身。因此,控制器的最小覆盖问题被转换成了寻找支配 交换机所构成的最小集合。在图4中,所有支配交换机以方块表不,一般交换机以圆表不, 则如图4所示{switcl^、switch4、switch6、switch7、switch1(l}是这个支配交换机的最小集 合,这个集合能1-覆盖数据中心里的所有交换机。给定最小交换机的集合,则控制器的部 署位置能按照一种简单的方式找到。每一个支配交换机分配与它相连的服务器中的一个座 位控制器的主服务器。很明显,最小覆盖是充分必要的:支配交换机中的任何一个交换机 被移除后,将会有一些交换机不能被覆盖;同样地,如果任何一个支配交换机被另一个替代 了,比如,用switch8替代switcl^后会无法保证每一个交换机都被控制;已经满足最小覆盖 之后,也没有必要来部署更多的控制器。
[0045] 为了形式化控制器的最小覆盖问题,我们可以用N来表示数据中心里交换机的集 合,E代表交换机之间链路的集合。这样,交换机之间的拓扑被建模成一个无向图G(N,E)。 使用二元向量X=〈Xi,x2,. . .,x|N|>来表示是否一个交换机是一个支配交换机。如果Xj= 1,表示switch」是一个支配交换机;否则,switch」不是一个支配交换机。定义另一个二元 向量Y= 1^」] |N|X|N|,yu = 1表示switch」是一个支配交换机并且switch」覆盖switch^ T= [tim] |N|X|N|表示一个流量矩阵,tim代表一秒内从switcl^发往switchm的平均流的数 量。同时,给定每个控制器的能力,k表示每个交换机每秒能处理的流的最大数量。定义D =[dij]|N|X|N|表示时延矩阵,&表示从switchjjswitchj的传播时延。我们还假设,从 switcl^到支配交换机switch」允许的传播时延是e。
[0046] 该覆盖问题的优化目标是最小化控制器的数量,也就是支配交换机的数量,表示 如式(1):

【权利要求】
1. 一种基于软件定义数据中心网络的控制器的最小容错覆盖部署方法,其特征在于, 包括: 在所述软件定义数据中心网络中构建Jellyfish拓扑,生成交换机的随机正则图,确定 交换机之间的链接关系,获得所述随机正则图的1-覆盖控制器的最小集合; 确定每个控制器的能力限制、一个交换机到它的支配交换机的传播时延限制、交换机 的2-覆盖限制、之前的控制器继续有效限制; 根据交换机的总数目、交换机之间的链接关系、每个控制器的能力限制、一个交换机到 它的支配交换机的传播时延限制、交换机的2-覆盖限制、1-覆盖控制器的最小集合,计算 出最小容错覆盖的控制器集合。
2. 根据权利要求1所述的一种基于软件定义数据中心网络的控制器的最小容错覆盖 部署方法,其特征在于,所述确定每个控制器的能力限制、一个交换机到它的支配交换机的 传播时延限制、交换机的2-覆盖限制、之前的控制器继续有效限制包括: 获取所述软件定义数据中心网络中交换机的总数、所述软件定义数据中心网络中每个 交换机的可用端口数、每个所述交换机用于与其它交换机互联的端口数,构建Jellyfish拓 扑的随机正则图; 根据数据中心里交换机的集合、随机正则图中交换机之间链路的集合,获得交换机之 间的拓扑无向图与1-覆盖控制器的最小集合; 根据交换机之间的拓扑无向图与1-覆盖控制器的最小集合,获得表示一个交换机是 否是一个支配交换机的二元向量、表示一个交换机是否覆盖另一个交换机的二元向量、表 示从一个交换机到另一个交换机的传播时延的时延矩阵、表示一秒内从一个交换机发往另 一个交换机的平均流的数量的流量矩阵、每个交换机每秒能处理的流的最大数量、从一个 交换机到支配交换机允许的传播时延、已部署了控制器的支配交换机集合; 根据表示一个交换机是否是一个支配交换机的二元向量、表示一个交换机是否覆盖另 一个交换机的二元向量、表示从一个交换机到另一个交换机的传播时延的时延矩阵、表示 一秒内从一个交换机发往另一个交换机的平均流的数量的流量矩阵、每个交换机每秒能处 理的流的最大数量、从一个交换机到支配交换机允许的传播时延、已部署了控制器的支配 交换机集合,获得最小容错覆盖的限制条件。
3. 根据权利要求2所述的一种基于软件定义数据中心网络的控制器的最小容错覆盖 部署方法,其特征在于,所述计算出最小容错覆盖的控制器集合包括: 得到每个交换机的邻居交换机; 按照宽度优先搜索的方式依次检查每个交换机,如果一个交换机已经被两个支配交换 机覆盖且该交换机本身不是支配交换机,则跳过此交换机检查下一个交换机; 如果一个交换机已经被两个支配交换机覆盖且该交换机本身是支配交换机,且此支配 交换机覆盖的交换机的数量超过了控制器的能力,则跳过此交换机检查下一个交换机; 如果一个交换机已经被两个支配交换机覆盖或只被一个支配交换机覆盖,且该交换机 本身是支配交换机,且此支配交换机覆盖的交换机的数量尚未超过控制器的能力,则在此 交换机的邻居交换机中进行检索尚未被支配交换机覆盖或只被一个交换机覆盖的一个邻 居交换机,如果所述支配交换机的所述邻居交换机到所述支配交换机的时延超出了时延所 允许的跳数,则跳过所述邻居交换机,继续检索下一个邻居交换机否则,所述支配交换机覆 盖所述邻居交换机,并且所述支配交换机的控制器能力将减少1,继续检索下一个邻居交换 机,直到邻居交换机都被检测; 如果一个交换机尚未被覆盖或只被一个支配交换机覆盖,且该交换机本身不是支配交 换机,它被选作一个支配交换机,与一个控制器直接相连,并在此交换机的邻居交换机中进 行检索尚未被支配交换机覆盖或只被一个交换机覆盖的一个邻居交换机,如果所述支配交 换机的所述邻居交换机到所述支配交换机的时延超出了时延所允许的跳数,则跳过所述邻 居交换机,继续检索下一个邻居交换机否则,所述支配交换机覆盖所述邻居交换机,并且所 述支配交换机的控制器能力将减少1,继续检索下一个邻居交换机,直到邻居交换机都被检 测。
4. 根据权利要求1所述的一种基于软件定义数据中心网络的控制器的最小容错覆盖 部署方法,其特征在于,所述在软件定义数据中心网络中构建Jellyfish拓扑、生成交换机 的随机正则图、确定交换机之间的链接关系并获得随机正则图的1-覆盖控制器的最小集 合包括: 在所述软件定义数据中心网络中构建Jellyfish拓扑,生成交换机的随机正则图,确定 交换机之间的链接关系; 确定每个控制器的能力限制、一个交换机到它的支配交换机的传播时延限制、交换机 的覆盖限制; 根据交换机的总数目、交换机之间的链接关系、每个控制器的能力限制、一个交换机到 它的支配交换机的传播时延限制、交换机的覆盖限制,计算出最小覆盖的控制器集合。
5. 根据权利要求4所述的一种基于软件定义数据中心网络的控制器的最小容错覆盖 部署方法,其特征在于,所述确定交换机之间的链接关系、确定每个控制器的能力限制、一 个交换机到它的支配交换机的传播时延限制、交换机的覆盖限制包括: 获取所述软件定义数据中心网络中交换机的总数、所述软件定义数据中心网络中每个 交换机的可用端口数、每个所述交换机用于与其它交换机互联的端口数,构建Jellyfish拓 扑的随机正则图; 根据数据中心里交换机的集合、随机正则图中交换机之间链路的集合,获得交换机之 间的拓扑无向图; 根据交换机之间的拓扑无向图,获得表示一个交换机是否是一个支配交换机的二元向 量、表示一个交换机是否覆盖另一个交换机的二元向量、表示从一个交换机到另一个交换 机的传播时延的时延矩阵、表示一秒内从一个交换机发往另一个交换机的平均流的数量的 流量矩阵、每个交换机每秒能处理的流的最大数量、从一个交换机到支配交换机允许的传 播时延; 根据表示一个交换机是否是一个支配交换机的二元向量、表示一个交换机是否覆盖另 一个交换机的二元向量、表示从一个交换机到另一个交换机的传播时延的时延矩阵、表示 一秒内从一个交换机发往另一个交换机的平均流的数量的流量矩阵、每个交换机每秒能处 理的流的最大数量、从一个交换机到支配交换机允许的传播时延,获得最小覆盖的限制条 件。
6. 根据权利要求5所述的一种基于软件定义数据中心网络的控制器的最小容错覆盖 部署方法,其特征在于,所述计算出最小覆盖的控制器集合包括: 得到每个交换机的邻居交换机; 按照宽度优先搜索的方式依次检查每个交换机,如果一个交换机还没有被任何控制器 控制,它被选作一个支配交换机,与一个控制器直接相连; 对所述支配交换机进行判定,如果所述支配交换机覆盖的交换机的数量超过了控制器 的能力,则终止对所述支配交换机的搜索,继续检索下一个交换机; 选择所述支配交换机的一个邻居交换机,并对所述支配交换机进行判定,如果所述支 配交换机的邻居交换机到所述支配交换机的时延超出了时延所允许的跳数,则跳过所述邻 居交换机,继续检索下一个邻居交换机;否则,所述支配交换机覆盖所述邻居交换机,并且 所述支配交换机的控制器能力将减少1,继续检索下一个邻居交换机,直到邻居交换机都被 检测。
【文档编号】H04L12/24GK104410528SQ201410746586
【公开日】2015年3月11日 申请日期:2014年12月9日 优先权日:2014年12月9日
【发明者】郭得科, 谢俊杰, 罗来龙, 史良, 陈涛, 周晓磊 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1