一种基于指定时延的sdn控制器生存性部署方法
【专利摘要】本发明请求保护一种基于指定时延的SDN控制器生存性部署方法。该方法是一种离线部署算法。该方法根据用户控制时延需求,自定义SDN控制器的控制时延,同时保证至少有2条路径作为控制链路,部署方法根据上述条件计算出SDN控制器的部署位置。SDN部署位置的确定可分为单控制器部署模型和多控制器部署模型。其中,多控制器部署模型需根据控制器间的协调传输时延,确定控制器管控中心以协调控制器间的工作。本发明部署方法能够满足用户的控制时延需求,提高控制平面的生存性,同时可减少控制平面的控制冗余,从而提高网络的整体性能。
【专利说明】
一种基于指定时延的SDN控制器生存性部署方法
技术领域
[0001]本发明属于通信领域中的SDN技术领域,具体涉及一种基于指定时延的SDN控制器 生存性部署方法。
【背景技术】
[0002] 软件定义网络(Software Defined Networking,SDN)是一种全新的网络架构,通 过将网络设备控制面与数据面分离,实现网络的灵活控制,为核心网络及应用的创新提供 了良好的支撑。在SDN网络中,负责数据转发的底层交换设备被抽象出来,赋予统一开放的 接口。通过使用这些统一开放的接口,网络用户可以方便的对网络进行编程和设计,以适应 各种场景需求。
[0003] 软件定义光网络(Software Defined Optical Network,SD0N)是对SDN技术的具 体应用。SD0N能够实现对大容量光网络的灵活管控,它是基于通用多协议标签交换 (Generalized Multiprotocol Label Switching,GMPLS)和基于路径计算单元(Path Computation Element,PCE)光网络之后的第3代智能光网络。SD0N实现了大规模光网络海 量业务的的灵活资源动态调度。为实现资源的灵活调度,SD0N将网络节点分为两类:专注于 转发的哑的转发设备和专注于控制的软件控制的驱动器。
[0004] SD0N网络从逻辑上可分数据转发平面和控制平面,其中控制平面承担着对数据平 面集中管控。控制平面完成的控制决策包括,SD0N网络状态信息的收集、数据传输路由决 策、光通路动态建立决策和拆除、控制流表下发决策等。由此可见SD0N中控制平面承载着大 量的控制指令,控制平面与数据平面的可靠连接关系到数据平面的转发能力,一旦控制平 面与数据平面失联,数据平面将会大范围的失去数据转发能力,从未带来巨大的损失。此 外,控制平面对数据平面的控制时延直接关系用户良好的网络体验和数据转发性能。
[0005] 综上所述,SD0N控制平面的设计部署直接关系SD0N网络的整体性能,因此为了提 高SD0N网络的整体性能,该方法将从控制器生存性和满足控制指令传输时延两个主要方面 提出在SD0N网络中控制器的部署方法。
【发明内容】
[0006] 现有SD0N网络中,控制器的生存性和控制时延是SD0N网络中的两个重要的性能指 标,针对SD0N网络的整体需求,提出了一种能够根据指定时延确定控制的部署位置,同时能 够保证每个网络节点至少有2条以上的控制链路,并且能尽可能的减少控制器的部署个数。 该方法能够满足用户控制时延要求,提高SD0N网中控制平面的生存性,同时能够减少控制 器平面的控制冗余。
[0007] 本发明的技术方案如下:
[0008] -种基于指定时延的SDN控制器生存性部署方法,其包括以下步骤:
[0009] 首先确定SDN控制器的部署位置,包括步骤:
[0010] 1 〇 1、采用回溯法或穷举法求VlgJ节点Vi的所有无环路径,其中^表示起始节点,Vi 表示目标节点。若无环路径的边有任意一条重复,记为同一条链路,并记录每条链路的传输 时延,并根据传输时延为控制链路制定优先级;
[0011 ] 102、重复步骤101,遍历所有的目标节点VI到V2、VI到V3··· VI到Vn,并依次记录结果:
[0012] vAm,··· 4 表示的第K条路径的传输时延;
[0013] 103、遍历所有的起始节点Vj(l〈j<n)
[0014] 采用步骤101和步骤10 2中的方法和记录方式,依次记录起始节点到SDN网络中所 有目标节点的链路和对应的链路传输时延,并记录,当第i个节点作为起始节点时,第i到前 (i-Ι)个节点无需遍历;
[0015] 104、当完成步骤103后,给定指定控制时延参数以此确定满足条件的控制链路数 量,判断是否存在部署节点能将整个网络节点覆盖的节点,若是则跳转步骤105,否则跳转 步骤106;
[0016] 105、若能覆盖整个网络节点的节点个数大于1时,则求取每个节点所有控制链路 数目的平均值,并取控制链路数平均值最大的节点作为部署节点,若个数仅为1个,则该节 点即为部署节点,完成SDN控制器的单一部署;
[0017] 106、若不存在能将整个网络节点覆盖的节点,则选取vi节点作为起始节点能够满 足部分节点所述的生存性控制链路数目要求,则选取能保证节点个数最少的节点组作为部 署节点,判断所选节点组能否覆盖整个网络,若能则多个部署节点根据时延确定管控中心, 完成SDN控制器的多控制器位置部署。
[0018] 进一步的,步骤101中,无环路径有路径具有重复边时,只记录时延最短的边所对 应的路径,将结果记录为wAm,···,!!),其中T k表示vgljVl的第K条路径的传输时延,以 表示节点VI到节点Vi的传输路由。
[0019] 进一步的,所述SDN控制器中预留控制路由表,根据控制链路的联通性、控制链路 的优先级动态的指定控制信令的传输路由。
[0020] 进一步的,所述步骤103中指定时延参数由SDN网络的自身特性以及用户的网络体 验确定,假设根据实际需求给出时延参数为T cs,因此保证每条链路的控制实验小于1^,根 据步骤103中确定的每条链路的时延记录结果,依次与1^进行比较,根据比较结果记录起始 节点所用于满足条件的控制链路数,记录结果如下:
[0021 ] a)NUMvi2(Ti,T2,...,Tk),NUMvi3(Ti,T2,...,Tk),…,NUM vii(Ti,T2,...,Tk),…,NUMvin(Ti,T2,...,Tk)
[0022] b)NUMv21(Tl,T2,...,Tk),NUMv23(Tl,T2,...,Tk),…,NUMv2i(Tl,T2,...,Tk),…,NUMv2n(Tl,T2,...,Tk)
[0023] ……
[0024] n)NUMvnl(Tl,T2,...,Tk),NUMvn2(Tl,T2,...,Tk),···,NUMvni(Tl,T2,...,Tk),···,NUMvn(Tl,T2,...,Tk)
[0025]其中NUMvni(Tl,T2,...,Tk)表示起始节点为Vn时,VnSJ其他节点时延小于指定时延T cs的 数量。
[0026] 进一步的,所述步骤106生存性需保证冊1^1(1'1,了2,...,了1〇> = 2,冊1抓2(1'1,了2,...,了1〇> = 2,--,NUMvnim,T2,...,Tk)> = 2,~,NUMvnm,T2,...,Tk)> = 2,既起始节点到目标节点至少有两条控 制通道。
[0027] 进一步的,设多控制器部署模型中控制器部署节点位置为Vpcl,Vpc2,Vpc3,~, Vpcn, 所述步骤106的管控中心V。。节点的部署位置为到其控制器部署节点平均传输时延最小的节 点,既所求节点满足
,T(vpc;i,νρ。」)表示v pc;i到νρ。」的传输时延。
[0028]本发明的优点及有益效果如下:
[0029] 一、可根据SD0N网络的实际需求和用户的网络体验指定传输时延,能够更好的满 足SD0N网络中控制平面对数据平面的集中管控;二、在满足用户指定控制时延的基础之上, 本发明所提控制器部署算法理论上能够使得控制时延100%满足用户需求;三、控制器的部 署位置到控制节点根据控制时延指定至少2条的控制链路,因此大大提高了控制平面的生 存性;四、本发明在多控制器部署模型下,根据控制时延和控制链路条数尽可能少的减少部 署控制器的个数,大大减少了控制平面的控制冗余,提高控制平面的控制效率。
【附图说明】
[0030] 图1是本发明提供优选实施例控制器部署模型图;
[0031] 图2为本发明SDN控制器部署节点位置确定流程图;
[0032] 图3为本发明控制器部署模型位置确定实施例。
【具体实施方式】
[0033] 以下结合附图,对本发明作进一步说明:
[0034] 如图1所示,图1为本发明所述的控制器部署模型图。其中图1(a)为单一控制部署 模型,所述单一控制器部署模型根据实际网络传输需求,将一个控制器部署在网络节点中 的某个合理位置可以满足传输时延需求。并且根据最大时延,获取控制器到每个节点的传 输链路,根据控制链路时延大小,为每条链路设定不同的优先级。图1(b),为多控制器部署 模型。图1(b)中的控制器个数只是多控制器控制模型举例,所述多控制器部署模型根据实 际网络传输需求,一个控制器在控制实时延的约束下不能将网络拓扑中的节点全部覆盖, 因此需要部署多个控制器,多个控制器管控节点的并集可覆盖整个拓扑网络。此时多个控 制器间需协调工作,需在控制器中选出管控中心,实现控制器间的协同管控。(注:图中虚线 是控制器在满足指定时延控制条件的下的控制范围)
[0035] 如图2所示,为本发明SDN控制器部署节点位置确定流程图。以下将根据图2具体说 明如何确定部署节点的位置,具体步骤如下:
[0036] 步骤201、求vgljvi的所有无环路径
[0037]寻找VjljVl的所有路径,若边有任意一条重复,记为同一条链路,并记录每条链路 的传输时延,并根据传输时延为控制链路制定优先级(注:重复边的路径只记录时延最短的 路径)。将结果记录为:
[0038] viVTiA,…,Tk),其中Tk表示VI到Vi的第K条路径的传输时延,VI1表示节点VI到节 点Vi的传输路由。
[0039] 步骤202:遍历所有的目标节点vi(l〈i<n)
[0040] 采用步骤101中的方法和记录方式,遍历所有的目标节点VI到V2、VI到V3··· vi到vn。 并依次记录结果:
[0041] vi2(Ti,T2,---,Tk),vi3(Ti,T2,---,Tk),---,vi i(Ti,T2,---,Tk),---,vin(Ti,T2,---,Tk) [00 42]步骤203:遍历所有的起始节点vj(l〈j彡η)
[0043 ] 采用步骤101和步骤102中的方法和记录方式,依次记录起始节点到SDN网络中所 有目标节点的链路和对应的链路传输时延。并记录结果如下:
[0044] aWAT〗,…,TkhvAThT〗,…,Tk),…,νιΗΤΑ,…,Tk),…,
[0045] bWAT〗,…,…,Tk),…,¥2办,丁2,…,Tk),…,
[0046] -ΗΤΑ,…,TkhvsYTbT〗,…,Tk),…,vsHThT〗,…,Tk),…,vslThTy
[0047] ……
[0048] n)vn1(Ti,T2,---,Tk),Vn2(Ti,T2,---,Tk),---,Vn i(Ti,T2,---,Tk),---,Vn(n_1)(Ti,T2,···, Tk)
[0049] 从遍历结果我们可以看出第i个节点作为起始节点时,第i到前(i-1)个节点无需 遍历(注:上述结果只是为记录遍历结果,实现过程中不对第i到前(i-ι)个节点进行遍历)。
[0050] 步骤204:给定指定控制时延参数以此确定满足条件的控制链路数量
[0051] 指定时延参数由SDN网络的自身特性以及用户的网络体验确定。假设根据实际需 求给出时延参数为Tcs,因此保证每条链路的控制实验小于Tcs。
[0052] 根据步骤3中确定的每条链路的时延记录结果,依次与1^进行比较,根据比较结果 记录起始节点所用于满足条件的控制链路数。记录结果如下:
[0053] a)NUMvi2(Ti,T2,...,Tk),NUMvi3(Ti,T2,...,Tk),…,NUM vii(Ti,T2,...,Tk),…,NUMvin(Ti,T2,...,Tk)
[0054] b)NUMv21(Tl,T2,...,Tk),NUMv23(Tl,T2,...,Tk),…,NUM v2i(Tl,T2,...,Tk),…,NUMv2n(Tl,T2,...,Tk)
[0055] ……
[0056] n)NUMvnl(Tl,T2,...,Tk),NUMvn2(Tl,T2,...,Tk),···,NUMvni(Tl,T2,...,Tk),···,NUMvn(Tl,T2,...,Tk)
[0057] 注:NUMvni (ΤΙ, T2,…,Tk)表示起始节点为Vn时,Vn到其他节点时延小于指定时延Tcs的数 量。
[0058]步骤205:比较判断 NUMvni(T1,T2,...,Tk)
[0059] 为提高控制平面的生层性需保证NUMvni(Ti,T2,...,Tk)> = 2,NUMvn2(Ti,T2,...,Tk)> = 2,…, NUMvni(n,T2,...,Tk)> = 2,…,NUMvn(n,T2,...,Tk)> = 2,既起始节点到目标节点至少有两条控制通 道。
[0060] a)如果只存一个Vi(当i =n时)满足上述条件,贝lj节点Vi就为控制器vpc部署节点。
[0061] b)如果存在多个节点Vil,Vi2,Viw,Viz满足上述条件时,则此时求所有控制链路 数目的平均值,以保证SDN网络中节点的平均生存性最大。
[0063] 取上述满足公式中的最大节点,该节点就为控制器Vp。部署节点。
[0064] c)如果不存节点vi满足所有的NUMvnl(n,T2,...,Tk)> = 2,NUMvn2(T1,T2,...,Tk)> = 2,…, NUMvn(n-iKTi,T2,...,Tk)> = 2(当vi = vn时),但是vi节点作为起始节点能够满足部分节点所述条 件(既vi作为部署节点时能够使得到部分节点的控制链路至少有2条),设 vil,vi2,vi3,…, vin中每个节点都能满足部分节点的生存性控制链路数目需求,既单个节点vin不能将整个 SDN网络节点全部覆盖,因此需要多个节点vi部署控制器,共同完成SDN网络中全部节点的 覆盖。同时,为减少SDN网络中控制平面的冗余,应使得部署最少的节点完成SDN网络节点的 覆盖。既使得I vi 1 U vi2··· U vin |数值最小。
[0065] d)在某些情况下,若指定控制时延过小,C)中的节点不能将SDN网络中的全部网络 节点覆盖,但是能够覆盖大部分的网络节点,此时未覆盖节点部分需单独部署一个SDN控制 器。
[0066]以上步骤101至步骤105即可完成控制器部署位置的选取,其中上述步骤105中a) 和b)的部署位置节点对应单一控制器部署模型,步骤105中c)和d)中的部署节点对应多控 制器部署模型。
[0067] 步骤206:管控中心Vcc节点位置确定
[0068]对于多控制器的管控平台,多个控制器之间需要协调工作,因此本发明所有控制 器部署中需要确定一个管控中心,以协调控制器之间的工作。本发明部署算法考虑控制器 之间的协调信令传输时延,设多控制器部署模型中控制器部署节点位置为v Pca,Vpc2, vpc3,…,。。节点的部署位置为到其控制器部署节点平均传输时延最小的节点,既所求
[0069 ]注:T ( Vpci,Vpcj )表示Vpci到 Vpcj 的传输时延。
[0070] 实施例1:
[0071 ]如图3所示,图中有5个网络节点,网络节点连接用如图实线所示,实线上所标数值 为该节点到另外节点的传输时延。
[0072]步骤A301:寻找V1到节点v2的无环回路,并根据所提算法做出结果记录 :V12(1,3)。 [0073]步骤A302:遍历起始节点为VI时的所有目标节点,记录结果如下所示:
[0074] vi2(1,3),vi3(1,3),vi4(4,5),vi5(4,5)
[0075] 步骤A303:遍历所有的起始节点,记录结果如下所示:
[0076] vi2(1,3),vi3(1,3),vi4(4,5),vi5(4,5)
[0077] V21(1,3),V23(2,2,7),V24(3,6,6),V2 5(4,5)
[0078] V31(1,3),V32(2,2,7),V34(4,5,4),V3 5(3,5)
[0079] V41(4,5),V42(3,6,6),V43(4,5,4),V4 5(1,7)
[0080] V51(4,5),V52(4,5),V53(3,5),V5 4(1,7)
[0081 ]步骤A304:给定控制时延,并保证控制链路至少为2条,确定满足条件的链路。假 设,此处给定最大控制时延为4。存在满足条件的控制链路记录结果如下:
[0082] vi2(1,3),vi3(1,3)
[0083] v21(1,3),V23(2,2,7)
[0084] V31(1,3),V32(2,2,7),V34(4,5,4)
[0085] 步骤305:取满足节点的并集
[0086] vl,v2,v3三个节点在满足条件的情况下,将节点1,2,3,4覆盖,并且部署在3号节 点只需部署一个控制器。因此,3号节点在指定时延4的情况下为控制器的部署节点。但是,3 号节点在该用户指定时延情况下未将5号节点覆盖,此时需在5号节点位置处也需部署SDN 控制器。
[0087] 步骤A306:确定管控中心
[0088]因为部署在3号和5号节点位置的控制器是相邻控制器,因此可任选一个作为管控 中心,此处选5号节点作为管控中心。
[0089] 实施例2:
[0090] 本实施例,采用与实施例1相同的网络拓扑。具体实施过程如下:
[0091] 步骤B301:寻找V1到节点V2的无环回路,并根据所提算法做出结果记录:V1 2(1,3)。 [0092]步骤B302:遍历起始节点为VI时的所有目标节点,记录结果如下所示:
[0093] vi2(1,3),vi3(1,3),vi4(4,5),vi 5(4,5)
[0094] 步骤B303:遍历所有的起始节点,记录结果如下所示:
[0095] vi2(1,3),vi3(1,3),vi4(4,5),vi 5(4,5)
[0096] V21(1,3),V23(2,2,7),V24(3,6,6),V2 5(4,5)
[0097] V31(1,3),V32(2,2,7),V34(4,5,4),V3 5(3,5)
[0098] V41(4,5),V42(3,6,6),V43(4,5,4),V4 5(1,7)
[0099] V51(4,5),V52(4,5),V53(3,5),V5 4(1,7)
[0100] 步骤B304:给定控制时延,并保证控制链路至少为2条,确定满足条件的链路。假 设,此处给定最大控制时延为5。存在满足条件的控制链路记录结果如下:
[0101] vi2(1,3),vi3(1,3),vi4(4,5),vi 5(4,5)
[0102] v21(1,3),V23(2,2,7),v2 5(4,5)
[0103] v41(4,5),V43(4,5,4)
[0104] v51(4,5),V52(4,5),v53(3,5)
[0105] 步骤B305:将控制器部署在1号节点,在指定时延为5的情况下能够将真个网络节 点覆盖,因此1号节点位置为在指定时延为5时的控制器部署位置。
[0106] 以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在 阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变 化和修饰同样落入本发明权利要求所限定的范围。
【主权项】
1. 一种基于指定时延的SDN控制器生存性部署方法,其特征在于,包括以下步骤: 首先确定SDN控制器的部署位置,包括步骤: 101、 采用回溯法或穷举法求Vi到节点Vi的所有无环路径,其中Vi表示起始节点,Vi表示 目标节点,若无环路径的边有任意一条重复,记为同一条链路,并记录每条链路的传输时 延,并根据传输时延为控制链路制定优先级; 102、 重复步骤101,遍历所有的目标节点,既Vl到V2、V1到ν3···νι到Vn,并依次记录结果: 的第K条路径的传输时延; 103、 遍历所有的起始节点Vj(KjSn),采用步骤101和步骤102中的方法和记录方式,依 次记录起始节点到SDN网络中所有目标节点的链路和对应的链路传输时延,并记录,当第i 个节点作为起始节点时,第i到前(i -1)个节点无需遍历; 104、 当完成步骤103后,给定指定控制时延参数以此确定满足条件的控制链路数量,判 断是否存在部署节点能将整个网络节点覆盖的节点,若是则跳转步骤105,否则跳转步骤 106; 105、 若能覆盖整个网络节点的节点个数大于1时,则求取每个节点所有控制链路数目 的平均值,并取控制链路数平均值最大的节点作为部署节点,若个数仅为1个,则该节点即 为部署节点,完成SDN控制器的单一部署; 106、 若不存在能将整个网络节点覆盖的节点,则选取vi节点作为起始节点能够满足部 分节点所述的生存性控制链路数目要求,则选取能保证节点个数最少的节点组作为部署节 点,判断所选节点组能否覆盖整个网络,若能则多个部署节点根据时延确定管控中心,完成 SDN控制器的多控制器位置部署。2. 根据权利要求1所述的基于指定时延的SDN控制器生存性部署方法,其特征在于,步 骤101中,无环路径有路径具有重复边时,只记录时延最短的边所对应的路径,将结果记录 为:VI 1 (Tl,T2,···,Tk),其中Tk表示VI到Vi的第K条路径的传输时延,VI1表示节点VI到节点Vi的 传输路由。3. 根据权利要求2所述的基于指定时延的SDN控制器生存性部署方法,其特征在于,所 述SDN控制器中预留控制路由表,根据控制链路的联通性、控制链路的优先级动态的指定控 制信令的传输路由。4. 根据权利要求1所述的基于指定时延的SDN控制器生存性部署方法,其特征在于,所 述步骤103中指定时延参数由SDN网络的自身特性以及用户的网络体验确定,假设根据实际 需求给出时延参数为T cs,因此保证每条链路的控制实验小于Tcs J艮据步骤103中确定的每 条链路的时延记录结果,依次与?-进行比较,根据比较结果记录起始节点所用于满足条件 的控制链路数,记录结果如下: a) NUMvl2(Tl,T2,...,Tk),NUMvl3(Tl,T2,...,Tk),···,NUMvli(Tl,T2,...,Tk),···,NUMvln(Tl,T2,...,Tk) b) NUMv21(Tl,T2,---,Tk) ,NUMv23(Tl,T2,-'-,Tk) , ··· ,NUMv2i(Tl,T2,-'-,Tk) , ··· ,NUMv2n(Tl,T2,-'-,Tk)...... n)NUMvnl(Tl,T2,---,Tk) ,NUMvn2(Tl,T2,-'-,Tk) , , NUMvni (Tl, T2, Tk) , , NUMvn(Tl, T2, ' ·, Tk), 其中NUMvni(Tl, T2,Tk)表示起始节点为Vn时,Vn到其他节点时延小于指定时延Tcs的数量。5. 根据权利要求1所述的基于指定时延的SDN控制器生存性部署方法,其特征在于,所 述步骤106生存性需保证NUMvnl(Tl,T2,...,Tk)> = 2,NUMvn2(Tl,T2,...,Tk)> = 2,…,NUMvni(Tl,T2,...,Tk)> = 2,…,NUMvnm, T2,..., Tk)> = 2,既起始节点到目标节点至少有两条控制通道。6.根据权利要求1所述的基于指定时延的SDN控制器生存性部署方法,其特征在于,设 多控制器部署模型中控制器部署节点位置为^。1,^。2,^。3,~,^_,所述步骤1〇6的管控中 心%。节点的部署位置为到其控制器部署节点平均传输时延最小的节点,既所求节点满足,_T ( Vpci,Vpcj )表示Vpci到Vpcj的传输时延。
【文档编号】H04L12/751GK106027293SQ201610321075
【公开日】2016年10月12日
【申请日】2016年5月16日
【发明人】曾帅, 盖绍聪, 张毅
【申请人】重庆邮电大学