基于SDN的流量调度系统及方法与流程

文档序号:11138496阅读:2554来源:国知局
基于SDN的流量调度系统及方法与制造工艺

本发明涉及网络通信技术领域,尤其涉及流量调度技术领域,具体是指一种基于SDN的流量调度系统及方法。



背景技术:

随着互联网业务的不断发展,用户对网络带宽的要求迅速增长,通信网络运营商需要定期对骨干网进行扩容以满足业务需求。但是由于不同区域和不同时段对网络需求的不均衡,会导致业务流量存在波动性和突发性。现有的网络路由选择机制中,其路由选择策略一般只是基于目的IP地址和最短路径进行的,忽略了网络链路可用容量的动态变化,从而导致有些链路在某些时段会出现拥塞,用户体验下降,而有些链路在某些时段非常空闲,存在带宽资源浪费现象。

在网络链路发生拥塞或故障时,如何快速有效地进行流量调度,使得整个网络链路的流量负载尽可能的均衡,这是通信网络运营商迫切需要解决的问题。

现有的流量调度方法是分布式的调度方法,即由每台网络数据转发设备(路由器)收集它周边的网络链路状态信息,作为最优路径计算的约束条件,然后选择数据转发路径。由于分布式架构下的转发设备将控制逻辑和数据转发集中于一体,这种分布式的流量调度方法无法实现实时的全局路由和流量均衡调度,从而无法避免链路的局部拥堵。



技术实现要素:

本发明的目的是克服了上述现有技术的缺点,提供了一种能够实现不仅避免了链路的局部拥堵、而且还能均衡全网链路的流量分布的基于SDN的流量调度系统及方法。

为了实现上述目的,本发明具有如下构成:

该基于SDN的流量调度系统,其主要特点是,所述的系统包括

路由采集模块,用以采集各个路由设备的路由信息;

流量采集模块,用以采集各个路由设备的流量信息;

数据库,用以存储采集到的各个路由设备的路由信息和流量信息;

配置管理模块,用以由用户配置网络链路参数;

链路状态分析模块,用以根据路由信息、流量信息和用户配置的网络链路参数分析全网各链路的健康状况;

流量调度模块,用以根据链路状态分析模块的分析结果进行流量调度。

较佳地,所述的系统还包括:

网络拓扑和流量分布展示模块,用以将采集的路由信息和流量信息分析后由图形界面显示;

所述的配置管理模块通过所述的图形界面由用户手工配置网络链路参数。

较佳地,所述的系统还包括最优路径计算模块,所述的链路状态分析模块将各个链路的健康状况转化为链路的metric系数,所述的最优路径计算模块对故障或拥塞链路根据实时更新的各个链路的metric系数重新选择最优路径。

更佳地,所述的流量调度模块根据链路分析模块的分析结果和最优路径计算模块计算的最优路径进行流量调度。

本发明还涉及一种基于SDN的流量调度方法,其特征在于,所述的方法包括以下步骤:

(1)配置管理模块获取由用户配置的网络链路参数;

(2)启动路由采集、流量采集进程;

(3)链路状态分析模块进行链路分析;

(4)判断是否存在拥塞的链路,如果是,则继续步骤(5),否则继续步骤(3);

(5)流量调度模块将拥塞链路的流量调度到空闲线路。

较佳地,所述的网络链路参数为各个网络链路的最大带宽利用率或网络链路的剩余可用带宽。

较佳地,所述的步骤(2)包括以下步骤:

(2-1)路由采集模块通过SNMP、OSPF、BGP和IGP路由协议,收集各个路由设备的路由信息;

(2-2)流量采集模块收集各个路由设备的流量信息。

较佳地,所述的系统还包括最优路径计算模块,所述的步骤(5),包括以下步骤:

(5-1)从拥塞链路中按照预设的优化次序选出一路数据流;

(5-2)链路状态分析模块计算网络链路metric系数;

(5-3)最优路径计算模块根据选出的一路数据流和网络链路metric系数,选用最优路径算法,计算一条经过该链路的两个端点的最优路径;

(5-4)判断该最优路径是否满足用户配置的网络链路参数,如果是,则继续步骤(3),否则继续步骤(5-1)。

更佳地,所述的最优路径算法为Dijkstra算法或Floyd算法。

采用了该发明中的基于SDN的流量调度系统及方法,基于SDN原理,将网络控制面和数据转发面分离开来,将流量调度功能放在业务应用层实现,具有如下优点:

1)区别于分布式架构下的系统,基于SDN的流量调度方法及系统能全局感知链路拥塞或链路故障;

2)实时更新的网络链路健康状况能转化为网络链路metric系数,这样使最优路径的选择更为精准;

3)一旦存在网络链路拥堵时,通过启动本发明提供的基于SDN的流量调度方法及系统,能快速有效消除链路拥堵,而且通过合理配置链路最大带宽利用率,可以达到全网流量负载均衡。

附图说明

图1为本发明的基于SDN的流量调度系统的结构示意图。

图2为本发明的基于SDN的流量调度方法的流程图。

图3为本发明的流量调度的流程图。

图4为本发明的网络拓扑的示例图。

具体实施方式

为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。

本发明提供一种基于SDN的流量调度方法及系统,在此系统中基于路由协议(BGP、OSPF、ISIS、SNMP等)交互实现全网拓扑发现和链路cost等信息的获取,实时采集全网各个数据转发设备的流量信息,通过分析计算能实时感知全网链路流量状态,一旦发现某个链路的流量超出限制,则根据实时更新的链路约束条件,通过最优路径算法将超限链路的流量调度到其它负载较轻的链路。这样通过合理配置链路允许的最大带宽占有率,经过此流量调度系统的运行后,不仅避免了链路的局部拥堵,而且还能均衡全网链路的流量分布。

本发明基于SDN原理,将网络控制面和数据转发面分离开来,将流量调度功能放在业务应用层实现,基于SDN的流量调度方法及系统能全局感知链路拥塞或链路故障,根据实时更新的链路状态将拥塞或故障链路流量动态调度到负载较轻的链路,从而达到全局网络流量的负载均衡。

如图1所示为基于SDN的流量调度系统组成图。它主要包括流量调度系统、SDN控制器和数据转发设备。流量调度系统通过SDN北向接口与SDN控制器实现交互,SDN控制器通过SDN南向接口实现与数据转发设备的交互。

图1中101模块为网络拓扑和流量分布展示模块,全网实时采集的路由信息和流量信息通过分析计算后由图形界面显示出来。

图1中102模块为配置管理模块,通过图形界面由用户手工配置网络链路参数,如配置链路的最大带宽利用率。

图1中103模块为数据库模块,实现对全网路由信息和流量信息的存储,可以为图形界面管理模块提供历史数据。

图1中104模块为链路状态分析模块,根据实时采集的全网路由信息、流量信息和用户配置信息分析全网各链路的健康状况,将各链路的健康状况转化为链路的metric系数。

图1中105模块为最优路径计算模块,对故障或拥塞链路根据实时更新的各链路metric系数重新选择最优路径。

图1中106模块为路由采集模块,通过SNMP、OSPF、BGP、IGP路由协议,收集各路由设备的邻居状态、路由信息、链路cost等信息,从而确定全网的网络拓扑,并将采集的数据存入到数据库。

图1中107模块为流量采集模块,通过NetFlow、sFlow、NetStream协议实时采集各路由设备的流量状况,并将采集的数据存入到数据库。

图1中108模块为流量调度模块,是本系统的核心模块。流量调度的方法如下:

1)从链路状态分析模块中,对流量负载超出限制的链路,按照一定的优化次序,取出一路数据流,这里的优化次序可以根据此路数据流占比带宽的大小、此路数据流的优先级等因素综合排序;

2)将流量负载超限链路标记为不可用,根据网络中实时更新的各链路的metric系数,通过最优路径计算模块重新选择一条经过此超限链路的两个节点的最优路径;

3)如果没有可选路径,则按照一定的优化次序取出该超限链路中的另外一路数据流,重复2);否则进入4);

4)再重新计算全网各链路的负载情况,重复1)直到各链路负载均未超出用户配置的限制,否则一直重复这样的迭代过程。

图1中109模块为SDN控制器模块,指各通信厂商提供的SDN控制器,基于SDN的流量调度系统通过标准的北向接口与SDN控制器进行交互。

图1中110模块为数据转发设备,它通过标准的南向接口与SDN控制器进行交互。

下面结合一个具体实例来详细描述一下基于SDN的流量调度方法及系统的实施过程。

如图2所示为系统运行流程图。其详细实现步骤如下:

步骤201:首先通过用户界面实现对网络链路的最大带宽利用率进行配置(如80%),或者对网络链路的剩余可用带宽进行配置(如50Mbps)。

步骤202:启动路由采集、流量采集进程。通过SNMP、OSPF、BGP、IGP路由协议,收集各路由设备的邻居状态、路由信息、链路cost等信息,从而确定全网的网络拓扑,并将采集的数据存入到数据库。通过NetFlow、sFlow、NetStream协议实时采集各路由设备的流量状况,并将采集的数据存入到数据库

步骤203:链路状态分析。通过步骤202中采集的路由信息,分析网络中各节点的链接状况,从而构造出全网拓扑结构图。通过步骤202中采集的路由节点流量信息,分析统计各链路的流量与链路带宽占比情况。

步骤204:对全网各链路带宽占有率进行分析,如果链路带宽占有率大于用户设置的最大带宽利用率,则判断该链路拥塞,进入步骤205对该链路流量进行调度。如果没有链路拥塞,则回到步骤203进行周期性地链路状态分析。

步骤205:将拥塞链路的流量调度到其它空闲链路。调度完成后回到步骤203进行周期性地链路状态分析。流量调度是本发明的核心部分,下面具体描述流量调度的详细流程。

如图3所示为实现流量调度的流程图。其详细实现步骤如下:

步骤301:从拥塞链路中按照一定的优化次序选出一路数据流。这里的优化次序可以根据此路数据流占比带宽的大小、此路数据流的优先级等因素综合排序。例如可以优先选出优先级最低的数据流,在优先级相同的情况下,优先选出数据流占比带宽最大的数据流作为最优需要调出的一路数据流。

步骤302:更新网络链路metric系数。即根据最新采集的路由信息、链路cost信息、链路带宽占有率等信息,综合计算网络各链路的metric系数,作为最优路径计算的输入条件。例如可以取metric=100×C/(1-R),其中C为链路成本cost的归一化系数,R为链路带宽利用率。

步骤303:针对步骤301中选出的一路数据流,根据步骤302中更新的链路metric系数,选用最优路径算法(如Dijkstra算法或Floyd算法),重新计算一条经过该链路的两个端点的最优路径。

步骤304:如果满足用户配置的链路带宽最大利用率的约束条件下,通过步骤303可以选出经过拥塞链路两个端点的备份路径,则对此路数据流的调度成功,调度完成后更新全网各链路的流量分布状态。否则回到步骤301进行迭代。

下面再结合一个网络拓扑示例来进一步说明基于SDN的流量调度方法及系统:

如图4所示为一个网络拓扑示例图。在图4中,R1、R2、R3、R4、R5为五个路由节点。通过网络路由信息采集后,获得网络各节点之间的链接关系和各链路的带宽信息如图4所示。R1R2链路带宽为5G,R1R3链路带宽为10G,R3R2链路带宽为10G,R1R4链路带宽为5G,R4R5链路带宽为5G,R5R2链路带宽为5G。

对各节点的流量进行采集,再综合分析统计后,获得各链路的带宽利用率,其中R1R2链路带宽利用率为85%,R1R3链路带宽利用率为10%,R3R2链路带宽利用率为62%,R1R4链路带宽利用率为70%,R4R5链路带宽利用率为70%,R5R2链路带宽利用率为70%.如果用户配置的链路带宽最大利用率为80%,则可以判断出链路R1R2处于拥塞状态。

对R1和R2节点进行路由流量采集分析,从R1流向R2的数据流包含有5路数据流,分别是数据流S1,数据速率为2Gbps,带宽占用40%,数据流S2,数据速率为1.5Gbps,带宽占用30%,数据流S3,数据速率为0.5Gbps,带宽占用10%,数据流S4,数据速率为0.25Gbps,带宽占用5%.

假定数据流S1、S2、S3、S4的优先级一样,则根据步骤301选出占比带宽最大的数据流S1作为优先调度出的数据流。

通过最优路径算法(如Dijkstra算法或Floyd算法)计算从R1到R2的最优路径,如将链路带宽占有率换算为链路的metric系数,则在本示例中计算出的最优路径为R1->R3->R2。但由于此时链路R3R2的带宽利用率已经达到82%,超出了用户配置的最大带宽利用率80%的限制条件,因此对S1数据流的调度是不成功的。

接下去回到步骤301,选择占比带宽第二的数据流S2作为调度出链路R1R2的数据流。同样经过最优路径计算选择R1->R3->R2作为调入路径,此时R1R2链路的带宽利用率为55%,R1R3链路的带宽利用率为25%,R3R2链路的带宽利用率为77%,R1R4链路的带宽利用率为70%,R4R5链路的带宽利用率为70%,R5R2链路的带宽利用率为70%,都能满足用户配置的最大带宽利用率80%的限制条件。因此将S2数据流从链路R1R2调度到R1->R3->R2路径的调度是成功的,达到了全网链路的流量负载均衡。

采用了该发明中的基于SDN的流量调度系统及方法,基于SDN原理,将网络控制面和数据转发面分离开来,将流量调度功能放在业务应用层实现,具有如下优点:

1)区别于分布式架构下的系统,基于SDN的流量调度方法及系统能全局感知链路拥塞或链路故障;

2)实时更新的网络链路健康状况能转化为网络链路metric系数,这样使最优路径的选择更为精准;

3)一旦存在网络链路拥堵时,通过启动本发明提供的基于SDN的流量调度方法及系统,能快速有效消除链路拥堵,而且通过合理配置链路最大带宽利用率,可以达到全网流量负载均衡。

在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。

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