CN106161270B - 一种网络部署方法 - Google Patents
一种网络部署方法 Download PDFInfo
- Publication number
- CN106161270B CN106161270B CN201510194357.2A CN201510194357A CN106161270B CN 106161270 B CN106161270 B CN 106161270B CN 201510194357 A CN201510194357 A CN 201510194357A CN 106161270 B CN106161270 B CN 106161270B
- Authority
- CN
- China
- Prior art keywords
- domain
- node
- controlled node
- controlled
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及计算机网络领域,公开了一种网络部署方法。该网络部署方法包括:确定针对多个受控节点的域的数量N;基于受控节点的拓扑关系和负载将多个受控节点划分至N个域中;基于负载量对所划分的域进行微调;以及优化对应于每个域的受控节点的部署位置。根据本发明,可提高域内受控节点的连通度、提高控制节点的处理效率并提高网络的可靠性。
Description
技术领域
本发明涉及计算机网络领域,具体地,涉及一种网络部署方法。
背景技术
软件定义网络(Software Defined Network,SDN)是由美国斯坦福大学CleanSlate研究组提出的一种新型网络创新架构,其核心技术OpenFlow通过将网络设备的数据面和控制面分离开来,其中数据面可通过诸如交换机的受控转发设备来实施,控制面(包括确定转发方式和业务逻辑等功能)可通过控制器来实施,从而实现对网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。但是近年来,随着网络规模的扩大,SDN在很多方面出现了许多还待解决的问题,特别是控制面的可扩展性遇到许多问题。
众所周知,大规模网络往往拥有海量的数据流,例如,一个1500个服务器集群每秒可产生100K个请求,而100个交换机数据中心每秒可产生10000K个请求。但单一的控制器处理能力有限,例如NOX控制器的处理能力约为每秒30K个请求,Maestro控制器的处理能力约为每秒600K个请求。可以看出,在大规模网络中,当数据请求量很大时,单一的控制器是无法满足网络要求的,因此,需要多个物理的控制器构成一个逻辑意义上控制器,这样就形成了控制域内控制器的扩展性问题。
为了研究控制器的扩展性问题,一些互联网工作者试图通过多线程的方式(如Beacon、Maestro)以及将控制器软件部署到多核的主机或服务器上来提高控制器的性能。另外,对控制面的可扩展性的新方案研究,也有了一定的进展,产生了诸如HyperFlow、DIFANE、DevoFlow等技术方案。HyperFlow可使一个控制域内同时运行多个控制器,每个控制器主要控制其局部范围内的OpenFlow交换机。DIFANE给予了交换机一些控制权利,从而可减轻控制器处理初始化数据流的负担,提高了单个控制器可控制的范围。DevoFlow采用了聚类或者模糊匹配的方法来减轻控制器的负担。除此之外,还可通过扩展控制器的数量来解决SDN网络中的控制域内控制面的可扩展性问题。
无论何种方案,只要涉及到控制面的分域控制,必然面临下列问题:
(1)需要扩展至多少个控制器?
(2)控制域如何划分?
(3)控制器的位置如何确定?
为了解决上述问题中的部分问题,有学者提出基于可靠度的分域算法和基于k-means的聚类分域算法:
(1)根据基于可靠度的分域算法,首先从所有节点中随机选取若干个节点作为控制器候选集合M,然后根据自定义的可靠度公式计算网络中的所有剩余节点与集合M中的控制器节点的可靠度,每个剩余节点选取可靠度最高的控制器节点作为自己所属的控制器。为了保证每个控制器所管辖的交换机数量大致相同,将交换机数量进行了均分为了M份,当每个控制器节点的交换机数量达到这个值时,就不再给其划分交换机。当所有节点都找到自己所属的控制器之后,控制域的初始划分结束。然后,在每个控制域内,计算与其他控制域内节点可靠度值最高的节点作为本域的最终控制器节点。至此,控制域的划分结束,控制器的位置也就确定了。
基于可靠度的分域算法可保证控制域内的具有较高的网络可靠度,但由于迭代次数多,其时间复杂度很高,容易陷入不断迭代的僵局。其次,在划分交换机时,只是通过对交换机的数量进行均分并不一定能保证控制域的整体负载均衡,可能会有若干个数据量很大的交换机被划分进了同一个控制域,这同样会造成本域的控制器的负担过重,甚至造成控制器过载而影响整个网络的性能。此外,该算法没有给出确定控制域的数量M的方法。
(2)基于k-means的聚类分域算法的主要思想是考虑到域内请求交互频繁,所以应该让域内时延尽量小,也就是让域内节点尽量紧凑。所以,首先从所有网络节点中选取K个节点作为初始控制器节点的位置,称之为聚类中心。对于剩下的其它节点,则根据它们与这些聚类中心的距离,分别将它们分配给与其最近的聚类;然后再计算每个所获新聚类的聚类中心(该聚类中所有节点的均值);不断重复这一过程直到标准测度函数开始收敛为止,此时控制域的划分结束,每个聚类代表一个控制域。通常可采用均方差作为标准测度函数。基于k-means的聚类分域算法具有以下特点:各域内的节点尽可能的紧凑,而各域之间尽可能的分开。
从对基于k-means的聚类分域算法的描述可以看出,它是以距离为分域的主要依据,虽然实现了每个控制域内的节点距离尽量近,但是它没有考虑实际网络拓扑中节点的连接度,也就是说很可能划分结束后每个控制域可包括可多个孤立节点,即在本域内没有与之相连的节点,它需要跟邻域中的实际与之相连的节点间接向本域控制器发送请求,这样势必会造成网络的额外负担。
发明内容
本发明的目的是提供一种方法,该方法能提高域内受控节点间的连通度并提高网络的可靠性。
为了实现上述目的,本发明提供一种网络部署方法,该方法包括:确定针对多个受控节点的域的数量N,并确定所述N个域中每一者的初始上限,所述N个域中每个域的所述初始上限之和小于等于所述多个受控节点的数量;将所述多个受控节点全部划分至所述N个域中;针对所述N个域中的每个域分配控制节点。其中,将所述多个受控节点全部划分至所述N个域中包括:获取所述多个受控节点中每个受控节点的重要度,所述多个受控节点中每个受控节点的所述重要度和该受控节点的负载量以及该受控节点的邻居节点的数量有关;基于所述受控节点的所述重要度和所述受控节点间的邻居关系进行域的初始划分,经过所述初始划分得到的N个域中每个域所包括的所述受控节点的数量等于该域的所述初始上限;在完成所述初始划分后,如果所述多个受控节点中还存在未被划分至任何域中的剩余受控节点,则将所述剩余受控节点中的每个剩余受控节点划分至所述N个域中的一者中。
优选地,根据本发明,可基于Erlang等待系统、Erlang拒绝系统和Engset拒绝系统中的任意一者获取所述多个受控节点在单位时间内向控制节点发送的平均请求数E[R]和单个请求的平均等待时间E[T],以及利用所述平均请求数E[R]和所述平均等待时间E[T]并基于遗传算法、蚁群算法和蜂群算法中的任意一者确定所述域的数量N。
优选地,根据本发明,在将所述多个受控节点全部划分至N个域中之后并且在针对所述N个域中每个域分配控制节点之前,基于域的负载量调整所划分的N个域。
优选地,根据本发明,可将控制节点部署于对应的域中具有最小路径度量值的受控节点所在的位置或者该受控节点附近,所述路径度量值为受控节点至同一域中其他受控节点中每一者的最短路径距离之和。
通过上述技术方案,在进行域划分时,充分考虑了受控节点间的连接关系,从而可实现域内具有高连通度的网络拓扑结构,避免出现孤立节点,以减少网络负担并提高网络的可靠性,同时在进行域划分时还兼顾了节点的负载量,有利于实现负载均衡。此外,根据本发明还可通过确定合理的控制器数量以取得减少网络部署成本的有益技术效果。本发明的优点业已通过充分地仿真实验得以证实。
本发明的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
图1是根据本发明一个实施方式的网络部署方法的示意图。
图2示出了根据本发明的优选实施方式的基于Erlang等待系统和遗传算法确定域的数量N的方法。
图3示出了根据本发明的一个优选实施方式基于域的负载量微调所划分的N个域的方法。
图4示出了根据本发明的实施方式确定的网络部署结构示意图。
图5a示出了根据本发明确定的网络部署与根据现有技术确定的网络部署的可靠性比较。
图5b示出了根据本发明确定的网络部署与根据现有技术确定的网络部署的负载性能比较。
图6示出了在分域服务器执行本发明所公开的方法的过程中分域服务器、受控节点和控制节点之间的信令交互图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
在本发明中,“邻居”指可通过一跳传输直达;两个域相邻指其中一个域中至少有一个受控节点是另一个域中的至少一个受控节点的邻居节点;节点间的最短路径指从源节点到目的节点所经过的中间节点的数量最少的路径,节点间的最短路径距离指节点间的最短路径所包括的链路的长度之和。
图1是根据本发明一个实施方式的网络部署方法的示意图。
在S101中,确定针对多个受控节点的域的数量N,并确定N个域中每一者的初始上限,N个域中每一者的初始上限之和小于等于受控节点的总数。
可根据本领域技术人员所知的任意手段确定所述N值,例如根据经验给定N值。优选地,根据本发明,可基于诸如Erlang等待系统、Erlang拒绝系统和Engset拒绝系统等中的任意一者获取在一段时间内所有受控节点向控制节点发送的平均请求数E[R]和单个请求的平均等待时间E[T],其中,所述平均请求数E[R]和所述平均等待时间E[T]均为N的函数;再基于诸如遗传算法、蚁群算法和蜂群算法等中的任意一者确定所述N值。
可根据本领域技术人员所知的任意手段确定N个域中每个域的初始上限。优选地,根据本发明,可设置第i个域的初始上限upperi为:
其中i=1,2,...,N 等式1
其中M为受控节点的总数,表示向下取整。
在S102中,将受控节点划分至N个域中,该划分过程可包括初始划分和补充划分。
(1)可获取每个受控节点的重要度。可根据需要自定义受控节点的重要度。根据本发明,为了提高网络的连通性并考虑负载均衡,可定义每个受控节点的重要度和该受控节点的负载量以及该受控节点的邻居节点的数量有关。
在通信系统中,可基于每个受控节点向控制节点发送请求的平均速率来衡量该受控节点的负载量。例如,针对任意受控节点j,可设其重要度impor(j)为:
impor(j)=kj×λj, 等式2
其中kj为受控节点j在所有受控节点中具有的邻居节点的数量,λj为受控节点j向控制节点发送请求的平均速率。
(2)基于受控节点的重要度和受控节点间的邻居关系进行域的初始划分,经过初始划分后得到N个域,每个域中所包括的受控节点的数量等于该域的初始上限。
优选地,在初始划分的过程中,可逐个划分得到N个域,并且针对每个域的初始划分包括:
针对任意受控节点,将该受控节点在所述多个受控节点中的未被划分至任何域中的邻居节点识别为该受控节点的候选节点;
从还未被划分至任何域中的所有受控节点中选择重要度最高的受控节点作为初始节点,将该初始节点划分至该域中,并且将该初始节点的候选节点按照重要度从大到小的顺序依次划分至该域中,直至划分至该域中的受控节点数量达到该域的所述初始上限;
如果初始节点和其所有候选节点之和小于该域的初始上限,可从该初始节点的候选节点中选择重要度最大的节点作为二级节点,并将该二级节点的候选节点按照重要度从大到小的顺序依次划分至该域中。如果该二级节点的所有候选节点都被添加至该域中后该域中的节点数量仍未达到该域的初始上限,则继续从该初始节点的候选节点中选择重要度第二大的节点作为新的二级节点,并将新的二级节点的候选节点按照重要度从大到小的顺序依次划分至该域中,依此类推,直至划分至该域中的受控节点数量达到该域的所述初始上限。上述过程中,按照初始节点的候选节点的重要度从大到小的顺序来选择二级节点;针对每个二级节点,按照重要度从大到小的顺序将其候选节点划分至相应的域中。
(3)在完成初始划分后,如果还存在未划分至任何域中的剩余受控节点,则进行补充划分,将剩余受控节点中的每一者划分至所述N个域中的一者中。
在每个域的初始上限之和小于M的情况下,初始划分完成后仍存在剩余的还未划分的受控节点。此时,优选地,可考虑各个域的网络拓扑和负载量,将剩余的受控节点划分至某个或某些域中。例如,针对每个剩余受控节点,可将包括该剩余受控节点的至少一个邻居节点的域识别为该剩余受控节点的候选域,并且将该剩余受控节点划分至该剩余受控节点的所有候选域中负载量最小的域中。可遍历所有剩余受控节点执行上述过程,一次遍历结束后,如果还有未划分的剩余受控节点,则针对这些剩余受控节点再次遍历上述过程,直至剩余受控节点中的每一者都被划分至某个域中。可参考域中各个受控节点的负载量来确定域的负载量。例如,可将第i个域的负载量loadi表示为当前第i个域中所包括的所有受控节点的负载量之和。
在S103(可选的)中,可基于域的负载量调整所划分的N个域。为了使网络的负载较为均衡,可对经过S102划分得到的域进行调整,例如针对N个域中的一者或多者中的每个域,可将已被划分至该域中的部分受控节点重新划分至负载量小于该域的域中。例如,可将已被划分至所有域中负载量最大的域中的部分受控节点重新划分至所有域中负载量最小的域中;或者将已被划分至所有域中负载量最大的域中的部分受控节点重新划分至与该负载量最大的域相邻的域中负载量最小的域中。
S103是可选的,本领域技术人员可根据网络部署要求决定采用或忽略S103。执行S103可以使网络中各个域的负载更为平衡。
在S104中,可为每个域分配控制节点,该控制节点(例如,控制器)可用于控制被划分至该域中的所有受控节点(例如,交换机)。根据本发明,优选地,在为每个域分配控制节点的过程中,可计算该域中的每个受控节点的路径度量值,所述路径度量值为该受控节点至同一域中其他受控节点中每一者的最短路径距离之和,然后可将相应的控制节点部署于该域中具有最小路径度量值的受控节点所在的位置,或者部署于该域中具有最小路径度量值的受控节点附近。优选地,可在控制节点和/或受控节点中配置GPS单元,从而可基于来自所述受控节点的GPS信息确定相应受控节点的位置,和/或基于来自所述控制节点的GPS信息确定相应控制节点的位置。
图2示出了根据本发明的优选实施方式的基于Erlang等待系统和遗传算法确定域的数量N的方法。
S201,确定受控节点发送的请求数的概率分布、以及控制节点处理的请求数的概率分布。根据Erlang等待系统,可设任意受控节点j在单位时间内向控制节点发送的请求的数量符合参数为λj的泊松分布,其中λj是受控节点j向控制节点发送请求的平均速率,同时可认为所有交换机在单位时间内向控制节点发送请求的数量符合参数为λ的泊松分布,其中其中M为受控节点的总数;可设对应于单个域的控制节点在单位时间内处理来自控制节点的请求的数量符合参数为μ的指数分布,其中μ是对应于单个域的控制节点处理来自受控节点的请求的平均速率。为了不造成网络拥塞,可施加约束条件Nμ>λ。
S202,可获取在一段时间内所有受控节点向控制节点发送的平均请求数E[R]和单个请求的平均等待时间E[T]。可根据下式计算平均请求数E[R]和单个请求的平均等待时间E[T]:
其中ρ=a/N,a=λ/μ,C(N,a)为Erlang等待系统中定义的呼叫需要等待的概率。
S203,可基于遗传算法确定域的数量N。可构建如下优化函数:
Z(N)=c1E[T]+c2E[R]+c3N, 等式4
其中c1、c2和c3为可以根据需求确定的常数。可针对对于网络的不同性能要求调整c1、c2和c3的取值。例如,如果希望网络具有更好的时延特性,则可增大c1和c2;如果希望减少新增控制器引起的额外网络开销,则可适当增大c3。可基于遗传算法得到使Z(N)最小的N值,并将该N值作为所确定的域的个数。
图3示出了根据本发明的一个优选实施方式基于域的负载量调整所划分的N个域的方法。
S301,确定期望负载阈值loadexp。可计算初始的网络负载量C0,并基于该初始网络负载量确定期望负载阈值loadexp。例如,可基于下列公式计算C0和loadexp:
等式5
loadexp=αC0, 等式6
其中,loadi对应于在图1中经过S102划分得到的第i个域的负载量,upperi为第i个域的初始上限,α为根据需求确定的小于1的常数。α越大,最终得到的各域之间的负载差异越大,即对负载均衡的要求越低,同时需要的算法迭代次数较少,用于确定网络部署所需的时间越短。优选地,可将其取值为0.2~0.95范围内的某一常数。
S302,可将当前高负载域中的部分受控节点重新划分至低负载域中,以使网络中各个域的负载尽可能均衡。可进行多次重新划分以得到满足期望的网络划分。
S303,基于重新划分后的域计算网络负载量。可用下式计算基于第t次重新划分后的N个域的网络负载量Ct:
等式7
其中,loadi为经过第t次重新划分后得到的第i个域的负载量,upperi为第i个域的初始上限。等式5为等式7中t=0的情况。
S304,判断当前计算出的网络负载量是否大于期望负载阈值。
如果Ct>loadexp,则回到S302,执行下一次重新划分;否则,跳至S305,基于域的负载量的调整结束。
图4示出了根据本发明的实施方式确定的网络部署结构示意图。
如图4所示,若干个受控节点401(例如交换机)被划分至N个域中,图中通过直线直接相连的节点表示可通过一跳传输直达。每个域中部署了相应的控制节点402(例如控制器)以控制该域中的受控节点401。每个域中的控制节点402被部署于该域中具有最小路径度量值的受控节点所在的位置。该具有最小路径度量值的受控节点401在图中被控制节点402所遮挡所以未显式地示出。
如图4所示,每个受控节点401可与该受控节点所在域对应的控制节点402直接通信(即不需其他IP路由转发)或者经由本域内的其他受控节点401与本域的受控节点402通信,即可不需经由其他域中的节点即可与本域的控制节点402通信,从而大大减小网络的额外负担。
图5a示出了根据本发明确定的网络部署与根据现有技术确定的网络部署的可靠性比较。可利用最大连通子图相对值G来衡量网络可靠性:
等式8
其中M'为去掉某点后,剩下的拓扑所能形成的最大连通子图所包含的受控节点数,M为原拓扑所含受控节点数。G值越高,网络可靠度越大。图5a中横轴表示多个交换机(本次仿真中为100个交换机)被划分的域的总数,纵轴表示每次划分对应的G值,其中标注为HRLB的G值曲线为基于本发明的划分结果计算得到的G值的连线,标注为k-means的G值曲线为基于k-means算法的划分结果计算得到的G值的连线。可以看出,在该100个交换机被划分为2-10个域的每种情况下,根据本发明得到的G值都高于根据k-means算法得到的G值。
图5b示出了根据本发明确定的网络部署与根据现有技术确定的网络部署的负载性能比较。仿真条件为将某100个交换机划分为8个域。图中横轴表示编号不同的域,纵轴表示相应域的负载量(本仿真中指相应域中所有受控节点在单位时间内向控制节点发送请求的平均速率之和),其中标注为HRLB的显示条表示根据本发明确定的网络部署中各域的负载量,标注为k-means的显示条表示根据k-means算法确定的网络部署中各域的负载量。可以看出,与根据k-means算法确定的网络部署相比,根据本发明确定的网络部署中各个域的负载更为均衡。
图6示出了在分域服务器执行本发明所公开的方法的过程中分域服务器、受控节点和控制节点之间的信令交互图。可在分域服务器503中实现将若干个受控节点501划分至多个域中、并且为每个域分配控制节点502的功能。
在网络初始化部署过程中,分域服务器503可先收集网络状态信息。可先将每个受控节点501的受控节点标识符、每个受控节点501发送请求的平均速率λj、单个控制节点502处理请求的平均速率μ等参数输入分域服务器503,然后启动针对网络信息收集的计时(601)。采用计时器可确保分域服务器503不会因为收集不到个别已失效的受控节点501的信息而无法正常启动分域操作。如果时间T(时间T和网络规模/半径正相关)内收集不到来自某个受控节点501的消息,则可认为该受控节点已失效。
分域服务器503可唤醒各个受控节点501并从各个受控节点501接收相关信息。具体地,分域服务器503可向所有受控节点501广播唤醒报文,也可仅向非活动状态的受控节点501发送唤醒报文(602)。唤醒报文可包括用于标识该报文的报文类型的报文类型标识符,所述部分或全部受控节点包括所述多个受控节点中处于非活动状态的所有受控节点。唤醒报文帧格式可如下所示:
报文类型标识符 | 其他 |
报文类型标识符字段:8位,用于表示报文的类型,报文类型标识符的值与报文类型一一对应,报文类型包括唤醒报文、加入报文、加入响应报文、新加入报文、新加入响应报文、新节点通知报文、失效节点上报报文,ACK报文等;
其他字段:8位,全为零表示向所有交换机501发送此广播包。
各个受控节点501向分域服务器503发送加入报文(603),以告知自身相关信息。加入报文可包括用于标识该报文的报文类型的报文类型标识符、用于标识该受控节点的受控节点标识符、该受控节点的位置、该受控节点的邻居节点的数量以及用于标识该受控节点的每个邻居节点的受控节点标识符。加入报文帧格式可如下所示:
报文类型标识符 | 受控节点标识符 | 位置 | 邻居节点数量 | 邻居节点的标识符 |
报文类型标识符字段:8位,含义如上所述;
受控节点标识符字段:16位,用于表示发送该报文的受控节点501的身份信息,受控节点标识符的值能够唯一地标识各个受控节点501;
位置字段:48位,用于表示发送该报文的受控节点501的位置信息,前21位表示经度,后21位表示纬度,最后6位可以表示时区;
邻居节点数量字段:用于表示发送该报文的受控节点501的邻居节点的数量;
邻居节点的标识符字段:用于表示发送该报文的受控节点501的各个邻居节点的身份信息。
分域服务器503在接收来自受控节点501的加入报文后,向相应的受控节点501发送ACK报文进行确认(604)。
在启动计时器达时间T后,可结束计时(605),认为分域服务器503已完成网络初始化阶段的信息收集。
分域服务器503可按照上文所述的方法执行确定控制节点的数量的操作(606)、域划分(607)操作以及确定各个域的控制节点的部署位置的操作(608)。
然后分域服务器503可分别向各个受控节点501发送加入响应报文(609)。每个受控节点501接收到的加入响应报文可包括用于标识该报文的报文类型的报文类型标识符、用于标识分配给该受控节点501的控制节点502的控制节点标识符。加入响应报文帧格式可如下所示:
报文类型标识符 | 控制节点标识符 |
报文类型标识符字段:8位,含义如上所述;
控制节点标识符字段:16位,用于表示分配给该受控节点501所在域的控制节点502的身份信息,控制节点标识符的值能够唯一地标识各个控制节点502。
受控节点501接收到相应加入响应报文后,可向分域服务器503发送ACK报文(610)进行确认。至此可认为网络初始化部署完成。
当网络初始化部署完成、网络进入稳定运行后,如果有新的受控节点501请求加入网络,则该新的受控节点501可向分域服务器503发送新加入报文(611)。新加入报文可包括用于标识该报文的报文类型的报文类型标识符、用于标识该新的受控节点的受控节点标识符、该新的受控节点的位置、该新的受控节点的邻居节点的数量以及用于标识该新的受控节点的每个邻居节点的受控节点标识符。新加入报文可采用和加入报文类似的帧格式。
分域服务器503在接收到新加入报文后,可基于就近原则为该新的受控节点分配域(612)。针对每个新的受控节点,可将该受控节点划分至与该受控节点间的最短路径距离最小的控制节点502对应的域。然后,分域服务器503可向新的受控节点501发送新加入响应报文(613)以及向分配给该新受控节点501的控制节点502通知新节点通知报文(615)。新加入响应报文可包括用于标识该报文的报文类型的报文类型标识符、用于标识分配给该新的受控节点的控制节点的控制节点标识符。新加入响应报文可采用与加入报文类似的帧格式。新节点通知报文可包括用于标识该报文的报文类型的报文类型标识符、用于标识该新的受控节点的受控节点标识符、该新的受控节点的位置。新节点通知报文帧格式可如下所示:
报文类型标识符 | 受控节点标识符 | 位置 |
报文类型标识符字段:8位,含义如上所述;
受控节点标识符字段:16位,用于表示被分配给该控制节点502的新的受控节点501的身份信息,受控节点标识符的值能够唯一地标识各个受控节点501;
位置字段:48位,用于表示被分配给该控制节点502的新的受控节点501的位置信息,前21位表示经度,后21位表示纬度,最后6位可以表示时区。
新加入网络的受控节点501接收到所述新加入响应报文后,可向分域服务器503发送ACK报文加以确认(614)。同样地,控制该新的受控节点501的控制节点502在接收到新节点通知报文后,可向分域服务器503发送ACK报文加以确认(616)。
当网络初始化部署完成、网络进入稳定运行后,如果有现有的受控节点成员被从网络中移除,则由原来控制该受控节点501的控制节点502向分域服务器503上报失效节点上报报文(617)。失效节点上报报文包括用于标识该报文的报文类型的报文类型标识符、用于标识该被移除的受控节点的受控节点标识符、该被移除的受控节点的位置。失效节点上报报文可采用与新节点通知报文类似的帧格式。
分域服务器503在接收到所述失效节点上报报文后,可从其所存储的网络拓扑信息中删除该被移除的受控节点501,并向控制节点502发送ACK报文加以确认(618)。
本发明所公开的网络部署方法,可适用于针对多个交换机的分域控制,此时,上述受控节点可被视为交换机,上述控制节点可被视为用于控制交换机的控制器。
本发明所公开的方法除适用于对SDN架构中的交换机和控制器进行部署外,还可适用于其他具有类似控制面和数据面分离配置的部署场景。
以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。
此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。
Claims (26)
1.一种网络部署方法,该方法包括:
确定针对多个受控节点的域的数量N,并确定N个域中每个域的初始上限,所述N个域中每个域的所述初始上限之和小于等于所述多个受控节点的数量;
将所述多个受控节点全部划分至所述N个域中,包括:
获取所述多个受控节点中每个受控节点的重要度,所述多个受控节点中每个受控节点的所述重要度和该受控节点的负载量以及该受控节点在所述多个受控节点中的邻居节点的数量有关,
所述受控节点的负载量基于该受控节点向控制节点发送请求的平均速率来衡量,所述多个受控节点中受控节点j的重要度impor(j)表达为:
impor(j)=kj×λj
其中kj为受控节点j在所有受控节点中具有的邻居节点的数量,λj为受控节点j向控制节点发送请求的平均速率;
基于所述受控节点的所述重要度和所述受控节点间的邻居关系进行域的初始划分,经过所述初始划分得到N个域,其中每个域所包括的所述受控节点的数量等于该域的所述初始上限,
所述初始划分的过程中,逐个划分得到所述N个域,并且针对每个域的所述初始划分包括:
针对任意受控节点,将该受控节点在所述多个受控节点中的未被划分至任何域中的邻居节点识别为该受控节点的候选节点;
从所述多个受控节点中还未被划分至任何域中的受控节点中选择重要度最高的受控节点作为初始节点,将该初始节点划分至该域中,并且将该初始节点的候选节点按照重要度从大到小的顺序依次划分至该域中,直至划分至该域中的受控节点数量达到该域的所述初始上限;
在完成所述初始划分后,如果所述多个受控节点中还存在未被划分至任何域中的剩余受控节点,则将所述剩余受控节点中的每个剩余受控节点划分至所述N个域中的一者中;
针对所述N个域中的每个域分配控制节点,包括:
针对得到的每个域,计算该域中每个受控节点的路径度量值,所述路径度量值为该受控节点至同一域中其他受控节点中每一者的最短路径距离之和;
针对得到的每个域,将所述控制节点部署于该域中具有最小路径度量值的受控节点所在的位置,或者部署于该域中具有最小路径度量值的受控节点附近。
2.根据权利要求1所述的网络部署方法,其中,设所述多个受控节点的数量为M,则所述N个域中每个域的所述初始上限为
3.根据权利要求1所述的网络部署方法,其中,确定针对所述多个受控节点的域的数量N包括:
获取在一段时间内所述多个受控节点向控制节点发送的平均请求数E[R]以及单个请求的平均等待时间E[T],其中所述平均请求数E[R]和所述平均等待时间E[T]均为N的函数;
利用所述平均请求数E[R]和所述平均等待时间E[T]并基于遗传算法、蚁群算法和蜂群算法中的任意一者确定所述域的数量N。
4.根据权利要求3所述的网络部署方法,其中,基于Erlang等待系统、Erlang拒绝系统和Engset拒绝系统中的任意一者获取所述平均请求数E[R]和所述平均等待时间E[T]。
5.根据权利要求4所述的网络部署方法,其中,基于Erlang等待系统获取所述平均请求数E[R]和所述平均等待时间E[T]包括:
(1)设所述多个受控节点中任意受控节点j在单位时间内向控制节点发送请求的数量符合参数为λj的泊松分布,其中λj是受控节点j向控制节点发送请求的平均速率;设对应于任意一个域的控制节点在单位时间内处理来自受控节点的请求的数量符合参数为μ的指数分布,其中μ是对应于单个域的控制节点处理来自受控节点的请求的平均速率;施加约束条件Nμ>λ,其中λ表示所述多个受控节点中每个受控节点向控制节点发送请求的平均速率之和;
(2)根据下式得到所述平均请求数E[R]和所述平均等待时间E[T]:
其中a=λ/μ,ρ=a/N,C(N,a)为Erlang等待系统中定义的呼叫需要等待的概率。
6.根据权利要求3所述的网络部署方法,其中,基于遗传算法确定所述域的数量N包括:
建立优化函数Z(N)=c1E[T]+c2E[R]+c3N,其中c1、c2和c3为常数;
得到使Z(N)最小的N的值作为所确定的所述域的数量。
7.根据权利要求1所述的网络部署方法,其中,基于每个受控节点向控制节点发送请求的平均速率来确定该受控节点的所述负载量。
8.根据权利要求1所述的网络部署方法,其中,在所述初始划分的过程中,逐个划分得到所述N个域,并且针对每个域的所述初始划分包括:
如果所述初始节点和该初始节点的全部候选节点之和小于该域的所述初始上限,则按照所述重要度从大到小的顺序从该初始节点的全部候选节点中依次选择节点作为二级节点,当二级节点被选中后,将该二级节点的候选节点按照重要度从大到小的顺序依次划分至该域中,直至划分至该域中的受控节点数量达到该域的所述初始上限。
9.根据权利要求1所述的网络部署方法,其中,针对所述剩余受控节点中的每个剩余受控节点,将包括该剩余受控节点的至少一个邻居节点的域识别为该剩余受控节点的候选域,并且将该剩余受控节点划分至该剩余受控节点的所有候选域中负载量最小的域中。
10.根据权利要求1所述的网络部署方法,其中,该网络部署方法还包括:在将所述多个受控节点全部划分至所述N个域中之后并且在针对所述N个域中每个域分配控制节点之前,基于域的负载量调整当前划分的所述N个域。
11.根据权利要求10所述的网络部署方法,其中,基于域的负载量调整当前划分的所述N个域包括针对所述N个域中的一者或多者中的每个域,将已被划分至该域中的部分受控节点重新划分至负载量小于该域的域中。
12.根据权利要求11所述的网络部署方法,其中,基于域的负载量调整当前划分的所述N个域包括将已被划分至所述N个域中负载量最大的域中的部分受控节点重新划分至所述N个域中负载量最小的域中;或者将已被划分至所述N个域中负载量最大的域中的部分受控节点重新划分至与该负载量最大的域相邻的域中负载量最小的域中。
13.根据权利要求11或12所述的网络部署方法,其中,基于域的负载量调整当前划分的所述N个域包括:
确定网络的期望负载阈值;
执行至少一次重新划分;
在每次重新划分后,基于本次重新划分后的N个域计算当前的网络负载量,如果计算出的网络负载量不大于所述期望负载阈值,则调整结束;否则执行下一次重新划分,直至计算出的网络负载量不大于所述期望负载阈值,则调整结束。
14.根据权利要求13所述的网络部署方法,其中,用下式计算基于第t次重新划分后的N个域的所述网络负载量Ct:
其中loadi为经过第t次重新划分后得到的第i个域的负载量,upperi为第i个域的所述初始上限。
15.根据权利要求14所述的网络部署方法,其中,所述期望负载阈值为αC0,α为小于1的常数,C0表示初始的网络负载量:
loadi为在所述调整前第i个域的负载量,upperi为第i个域的初始上限。
16.根据权利要求1所述的网络部署方法,其中,基于来自所述受控节点的GPS信息确定相应受控节点的位置,和/或基于来自所述控制节点的GPS信息确定相应控制节点的位置。
17.根据权利要求1所述的网络部署方法,其中,所述受控节点为交换机,所述控制节点为用于控制交换机的控制器。
18.根据权利要求1或10所述的网络部署方法,其中,在将所述多个受控节点全部划分至所述N个域中之前,从所述多个受控节点中的每一者接收加入报文,所述加入报文包括用于标识该报文的报文类型的报文类型标识符、用于标识该受控节点的受控节点标识符、该受控节点的位置、该受控节点的邻居节点的数量以及用于标识该受控节点的每个邻居节点的受控节点标识符。
19.根据权利要求18所述的网络部署方法,其中,从所述多个受控节点中的每一者接收加入报文前,向所述多个受控节点中的部分或全部受控节点发送唤醒报文以唤醒处于非活动状态的受控节点,所述唤醒报文包括用于标识该报文的报文类型的报文类型标识符,所述部分或全部受控节点包括所述多个受控节点中处于非活动状态的所有受控节点。
20.根据权利要求1所述的网络部署方法,其中,在针对所述N个域中的每个域分配控制节点后,向所述多个受控节点中的每个受控节点发送加入响应报文,每个受控节点接收到的所述加入响应报文包括用于标识该报文的报文类型的报文类型标识符、用于标识分配给该受控节点的控制节点的控制节点标识符。
21.根据项权利要求1所述的网络部署方法,还包括在针对所述N个域中的每个域分配控制节点后,如果有新的受控节点加入网络,则基于就近原则将每个新的受控节点划分至所述N个域中的一个域。
22.根据权利要求21所述的网络部署方法,其中,在该新的受控节点加入所述网络前,从该新的受控节点接收新加入报文,所述新加入报文包括用于标识该报文的报文类型的报文类型标识符、用于标识该新的受控节点的受控节点标识符、该新的受控节点的位置、该新的受控节点的邻居节点的数量以及用于标识该新的受控节点的每个邻居节点的受控节点标识符。
23.根据权利要求22所述的网络部署方法,其中,在将每个新的受控节点划分至所述N个域中的一个域后,向该新的受控节点发送新加入响应报文,所述新加入响应报文包括用于标识该报文的报文类型的报文类型标识符、用于标识分配给该新的受控节点的控制节点的控制节点标识符。
24.根据权利要求22所述的网络部署方法,其中,在将每个新的受控节点划分至所述N个域中的一个域后,向分配给该域的控制节点发送新节点通知报文,所述新节点通知报文包括用于标识该报文的报文类型的报文类型标识符、用于标识该新的受控节点的受控节点标识符、该新的受控节点的位置。
25.根据权利要求1所述的网络部署方法,还包括在针对所述N个域中的每个域分配控制节点后,如果已被划分至所述N个域中的受控节点从网络中移除,则从被移除的受控节点所在域对应的控制节点接收该被移除的受控节点的信息。
26.根据权利要求25所述的网络部署方法,其中,该被移除的受控节点的信息为失效节点上报报文,所述失效节点上报报文包括用于标识该报文的报文类型的报文类型标识符、用于标识该被移除的受控节点的受控节点标识符、该被移除的受控节点的位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510194357.2A CN106161270B (zh) | 2015-04-22 | 2015-04-22 | 一种网络部署方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510194357.2A CN106161270B (zh) | 2015-04-22 | 2015-04-22 | 一种网络部署方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106161270A CN106161270A (zh) | 2016-11-23 |
CN106161270B true CN106161270B (zh) | 2019-05-10 |
Family
ID=57346542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510194357.2A Active CN106161270B (zh) | 2015-04-22 | 2015-04-22 | 一种网络部署方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106161270B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10009775B1 (en) * | 2017-03-14 | 2018-06-26 | Aruba Networks, Inc. | Network deployment |
CN109151837B (zh) * | 2018-08-21 | 2021-12-24 | 广东工业大学 | 一种控制器及网关联合部署优化方法 |
JP7277682B2 (ja) * | 2019-07-03 | 2023-05-19 | 公立大学法人会津大学 | 3次元ネットワークオンチップによるスパイキングニューラルネットワーク |
CN114124716B (zh) * | 2020-08-30 | 2023-10-10 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 面向软件定义网络的均衡分域方法 |
CN113225353B (zh) * | 2021-05-31 | 2021-11-02 | 杭州合众数据技术有限公司 | 一种基于云计算的网间信息安全监管系统 |
CN113422822B (zh) * | 2021-06-21 | 2022-04-26 | 广东电网有限责任公司 | 一种边缘计算自适应网络方法、系统、终端和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291308A (zh) * | 2011-08-25 | 2011-12-21 | 中科华核电技术研究院有限公司 | 一种网络动态负载均衡的实现方法与系统 |
CN103179046A (zh) * | 2013-04-15 | 2013-06-26 | 昆山天元昌电子有限公司 | 基于openflow的数据中心流量控制方法及系统 |
CN104065590A (zh) * | 2014-07-16 | 2014-09-24 | 福州大学 | 一种软件定义网络的控制器放置方法 |
CN104065585A (zh) * | 2014-07-16 | 2014-09-24 | 福州大学 | 一种在软件定义网络中动态调整控制器负载的方法 |
CN104301243A (zh) * | 2014-09-22 | 2015-01-21 | 华为技术有限公司 | 一种负载控制方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9521028B2 (en) * | 2013-06-07 | 2016-12-13 | Alcatel Lucent | Method and apparatus for providing software defined network flow distribution |
-
2015
- 2015-04-22 CN CN201510194357.2A patent/CN106161270B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291308A (zh) * | 2011-08-25 | 2011-12-21 | 中科华核电技术研究院有限公司 | 一种网络动态负载均衡的实现方法与系统 |
CN103179046A (zh) * | 2013-04-15 | 2013-06-26 | 昆山天元昌电子有限公司 | 基于openflow的数据中心流量控制方法及系统 |
CN104065590A (zh) * | 2014-07-16 | 2014-09-24 | 福州大学 | 一种软件定义网络的控制器放置方法 |
CN104065585A (zh) * | 2014-07-16 | 2014-09-24 | 福州大学 | 一种在软件定义网络中动态调整控制器负载的方法 |
CN104301243A (zh) * | 2014-09-22 | 2015-01-21 | 华为技术有限公司 | 一种负载控制方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106161270A (zh) | 2016-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106161270B (zh) | 一种网络部署方法 | |
CN103746911B (zh) | 一种sdn网络结构及其通信方法 | |
CN105721302B (zh) | 一种软件定义网络路由选择方法 | |
CN106059811B (zh) | 通信系统、控制装置、分组转发路径控制方法 | |
CN108076158B (zh) | 基于朴素贝叶斯分类器的最小负载路由选择方法及系统 | |
CN105827528B (zh) | 一种适用于频谱灵活光网络的路由选择方法 | |
CN105357124B (zh) | 一种MapReduce带宽优化方法 | |
JP5943431B2 (ja) | ネットワーク、データ転送ノード、通信方法およびプログラム | |
CN103825838A (zh) | 一种数据中心去带宽碎片化流调度方法 | |
CN105704180B (zh) | 数据中心网络的配置方法及其系统 | |
Jia et al. | A BUS‐aided RSU access scheme based on SDN and evolutionary game in the Internet of Vehicle | |
CN105391651A (zh) | 一种虚拟光网络多层资源汇聚方法和系统 | |
CN105141512A (zh) | 支持分组/电路混合交换网络的统一网络架构和控制方法 | |
CN105978740A (zh) | 一种在软件定义网络中部署控制器的方法 | |
CN103795606A (zh) | 一种光网络中基于sdn的服务迁移控制方法 | |
CN105847146A (zh) | 一种提高层次分布式sdn控制平面路由效率的机制 | |
CN105337866B (zh) | 一种流量切换方法及装置 | |
KR20150080183A (ko) | 데이터 센터 네트워크의 동적 트래픽 분배 방법 및 장치 | |
CN104754589A (zh) | 基于流量感知的动态组网方法 | |
CN105453494B (zh) | 虚拟最短路径树建立及处理的方法及路径计算单元 | |
CN114938327A (zh) | 路由方法、路由装置、控制器和计算机可读存储介质 | |
JP6619708B2 (ja) | データ分離評価装置、データ分離評価方法およびデータ分離評価プログラム | |
WO2015097749A1 (ja) | 情報処理装置及び情報処理方法及びプログラム | |
Hoang et al. | New distributed constraint satisfaction algorithms for load balancing in edge computing: A feasibility study | |
CN107707471A (zh) | 基于大规模sdn的最小化转发链路数的节能方案 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |