基于SDN控制器的卫星MPLS网络流量均衡方法与流程

文档序号:12492453阅读:420来源:国知局
基于SDN控制器的卫星MPLS网络流量均衡方法与流程

本发明属于卫星网络技术领域,具体涉及一种基于SDN控制器的卫星MPLS网络流量均衡方法,以对现有的卫星MPLS网络技术进行改善。



背景技术:

卫星网络与传统的地面网络相比,有两方面的特点。一方面,卫星网络中的节点主要是宇宙空间中的卫星,这就带来了拓扑结构、传输时延长和星上资源有限等问题;另一方面,卫星网络的服务对象是全球用户,必须同时支持多种业务的可靠传输,这就对网络传输的效率、质量和覆盖范围提出了新的要求。当前,伴随着终端用户对综合业务需求的不断增强,我们需要一些更加优化的卫星网络技术,使得能提高宽带卫星通信网络的效率、降低实现成本、支持复杂的服务质量需求,实现与地面网络的融合。

当前,卫星网络以“基于电路交换的组网方案”和“基于分组交换路由技术的组网方案”为两个主要的发展方向。其中,“基于分组交换路由技术的组网方案”通过统计复用、按需分配等关键技术提高了网络的资源利用率,更加适合用户业务具有多速率、复杂服务质量要求等特征的应用环境,获得了更为广泛的关注。从上世纪90年代开始,该研究方向依次提出了卫星ATM、卫星IP以及卫星MPLS等组网方案。

多协议标签交换(Multi-Protocol Label Switching,MPLS)技术为TCP/IP框架中的网络层和链路层的结合提供了一套体系架构,使所有针对网络层的复杂操作都能映射为对标记的操作,解决了IP协议和承载网络交互问题。MPLS是一个介于链路层和网络层这样的二层和三层之间的协议,它的转发基于最短路径标签,而不是传统的较长的网络地址,因此避免了路由表中的复杂查询,标签识别的是虚拟链路(路径)上的节点而并不只是终点。MPLS可以封装各种网络协议的数据包,支持多种接入技术。MPLS技术在局域网领域获得了广泛应用,从流量层面对网络资源进行合理规划,为大量的三层设备提供了接近二层设备的转发效率,并实现整体特性的优化。它运用标签转换路径,不仅能够对业务提高服务质量(Quality of Service,QoS)支持,还能够合理部署,减少拥塞,优化网络资源。

在MPLS网络中,网络层的路由信息和业务服务质量参数映射到链路层可以理解的信息,并利用标记来标识具有相同属性的业务流。数据传输开始前,网络首先根据业务的网络层信息进行转发等价类(Forwarding Equivalence Class,FEC)定义,然后为FEC建立标记交换路径,并为其预先分配资源。数据传输开始后,LSP(Label Switched Path,标签交换路径)上的每个节点仅依据链路层分组的标记字段进行转发,而不需提取网络层的任何信息,提高了转发效率。由于这种网络技术应用在地面组网时对解决地面网中相似于卫星网络的问题十分有效,因此可以成为下一代宽带卫星组网的重要研究技术。

软件定义网络(Software Defined Network,SDN)自提出后一直是业内的研究热点。SDN的主要思想是将网络的控制平面和数据平面分离,将控制平面从传统的网络设备中抽离出来,集中到一个专门的控制器上来实现,以使网络中设备的复杂度降低。通过将数据平面和控制平面解耦,SDN获得了很大的灵活性,管理者可通过网络控制器来管理整个网络。同时,SDN提供了完全的可编程的网络接口,使得开发者可以在不改变网络底层架构的情况下实现各种服务及应用。

OpenFlow流的概念与MPLS协议中的等价转发类的思想不谋而合。每个等价转发类相当于一种流,MPLS控制平面对同一个FEC内的报文进行的操作也是相同的。在最初的OpenFlow1.0中,协议不支持MPLS,然后就有研究者对其进行了扩展,以使得扩展后的协议支持MPLS。同时,为了能够在数据平面上完全支持MPLS协议,在OpenFlow v1.1中也新定义了针对MPLS协议的actions,增加了相应的操作,对MPLS标签的POP,SWAP(即Set MPLS Label),PUSH操作,以及对TTL的设置和递减操作也都已经有了定义,可见,将SDN的技术思想融入MPLS网络中是完全可行的。

传统MPLS网络分布式机制存在着繁琐收集和发布信息的缺点,在传统的MPLS网络,由于流量过多造成的链路可用带宽不足、路径拥塞问题而重新规划LSP是个很复杂的过程,很容易影响到正在传输的流量和其他部分的流量状况,造成环路、丢包甚至瘫痪等问题。目前现有技术中还没有出现有效的解决办法。



技术实现要素:

本发明的目的是提供一种基于SDN控制器的卫星MPLS网络流量均衡方法,将控制平面从网络设备中抽离出来,集中到SDN控制器上,由SDN控制器感知链路带宽利用率,收集、分析全网流量的分布情况,解决网络流量不均衡的问题。

为达到上述目的,本发明的技术方案是提出基于SDN控制器的卫星MPLS网络流量均衡方法,包括以下步骤:

步骤1:SDN控制器通过南向接口的OpenFlow协议向数据平面的路由器/交换机下发指令,要求路由器/交换机返回全网的拓扑结构、网络状态和路由器/交换机之间的链路参数;

步骤2:网络中的每个节点集中各自位置信息和流量通过的状态信息,通过OpenFlow返回这些信息,SDN控制器获取信息并得到完整的网络拓扑结构和网络状态信息;

步骤3:SDN控制器通过步骤2收集的信息对链路带宽、时延和丢包率做出评估,评估结果存储到流表中,下发至边界路由器和标签交换路由器,生成带有优先级权重的标签交换路径;

步骤4:标签交换路径生成后,当数据包进入网络时,源端路由器根据SDN控制器下发的流表中所包含的标签转发表为数据包打上合适的标签,使其按照指定的标签交换路径进行传输;

步骤5:每条标签交换路径中的数据都是一个流,设定一个周期T,SDN控制器通过OpenFlow协议按周期T从边界路由器和标签交换路由器上收集流的统计信息,再进行一定的计算,确定每条标签交换路径的实际带宽使用情况,SDN控制器同时改变本地数据库里相关链路的可用带宽值;

步骤6:设定一个可用带宽的临界值μ,0≤μ≤1,当某个周期的某条链路的可用带宽值小于或等于临界值μ,并且这条链路只支持一个标签交换路径时,转向步骤7;当某个周期的某条链路的可用带宽值小于或等于临界值μ,并且这条链路支持两条或以上的标签交换路径时,转向步骤8;

步骤7:SDN控制器根据分析链路状态的结果重新寻找路由并更新流表,再通过OpenFlow协议将重新建立的标签交换路径信息发送给相应的标签交换路由器,同时新的标签交换路径的权重值也发生改变;

步骤8:拥有较高权重值的标签交换路径a迫使拥有较低权重值的标签交换路径b(a>b)被拆除,SDN控制器根据分析链路状态的结果重新寻找路由并更新流表,再通过OpenFlow协议将重新建立的标签交换路径信息发送给相应的标签交换路由器,同时新的标签交换路径的权重值也发生改变;

步骤9:等待下一个周期开始,转向步骤1;

步骤10:SDN控制器可通过北向接口向应用层提供信息,以方便开发者们在应用层上为达成某一网络管理目标而开发应用。

进一步,步骤3中,SDN控制器生成的带有优先级权重的标签交换路径共有M条,M=1,2,3,…,i,…,m,其中优先级最高的标签交换路径1的权重值为m,路径的权重依次递减,标签交换路径m的权重最低为1。

进一步,步骤5中,所述统计信息包括总传输数据量。

本发明还进一步提出一种实现上述基于SDN控制器的卫星MPLS网络流量均衡方法的基于SDN控制器的卫星MPLS网络架构,整个架构包括四个通信节点,分别是卫星、卫星接入设备、网关站和网络控制中心,其中卫星节点是全局卫星MPLS网络的一个中间LSR,处理业务的传输,网络控制中心负责处理信令,卫星接入设备是地面用户子网到卫星MPLS网络的接入点,类似LER的功能,网关站则是担任LSR的功能,处理边界上的传输分组格式转换、标记格式转换、QoS协商以及LSP的维护任务。

上述SDN控制器安装在卫星MPLS网络的边缘,并且位于地面上。

上述MPLS网络分为全局卫星MPLS网络和地面MPLS子网。

上述地面MPLS子网中的SDN控制器负责调度子网中的链路流量,全局卫星MPLS网络的边缘也安置了SDN控制器来实现全网链路流量分配。

本发明的有益效果在于:

1,在卫星MPLS网络中引入SDN控制器的目的在于实现集中控制的功能,可以解决传统MPLS网络分布式机制繁琐收集和发布信息的缺点,使控制简单化。在传统的MPLS网络,由于流量过多造成的链路可用带宽不足、路径拥塞问题而重新规划LSP是个很复杂的过程,很容易影响到正在传输的流量和其他部分的流量状况,造成环路、丢包甚至瘫痪等问题。而SDN控制器统一控制,集中管理,能在链路发生可用带宽不足时让已经在路径上传输的流继续传输,为即将进入网络的新的流重新调整LSP,而需要调整的LSP也会依照权重优先级和紧迫性依次进行调整,避免在短时间内同时对大量流重新调度而使网络的不稳定性增加。特别是在卫星网络中,对网络的传输效率和稳定性要求尤其高,统一化的控制管理更加利于卫星MPLS网络提高服务质量。

2,现有的MPLS网络的控制平面使用的都是分布式协议,每个路由器的计算量很大,如果链路状态频繁改变的话会造成控制平面的负担越来越严重,因此网络设备需要经常更新,这样成本是很大的。而SDN控制器通过统一的控制平面和OpenFlow协议,可以放弃传统的分布式协议。每种协议都可以在SDN控制器上的抽象层上进行了运算之后,再通过OpenFlow协议将计算得到的结果发送给每个交换机。如果需要更新,只需要更新SDN控制器这一种设备即可,成本大大降低。

附图说明

图1是SDN结构图。

图2是基于SDN控制器的卫星MPLS网络架构图。

图3是SDN控制器控制下的链路结构图。

图4是SDN控制器统一控制流量的方法流程图。

具体实施方式

现结合附图对本发明做进一步详细的说明。先对基于SDN控制器的卫星MPLS网络架构进行说明。为了实现感知链路带宽利用率,收集、分析全网流量分布情况的功能,将SDN控制器安置在卫星MPLS网络的边缘,并且是在地面上。整个架构包括四个通信节点,分别是卫星、卫星接入设备、网关站和网络控制中心。MPLS网络又分为全局卫星MPLS网络和地面MPLS子网,其中卫星节点是全局卫星MPLS网络的一个中间LSR,处理业务的传输。网络控制中心负责处理信令。卫星网络接入设备是地面用户子网到卫星MPLS网络的接入点,类似LER的功能,由于卫星MPLS系统不能延伸至业务终端,因此卫星用户接入设备应该是连接具有一定规模子网的地面设备,可以是卫星地面站,也可能机载、车载或者船载接入设备。网关站则是担任LSR的功能,处理边界上的传输分组格式转换、标记格式转换、QoS协商以及LSP的维护任务。地面MPLS子网中的SDN控制器负责调度子网中的链路流量,而全局卫星MPLS网络的边缘也安置了SDN控制器来实现全网链路流量分配。

现对基于SDN控制器的卫星MPLS网络流量均衡方法进行说明,如图4所示。为了实现统一化控制管理,本发明引入SDN控制器,将控制平面和数据平面分离并从网络设备中抽离集中到控制器上,使得SDN控制器可以对网络的状态、链路信息、和链路的可用带宽值实时掌控。

SDN本身由下到上可以看作是一个三层的架构,分别是数据平面层,控制平面层和应用层。位于中间的控制平面层(即SDN控制器)通过南向接口与数据平面层通信,通过北向接口与应用层进行通信。SDN控制器通过北向接口向应用层提供信息,以方便开发者们在应用层上为达成某一网络管理目标而开发应用。SDN控制器通过南向接口的OpenFlow协议向数据平面发布指示和收集信息。通常,建立LSP所需要收集的信息是网络拓扑结构和链路状态信息,可用带宽值是链路状态最重要的参考因素。

链路的可用带宽指链路中有流量传输时还能给新业务提供的最大数据传输速率。一般地,一条LSP上的可用带宽等于路径上可用带宽最小的链路的可用带宽,因此,监测LSP的流量情况其实就是监测其中各条链路的可用带宽值。定义可用带宽的平均时间尺度为λ,在时间λ的一个样本中,链路i的带宽平均利用率为:

则链路i的可用带宽为:

Li=minCi(1-εi)

其中Ci代表路径中第i跳的链路带宽。

除了可用带宽值之外,时延、丢包率等也对链路状态有着不小的影响,特别是卫星网络对服务质量要求比地面网络高得多,这些因素需要被尽可能的弱化。

时延由发送时延、传播时延、处理时延和排队时延组成。处理时延是主机或路由器在数据通过时必要的处理时间,而排队时延是经过路由器是等待转发的时间。

丢包率的信息由链路两端的首尾路由器提供。定义某时刻t,目的端在t之前期望收到的数据包最大序列号为Sn,最小序列号为S1,因此目的端希望在t时刻接收到的数据包总数Pexp为:

Pexp=Sn-S1

假设在t时刻目的端实际收到的数据包总数为Pact,则代表到t时刻为止累计的丢包总数Plost为:

Plost=Pexp-Pact

则t时刻的数据丢包率为:

一般情况下,这些参数对路径的影响程度是有一定的范围的,因此可以统一化这些参数来对路径进行评估,定义各自的比例系数r。可用带宽是积极影响因素即越大越好,因此可定义为:

时延和丢包率是消极影响因素即越小越好,因此可分别定义为:

对这些参数进行归一化处理后的综合评价为:

r=∑kβkrk,其中k∈{b,t,l}

权重系数β满足归一化条件:

kβk=1,其中k∈{b,t,l}

如何选择权重系数β是与业务的特性有关的,较高的β值表示业务对哪方面的参数要求比较高。这样的算法更有利于后面标签的分发,使不同需求的业务可以进入最合适的LSP进行传输,而不会同时涌入最短路径造成拥塞。

这些计算都是在SDN控制器上实现的,数据平面的路由器只需要将参数信息通过OpenFlow协议反馈给SDN控制器即可,而不需要向传统的MPLS网络那样由各个路由器本身计算,大大降低了复杂度,并提高了准确度,减轻了路由器的负担。SDN控制器在计算完成后将结果存储至流表中,流表中包含对应计算结果的数据转发表和标签转发表,然后将流表通过SDN控制器南向接口的OpenFlow协议发送给数据平面的每个路由器/交换机,自动生成带有权重的LSP,数据包进入网络时被打上合适的标签,按照指定LSP进行传输。

每条LSP中的数据都是一个流。设定一个周期T,SDN控制器通过OpenFlow协议按周期T从LER和LSR上定时收集流的统计信息(例如总传输数据量),再进行计算,确定每条LSP的实际带宽使用情况,SDN控制器同时改变本地数据库里相关链路的可用带宽值。SDN控制器将设定一个可用带宽的临界值μ(0≤μ≤1),当某个周期的某条链路的可用带宽值小于或等于临界值μ时,SDN控制器根据分析链路状态的结果为即将进入这条LSP的数据重新寻找路由并更新流表,再通过OpenFlow协议将重新建立的LSP信息发送给相应的LSR,新的LSP的权重值也发生改变。在这个过程中,LSP和路由器都无需意识到流量对链路状态产生如何的影响。至此,SDN控制器实现对全网流量的合理调度,并相对于传统的MPLS技术拥有更小的能耗和成本、更低的维护困难程度和更高的服务质量。

本方法主要分为两个部分,一是基于SDN控制器的卫星MPLS网络架构,展示出SDN控制器的放置位置以及全网组件分布情况;二是基于SDN控制器的卫星MPLS网络流量均衡方法,展示如何利用SDN控制器改进MPLS网络分布式路由的缺点,做到全网流量合理调配。

本发明提出的方法都是以加入SDN控制器的卫星MPLS网络为基础的。SDN由下到上可以看做是一个三层的架构,分别是数据平面层,控制平面层和应用层。位于中间的控制平面层通过南向接口与数据平面层通信,通过北向接口与应用层进行通信,如图1。新的卫星MPLS网络架构图如图2,包括四个通信节点,分别是卫星、卫星接入设备、网关站和网络控制中心。其中卫星节点是全局卫星MPLS网络的一个中间LSR,处理业务的传输。网络控制中心负责处理信令。卫星网络接入设备是地面用户子网到卫星MPLS网络的接入点,类似LER的功能。网关站则是一个LSR,处理边界上的传输分组格式转换、标记格式转换、QoS协商以及LSP的维护任务。SDN控制器处于这个卫星MPLS网络的边缘,被放置在地面上,与网关站相连,实现全局调度的功能。

基于SDN控制器的卫星MPLS网络流量均衡方法的核心就是将MPLS网络的控制平面和数据平面分离,将传统MPLS网络的控制平面从网络设备中抽离出来集中到SDN控制器上,如图3,从而实现集中化管理流量分配的目的。其中a→c→d→b,a→e→b,a→f→e→b分别是三条带有权重值的LSP,并有重叠链路的部分存在。假设权重值分别为5,、7、3,其中权重值3为最大。

SDN控制器集中调度流量的具体过程如下:

步骤1:SDN控制器通过南向接口的OpenFlow协议向数据平面的路由器/交换机下发指令,要求路由器/交换机返回全网的拓扑结构、网络状态和路由器/交换机之间的链路参数;

步骤2:网络中的每个节点集中各自位置信息和流量通过的状态信息,通过OpenFlow返回这些信息,SDN控制器获取信息并得到完整的网络拓扑结构和网络状态信息;

步骤3:SDN控制器通过步骤3收集的信息对链路带宽、时延和丢包率做出评估,评估结果存储到流表中下发至LER和LSR,生成带有优先级权重的标签交换路径LSP。本方法共有M条基于权重的LSP,M=1,2,3,…,i,…,m,其中优先级最高的LSP 1的权重值为m,这些路径的权重依次递减,而LSP m的权重最低为1;

步骤4:LSP生成后,当数据包进入网络时,源端路由器根据SDN控制器下发的流表中所包含的标签转发表为数据包打上合适的标签,使其按照指定的LSP进行传输;

步骤5:每条LSP中的数据都是一个流,设定一个周期T,SDN控制器通过OpenFlow协议按周期T从LER和LSR上收集流的统计信息(例如总传输数据量),再进行一定的计算,确定每条LSP的实际带宽使用情况,SDN控制器同时改变本地数据库里相关链路的可用带宽值;

步骤6:设定一个可用带宽的临界值μ,0≤μ≤1,当某个周期的某条链路的可用带宽值小于或等于临界值μ,并且这条链路只支持一个LSP时,转向步骤7;当某个周期的某条链路的可用带宽值小于或等于临界值μ,并且这条链路支持两条或以上的LSP时,转向步骤8;

步骤7:SDN控制器根据分析链路状态的结果重新寻找路由并更新流表,再通过OpenFlow协议将重新建立的LSP信息发送给相应的LSR,同时新的LSP的权重值也发生改变。例如LSR d和LER b之间的链路可用带宽不足,那么LSP将更改为a→c→d→e→b,权重值将更改至小于3;

步骤8:拥有较高权重值的LSP a迫使拥有较低权重值的LSP b(a>b)被拆除,SDN控制器根据分析链路状态的结果重新寻找路由并更新流表,再通过OpenFlow协议将重新建立的LSP信息发送给相应的LSR,同时新的LSP的权重值也发生改变。例如LSR e和LER b之间的链路可用带宽不足,那么更高权重值的LSP a→e→b将迫使LSP a→f→e→b拆除,使其重新寻找路径;

步骤9:等待下一个周期开始,转向步骤1;

步骤10:SDN控制器可通过北向接口向应用层提供信息,以方便开发者们在应用层上为达成某一网络管理目标而开发应用。

为了实现统一化控制管理,本发明引入SDN控制器,将控制平面和数据平面分离并从网络设备中抽离集中到SDN控制器上,使得SDN控制器可以对网络的状态、链路信息、和链路的可用带宽值了如指掌。

SDN本身由下到上可以看作是一个三层的架构,分别是数据平面层,控制平面层和应用层。位于中间的控制平面层(即SDN控制器)通过南向接口与数据平面层通信,通过北向接口与应用层进行通信。SDN控制器通过北向接口向应用层提供信息,以方便开发者们在应用层上为达成某一网络管理目标而开发应用。SDN控制器通过南向接口的OpenFlow协议向数据平面的路由器/交换机发布指示和收集信息。通常,建立LSP所需要收集的信息是网络拓扑结构和链路状态信息。

SDN控制器通过从路由器/交换机上收集的信息针对可用带宽、时延和丢包率等参数做出计算。这些参数对路径的影响程度是有一定的范围的,因此可以统一化这些参数来对路径进行评估,定义各自的比例系数r。可用带宽是积极影响因素即越大越好,因此可定义为:时延和丢包率是消极影响因素即越小越好,因此可分别定义为:对这些参数进行归一化处理后的综合评价为:r=∑kβkrk,其中k∈{b,t,l};权重系数β满足归一化条件:∑kβk=1,其中k∈{b,t,l}。计算完成后将结果存储至流表中,通过南向接口的OpenFlow协议发送给数据平面的每个路由器/交换机,自动生成带有权重的LSP,数据包进入网络时LER根据收到的流表中的标签转发表为数据包打上合适的标签,数据包就能按照指定LSP进行传输。流量调度的具体流程如下:

步骤1:SDN控制器通过南向接口的OpenFlow协议向数据平面的路由器/交换机下发指令,要求路由器/交换机返回全网的拓扑结构、网络状态和路由器/交换机之间的链路参数;

步骤2:网络中的每个节点集中各自位置信息和流量通过的状态信息,通过OpenFlow返回这些信息,SDN控制器获取信息并得到完整的网络拓扑结构和网络状态信息;

步骤3:SDN控制器通过步骤3收集的信息对链路带宽、时延和丢包率做出评估,评估结果存储到流表中下发至LER和LSR,生成带有优先级权重的标签交换路径LSP。本方法共有M条基于权重的LSP,M=1,2,3,…,i,…,m,其中优先级最高的LSP 1的权重值为m,这些路径的权重依次递减,而LSP m的权重最低为1;

步骤4:LSP生成后,当数据包进入网络时,源端路由器根据SDN控制器下发的流表中所包含的标签转发表为数据包打上合适的标签,使其按照指定的LSP进行传输;

步骤5:每条LSP中的数据都是一个流,设定一个周期T,SDN控制器通过OpenFlow协议按周期T从LER和LSR上收集流的统计信息(例如总传输数据量),再进行一定的计算,确定每条LSP的实际带宽使用情况,SDN控制器同时改变本地数据库里相关链路的可用带宽值;

步骤6:设定一个可用带宽的临界值μ,0≤μ≤1,当某个周期的某条链路的可用带宽值小于或等于临界值μ,并且这条链路只支持一个LSP时,转向步骤7;当某个周期的某条链路的可用带宽值小于或等于临界值μ,并且这条链路支持两条或以上的LSP时,转向步骤8;

步骤7:SDN控制器根据分析链路状态的结果重新寻找路由并更新流表,再通过OpenFlow协议将重新建立的LSP信息发送给相应的LSR,同时新的LSP的权重值也发生改变;

步骤8:拥有较高权重值的LSP a迫使拥有较低权重值的LSP b(a>b)被拆除,SDN控制器根据分析链路状态的结果重新寻找路由并更新流表,再通过OpenFlow协议将重新建立的LSP信息发送给相应的LSR,同时新的LSP的权重值也发生改变;

步骤9:等待下一个周期开始,转向步骤1;

步骤10:SDN控制器可通过北向接口向应用层提供信息,以方便开发者们在应用层上为达成某一网络管理目标而开发应用。

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