一种多域控制器的跨域路径计算方法与流程

文档序号:12889971阅读:285来源:国知局
一种多域控制器的跨域路径计算方法与流程

本发明涉及软件定义网络(sdn)中多域控制器的路径计算,具体涉及一种多域控制器的跨域路径计算方法。



背景技术:

信息技术的快速发展和用户需求的不断变化,不仅给通信网络带来了新的需求和挑战,同时对通信网络的设备能力和管理复杂度也提出更高要求,通信网络需要进一步简化运维、挖掘网络潜能、提供快速灵活的业务支持能力。

sdn具有控制和转发分离、可编程应用编程接口(api)的技术特点,可以更好的支持应用层与网络层的协同机制,支持网络资源的虚拟化管理和集中控制。sdn的控制层功能由控制器来提供,对于复杂的网络,sdn需要对网络进行域划分,形成多域网络,每个域网络由单独的控制器进行控制;对于整个网络,由多域控制器进行管理,多域控制器和单域控制器间通过接口进行协同。

在sdn架构中,业务的创建由app通过北向接口向控制器发起,控制器完成业务的路径计算后,进行标签分配,然后通过openflow等协议将流表下发给路径中的每一个交换机来完成,而路径计算的结果对于业务的成功及质量的好坏起着决定性作用;因此,在多域网络中,多域控制器如何进行最优跨域路径的计算是sdn的关键技术难题。



技术实现要素:

本发明所要解决的技术问题是在多域网络中,多域控制器如何进行最优跨域路径的计算的问题。

为了解决上述技术问题,本发明所采用的技术方案是提供一种多域控制器的跨域路径计算方法,包括以下步骤:

步骤s10、每个单域控制器根据其对应域内的节点和节点间的链路构建对应的域内拓扑结构,并向多域控制器上报域内所有节点的域标识信息;多域控制器根据其控制的所有域和域间链路构建域间拓扑结构;

步骤s20、根据跨域业务建立请求,多域控制器基于域间拓扑结构计算源节点所在域到宿节点所在域经过的所有域的域序列;

步骤s30、多域控制器向域序列中各个域的单域控制器发起域内路径计算请求;每个域的单域控制器根据域内路径计算请求以及域内拓扑结构计算域内路径,并将域内路径计算结果发送给多域控制器;

步骤s40、多域控制器根据域序列涉及的各个域的域内路径计算结果和域间链路,相互组合得到多条从源节点到宿节点的完整端到端跨域路径;

步骤s50、多域控制器根据路由最优策略从多条端到端跨域路径中选择出一条最优的路径作为多域路径。

在上述方法中,步骤s10包括以下步骤:

步骤s11、受同一个多域控制器控制的每个单域控制器通过lldp协议发现对应域内的节点和链路;

步骤s12、每个单域控制器根据其域内的节点和节点间链路关系分别构建对应的域内拓扑结构;

步骤s13、多域控制器通过静态配置域间链路或lldp自动发现方式发现受其控制的域和域间的链路;

步骤s14、多域控制器根据其控制的域和域间的链路关系构建域间拓扑结构;

步骤s15、每个单域控制器通过北向接口向多域控制器上报其域内所有节点的域标识信息,多域控制器记录所有节点的所在域标识信息。

在上述方法中,从源域到宿域包括一个或多个域序列;

每个所述域序列由源节点、从源节点到宿节点经过的域的边界节点和宿节点组成,除源节点和宿节点所在的源域和宿域,其它域序列经过的域为中间域,中间域的边界节点包括源边界节点和宿边界节点。

在上述方法中,步骤s20包括以下步骤:

步骤s21、多域控制器接收app通过北向接口发来的跨域业务建立请求;

步骤s22、多域控制器解析业务建立请求,提取源节点和宿节点;

步骤s23、多域控制器查找所提取源节点和宿节点各自所在的域标识信息,并判断源节点与宿节点的域是否相同,如果不同,执行步骤s24;否则,进入域内路径计算;

步骤s24、触发跨域路径计算;

步骤s25、多域控制器基于域间拓扑结构,计算从源域到宿域所有可能经过的域序列。

在上述方法中,多域控制器向域序列中各个域的单域控制器发起域内路径计算请求包括:

多域控制器向域序列中的源域的单域控制器发起的源节点到域序列中源域的边界节点的域内路径计算请求;

多域控制器向域序列中的中间域的单域控制器发起域序列中的其域内的源边界节点到宿边界节点的域内路径计算请求;

多域控制器向宿域的单域控制器发起域序列中的宿域的边界节点到宿节点的域内路径计算请求。

在上述方法中,所述路由最优策略为最少跳数为最优。

本发明通过多域控制器和单域控制器协同完成最优跨域路径的计算,多域控制器负责计算域序列,单域控制器负责计算其对应域内的路径,再由多域控制器将各单域控制器的路径计算结果和域间链路组装成多条端到端的跨域路径,最后选择一条最优的跨域路径,解决了sdn应用于复杂的大规模多域网络中非常关键的跨域路径计算问题,能够大大加快sdn的应用,并产生较大经济效益。

附图说明

图1为一个多域网络中典型的sdn应用场景;

图2为本发明提供的一种多域控制器的跨域路径计算方法的流程图;

图3为图1中第一单域控制器构建的域内拓扑结构对应的拓扑视图;

图4为图1中第二单域控制器构建的域内拓扑结构对应的拓扑视图;

图5为图1中第三单域控制器构建的域内拓扑结构对应的拓扑视图;

图6为图1中多域控制器构建的域间拓扑结构对应的拓扑视图;

图7为本发明中步骤s10的具体流程图;

图8为本发明中步骤s20的具体流程图。

具体实施方式

下面结合说明书附图和具体实施例对本发明做出详细的说明。

图1所示为一个多域网络中典型的sdn应用场景,该多域网络由3个域组成,其中,第一域1包含源节点s、边界节点bn11和边界节点bn12,由第一单域控制器10控制;第二域2包含四个边界节点,分别为bn21、bn22、bn23和bn24,由第二单域控制器20控制;第三域3包含边界节点bn31、边界节点bn32和宿节点d,由第三单域控制器30控制;第一单域控制器10、第二单域控制器20和第三单域控制器30通过北向接口与多域控制器40通信;多域控制器40和app通过北向接口通信,完成业务建立等需求,例如app向多域控制器40发起从第一域1的源节点s到第三域3的宿节点d的业务建立请求,多域控制器需负责完成从源节点s到宿节点d的跨域路径计算。

本发明通过多域控制器和单域控制器协同完成最优跨域路径的计算,多域控制器负责计算域序列,单域控制器负责计算其对应域内的路径,再由多域控制器将各单域控制器的路径计算结果和域间链路组装成多条端到端的跨域路径,最后选择一条最优的跨域路径。如图2所示,本发明提供的一种多域控制器的跨域路径计算方法,包括以下步骤:

步骤s10、每个单域控制器根据其对应域内的节点和节点间的链路构建对应的域内拓扑结构,并将对应域内的所有节点的域标识信息上报多域控制器记录;多域控制器根据其控制的所有域(相当于拓扑节点)和域间链路构建域间拓扑结构,在这里不考虑每个域内节点和节点之间的链路。

如图7所示,在本发明中,步骤s10包括以下步骤:

步骤s11、受同一个多域控制器控制的每个单域控制器通过lldp协议发现对应域内的节点和链路;

步骤s12、每个单域控制器根据其域内的节点和节点间链路关系分别构建对应的域内拓扑结构,构建完成后,在各个单域控制器内会形成一张由域内节点和节点间链路组成的域内拓扑视图,以图1为例,其中,第一单域控制器10、第二单域控制器20和第三单域控制器30构建的域内拓扑结构对应的拓扑视图分别如图3、图4、图5所示;

步骤s13、多域控制器通过静态配置域间链路或lldp自动发现方式发现受其控制的域和域间的链路;

步骤s14、多域控制器根据其控制的域和域间的链路关系构建域间拓扑结构,完成后,在多域控制器会形成一张由域和域间链路组成的域间拓扑视图,以图1为例,其多域控制器构建的域间拓扑结构对应的拓扑视图如图6所示;

步骤s15、每个单域控制器通过北向接口向多域控制器上报其域内所有节点的域标识信息,多域控制器记录所有节点的所在域标识信息。

步骤s20、根据app发送的跨域业务建立请求,多域控制器基于域间拓扑结构计算所有源节点所在域(源域)到宿节点所在域(宿域)经过的域序列;从源域到宿域可能包括多个域序列,即从源域到宿域存在多个路径,每个所述域序列由源节点、从源节点到宿节点经过的域的边界节点和宿节点组成,除源节点和宿节点所在的源域和宿域,其它域序列经过的域为中间域,中间域的边界节点包括源边界节点和宿边界节点,以图6的域间拓扑结构对应的拓扑视图为例,假设每一个域间链路都满足路由约束,多域控制器会计算出四个域序列,分别为:

s-bn11-bn21-bn23-bn31-d;

s-bn11-bn21-bn24-bn32-d;

s-bn12-bn22-bn23-bn31-d;

s-bn12-bn22-bn24-bn32-d。

如图8所示,在本发明中,步骤s20包括以下步骤:

步骤s21、多域控制器接收app通过北向接口发来的跨域业务建立请求,以图1为例,建立从第一域1的源节点s到第三域3的宿节点d的跨域业务;

步骤s22、多域控制器解析业务建立请求,提取源节点和宿节点;

步骤s23、多域控制器查找所提取源节点和宿节点各自所在的域标识信息,并判断源节点与宿节点的域是否相同,如果不同,为跨域业务请求,执行步骤s24;否则,进入域内路径计算;

步骤s24、触发跨域路径计算;

步骤s25、多域控制器基于域间拓扑结构,计算从源域到宿域所有可能经过的域序列。

步骤s30、多域控制器通过北向接口向域序列中各个域的单域控制器发起域内路径计算请求;每个域的单域控制器接收域内路径计算请求后根据其域内拓扑结构计算域内路径,并将域内路径计算结果发送给多域控制器;

在本发明中,域序列经过源域、中间域和宿域;多域控制器通过北向接口向域序列中各个域的单域控制器发起域内路径计算请求包括:

(1)多域控制器通过北向接口向域序列中的源域的单域控制器发起的源节点到域序列中源域的边界节点的域内路径计算请求;以根据如图6所示的域间拓扑结构计算得到的域序列为例,多域控制器40向第一单域控制器10发起的域内路径计算请求为:源节点s到边界节点bn11和源节点s到边界节点bn12;此时第一单域控制器10的域内路径计算结果为两条域内路径,分别为s-bn11、s-bn12。

(2)多域控制器通过北向接口向域序列中的中间域的单域控制器(除去源域和宿域的其它域的统称)发起域序列中的其域内的源边界节点到宿边界节点的域内路径计算请求;以根据如图6所示的域间拓扑结构计算得到的域序列为例,多域控制器40向第二单域控制器20发起的域内路径计算请求为:源边界节点bn21到宿边界节点bn23、源边界节点bn21到宿边界节点bn24以及源边界节点bn22到宿边界节点bn23和源边界节点bn22到宿边界节点bn24;假设链路bn22-bn24不满足路由约束,此时第二单域控制器20的域内路径计算结果为四条域内路径,分别为bn21-bn23、bn21-bn23-bn24、bn22-bn21-bn23、bn22-bn21-bn23-bn24。

(3)多域控制器通过北向接口向宿域的单域控制器发起域序列中的宿域的边界节点到宿节点的域内路径计算请求。多域控制器40向第三单域控制器30发起的域内路径计算请求为:边界节点bn31到宿节点d、边界节点bn32-到宿节点d;此时第三单域控制器30的域内路径计算结果为两条域内路径,分别为bn31-d、bn32-d。

步骤s40、多域控制器根据域序列涉及的各个域的单域控制器响应的域内路径计算结果和域间链路,相互组合得到多条从源节点到宿节点的完整端到端跨域路径;以图6中第一单域控制器10、第二单域控制器20和第三单域控制器30返回的域内路径计算结果和域间链路为例,多域控制器会组装出四条跨域路径,分别为:

s-bn11-bn21-bn23-bn31-d;

s-bn11-bn21-bn23-bn24-bn32-d;

s-bn12-bn22-bn21-bn23-bn31-d;

s-bn12-bn22-bn21-bn23-bn24-bn32-d。

步骤s50、多域控制器根据路由最优策略从多条端到端跨域路径中选择出一条最优的路径作为多域路径;在本发明中,路由最优策略为最少跳数为最优,则此时多域控制器选择的最优路径为s-bn11-bn21-bn23-bn31-d。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1