基于转移代价的SDN网络拥塞链路调整方法与流程

文档序号:13763272阅读:409来源:国知局
基于转移代价的SDN网络拥塞链路调整方法与流程

本发明涉及一种网络链路调整方法,更具体的说,尤其涉及一种基于转移代价的SDN网络拥塞链路调整方法。



背景技术:

软件定义网络((Software Defined Network,SDN),是一种新型网络创新架构,旨在通过将网络设备控制面与数据面分离开来,实现网络数据流量的灵活控制,使网络作为数据传输管道变得更加智能。控制层采用集中式控制器来控管不同的网络设备,如此一来,网络更易于被控制与管理,并且让比特在转发层顺利传输。控制器通过安全通道与OpenFlow交换机进行通信,下发流表与控制原则来决定流量的流向。SDN可针对不同的使用需求,建立服务层级协议,让使用者存取服务时,获得应有的保障。

近年来,随着信息技术的高速发展,各类网络相互交叉融合以及信息量呈海量式增长,网络在组成、结构、功能、规模及应用模式等方面正发生着深刻的变革。由于实际条件的限制,网络规模并不能无限制地扩大。由于路由算法的缺陷或网络部件性能的限制,网络中的数据传输有可能得不到及时的响应,造成大量数据包缓存在网络中,这时网络中就产生了拥塞。

为了实现拥塞数据流重调度,需要解决两大主要难题:(1)拥塞发生时对哪条数据流进行重新调度;(2)如何调度这些数据流。考虑到拥塞链路上存在多个数据流,对其进行重路由的代价较大。

首先,选择重路由的数据流,有文献的核心思想是,当网络即将发生拥塞时,在拥塞链路上找出一条占用带宽最大的数据流(或大流),将其进行重路由。这种方法的缺点是只考虑数据流的带宽参数,没有考虑到数据流的业务属性,如果占用带宽最大的数据流为一条实时类的流媒体类业务流,且新选择的路径延时较大,那么在这种情况下,会严重影响到用户的应用体验,因此这种重路由策略并不是一个最优的选择。另外,链路负载均衡主要是考虑链路上流量大小和链路利用率,这样做不利于保证链路利用率,尤其当负载增加并且链路变得饱和时,为大流寻找可容纳的链路会很困难。

其次,重路由后的新路径要考虑所包含链路的长度,也就是跳数;另外,控制器要负责将新的路由流表到相应的交换机中。对于拥塞链路重路由多采取最短路径优先的方法,提前为每条数据流选择K条最短路径,当发生拥塞的时候,按顺序遍历这K条路径直到找到一条不拥塞的路径,但这种方法计算代价较大。这种方法产生的新路由可以保证跳数最小,但考虑到下发新流表时,转发规则封装到Packet_out消息中并由控制器下发给交换机,交换机流表需实时动态更新,同时过期的流表项会被删除。由此,当获得最短路径时,其链路的改变量(包括增加和删除的链路)往往会变得很大,造成转移代价量变大。



技术实现要素:

本发明为了克服上述技术问题的缺点,提供了一种基于转移代价的SDN网络拥塞链路调整方法。

本发明的基于转移代价的SDN网络拥塞链路调整方法,其特别之处在于,通过以下步骤来实现:

a).获取链路拓扑,在SDN网络下,控制器根据OpenFlow v1.0标准协议,使用链路层发现协议LLDP获取全局网络拓扑;b).获取数据流信息,控制器定时向SDN网络中每一个OpenFlow交换机发送查询消息,以获取OpenFlow交换机上每个端口的数据流信息,数据流信息包括了数据流的头部标识和流速大小;c).判断拥塞状态,判断链路中的传输队列长度是否超过了链路容量设定的门限值,如果超过,则表明该链路处于拥塞状态,执行步骤d);如果没有超过,则执行步骤b),重新获取数据流信息;d).选择待转移流,从流经拥塞链路的数据流中选择合适的流作为待转移流,以便对待转流进行重路由;e).重路由的调整,则按照步骤e-1)和步骤e-2)对其进行重路由调整;e-1).如果待转移流的路由为等价单拥塞链路,则从现有网络拓扑结构中寻找链路改变量最少的新路由,作为待转移流的新路由,并确保新路由的延迟、带宽满足转移流的业务需求;e-2).如果待转移流的路由为多拥塞链路,则首先将多拥塞链路分解为多个等价单拥塞链路的组合,然后再按照步骤e-1)的方法为每个等价单拥塞链路选择转移代价最小的新路由,最终形成避开多拥塞链路的新路由;f).流表路由的调整,SDN网络的控制器下发路由调整后的新流表,以调整待转移流的传输路径,避免拥塞的出现。

本发明的基于转移代价的SDN网络拥塞链路调整方法,步骤e-1)所述的重路由通过以下步骤来实现:e-1-1).设定南向、北向路由,设待转移流的源节点、目的节点分别为S和D,其拥塞链路为AB段,定义南向重路由是以拥塞链路的起始节点A为起点、沿向目的节点D的方向计算重路由;定义北向重路由是以拥塞链路的终节点B为终点、沿源节点S向下的方向计算重路由;e-1-2).计算链路改变数,对于需要删除m条旧链路且增加节点数为n的从X到Y的路由调整方案,记为XY(m,n),通过公式(1)计算链路改变数△P:

△P=m+n+1 (1)

m为要删除的旧链路数目,由于至少要删除拥塞链路,故m≥1;n为新增加节点数,n≥0;e-1-3).寻找转移代价最小的路由,控制器根据步骤e-1-2)中链路改变数的计算公式,求取链路改变数的最小值;在链路改变取最小值时,判断是否存在避开等价单拥塞链路的南向或北向路由,如果存在,则选取满足条件的南向或北向路由作为新路由,重路由结束;如果不存在,则执行步骤e-1-4);e-1-4).递增链路改变数,如果网络拓扑中要删除的旧链路数或新节点数可继续增加时,则通过增加要删除的旧链路数或增加新增加节点数,递增链路改变数△P,执行步骤e-1-5);反之,则执行步骤e-1-6);e-1-5).链路递增后的判断,递增链路改变数后,控制器判断是否存在绕开等价单拥塞链路的南向或北向路由,如果存在,则选取该路由为新路由,重路由结束;如果不存在,则执行步骤e-1-4);e-1-6).采用传统的Dijkstra算法计算最短路由作为新路由。

本发明的基于转移代价的SDN网络拥塞链路调整方法,步骤b)获取数据流信息的方法为:控制器定时向网络中每一个OpenFlow交换机发送端口状态信息请求报文PSQ,每个OpenFlow交换机收到PSQ报文后,都向控制器反馈一个端口状态回复信息PSR,该PSR信息记录了交换机每个端口上流经的数据流的信息,其包括数据流的头部标识和流速大小信息。

本发明的基于转移代价的SDN网络拥塞链路调整方法,步骤c)中如果链路的利用率达到90%,则判定当前链路处于拥塞状态。

本发明的基于转移代价的SDN网络拥塞链路调整方法,步骤d)中从流经拥塞链路的数据流中,选择流经拥塞链路最少的流作为待转移流,以降低转移代价。

本发明的有益效果是:本发明的SDN网络拥塞链路调整方法,SDN控制器获取链路拓扑及发现拥塞之后,选择拥塞链路上合适的数据流作为待转移流,将其路径作为重路由的待处理路径,将路径上的拥塞分为等价单拥塞链路及多拥塞链路区分处理,对多拥塞链路转移为多个等价单拥塞链路的组合,既解决了链路拥塞,又使得转移代价最小,减低了计算复杂度,提高了数据流转移效率。

本发明涉及基于转移代价SDN网络中拥塞链路调整方法,SDN网络中的南向网络控制技术需要对整个网络中的设备层进行管控与调度,包括链路发现、拓扑管理、策略制定、流表项下发等。通本专利提出的转移代价较低的路由调整方法,降低运算复杂度,提高重路由效率。

附图说明

图1:南向重路由节点递增方案示意图;

图2:北向重路由节点递增方案示意图;

图3:多拥塞链路示意图;

图4:SDN网络拥塞链路调整方法流程图;

图5:单拥塞链路重路由调整流程图。

具体实施方式

下面结合附图与实施例对本发明作进一步说明。

本发明的基于转移代价的SDN网络拥塞链路调整方法,通过以下步骤来实现:

a).获取链路拓扑,在SDN网络下,控制器根据OpenFlow v1.0标准协议,使用链路层发现协议LLDP获取全局网络拓扑;

其中,LLDP为Link Layer Discovery Protocol的缩写,意为链路层发现协议。

b).获取数据流信息,控制器定时向SDN网络中每一个OpenFlow交换机发送查询消息,以获取OpenFlow交换机上每个端口的数据流信息,数据流信息包括了数据流的头部标识和流速大小;

该步骤中,获取数据流信息的方法为:控制器定时向网络中每一个OpenFlow交换机发送端口状态信息请求报文PSQ,每个OpenFlow交换机收到PSQ报文后,都向控制器反馈一个端口状态回复信息PSR,该PSR信息记录了交换机每个端口上流经的数据流的信息,其包括数据流的头部标识和流速大小信息。

PSQ为Port State reQuest Message的缩写,意为端口状态信息请求报文;PSR为Port State Reply Message的缩写,意为端口状态回复信息。

c).判断拥塞状态,判断链路中的传输队列长度是否超过了链路容量设定的门限值,如果超过,则表明该链路处于拥塞状态,执行步骤d);如果没有超过,则执行步骤b),重新获取数据流信息;

该步骤中,步骤c)中如果链路的利用率达到90%,则判定当前链路处于拥塞状态。

d).选择待转移流,从流经拥塞链路的数据流中选择合适的流作为待转移流,以便对待转流进行重路由;

该步骤中,步骤d)中从流经拥塞链路的数据流中,选择流经拥塞链路最少的流作为待转移流,以降低转移代价。

e).重路由的调整,则按照步骤e-1)和步骤e-2)对其进行重路由调整;

e-1).如果待转移流的路由为等价单拥塞链路,则从现有网络拓扑结构中寻找链路改变量最少的新路由,作为待转移流的新路由,并确保新路由的延迟、带宽满足转移流的业务需求;

该步骤通过以下方法来实现:

e-1-1).设定南向、北向路由,设待转移流的源节点、目的节点分别为S和D,其拥塞链路为AB段,定义南向重路由是以拥塞链路的起始节点A为起点、沿向目的节点D的方向计算重路由;定义北向重路由是以拥塞链路的终节点B为终点、沿源节点S向下的方向计算重路由;

e-1-2).计算链路改变数,对于需要删除m条旧链路且增加节点数为n的从X到Y的路由调整方案,记为XY(m,n),通过公式(1)计算链路改变数△P:

△P=m+n+1 (1)

m为要删除的旧链路数目,由于至少要删除拥塞链路,故m≥1;n为新增加节点数,n≥0;

e-1-3).寻找转移代价最小的路由,控制器根据步骤e-1-2)中链路改变数的计算公式,求取链路改变数的最小值;在链路改变取最小值时,判断是否存在避开等价单拥塞链路的南向或北向路由,如果存在,则选取满足条件的南向或北向路由作为新路由,重路由结束;如果不存在,则执行步骤e-1-4);

e-1-4).递增链路改变数,如果网络拓扑中要删除的旧链路数或新节点数可继续增加时,则通过增加要删除的旧链路数或增加新增加节点数,递增链路改变数△P,执行步骤e-1-5);反之,则执行步骤e-1-6);

e-1-5).链路递增后的判断,递增链路改变数后,控制器判断是否存在绕开等价单拥塞链路的南向或北向路由,如果存在,则选取该路由为新路由,重路由结束;如果不存在,则执行步骤e-1-4);

e-1-6).采用传统的Dijkstra算法计算最短路由作为新路由。

e-2).如果待转移流的路由为多拥塞链路,则首先将多拥塞链路分解为多个等价单拥塞链路的组合,然后再按照步骤e-1)的方法为每个等价单拥塞链路选择转移代价最小的新路由,最终形成避开多拥塞链路的新路由;

f).流表路由的调整,SDN网络的控制器下发路由调整后的新流表,以调整待转移流的传输路径,避免拥塞的出现。

路由中相邻两个节点之间的通路称为链路,若待转移流的路由中只有一条拥塞的链路,称为单拥塞链路;若连续出现两个或者两个以上拥塞链路,则此时从拥塞开始的节点至终止节点之间的多个链路即可等价为一个单拥塞链路。

设定S为发送节点,D为目的节点,假设拥塞链路为AB段,重点考虑代价最小的重路由方案,即尽可能减少链路变更的数量。由此,定义南向重路由是以拥塞链路的起节点A为重路由的起点,沿向目的节点D的方向计算重路由,如图1所示,给出了南向重路由节点递增方案示意图。北向重路由定义,是以拥塞链路的终节点B为重路由的终点,沿源节点S向下的方向计算重路由,如图2所示,给出了北向重路由节点递增方案示意图。

重路由转移代价:数据流f经过一个有向拓扑图,原路由链路数为P,重路由后新的非拥塞链路的改变量为ΔP,包括删除的原链路数以及增加的新链路数,则转移代价定义为:T(f)=ΔP/P。由此对某一转移流,其链路数P为固定值,若使转移代价最小,则应使ΔP最小。

重新路由的目的是避开拥塞链路,并选择转移代价最小的新路由继续。以此为原则,南向计算重路由方案如下表1所示。其中,对于需要删除m条旧链路且新路由节点数为n的从X到Y的重路由调整方案,记为XY(m,n)。由下表可知,此时链路改变数为:

ΔP=m+n+1

表1

表1中,m为删除旧链接数,重路由方案至少需要删除当前拥塞链路,则m≥1,当m=1时,重路由方案归入南向方案,当m>1时,存在南北双向方案;同时,n为增加节点数,若存在两节点之间的直接链路,则n=0,所以n≥0。

由此,以链路改变数为自变量,则路由调整策略如表2所示。

表2

由表2可得,当链路改变量为x时,存在的南北向重路由总方案数最多为2*x-3,其中x≥3。对一条指定的拥塞链路,可按照链路改变量递增的顺序逐个寻找可行的重路由方案。即:从链路改变量等于3开始,从上表中依次查找此时对应的AB(1,1)/AB1(2,0)/A1B(2,0)新路由是否存在,若存在,则判断是否符合业务延时、带宽等需求,若满足需求,则记录当前链路改变量;否则递增链路改变量为4,查找对应新路由,重复上述过程,直至找到重路由方案。若递增链路改变量找不到可行的重路由方案,则采用传统的Dijkstra算法计算最短路由作为新路由,结束重路由过程。

若当前待转移流的路由为多拥塞链路,则首先将多拥塞链路分解为等价单拥塞链路的组合,该策略适用于两个节点中间存在多个不连续拥塞链路的情况,此时,不能简单将该两节点间路由等价为一个单拥塞链路,而需要作为多个不连续的拥塞链路对待。

假设某待转移流F起止点分别为S和D,其拥塞链路的等价端点为A和B(即S->A、B->D部分无拥塞),该流路由中有t个拥塞链路,标记为C(C1,C2,…,Ct),用黑粗线标记;对某一拥塞链路Ci(i∈[1,t]),其相应的起止点为Pis和Pid,如图3所示,给出了多拥塞链路示意图。将该多拥塞链路进行单拥塞链路重路由方案分解,如表3所示,给出了多拥塞链路分解过程:

表3

由此,该多拥塞链路的链路改变量为:

ΔP=ΔP1…α+ΔP(α+1)…β+ΔP(β+1)…γ+…+ΔPδ…t

其中,1≤α≤β≤…≤γ≤δ≤t;

至此,多拥塞链路也已经转化成多个等价单拥塞链路的组合,然后再按照前面单拥塞链路调整方法分别进行调整。即,假设在含有t=9个拥塞链路的路由中,其网络拓扑中,如果可以找到C123、C45及C6789的等价单拥塞路由,则其链路改变量为:

ΔP=ΔP123+ΔP45+ΔP6789

由表3可以得出拥塞链路数量与等价单拥塞路由方案的关系如表4所示:

表4

由此可见,当拥塞链路数不断增加时,其等价单拥塞链路路由方案数量呈现指数函数形式剧增。因此,当调整拥塞链路时,应该在流经该拥塞链路中的数据流中,优先选择流经拥塞链路段最少的流来转移,避免调整流经拥塞链路较多的数据流的路由,以降低复杂度,提高运算效率。

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