首页> 中国专利> 一种SDN网络中端到端QoS保障的方法

一种SDN网络中端到端QoS保障的方法

摘要

本发明公开了一种SDN网络中端到端QoS保障的方法。本方法为:1)对于每一到达SDN网络的新数据流,SDN网络控制器周期性的采集网络状态信息;2)SDN网络控制器根据采集到的网络状态信息计算传输该新数据流的所有备选路径的代价,确定出一最佳传输路径;3)SDN网络控制器将该最佳传输路径信息封装成流表项下发给该SDN网络的交换机节点,交换机节点根据流表项对收到的数据包进行转发。本发明设计了OpenFlow交换机的队列机制,并通过控制器对交换机的队列状态实时监控。当新的数据流到达时,根据路径上链路的传输时延和交换机节点队列的排队时延,结合当前链路的拥塞情况,选出一条代价最小的路径进行数据流的传输。

著录项

  • 公开/公告号CN105471764A

    专利类型发明专利

  • 公开/公告日2016-04-06

    原文格式PDF

  • 申请/专利权人 中国科学院信息工程研究所;

    申请/专利号CN201510783079.4

  • 发明设计人 王鹏;刘延伟;陈鑫;徐震;

    申请日2015-11-16

  • 分类号H04L12/851(20130101);

  • 代理机构北京君尚知识产权代理事务所(普通合伙);

  • 代理人司立彬

  • 地址 100093 北京市海淀区闵庄路甲89号

  • 入库时间 2023-12-18 15:12:07

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-01-25

    授权

    授权

  • 2016-05-04

    实质审查的生效 IPC(主分类):H04L12/851 申请日:20151116

    实质审查的生效

  • 2016-04-06

    公开

    公开

说明书

技术领域

本发明涉及一种SDN网络中端到端QoS保障的方法,属于网络技术领域。

背景技术

随着网络的快速发展,应用业务类型的日益丰富,传统网络模型已经很难满足网 络发展的需求,软件自定义网络(SoftwareDefinedNetworks,SDN),一种新型的网络模型 越来越受到重视。但SDN网络仍然处于发展的初期,存在很多不足,尤其是在为业务提供端 到端QoS(QualityofService)保障方面,比如并未考虑端到端的QoS保障,不能提供动态 的QoS保障,缺乏自适应性,也忽略了传输路径中交换机节点自身的影响。数据流传输时在 交换机节点处会产生时延、拥塞和丢包等,特别是端口队列的时延和拥塞,都将对SDN网络 的QoS保障产生重大的影响。

发明内容

针对现有技术中存在的技术问题,本发明的目的在于提供一种队列感知的端到端 的QoS保障方法,本发明设计了OpenFlow交换机的队列机制,并通过控制器对交换机的队列 状态实时监控。当新的数据流到达时,根据路径上链路的传输时延和交换机节点队列的排 队时延,结合当前链路的拥塞情况,选出一条代价最小的路径进行数据流的传输。

本发明的技术方案为:

一种SDN网络中端到端QoS保障的方法,其步骤为:

1)对于每一到达SDN网络的新数据流,SDN网络控制器周期性的采集网络状态信 息;其中,SDN网络中每一交换机节点端口设有Q个出速率不同的队列;每一队列中不同流的 数据包到达时间服从参数不同的泊松分布,λj为该新数据流的数据包到达时间泊松分布参 数;

2)SDN网络控制器根据采集到的网络状态信息计算传输该新数据流的所有备选路 径的代价,确定出一最佳传输路径;

3)SDN网络控制器将该最佳传输路径信息封装成流表项下发给该SDN网络的交换 机节点,交换机节点根据流表项对收到的数据包进行转发;

其中,计算每一备选路径的代价所用的信息包括该备选路径的路径时延;所述路 径时延包括路径传输时延Tpt(si,sj)和该备选路径的路径排队时延Tpq(si,sj);该路径排队 时延为该备选路径上各链路段的排队时延之和;每一链路段的排队时延Tq(sm,sm+1)为交换 机节点端口各队列的排队时延Tqk(sm,sm+1)最小值,即将排队时延最小的队列作为sm节点出 端口到下一节点sm+1的传输队列;Tqk(sm,sm+1)表示从sm节点传输到下一节点sm+1时,该新数 据流的数据包在sm节点出端口的队列k产生的排队时延,sm和sm+1为一链路段上的两交换机 节点,队列k的传输速率为uk、已存在的数据包的长度为Lqk、传输的所有数据流的集合为fqk; 当该新数据流的第N个数据包到达sm节点时,队列k的积累长度LqkN=Nλj*(Σλifqkλi-μk)+Lqk,Tqk(sm,sm+1)=LqkNμk;si为备选路径的源端交换机节点、sj为备选路径的目的端交换机节点。

进一步的,计算每一备选路径的代价所用的信息还包括该备选路径的拥塞代价C; 备选路径的代价CO(p)=w1×Tp(si,sj)+w2×C,w1、w2分别为路径时延Tpq(si,sj)和拥塞代价C 的权值,且w1+w2=1;选取CO(p)值最小的路径为最佳传输路径。

进一步的,所述拥塞代价其中,Bs表示备选路径上数据包的平均速 率,Br表示备选路径上可用带宽的最小值。

进一步的,所述步骤2)中,确定出所述最佳传输路径的方法为:

1)将每一备选路径放入解空间,建立一颗解空间树;将解空间树的根节点加入活 节点表;

2)取活节点表第一个值作为当前扩展节点;

3)比较扩展节点到其所有子节点的链路时延和排队时延,当链路时延或排队时延 超过设定门限值时,就将此子节点舍弃;

4)将链路时延和排队时延都未超过该设定门限值的子节点加入活节点表中;

5)重复步骤2)~4),直到活节点表为空;

6)根据公式选出一条代价耗费最小的路径,作为所述 最佳传输路径。

进一步的,所述控制器以N个数据包为一个周期,当源端交换机节点si收到N个该 新数据流的数据包时,进行一次网络状态信息采集。

进一步的,所述网络状态信息包括各交换机节点的队列长度,各队列所有数据流 的集合,各条链路可用带宽,备选路径上数据包的平均速率。

进一步的,所述控制器将交换机节点收到的数据包优先放入该交换机节点优先级 最高且未满队列中进行传输。

与现有技术相比,本发明的积极效果为:

本发明考虑了交换机节点自身队列时延对QoS的影响,能够根据网络状态自适应 调整流的走向,保障了端到端的QoS,提高了控制器的全局掌控能力,使网络资源更加均衡。

附图说明

图1为端到端QoS保障机制系统架构图;

图2为本发明的端到端QoS机制流程图;

图3为SDN网络拓扑图;

图4为队列感知选择机制图;

图5为节点s1到s6的解空间树。

具体实施方式

下面结合附图对本发明进一步详细描述:

一.系统架构刻画

本文提出的基于队列感知的端到端QoS保障机制如图1所示,在图1中,数据平面的 交换机端口上设置多个出速率不同的队列,并有大量的背景流进入不同的队列进行传输, 比如ftp流,视频流等。当新的数据流到达网络时,控制器启动队列感知的QoS保障机制,周 期性的采集网络状态,包括链路状态和实时变化的队列状态等,根据采集到的信息,控制器 估算出端到端所有可选路径的代价,并找出一条代价最小的路径进行新流的传输。最后控 制器将转发路径信息封装成流表项,并通过OpenFlow协议将流表项下发给交换机。新流到 达后,在交换机上与新的流表项匹配成功并进行转发,具体QoS保障机制流程图如图2所示。

本文的端到端QoS的路径代价包括路径时延和路径拥塞,具体来讲,路径时延不仅 包括传统意义上链路产生的时延,还包括交换机节点上队列处产生的排队时延。由于不同 的队列具有不同的出速率的限制,因此数据包在不同队列传输时的排队等待时延可能会不 一样。在本文提出的端到端QoS保障方法中,充分考虑了数据包转发时的排队时延,更精确 的保障了端到端的QoS保障。

二.端到端QoS的路径代价

队列感知的端到端QoS路径代价被刻画成两方面的影响,一方面是由于链路带宽 和队列出速率限制引起的路径时延代价,另一方面由于多条路径共享同一条链路引起的拥 塞代价。本部分将分别描述路径时延和拥塞产生的代价。

为了便于理解,首先给出拓扑图和各符号所表示的含义,如表1所示,以下定义满 足并且sm的下一跳相邻节点为sm+1

表1符号表示及含义

符号 符号含义 S 网络中所有节点的集合 E 网络中所有链路的集合 e 代表一条链路 E(p) 路径P上所有链路集合 Q(p) 路径P上所有队列的集合 p(si,sj) 两节点间的一条可达路径 Tp(si,sj) 两节点间的路径时延 Tpt(si,sj) 两节点间路径传输时延 Tpq(si,sj) 两节点间路径排队时延 Te(sm,sm+1) 两相邻节点的链路时延 Tq(sm,sm+1) 两相邻节点的排队时延 Tqk(sm,sm+1) 队列k的排队时延 μk队列k的出速率 Lk队列k的数据包排队长度 Br路径上链路带宽最小处的带宽值 Bs数据包的平均传输速率 C 路径的拥塞值 CO(p) 端到端的路径花费 w1路径时延的权值 3 -->w2路径拥塞的权值 popt(si,sj) 端到端的最优路径

2.1路径时延

路径是由一系列链路和节点组成的,当数据包在一定带宽的链路上进行传输时, 会产生传输时延,且数据包经过节点队列时,会产生排队时延。因此路径时延包括路径传输 时延和排队时延。由以上各符号的定义可知:

Tp(si,sj)=Tpt(si,sj)+Tpq(si,sj)(1)

下面2.1.1.和2.1.2将分别具体介绍路径传输时延和排队时延的计算方法。

2.1.1传输时延

众所周知,路径是由多条链路组成,每条链路都存在链路传输时延,链路时延可用 数据包大小M与每段链路带宽之比表示,将每段链路的带宽大小通过加权有向图的邻接矩 阵表示出来。任意加权有向图的邻接矩阵可表示为:

0b1,2...b1,i...b1,nb2,10...b2,i...b2,n............bi,1bi,2...0...bi,n............bn,1bn,2...bn,i...0=B

邻接矩阵B中的元素bi,k表示节点si与sk间链路带宽,0值表示两节点间不可达,即 没有有效带宽。

因此链路传输时延如下表示:

Te(sm,sm+1)=Mbm,m+1---(3)

由于路径是由多条链路组成,那么路径传输时延为所有链路时延之和。用E(p)表 示路径p上所有链路的集合,那么路径时延表示为:

Tpt(si,sj)=ΣeE(p)Te(sm,sm+1)---(4)

为了便于理解,我们给出一个网络拓扑的例子如图2所示,计算节点s1到s6的传输 时延,由图3可知s1到s6存在多条可达的有效路径,选取其中一条有效路径(s1→s3→s4→ s6),来进行计算:

Tt(s1,s6)=Te(S1,s3)+Te(s3,s4)+Te(s4,s6)=Mb1,3+Mb3,4+Mb4,6---(5)

2.1.2排队时延

在现有的SDN端到端QoS的路由策略中,并未考虑交换机节点的排队时延。本文考 虑交换机节点自身排队时延对QoS的影响,是创新点所在,因此排队时延是本文的重点。

相邻节点排队时延跟SDN网络中的排队机制有关,为保证数据流的安全高效传输, 在每个节点的出端口设置Q个队列,每个队列分别设有不同的出速率,设为(u0,u1,…uk,… uQ)。默认情况下,0队列具有最高的优先级,没有指定特定队列的数据包将在队列0中进行 传输。,经研究分析,一般来讲数据包到达网络的时间是随机的,并大致服从泊松分布。若随 机变量X服从参数为λ的泊松分布,即:则其均值为Ε(X) =λ。对于一个队列来讲,不同流的数据包到达时间服从参数不同的泊松分布,参数分别为 (λ12,…λk,…)。

当一条新的数据流到达SDN网络交换机节点进行传输时,根据OpenFlow协议,交换 机把信息报告给控制器,控制器开启队列感知的QoS控制策略,控制器每隔N个数据包,就读 取一次当前网络状态信息,当前网络状态信息包括队列长度,各队列所有流的集合,各条链 路可用带宽,备选路径上数据包的平均速率。由网络状态估算每条备选路径的花费,并每条 路径花费做一次流转发路径的调整。

用Tqk(sm,sm+1)表示从sm节点传输到下一节点sm+1时,数据包在sm节点出端口k(k为 任意Q)队列产生的排队时延。当参数为λj的新流的第1个数据包到达时,假设队列k的传输 速率为uk,已存在的数据包的长度为Lqk,此队列传输的所有数据流的集合为fqk。那么当第N 个数据包到达端到端的源节点时,即第一次对新流数据包转发路径进行调整时,队列k的积 累长度为:此时队列的长度为

LqkN=Nλj*(Σλifqkλi-μk)+Lqk---(6)

因此第一次调整时,参数为λj的流在队列k的排队时延Tqk(sm,sm+1)预计为:

Tqk(sm,sm+1)=LqkNμk---(7)

依据上式可以求出出端口各队列的排队时延,如图4所示;最后,比较出端口各队 列的排队时延,将排队时延最小的队列作为此出端口到下一节点的传输队列,这样不仅避 免了队列的溢出,而且可以保障数据包以最快的速度得到转发。队列的排队时延最小值记 为此出端口到下一节点的排队时延:

Tq(sm,sm+1)=minkQ(Tqk(sm,sm+1))---(8)

由上式可计算出路径中各节点的出端口到下一节点的排队时延,累加得到路径总 的排队时延,如下式:

Tpq(si,sj)=ΣqQ(p)Tq(sm,sm+1)=ΣqQ(p){minkQ(Tqk(sm,sm+1))}---(9)

同理,当第2N个数据包到达时,进行第二次端到端转发路径的调整,此时任意队列 k(k为任意Q)的长度如可以根据公式(6)估算出来,如公式(10)。并用与公式(7)(8)(9)相同 的思想得到路径的排队时延。

Lqk2N=Nλj*(Σλif1λi-μk)+LqkN---(10)

综上,由2.1.1和2.1.2分别得到路径的传输时延和排队时延,相加即可得到每一 条备选路径的路径总时延,如下式:

Tp(si,sj)=Tpt(si,sj)+Tpq(si,sj)=ΣeE(p)qQ(p){Te(sm,sm+1)+minkQ(Tqk(sm,sm+1))}---(12)

3.2拥塞花费

拥塞是影响QoS控制的一个重要因素,在本文中提出的队列感知的端到端QoS保障 机制中,考虑了实时网络拥塞程度对QoS的影响,减少丢包率,对QoS保障的性能有极大的提 升。一般来讲,路径中可用带宽值最小处最容易发生拥塞,因此得到每条端到端备选路径上 的拥塞花费,即考虑每条备选路径上带宽最小处的拥塞花费。Br表示端到端每条备选路径 上可用带宽的最小值,Bs表示每条备选路径上数据包的平均速率,以路径1(s1→s3→s4→s6) 为例,则

Br=min(b1,3,b3,4,b4,6)(13)

采用符号C刻画拥塞花费,那么当C值越小时,表示拥塞程度越小,越不易发生丢 包,反之,表示拥塞越大,越容易发生丢包。对于一条端到端的备选路径,C可表示为:

C=BsBr-Bs---(14)

3.3端到端QoS路径代价

利用深度优先搜索算法,可以找到所有的端到端备选路径,并由以上介绍可知,可 估算出每条备选路径的时延和拥塞,如果用符号CO(p)表示路径的代价,定义:

CO(p)=w1×Tp(si,sj)+w2×C(15)

其中w1,w2分别为时延和拥塞的权值,且w1+w2=1,w1和w2的具体值应根据实际网络 进行适当的调整。

三.队列感知的端到端QoS路径优化算法

3.1路径优化

当新的数据包到达网络,进行端到端的传输时,控制器周期性(每隔N个数据包)的 估算端到端所有备选路径的花费,存在多条备选路径时,选择一条路径代价最小的路径作 为最佳的传输路径,即选择端到端间CO(p)值最小的路径为最佳传输路径。则最佳传输路径 popt(si,sj)可表示为:

popt(si,sj)=argminpP(Co(p))---(16)

其中,popt(si,sj)表示si到sj的端到端的最佳传输路径,P表示si到sj的所有备选路 径的集合,p表示si到sj的一条备选路径。

3.2求解算法

首先将所有端到端的备选路径,放入解空间建立一颗解空间树,则在备选路径中 找最优路径问题转化为在解空间树中找到一个最优解的问题。图5为节点s1到s6的的备选路 径建立的解空间树,欲求从源节点s1到目标节点s6之间的最佳路径,即在此解空间树中找到 最优解。

在简单的网络中,可采用全搜索的办法在端到端QoS保障的备选路径中找最优路 径,但是在庞大的网络中时,为了减小算法搜索的复杂度,我们采用分值限定法进行搜索, 提高搜索效率。

分支限定法基本思想是采用的是广度优先的方式搜索解空间树,首先将空间树中 的根节点即源节点放在活节点表(活节点表在数据结构中可以用队列或栈来存储),取出活 节点表的第一个节点,作为扩展节点(每一个活节点只有一次机会成为扩展节点),将扩展 节点的导致不可行解或导致非最优解的子节点舍弃,其余子节点被加入活节点表中。然后, 从活节点表中取下一节点成为当前扩展节点,并重复上述节点扩展过程,直到活节点表为 空时为止。

上述算法思想中,将扩展节点导致非最优解的子节点舍弃,可以提高算法的效率, 缩小搜索范围。为了减掉不必要的搜索的分枝。我们提出端到端QoS保障机制的剪枝策略, 对排队时延和链路时延分别设定一个门限值,当到达子节点的排队时延或链路时延超过门 限值时,就进行剪枝,舍弃此子节点,因为此子节点不可可能成为最优解的分枝。将未超过 门限值的剩余子节点加入到活节点表中。

基于上述剪枝策略的分支限界算法具体步骤如下:

(1)将解空间树的根节点(源节点)加入活节点表。

(2)取活节点表第一个值作为当前扩展节点。

(3)较扩展节点到其所有子节点的链路时延和排队时延,当链路时延或排队时延 超过一定门限值时,就将此子节点舍弃。

(4)否则的话,将链路时延和排队时延都未超过门限值的子节点加入活节点表中。

(5)重复(2),(3),(4)步骤,直到活节点表为空。

(6)通过以上步骤,得到多条端到端的的可选路径,然后根据公式 选出一条耗费最小的路径,作为最佳传输路径。

控制器通过执行以上算法,最终求解一条最佳传输路径,并以流表的方式配置QoS 策略,即将流表下发给交换机,告诉每个节点其下一跳的转发路径(包括出端口和队列号), 使数据流得到最高效率的转发。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号