一种SDN网络中最优路径确定的方法和系统与流程

文档序号:11388851阅读:412来源:国知局
一种SDN网络中最优路径确定的方法和系统与流程

本发明具体涉及一种sdn网络中最优路径确定的方法和系统。



背景技术:

软件定义网络(softwaredefinednetwork,sdn)是一种革命性的变革,它解决了传统网络中无法避免的一些问题,包括缺乏灵活性、对需求变化的响应速度缓慢、无法实现网络的虚拟化以及高昂的成本等。sdn将控制平面从网络交换机和路由器中的数据平面分离出来,sdn控制器实现网络拓扑的收集、路由的计算、流表的生成及下发、网络的管理与控制等功能。

因此,我们未来的数据中心间网络中的路由器角色将会发生变化,由原来的计算路径、转发报文两个功能减少为只有转发报文的能力,而计算路径将会交给集中式智能管理系统统一计算和调度。在pcep(pathcomputationelementprotocol)协议中,传统路由器当了pcc(pathcomputationclient)的角色,在整套控制系统中成为了控制系统的client端。

集中控制系统就是一个交通枢纽中心,它知道每一条道路的容量、当前流量、在路上的每一辆汽车将要到达的目的地。当它知道所有信息后,它可以通过智能的算法为每一个业务flow计算出最合适的路径。所以集中控制器就成为了在pcep(pathcomputationelementprotocol)协议中的server端。但在整个控制系统中核心部分是控制系统的逻辑算法。

软件定义网络是近年来新出现的一种新型网络。在sdn中,控制平面与转发平面相分离,由统一的sdn控制器负责整个网络的路由计算。因为不同的网络、不同的业务系统、不同的业务类型有对网络资源不同的要求,在sdn网络中需要灵活地为不同的业务类型提供不同的最优选路方案。。



技术实现要素:

本发明为了解决现有技术中的上述问题,提出一种sdn网络中最优路径确定的方法,其中,sdn网络中包括sdn控制器、接入设备和sdn交换机,其通过sdn控制器、接入设备以及sdn交换机对链路进行探测,进而完成业务在sdn网络中最优路径的确定;所述sdn控制器包括sdn通信模块、sdn通信扩展模块、探测模块、拓扑模块、业务模块、业务路径计算模块以及其他可扩展业务模块;所述sdn交换机包括标准sdn交换机功能模块、sdn通信拓展模块以及探测模块;所述接入设备包括探测模块;所述方法包括:

步骤一:创建一个应用业务,该应用业务名称为test,应用业务目标为服务器;

步骤二:sdn控制器通过sdn通信模块,sdn交换机1、2、3通过标准sdn交换机功能模块,实现相互间的连接;

步骤三:sdn控制器的探测模块,下发sdn交换机1、2、3之间的探测参数给各个sdn交换机;sdn交换机1、2、3中的探测模块根据探测参数构建探测报文,并发送出去;

步骤四:sdn交换机1、2、3的探测模块接收到探测报文的回复报文,进行回复报文的处理,并通过标准sdn交换机功能模块把探测结果上报给sdn控制器;sdn控制器接收到上报的报文,处理并保存探测结果;

步骤五:接入设备启动业务名称为test的上述业务;sdn控制器的探测模块下发所有sdn交换机上的所有ip地址给接入设备;同时,sdn控制器的探测模块下发sdn交换机到业务目标的探测;

步骤六:接入设备的探测模块按照所有sdn交换机上的所有ip地址构建探测报文,并发送出去;所有sdn交换机按照sdn控制器下发的探测参数信息,构建到业务目标服务器的探测报文,并发送出去;

步骤七:接入设备的探测模块处理接入设备到sdn交换机探测报文的回复报文,并把探测结果上报给sdn控制器;所有sdn交换机的探测模块处理sdn交换机到业务目标探测报文的回复报文,并把探测结果上报给sdn控制器;

步骤八:sdn控制器中的探测模块保存所有链路以及链路探测结果;sdn控制器中的业务路径计算模块根据业务模块配置的参数,计算出每条链路的复合度量值;业务路径计算模块再根据每条链路的复合度量值采用相关算法计算出最优路径;并将路径下发给sdn交换机。

优选的,通过sdn控制器和sdn交换机中的sdn通信拓展模块,以支持sdn通信协议进而实现交互,还通过扩展sdn通信协议实现sdn控制器下发探测报文到sdn交换机、sdn交换机上报探测结果到sdn控制器以及sdn控制器获取sdn交换机基本信息,基本信息包括网口号、网口mac、网口ip。

优选的,通过sdn控制器、接入设备和sdn交换机中的探测模块,以完成对全局网络的探测监控;所述探测模块支持icmp、udp、tcp协议中的任意一种,所述探测分为3个部分,接入设备和sdn交换机之间的探测,sdn交换机之间的探测,sdn交换机到业务目标的探测。

优选的,通过sdn控制器中的拓扑模块,以保存所有sdn交换机信息、接入设备到sdn交换机链路信息、sdn交换机之间链路信息、sdn交换机到业务目标链路信息。

优选的,通过sdn控制器中的业务模块,以用于添加或修改指定的业务、业务参数的配置,业务参数的配置具体是指定业务的名称、业务的权重比例、业务目标。

优选的,业务目标可以是域名、服务器的ip地址、sdn交换机上的某个ip地址。

优选的,通过sdn控制器中的业务路径计算模块,以根据业务的相关配置信息,计算出最优的路径,最优路径的计算需要考虑开销和权重;其中,开销包含延时、丢包、带宽、抖动、花费;具体可根据每条链路的复合度量计算出用户源到应用业务的目标最优路径,然后通过流表下发给sdn交换机。

优选的,其中在接入设备和sdn交换机之间的探测报文需要指定以下参数:

源mac值为接入设备mac地址、源ip值为接入设备ip地址、目的mac值为接入设备的下一跳mac、目的ip为sdn交换机上的ip地址、目的端口以及发包间隔,探测发包个数,超时时间;

其中在sdn交换机之间探测报文需要指定以下参数:

源sdn交换机的dpid、源网口号、源ip、源mac,以及目的ip,目的mac,目的端口,发包间隔,探测发包个数,还可以设置超时时间;

其中在sdn交换机和业务目标探测报文需要指定以下参数:

源mac值为sdn交换机mac、源ip值为sdn交换机ip地址、目的mac值为sdn交换机的下一跳mac、目的ip为业务目标ip以及发包间隔,探测发包个数,超时时间。

还提出一种sdn网络中最优路径确定的系统,其中,系统中包括sdn控制器、接入设备和sdn交换机,其通过sdn控制器、接入设备以及sdn交换机对链路进行探测,进而完成业务在sdn网络中最优路径的确定;所述sdn控制器包括sdn通信模块、sdn通信扩展模块、探测模块、拓扑模块、业务模块、业务路径计算模块以及其他可扩展业务模块;所述sdn交换机包括标准sdn交换机功能模块、sdn通信拓展模块以及探测模块;所述接入设备包括探测模块;sdn控制器和sdn交换机中的sdn通信拓展模块,用于支持sdn通信协议进而实现交互,还通过扩展sdn通信协议实现sdn控制器下发探测报文到sdn交换机、sdn交换机上报探测结果到sdn控制器以及sdn控制器获取sdn交换机基本信息;

sdn控制器、接入设备和sdn交换机中的探测模块,用于完成对全局网络的探测监控;所述探测模块支持icmp、udp、tcp协议中的任意一种,所述探测分为3个部分,接入设备和sdn交换机之间的探测,sdn交换机之间的探测,sdn交换机到业务目标的探测;

sdn控制器中的拓扑模块,用于保存所有sdn交换机信息、接入设备到sdn交换机链路信息、sdn交换机之间链路信息、sdn交换机到业务目标链路信息;

sdn控制器中的业务模块,用于添加或修改指定的业务以及业务参数配置,业务参数配置具体是指定业务的名称、业务的权重比例以及业务目标;

sdn控制器中的业务路径计算模块,用于根据业务的相关配置信息,计算出最优的路径,最优路径的计算需要考虑开销和权重;其中,开销包含延时、丢包、带宽、抖动、花费;具体可根据每条链路的复合度量计算出用户源到应用业务的目标最优路径,然后通过流表下发给sdn交换机。

通过本发明,在sdn网络下对网络链路进行探测获取链路信息并保存,然后通过业务模块和业务路径计算模块确定一种sdn网络中最优的路径。具有以下明显优点:

1、适应性强

本发明中对于路径的算法有多种,可以适应多种场景,针对不同的场景可以从预设的多个最优路径算法中选择一个最优路径算法。

2、可靠性强

本发明中采用的实时探测和周期探测模块可以探测链路的延时(ms)、丢包率(%)、抖动等信息,不再只是“可达”,“不可达”或“未知”,知晓链路信息更加完整和准确,结合相应的算法,可以得到不同要求和场景下的最优路径。

3、扩展性强

本发明的探测模块是sdn通信协议扩展消息,可以拓展如带宽的信息,事件模块也可以针对不同的需求添加事件,最优路径计算模块可以拓展相应的算法,该发明具有很强的可扩展性。

4、准确度高

本发明的探测模块分3个部分,接入设备和sdn交换机之间的探测,sdn交换机之间的探测,sdn交换机到业务目标的探测;让sdn控制器具有访问源到目标的所有链路信息,计算出的最优路径也是从访问源到目标的最优路径,让其准确度更高。

附图说明

图1是本发明场景拓扑图。

图2是本发明sdn控制器的模块关系图。

图3是本发明具体实施方式中数据处理方法的流程图。

具体实施方式

下面结合附图对本发明做进一步详细说明。

参见图2,在sdn控制器和sdn交换机以及接入设备上设计了相应的模块来完成一种sdn网络中最优路径确定的方法,其中,sdn控制器包含sdn通信模块、sdn通信扩展模块、探测模块、拓扑模块、业务模块、业务路径计算模块等其他可扩展业务功能。

sdn交换机包含:标准sdn交换机功能、sdn通信拓展模块。

接入设备包含:探测功能。

所述发明中sdn控制器和sdn交换机分别采用sdn通信模块和标准sdn交换机功能模块实现两者间的连接,流表下发等操作,满足sdn通信协议标准。

所述发明中sdn控制器sdn通信扩展模块和sdn交换机sdn通信扩展模块通过扩展sdn通信协议实现sdn控制器下发探测报文到sdn交换机、sdn交换机上报探测结果到sdn控制器、以及sdn控制器获取sdn交换机基本信息(网口号、网口mac、网口ip)。

所述发明中探测模块支持icmp、udp、tcp等协议中的任意一种,探测模块分为3个部分,接入设备到sdn交换机的探测,sdn交换机之间的探测,sdn交换机到业务目标的探测。

所述发明中接入设备到sdn交换机的探测列表(sdn交换机上的ip地址),由sdn控制器中的探测模块下发给接入设备;其中sdn交换机之间的探测,由sdn控制器中的探测模块把探测源(源sdn交换机上的ip地址)和探测目标信息(目的sdn交换机上的ip地址)下发给源sdn交换机;其中sdn交换机到业务目标的探测,由sdn控制器中的探测模块把业务目标信息(业务目标ip地址)下发给sdn交换机。

所述发明中接入设备到sdn交换机的探测,是指接入设备到sdn交换机的探测列表之间的探测。

所述发明中sdn交换机之间的探测,探测源指自身sdn交换机上的所有ip地址,探测目标指除了自身外的其他所有sdn交换机上的所有ip地址。

所述发明中sdn交换机到业务目标的探测,sdn交换机指sdn控制器连接上的所有sdn交换机上的所有ip地址探测。

其中在接入设备到sdn交换机之间的探测报文需要指定以下参数:

源mac值为接入设备mac地址、源ip值为接入设备ip地址、目的mac值为接入设备的下一跳mac、目的ip为sdn交换机上的ip地址、目的端口(仅当method为tcp或udp时有效)以及发包间隔,探测发包个数,超时时间。

其中在sdn交换机之间探测报文需要指定以下参数:

源sdn交换机的dpid、源网口号、源ip、源mac,以及目的ip(其他sdn交换机上的ip地址),目的mac(源sdn交换机下一跳mac),目的端口(仅当method为tcp或udp时有效),发包间隔,探测发包个数,还可以设置超时时间;

其中在sdn交换机和业务目标探测报文需要指定以下参数:

源mac值为sdn交换机mac、源ip值为sdn交换机ip地址、目的mac值为sdn交换机的下一跳mac、目的ip为业务目标ip(域名需要转化成ip地址)以及发包间隔,探测发包个数,超时时间;

所述发明中拓扑模块用于sdn控制器保存所有sdn交换机信息(网口号、网口mac、网口ip)、接入设备到sdn交换机链路信息、sdn交换机之间链路信息、sdn交换机到业务目标链路信息等;

所述发明中的业务模块用于添加或修改指定的业务,业务配置参数具体是指定业务的名称,业务的权重比例,业务目标(可以是域名,可以是服务器的ip地址,可以是sdn交换机上的某个ip地址)。

所述发明中的业务路径计算模块根据业务的相关配置信息,计算出最优的路径,最优路径的计算需要考虑开销和权重,以获得符合业务需求的最优路径;本发明中开销包含延时、丢包、带宽、抖动、花费等;本发明中的权重之和为1;本发明中一条路径的复合度量等于各自开销乘以各自权重,然后求和;本发明中不同应用业务每一个开销的权重值也不同;例:某应用业务的带宽权重为50%,延时权重为30%,丢包为20%,其中x1代表延时值,x2代表丢包值,x3代表带宽值,x4代表抖动值,x5代表花费值,该应用业务路径计算模块中每条链路复合度量等于:30%*x1+20%*x2+50%*x3+0*x4+0*x5。

所述发明中的业务路径计算模块中的算法(戴克斯特拉(dijkstra)算法、贝尔曼-福特(bellman-ford)算法、前k最短路径(kshortestpath,ksp)算法,最短路径优先(shortestpathfirst,spf)算法,弗洛伊德(floyd-warshall)算法等)根据每条链路的复合度量计算出用户源到应用业务的目标最优路径,然后通过流表下发给sdn交换机。

本发明的核心有两点:

通过sdn控制器的sdn通信拓展消息模块、探测模块,实现对sdn全局网络的监控。

通过sdn控制器的业务模块和业务路径计算模块实现一种sdn网络中最优路径的确定方法。

本发明适用于多种sdn场景。

下面结合附图1场景拓扑图对本发明作进一步的说明,步骤为:

步骤一:创建一个应用业务,该应用业务名称为test,应用业务目标为服务器ip,应用业务参数带宽权重比例为50%,延时权重比例为30%,丢包权重为20%;

步骤二:sdn控制器通过sdn通信模块,sdn交换机1/2/3通过标准sdn交换机功能,实现连接;

步骤三:sdn控制器探测模块,下发sdn交换机1/2/3之间的探测参数给各个sdn交换机;sdn交换机1/2/3中的探测模块根据探测参数构建探测报文,并发送出去;(这里以为icmp报文为例,以sdn交换机1为源进行探测,sdn交换机1上的所有ip需要探测sdn交换机2/3上的所有ip)

步骤四:sdn交换机1/2/3探测模块接收到回复报文,进行探测报文处理,并通过标准sdn交换机功能把探测结果上报给sdn控制器;sdn控制器接收到探测报文,处理并保存探测结果;

步骤五:接入设备启动业务名称为test的业务;sdn控制器探测模块下发所有sdn交换机上的所有ip地址给接入设备;同时,sdn控制器探测模块下发sdn交换机到业务目标的探测;

步骤六:接入设备探测模块按照探测目标列表构建探测报文,并发送出去;所有sdn交换机按照sdn控制器下发的探测参数信息,构建到业务目标服务器的探测报文,并发送出去;

步骤七:接入设备探测模块处理接入设备到sdn交换机探测列表的探测信息,并把探测结果上报给sdn控制器;所有的sdn交换机探测模块处理sdn交换机到业务目标的探测信息,并把探测结果上报给sdn控制器;

步骤八:sdn控制器中的探测模块保存所有链路以及链路探测结果;sdn控制器中的业务路径计算模块根据业务模块配置参数,计算出每条链路的复合度量值;业务路径计算模块再根据每条链路的复合度量值采用算法计算出最优路径。并将路径下发给sdn交换机。

以上所述的实施例仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通工程技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明的权利要求书确定的保护范围内。

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