调用路由算法的方法及sdn控制器和sdn-oaf的制作方法

文档序号:9891321阅读:545来源:国知局
调用路由算法的方法及sdn控制器和sdn-oaf的制作方法
【技术领域】
[0001]本发明涉及软件定义网络(SDN, Software Defined Network)技术,尤指一种调用路由算法的方法及SDN控制器和SDN-0AF。
【背景技术】
[0002]软件定义网络(SDN, Software Defined Network)是一种新型网络创新架构,通过将网络控制与网络转发解耦合构建开放可编程的网络体系结构。SDN对网络进行抽象以屏蔽底层复杂度,为上层提供简单的、高效的配置和管理。其中,狭义的SDN特指基于OpenFlow协议的南向接口的网络,广义的SDN则是指具备这种理念的所有网络。
[0003]开放网络基金会(0NF,0penNetworking Foundat1n)提出并倡导基于 OpenFlow协议的SDN网络。图1为现有ONF提出的SDN的组成架构示意图,如图1所示,一般SDN包括应用层、控制层和基础设施层,其中,最上层为应用层,包括各种不同的业务和应用;位于中间的控制层主要负责处理数据平面资源的编排,维护网络拓扑、状态信息等;最下层为基础设施层,主要负责数据处理、转发和状态收集。控制层与基础设施层之间的接口称为南向接口,采用ONF定义的OpenFlow协议;应用层和控制层之间的接口称为北向接口,目前一般采用表达性状态转移(REST, Representat1nal State Transfer)应用程序接口(API)的超文本传输协议(HTTP)。
[0004]ONF还提出了多层SDN的概念,即SDN控制器(SDN controller)不止一层,而是多层。其中,可简单的理解为单域SDN controller和多域SDN controller,当然多域SDNcontroller 可能还有上层 SDN controller0
[0005]光互连论坛(OIF,Optical Internetworking Forum,)针对 SDN controller 提出了北向接口即REST API的接口定义框架,在这个框架中,包括呼叫请求应用程序接口(CallRequest API)、连接请求应用程序接口(Connect1n Request API)、目录服务应用程序接P (Directory Services API)、路径计算应用程序接口 (Path Computat1n API)、拓扑数据库应用程序接口(Topology DB API)等。其中,接口均采用JAVA脚本对象标记(JS0N,JavaScript Object Notat1n)格式来表示接口中的属性和值。在OIF中,北向接口仅定义了基本的路径计算所必须的属性。
[0006]在现有SDN的架构中,SDN控制器的具体组成包括路径计算,拓扑抽象,流表管理,链路发现等模块。对于SDN控制器来说,其优势是灵活和开放的控制,而且SDN控制器中的路径计算算法很大程度上将直接决定最终建立的业务路径是否满足用户需求。目前,SDN控制器中路由算法部分没有定制的能力,不同的厂家实现的算法也各不相同。通常来说,默认的一些路由算法可以应对基本的需求,但是,当应用(APP)的路径计算的需求多变和特殊时,固定而有限的几个常用路由算法已经无法满足用户的需求。为应对这种情况,需要运营商能给APP提供定制路由算法的手段,让APP可以选择期望的路由算法,并且该路由算法可以不断增加、更新,以应对SDN对业务路径计算的定制需求。从目前的SDN标准以及部分商用化的系统来看,路由算法部分还是封闭的,没有对外开放,从而很大程度上制约了用户对于业务路径需求。
[0007]另一方面,针对SDN网络,原有的路由算法需针对大规模组网进行算法改进。目前已有一些厂家提出内置SDN控制器中的智能流量算法引擎(Flow Engine),利用图论、线性规划分解和矩阵压缩等技术相结合,以减少SDN大规模网络的全局优化计算时间。可以预期,后续各设备厂商均会有相应的私有针对SDN网络的路由算法引入到SDN控制器中。然而,考虑到引入SDN多域控制器后,就涉及到由SDN多域控制器协调多个SDN单域控制器来进行路由计算的情况,而由于不同的SDN单域控制器可能由不同厂家提供,则存在各自的路由算法并不能互相兼容的情况。私有程度越高,越无法互通。这种情况对于SDN网络来说尤其明显,因为SDN的开放性,会有更多的不同厂家的SDN控制器进行混合组网,互通和兼容性问题将会直接影响到SDN网络的实际业务处理能力。

【发明内容】

[0008]为了解决上述技术问题,本发明提供一种调用路由算法的方法及SDN控制器和SDN-OAF,能够给APP提供定制路由算法,使得路由算法部分对外开放,从而更好地满足用户的需求。
[0009]为了达到本发明目的,本发明提供了一种调用路由算法的方法,预先配置定制路由算法,还包括:软件定义网络SDN控制器接收来自应用的路由计算请求;
[0010]SDN控制器根据路由计算请求中携带的定制路由算法信息调用相应的定制路由算法,以计算业务路径。
[0011]该方法之前还包括:在业务建立前,应用APP获取所述定制路由算法信息。
[0012]所述APP获取所述定制路由算法信息包括:
[0013]所述APP向SDN开放算法功能SDN-OAF发送查询请求;SDN-OAF将定制路由算法提供给APP查询,并将APP选定的定制路由算法的URL地址作为所述定制路由算法信息返回给APP。
[0014]该方法还包括:所述SDN-OAF对请求查询的APP用户进行鉴权,在鉴权成功后才执行所述选择定制路由算法的步骤;否则拒绝所述APP的查询请求,结束本流程。
[0015]所述SDN控制器根据路由计算请求中携带的定制路由算法信息调用相应的定制路由算法包括:
[0016]所述SDN控制器根据路径计算请求中携带的定制路由算法的URL地址,从SDN-OAF中下载定制路由算法对应的库文件,并装载到本地;
[0017]所述SDN控制器采用通用的路由算法调用接口调用下载到的定制路由算法功能,并进行本次业务路径的计算。
[0018]所述SDN控制器为单域SDN控制器;或者,所述SDN控制器为多域SDN控制器,且采用多域SDN控制器进行算法定制。
[0019]所述SDN控制器为多域SDN控制器,且采用该多域SDN控制器管辖下的一个或一个以上单域SDN控制器进行算法定制;
[0020]所述SDN控制器根据路由计算请求中携带的定制路由算法信息调用相应的定制路由算法包括:
[0021]所述多域SDN控制器根据接收到的来自APP的路径计算请求,获取其中携带的定制路由算法的URL地址,并下发给自身管辖下的单域SDN控制器;
[0022]各单域SDN控制器从SDN-OAF中下载定制路由算法对应的库文件,并装载到本地;
[0023]各单域SDN控制器采用通用的路由算法调用接口,调用下载到的定制路由算法功能进行跨越多个域的路径协作计算。
[0024]所述下载定制路由算法对应的库文件之前,还包括:
[0025]所述SDN-OAF对所述SDN控制器进行鉴权,鉴权成功后继续执行所述下载定制路由算法对应的库文件的步骤。
[0026]该方法还包括:
[0027]所述SDN控制器判断路径计算请求中是否携带有定制路由算法的URL地址,如果未携带,调用预先设置的默认路由算法计算业务路径,结束本流程。
[0028]如果所述SDN控制器从SDN-OAF中下载定制路由算法对应的库文件失败,还包括:
[0029]所述SDN控制器调用预先设置的默认路由算法计算业务路径,结束本流程。
[0030]所述计算业务路径后,该方法还包括:所述SDN控制器根据设置,删除或缓存本次获得的所述定制路由算法的库文件。
[0031]本发明还公开了一种SDN控制器,至少包括适配模块、下载模块,以及调用模块;其中,
[0032]适配模块,用于接收路径计算请求,判断路径计算请求中是否携带有定制路由算法的URL地址,如果未携带,向调用模块发送第一通知;如果携带有,将定制路由算法的URL地址输出给下载模块;
[0033]下载模块,用于根据接收到的定制路由算法的URL地址,从SDN-OAF中下载定制路由算法对应的库文件并装载,向调用模块输出第二通知;
[0034]调用模块,接收到第一通知,调用预先设置的默认路由算法计算业务路径;接收到第二通知,采用通用的路由算法调用接口调用下载到的定制路由算法功能,并进行本次业务路径的计算。
[0035]所述下载模块还用于,
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1