CN105490962B - 一种基于OpenFlow网络的QoS管理方法 - Google Patents
一种基于OpenFlow网络的QoS管理方法 Download PDFInfo
- Publication number
- CN105490962B CN105490962B CN201510884120.7A CN201510884120A CN105490962B CN 105490962 B CN105490962 B CN 105490962B CN 201510884120 A CN201510884120 A CN 201510884120A CN 105490962 B CN105490962 B CN 105490962B
- Authority
- CN
- China
- Prior art keywords
- data
- queue
- network
- queues
- stream
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/125—Shortest path evaluation based on throughput or bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/23—Bit dropping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6295—Queue scheduling characterised by scheduling criteria using multiple queues, one for each individual QoS, connection, flow or priority
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明属于OpenFlow网络管理领域,具体涉及一种基于OpenFlow网络的QoS管理方法。本发明包括:在数据层上进行数据分类;在数据层上进行PQ队列调度与DRR队列调度相结合的队列调度;在数据层上进行队列管理;在控制层上根据数据流的类型和网络当前状况进行首次路由;在控制层上进行路由迁移。本发明通过业务的类别、链路利用率、流的速度,为链路赋予权值,完成路由算法的改进;利用软件定义网络集中控制的特性,提出了一种路由迁移算法,并对路由迁移的时机选择做了优化。
Description
技术领域
本发明属于OpenFlow网络管理领域,具体涉及一种基于OpenFlow网络的QoS管理方法。
背景技术
2009年,斯坦福大学提出了软件定义网络(Software Defined Network,SDN),SDN将网络的数据层与控制层分离,为解决当前网络的QoS管理问题提供了新的方法,本发明以软件定义网络为基础进行QoS管理方法研究。OpenFlow网络诞生于斯坦福大学。最初引进OpenFlow网络的目的是为了方便的运行一些新的实验性的网络协议,其核心思想是将网络节点的控制平面与数据平面分离,在传统的网络中路由器既做转发操作,又做路由决策工作,而在OpenFlow网络中,OpenFlow交换机按照流表对数据进行转发,而OpenFlow控制器负责流表的产生,可以说传统的网络做路由决策等方法时是分布式的,而OpenFlow网络则是集中式的。在传统网络中要增加新的协议则需要对网络的核心路由器进行硬件升级,而在OpenFlow网络中只需对软件进行修改即可。OpenFlow网络有助于新的网络协议的研究因为研究人员只需编写软件就可以直接测试新协议的性能,若OpenFlow网络能够普及也会使网络通信的基础设施费用大幅下降,因为以前网络要想升级需要更换硬件,而OpenFlow网络升级只需要更新软件,不仅可以降低硬件设备的更换速度,还会引入新的软件公司参与竞争进一步降低价格。
发明内容
本发明的目的在于提供一种基于OpenFlow网络的QoS管理方法。
本发明的目的是这样实现的:
(1)在数据层上进行数据分类:区分服务模型将IP包头中的8位服务类型字段重新定义为区分服务字段DS,区分不同业务,表示不同的优先级;EF代表加速转发;AF代表保证转发;BE代表尽力而为;
(2)在数据层上进行PQ队列调度与DRR队列调度相结合的队列调度:
用双层队列进行调度,第一层队列为PQ队列,这个队列里分两个优先级,把EF流定为高优先级,其余流定为低优先级,当EF流发送完后,发送其余的流,其余的流发送采用DRR队列调度算法;当正在发送非EF数据包时,EF数据包到来,则发送完当前数据包后对DRR运行状态保存,然后开始发送EF数据包,直至EF队列为空,然后接着运行DRR调度算法;
EF类业务被设为高优先级,EF类业务主要是指VOIP业务,以及网络协议控制报文;
(3)在数据层上进行队列管理:
采用WRED算法来进行队列管理,在交换机的每个出端口,汇集6个等待发送的队列,分别是EF数据队列,AF1数据队列,AF2数据队列,AF3数据队列,AF4数据队列,BE数据队列,为这6个队列分别设置自己的丢包长度下限,丢包长度上限,基准丢包率,分别记为minql,maxql,ps;计算出每个队列的平均长度,记为avgql.对于EF队列其四个数据分别表示为EF_minql、EF_maxql、EF_ps和EF_avgl;
当一个数据包到来,先被分类,然后被送到对应的出端口,如果被分为EF类,则如果EF_avgl小于等于EF_minql则这个包可以进入EF队列排队,若EF_avgl大于EF_maxql则会对这个包进行丢弃处理;若EF_avgl在EF_minql与EF_maxql之间则其以一定概率被丢弃;
具体概率为EF_ps*(EF_avgl-EF_minql)/(EF_maxql-EF_minql);
平均队列长度计算方法为:
Avgql=last_avgql*(1-x)+x*ql;
其中last_avgql表示以前他的平均队列长度,ql表示当前队列长度,x=1/2n,n为可配置的参数取大于1的整数;
(4)在控制层上根据数据流的类型和网络当前状况进行首次路由:控制器每隔一段时间T就向OpenFlow交换机发送Read-state请求统计报文,获知交换机统计项里的流接收字节数,计算一个流的速度选用的是所有交换机上的信息,在每一段链路上一个流的速度用它的领接交换机进行计算,通过控制器求出当时AF1,AF2,AF3,AF4,BE,EF流的平均速度,在控制器计算出一个路由后同时把这个流所在类的平均速度加到这个流所经过的每条链路上,作为链路流量的修正值;
把第n次计算出的EF流的平均速度记为f(n),第n次统计时网络当前EF流的平均速度记为v(n),则迭代公式为:
f(n)=λf(n-1)+(1-λ)v(n),n>=2,且v(n)>0即当前网络存在EF流;
f(n)=f(n-1),n>=2,且v(n)=0即当前网络不存在EF流;
其中1>λ>0,f(1)为对EF流速度的估计值,每个EF流的速度用它接触到的第一个OpenFlow交换机上的统计信息求得;
(5)在控制层上进行路由迁移:
(5.1)求出网络中从一点到另一点的所有路径,并按路径长度递增存储;求出网络中从一点A到另一点B的所有路径;
(5.2)根据当前网络的所有流需求,求出其所有可能有的路径组合;
(5.3)计算出每种组合的网络链路利用率最大值,找出所有组合中最大链路利用率最小的,如果链路利用率最小的有多种方案,则在它们中选取总cost值最小的,如果满足上述条件的组合有多个,则在其中随机选取一个当做重路由方案。
本发明的有益效果在于:本发明通过业务的类别、链路利用率、流的速度,为链路赋予权值,完成路由算法的改进;利用软件定义网络集中控制的特性,提出了一种路由迁移算法,并对路由迁移的时机选择做了优化。
附图说明
图1第一次实验平均速度变化图;
图2第二次实验平均速度变化图;
图3第三次实验平均速度变化图;
图4前两次实验EF流速度变化图;
图5第三次实验EF流速度变化图;
图6数据包处理流程图。
具体实施方式
下面结合附图对本发明做进一步描述。
本发明从数据层和控制层对网络的QoS(服务质量)管理策略进行研究。QoS管理策略在数据层的研究主要包括流分类、队列管理和队列调度三部分。控制层管理策略的研究是本发明的重点,控制层QoS技术的研究主要有以下两点:(1)通过业务的类别、链路利用率、流的速度,为链路赋予权值,完成路由算法的改进。(2)利用软件定义网络集中控制的特性,提出了一种路由迁移算法,并对路由迁移的时机选择做了优化。本发明通过搭建软件定义网络实验平台对本发明中的QoS管理策略进行了模拟实验,分别证明了(1)本发明中的整套QoS管理策略是有效的,即数据层管理策略是有效的,控制层管理策略也是有效的(2)本发明中的路由策略较其余已有的软件定义网络上的路由策略有优势。
本发明中的QoS策略涉及数据层及控制层。首先在数据层上进行数据分类、队列调度,和队列管理。在控制层上根据数据流的类型和网络当前状况进行首次路由,及再次路由(路由迁移)。最终实现QoS管理的目的。OpenFlow网络的核心思想是将网络节点的控制平面与数据平面分离,在传统的网络中路由器既做转发操作,又做路由决策工作
在数据层上进行数据分类:区分服务模型将IP包头中的8位服务类型字段,重新定义为区分服务字段,用来区分不同业务,表示不同的优先级。
用双层队列进行调度,第一层队列为PQ队列,这个队列里分两个优先级,把EF流定为高优先级,其余流定为低优先级,只有当EF流发送完后,才开始发送其余的流。
当出队列达到指定长度时就开始对到来数据进行丢弃,丢弃的概率与当前队列的长度正相关,此算法能解决TCP的全局同步问题,但算法进行丢包时并没有考虑到不同业务的优先级,所以后来思科公司提出了加权随机早期检测算法,此算法考虑了不同业务的优先级,当网络发生拥塞,或快要发生拥塞时优先丢弃优先级低的数据包。
当选择最短路径作为路由时,最短路径会使网络整体链路利用率增加的最少,即其消耗的网络资源最少,从而使将来的流的需求更容易得到满足。假如选择一条链路代价总和最小的路作为路由则对这条流的服务质量最有保证。
在尝试进行路径迁移时,先找到网络中链路利用率最高的链路,找到经过这条链路的流量最大的k个流,依次进行尝试,尝试方法为再次运行路由算法,如果迁移后能降低网络的最高链路利用率则进行迁移,然后退出迁移算法,若不能则继续对其余的属于前k的流进行尝试,直到其中一个成功或所有都失败,算法结束。
本发明基于软件定义网络,从数据层和控制层对当前网络的QoS问题提供了一套管理方法。具体步骤包括:
(1)在数据层上进行数据分类:区分服务模型将IP包头中的8位服务类型字段重新定义为区分服务字段DS,用来区分不同业务,表示不同的优先级。虽然服务类型字段字段有8位,但目前只用到了前6位,从理论上说前六位不同则服务优先级不同,这个值越大对应的服务优先级也越高。国际互联网工程任务组已经定义了3种大的服务类别。分别是EF(加速转发)适用于对QoS要求特别高的业务,主要是低延迟,低丢包。AF(保证转发)适用于对QoS要求稍低的业务,AF又分为四个不同级别。BE(尽力而为)适用于对QoS没有要求的业务,不同的应用种类需要网络提供不同的服务质量。
(2)在数据层上进行队列调度:首先介绍两种常用队列调度算法。
WRR加权循环调度算法可以为不同类数据提供不同的优先级服务,但是WRR算法是基于数据包的,如果不同类数据的平均数据包大小差别较大的话则WRR算法会变得偏向于平均数据包大的队列。使得平均数据包大的业务占优势。
DRR差额循环队列调度算法,是对WRR调度算法的改进,将WRR中的数据包个数,变为字节数,为每个队列维护一个权值Q(Q为定值),和一个差额D。算法最初运行时需设置每个队列的Q值,并将每个队列的D值变为0。在每一轮调度中,一个队列需发送尽量多的的数据包,且发送的字节数少于等于Q+D,并保证按序发送,若发送了N个数据包,则需满足Q+D大于等于这N个数据包长度,且这N个数据包长度加上这个队列下一个要发送的数据包长度需大于Q+D,发送完毕后,若队列为空则把D值设置为0,不为空则D=Q+D-send。send为这个队列这一轮发送的字节数。DRR算法可以为不同业务,提供更为精准的优先级服务。
本发明选取一种PQ队列调度与DRR队列调度相结合的方法。
即用双层队列进行调度,第一层队列为PQ队列,这个队列里分两个优先级,把EF流定为高优先级,其余流定为低优先级,只有当EF流发送完后,才开始发送其余的流,其余的流发送采用DRR队列调度算法。当正在发送非EF数据包时,EF数据包到来,则发送完当前数据包后对DRR运行状态保存,然后开始发送EF数据包,直至EF队列为空,然后接着运行DRR调度算法(有点像中断的处理过程,但比中断效率高)。
之所以在这里选取PQ队列调度与DRR队列调度相结合的方法,主要是为了吸取PQ算法可以保证高优先级业务低时延的优点,和DRR算法较为精准的区分服务特性,但又同时摒弃了PQ算法的缺点,低优先级的业务可能会被饿死(长期得不到调度)。EF类业务被设为高优先级,EF类业务主要是指VOIP业务,以及网络协议控制报文(在本发明中归为EF类,实际上其优先级比EF类高),对于VOIP业务如果延迟能控制在50ms以内,则网络电话就能取得较好的通话质量,会使更多的人选用网络电话,这样就可以降低人们的通信费用。对于本发明所采用的双层队列调度算法,则能充分降低VOIP业务的延迟,可以说明的是这种低延迟,是单独使用DRR算法所达不到的,因为在DRR算法中不论给EF流配置多大权重,当他下次发送时都必须等待其余所有的数据流都发送一遍,但在这种双层的队列调度算法中当EF流到达时,他最多只等待发送一个数据包的时间,同时由于EF数据流本身流量并不大,而且只为EF数据流配置了高优先级,则不会出现低优先级业务饿死现象。
(3)在数据层上进行队列管理:列管理的初衷是,网络中的数据流量很大,超出了网络的能力时则必须对一部分数据进行丢弃,最原始的方法是当发送队列到达一定长度时再来的数据包就会直接被丢弃,但我们知道网络中很多数据是用的是TCP传输,如果当队列满时对所有来的数据都丢弃的话,则很有可能会丢弃一些不同的TCP连接上的数据,会使这些TCP连接同时调整自己的发送速度,发送窗口减半或变为1,同时启动拥塞避免算法或慢开始算法,造成TCP的全局同步,则网络流量会迅速下降,这样网络得不到充分利用,而后它们又会在某个时刻同时达到速度的高峰,则又会出现尾丢弃,如此反复循环,最终导致网络资源得不到充分利用。
后来就出现了RED随机早期检测算法,当出队列达到一定长度时就开始以一定概率对到来数据进行丢弃,丢弃的概率与当前队列的长度正相关,此算法能解决TCP的全局同步问题,但RED算法进行丢包时并没有考虑到不同业务的优先级,所以后来思科公司提出了WRED加权随机早期检测算法,此算法考虑了不同业务的优先级,当网络发生拥塞,或快要发生拥塞时优先丢弃优先级低的数据包。
本发明采用WRED算法来进行队列管理,下面对本发明采用的WRED算法进行讲解。在交换机的每个出端口,会汇集6个等待发送的队列,分别是EF数据队列,AF1数据队列,AF2数据队列,AF3数据队列,AF4数据队列,BE数据队列,为这6个队列分别设置自己的丢包长度下限,丢包长度上限,基准丢包率,分别记为minql,maxql,ps。还需要计算出每个队列的平均长度,记为avgql.对于EF队列其四个数据分别表示为EF_minql、EF_maxql、EF_ps和EF_avgl,其余表示方法类似。
当一个数据包到来,会先被分类,然后被送到对应的出端口,假设它被分为EF类,则如果EF_avgl小于等于EF_minql则这个包可以进入EF队列排队,若EF_avgl大于EF_maxql则会对这个包进行丢弃处理。若EF_avgl在EF_minql与EF_maxql之间则其以一定概率被丢弃。
具体概率为EF_ps*(EF_avgl-EF_minql)/(EF_maxql-EF_minql)。
对于其余类流处理方法类似,只需把上述中的EF换为对应值即可。这里之所以采用平均队列长度,而不是当前队列长度主要是为了应对突发的流量,比如一个数据流上一秒到来了很多数据,而下一秒数据很少,则采用当前队列长度很有可能会对它到来的第一批数据进行不正确丢弃,而采用平均队列长度则可以避免这一现象。
平均队列长度计算方法为:
Avgql=last_avgql*(1-x)+x*ql。
其中last_avgql表示以前他的平均队列长度,ql表示当前队列长度,x=1/2n,n为可配置的参数取大于1的整数,n越大则当前队列长度的权重越小,平均队列长度变化越平滑。
(4)在控制层上根据数据流的类型和网络当前状况进行首次路由:控制器每隔一段时间就向OpenFlow交换机发送Read-state请求统计报文,获知交换机统计项里的流接收字节数,但计算一个流的速度选用的是所有交换机上的信息,而不仅仅是这个流进入OpenFlow网络的第一个交换机上的信息,在每一段链路上一个流的速度用它的领接交换机进行计算,可以通过控制器求出当时AF1,AF2,AF3,AF4,BE,EF流的平均速度,在控制器计算出一个路由后同时把这个流所在类的平均速度加到这个流所经过的每条链路上,作为链路流量的修正值。流平均速度的计算在下文讲解。
至于Dstream的计算,则可以采用这类流的平均速度来对当前流的速度进行估计。在这里之所以用平均速度而不是实际速度对链路流量进行修正,是由于在计算路由时这条流刚到达OpenFlow网络,是不知道它的实际速度的(如果做协议扩展则可以获得流的速度,但需要发送方配合,但实际情况是大多数发送方是不配合的,所以只能用平均速度估计)。
链路流量l(a)的计算与Dstream的计算都涉及到流平均速度的计算,下面以EF流为例对流平均速度的计算进行说明。
把第n次计算出的EF流的平均速度记为f(n),第n次统计时网络当前EF流的平均速度记为v(n),则迭代公式为:
f(n)=λf(n-1)+(1-λ)v(n)(n>=2,且v(n)>0即当前网络存在EF流)(1)
f(n)=f(n-1)(n>=2,且v(n)=0即当前网络不存在EF流)(2)
其中1>λ>0,f(1)为事先设置好的对EF流速度的估计值,每个EF流的速度用它接触到的第一个OpenFlow交换机上的统计信息求得,其余流的平均速度计算方法类似。
(5)在控制层上进行路由迁移:在流量工程里很多路由算法都是以使网络的最大链路利用率最低作为其优化目标,但是传统网络里由于其分布式特性导致这个目标无法实现,但这个目标在OpenFlow网络里是可以实现的。
为了使网络的最大链路利用率最低,可以枚举所有路由方法的组合,从中选择使网络最大链路利用率最低的,若有多个最低的组合方法,则在其中选择消耗网络总资源最少的方法(cost最小),为了实现这个思想提出以下步骤。
第一步,求出网络中从一点到另一点的所有路径(不含环),并按路径长度递增存储。求出网络中从一点(记为点A)到另一点(记为点B)的所有路径:一种方法是把整个网络看做一个图,其中交换机(在传统网络中是路由器,在OpenFlow网络中是交换机)是图的顶点,实际链路为图的边。从A点进行深度优先遍历,遍历的过程中需要保证当前路径里不含重复点,每当遍历到点B,就找到了一条从A到B的不含环路径,当遍历结束便可求出A到B的所有路径。
第二步,根据当前网络的所有流需求,求出其所有可能有的路径组合。当前网络有两个流请求,流1从点A进入网络其目标节点为点B,流2从点C进入网络其目标节点为点D,其中A到B有5条路径,C到D有8条路径,则所有的路由组合一共为40(5*8)种。
第三步,计算出每种组合的网络链路利用率最大值,找出所有组合中最大链路利用率最小的,如果链路利用率最小的有多种方案,则在它们中选取总cost值最小的,如果满足上述条件的组合有多个,则在其中随机选取一个当做重路由方案。
按组合的方案进行路由,并假定丢包率为0,且链路带宽无上限,计算出每条链路上的理论流量(可能超过链路带宽),后由理论流量除以链路容量,为这条链路的利用率,在所有链路的利用率中选取最大值就为这种组合的链路利用率最大值。
本发明的目的是为了证明本发明中提出的QoS管理方法,相对于其它的QoS管理方法具有优势,但由于QoS管理中的数据层算法有很多参数:队列管理算法有很多参数,队列调度算法也有很多参数。而大多数文章的作者并未在其文章中说明其参数应该如何选取,因此如果比较整套QoS解决方案则非常困难。本章会做两个实验,第一个实验的目的是证明整个QoS方法的有效性,第二个实验的目的是证明本发明中的路由算法较其余的一些OpenFlow网络下的路由算法有优势。
1、有效性验证实验需要进行三次实验,第一次实验没有采用QoS管理方法,第二次实验只采用本发明中的数据层处理方案,第三次实验采用本发明中的整套QoS解决方案。
第一次实验为Open vSwitch交换机配置FIFO队列调度方法,对所有到来的数据包采用先来先服务,当网络拥塞时采用尾丢弃方法,为NOX控制器配置最短路径算法,让其为所有数据包选择最短路径。
第二次实验为EF数据流配置PQ优先队列,对其余流配置DRR队列,即用PQ与DRR双层队列调度方法其中AF4的Q值设置为5000,AF3的Q值设置为4000,AF2的Q值设置为3000,AF1的Q值设置为2000,BE的Q值设置为1000(Q值为DRR中的参数),队列管理采用WRED加权随机早期检测算法。为NOX控制器配置最短路径算法,让其为所有数据包选择最短路径。
第三次实验为EF数据流配置PQ优先队列,对其余流配置DRR队列,即用PQ与DRR双层队列调度方法其中AF4的Q值设置为5000,AF3的Q值设置为4000,AF2的Q值设置为3000,AF1的Q值设置为2000,BE的Q值设置为1000(Q值为DRR中的参数),队列管理采用WRED加权随机早期检测算法。为NOX控制器配置本发明中的SIWLULL路由算法以及EDVRA路由迁移算法。
三次实验发包流程为:(实验一共运行45秒)
(1)第0秒模拟接收端对模拟发送端进行FTP下载请求。(FTP服务器设置的最大下载速度为0.5MB/s)
(2)第8秒模拟发送端发送1个速度约为1MB/s每秒的udp数据流。
(3)第17秒模拟发送端发送1个速度约为1MB/s每秒的udp数据流。
(4)第28秒模拟发送端开始向模拟接收端发送码率为3500Kbps(大约0.427M/s)的高清实时视频流传输层协议为udp。
(5)第40秒模拟发送端开始向模拟接受端发送码率为90Kbs(大约0.011M/s)的高音质实时音频流,传输层协议为udp。
实验结果:采用最短路径的路由结果即实验1,2的路由结果如表1所示:
表1 最短路径算法路由结果
采用本发明中的路由算法的路由结果,即实验3,4的路由结果如表2所示:
表2 本发明路由算法结果
在图1,4,5中里红色的点表示FTP流的速度,绿色的星号点表示第一个BE流的速度,黑色的加号点表示实时视频的速度,蓝色的圆点表示第二个BE流的速度。
在三个图里红色的点表示FTP流的速度,绿色的星号点表示第一个BE流的速度,黑色的加号点表示实时视频的速度,蓝色的圆点表示第二个BE流的速度。
在实验一与实验二中由于第二个BE流的速度与第一个BE流的速度非常接近,如果都在一个图里画出则会使数据叠加在一起导致图看不清。以上所有的点表示的不是那一时刻的瞬时速度而是那一秒的平均速度,比如表示0到1秒的平均速度的点的横坐标为0.5。
由于EF音频数据流的速度和以上这些不在一个数量级故单独画出。图4和图5表示EF音频流的速度,其中第一次实验和第二次实验的的数据放在图4中,第三次的实验数据放在图5中,由于第二次实验和第三次两次实验测得的EF数据流速度相差很小如果将这两次的结果放在同一张图中则会导致两种数据叠加在一起导致无法辨别,因此将其放在两个图中,其中图4中的黑色加号表示第一次实验中的EF数据流速度,图4中的绿色星号表示第二次实验中的EF数据流速度,图5中的红色点表示第三次实验中的EF数据流速度。
第二次实验数据与第一次实验数据对比发现,加入了数据层控制后能有效控制BE流的速度降低其对网络的影响,并能为视频音频这种高优先级数据提供较好的服务,实验二与实验三对比发现加入了控制层后,网络的流量分布可以变得更均匀,从而能提升整个网络的吞吐量,能进一步提升网络对高优先级业务的服务。通过实验证明这个QoS管理系统是有效的。
2、路由性能测试中,路由算法(含迁移部分)将会和其余的三种OpenFlow网络下的路由算法进行对比,这三种方法分别是13年陈志钢在其QoS系统中采用的WLULL方法,以及13年Karl M,Gruen J,Herfet T等人提出的KGH路由方法以及最常用的最短路径算法。
WLULL算法中有一个参数λ,经过实验发现λ值越小时,其性能越优,但当λ小到一定程度时其值就开始对实验结果不造成影响(本部分的拓扑非常容易导致最短路径负载过重,故λ越小越好)故为了使WLULL算法发挥其最大潜力将其λ值取为0.01(在本实验中其能取得这个算法的最优结果)。
由于这个实验是比较路由算法,故在数据层并没有配置本发明中的队列管理与队列调度算法,故本发明中参与比较的算法为IWLULL初次路由算法与EDVRA再次路由算法。
IWLULL中δ选择0.5,β选择2.5。EDVRA路径迁移中的参数t选择15s。
由于KGH算法与WLULL算法中只有两类数据包,故为方便起见,实验中一共发送两类数据包,分别是视频音频数据包(AF4流或EF流)和普通业务数据包(AF1流或BE流),通过让其分别使用不同范围的端口,来让控制器区分其所属的类型。
由于KGH算法只针对多媒体数据进行路由,并没有说明对非多媒体数据该如何进行路由,故为了与其对比,与其比较两次,第一次两种数据包都发送,将KGH算法进行扩展,为非多媒体数据选择最短路径,为多媒体数据按照原本的KGH算法选择路径。第二次实验,网络中只发送多媒体数据包。
实验结果:第一次两种数据包都发送的实验结果如表3所示:
表3 两种数据包都有实验结果
只发送视频音频数据流实验结果如表4所示:
表4 只发送EF数据流实验结果
为了更好的区分四种算法的性能,实验过程中流量较大,且很多时候网络无法满足所有流的流量需求,故四种算法在实验中丢包率都较高。
经过实验对比发现本发明中的路由算法在丢包率,以及充分利用网络资源方面较其余三种算法有优势。
下面对实验结果进行分析,经过实验观察发现最短路径算法在本发明的拓扑结构中非常容易导致最短路径过载,造成在本实验中其性能非常差。WLULL算法对链路利用率的代价估计是线性的,故也容易发生链路过载;而KGH算法过载前与过载后链路权重只是变为2倍,故WLULL算法和KGH算法并未对链路权重做出合理地估计,此外它们路由计算好后就不再改变没有迁移模块,致使未充分发挥出OpenFlow网络集中控制的优势。
Claims (1)
1.一种基于OpenFlow网络的QoS管理方法,其特征在于,包括如下步骤:
(1)在数据层上进行数据分类:区分服务模型将IP包头中的8位服务类型字段重新定义为区分服务字段DS,区分不同业务,表示不同的优先级;EF代表加速转发;AF代表保证转发;BE代表尽力而为;
(2)在数据层上进行PQ队列调度与DRR队列调度相结合的队列调度:
用双层队列进行调度,第一层队列为PQ队列,这个队列里分两个优先级,把EF流定为高优先级,其余流定为低优先级,当EF流发送完后,发送其余的流,其余的流发送采用DRR队列调度算法;当正在发送非EF数据包时,EF数据包到来,则发送完当前数据包后对DRR运行状态保存,然后开始发送EF数据包,直至EF队列为空,然后接着运行DRR调度算法;
EF类业务被设为高优先级,EF类业务是指VOIP业务,以及网络协议控制报文;
(3)在数据层上进行队列管理:
采用WRED算法来进行队列管理,在交换机的每个出端口,汇集6个等待发送的队列,分别是EF数据队列,AF1数据队列,AF2数据队列,AF3数据队列,AF4数据队列,BE数据队列,为这6个队列分别设置自己的丢包长度下限,丢包长度上限,基准丢包率,分别记为minql,maxql,ps;计算出每个队列的平均长度,记为avgql对于EF队列其四个数据分别表示为EF_minql、EF_maxql、EF_ps和EF_avgl;
当一个数据包到来,先被分类,然后被送到对应的出端口,如果被分为EF类,则如果EF_avgl小于等于EF_minql则这个包可以进入EF队列排队,若EF_avgl大于EF_maxql则会对这个包进行丢弃处理;若EF_avgl在EF_minql与EF_maxql之间则其以一定概率被丢弃;
具体概率为EF_ps*(EF_avgl-EF_minql)/(EF_maxql-EF_minql);
平均队列长度计算方法为:
avgql=last_avgql*(1-x)+x*ql;
其中last_avgql表示以前他的平均队列长度,ql表示当前队列长度,x=1/2n,n为可配置的参数取大于1的整数;
(4)在控制层上根据数据流的类型和网络当前状况进行首次路由:控制器每隔一段时间T就向OpenFlow交换机发送Read-state请求统计报文,获知交换机统计项里的流接收字节数,计算一个流的速度选用的是所有交换机上的信息,在每一段链路上一个流的速度用它的领接交换机进行计算,通过控制器求出当时AF1,AF2,AF3,AF4,BE,EF流的平均速度,在控制器计算出一个路由后同时把这个流所在类的平均速度加到这个流所经过的每条链路上,作为链路流量的修正值;
把第n次计算出的EF流的平均速度记为f(n),第n次统计时网络当前EF流的平均速度记为v(n),则迭代公式为:
f(n)=λf(n-1)+(1-λ)v(n),n>=2,且v(n)>0即当前网络存在EF流;
f(n)=f(n-1),n>=2,且v(n)=0即当前网络不存在EF流;
其中1>λ>0,f(1)为对EF流速度的估计值,每个EF流的速度用它接触到的第一个OpenFlow交换机上的统计信息求得;
(5)在控制层上进行路由迁移:
(5.1)求出网络中从一点到另一点的所有路径,并按路径长度递增存储;求出网络中从一点A到另一点B的所有路径;
(5.2)根据当前网络的所有流需求,求出其所有可能有的路径组合;
(5.3)计算出每种组合的网络链路利用率最大值,找出所有组合中最大链路利用率最小的,如果链路利用率最小的有多种方案,则在它们中选取总cost值最小的,如果满足上述条件的组合有多个,则在其中随机选取一个当做重路由方案。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510884120.7A CN105490962B (zh) | 2015-12-04 | 2015-12-04 | 一种基于OpenFlow网络的QoS管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510884120.7A CN105490962B (zh) | 2015-12-04 | 2015-12-04 | 一种基于OpenFlow网络的QoS管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105490962A CN105490962A (zh) | 2016-04-13 |
CN105490962B true CN105490962B (zh) | 2018-10-26 |
Family
ID=55677687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510884120.7A Active CN105490962B (zh) | 2015-12-04 | 2015-12-04 | 一种基于OpenFlow网络的QoS管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105490962B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107547379B (zh) | 2016-06-23 | 2020-08-25 | 华为技术有限公司 | 软件定义网络中生成路由控制动作的方法和相关设备 |
CN108234320B (zh) * | 2016-12-14 | 2021-07-09 | 华为技术有限公司 | 报文传输方法及交换机 |
CN106685849B (zh) * | 2016-12-22 | 2020-11-27 | 台州市吉吉知识产权运营有限公司 | 基于sdn的wred报文丢弃方法及系统 |
CN109768931B (zh) * | 2017-11-09 | 2020-10-13 | 中国移动通信集团公司 | 处理数据包的方法、交换机、装置及计算机可读存储介质 |
CN107896192B (zh) * | 2017-11-20 | 2020-09-25 | 电子科技大学 | 一种SDN网络中区分业务优先级的QoS控制方法 |
CN108600118B (zh) * | 2018-03-30 | 2022-09-09 | 新华三技术有限公司 | 报文处理方法、装置以及电子设备 |
CN112866043B (zh) * | 2019-11-12 | 2024-06-18 | 中兴通讯股份有限公司 | 网络质量检测方法、装置、服务器和计算机可读介质 |
CN111459690B (zh) * | 2020-04-10 | 2023-09-08 | Oppo广东移动通信有限公司 | 数据收发控制方法、装置、移动终端及存储介质 |
CN116050779B (zh) * | 2023-01-16 | 2024-01-30 | 农业农村部南京农业机械化研究所 | 基于列维模拟退火算法的植保无人机动态调度方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103236944A (zh) * | 2013-04-08 | 2013-08-07 | 北京天地互连信息技术有限公司 | 基于OpenFlow网络的QoS集中管理系统 |
CN103685058A (zh) * | 2012-09-11 | 2014-03-26 | 北京信息科技大学 | 控制流数据的服务质量的方法和OpenFlow控制器 |
CN103888379A (zh) * | 2013-12-03 | 2014-06-25 | 江苏达科信息科技有限公司 | 一种基于可信调度的改进队列调度算法 |
CN104468352A (zh) * | 2014-12-26 | 2015-03-25 | 深圳市新格林耐特通信技术有限公司 | 基于sdn的特殊流量qos保障方法 |
CN104580066A (zh) * | 2013-10-11 | 2015-04-29 | 镇江和邦通信技术有限公司 | 基于OpenFlow网络的企业级多媒体通信的QoS实现方法 |
CN104994033A (zh) * | 2015-05-13 | 2015-10-21 | 南京航空航天大学 | 一种资源动态管理的SDN网络QoS保障方法 |
US9553770B2 (en) * | 2013-06-24 | 2017-01-24 | Electronics & Telecommunications Research Institute | Method for controlling software defined network and apparatus for the same |
-
2015
- 2015-12-04 CN CN201510884120.7A patent/CN105490962B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685058A (zh) * | 2012-09-11 | 2014-03-26 | 北京信息科技大学 | 控制流数据的服务质量的方法和OpenFlow控制器 |
CN103236944A (zh) * | 2013-04-08 | 2013-08-07 | 北京天地互连信息技术有限公司 | 基于OpenFlow网络的QoS集中管理系统 |
US9553770B2 (en) * | 2013-06-24 | 2017-01-24 | Electronics & Telecommunications Research Institute | Method for controlling software defined network and apparatus for the same |
CN104580066A (zh) * | 2013-10-11 | 2015-04-29 | 镇江和邦通信技术有限公司 | 基于OpenFlow网络的企业级多媒体通信的QoS实现方法 |
CN103888379A (zh) * | 2013-12-03 | 2014-06-25 | 江苏达科信息科技有限公司 | 一种基于可信调度的改进队列调度算法 |
CN104468352A (zh) * | 2014-12-26 | 2015-03-25 | 深圳市新格林耐特通信技术有限公司 | 基于sdn的特殊流量qos保障方法 |
CN104994033A (zh) * | 2015-05-13 | 2015-10-21 | 南京航空航天大学 | 一种资源动态管理的SDN网络QoS保障方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105490962A (zh) | 2016-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105490962B (zh) | 一种基于OpenFlow网络的QoS管理方法 | |
CN104954206B (zh) | 一种多路径并行传输系统的乱序分析方法 | |
CN101640639B (zh) | 公平加权的网络拥塞避免 | |
US20080080382A1 (en) | Refined Assured Forwarding Framework for Differentiated Services Architecture | |
Li et al. | Maximizing throughput for optical burst switching networks | |
CN105897575A (zh) | 一种sdn下基于多约束路径计算策略的路径计算方法 | |
CN104079501A (zh) | 一种基于多优先级的队列调度方法 | |
US20120027024A1 (en) | Zero-Setting Network Quality Service System | |
WO2013182122A1 (zh) | 一种多流业务并发传输控制方法及装置 | |
RU2010115366A (ru) | Планирование с учетом приоритетов и управление доступом в сети связи | |
CN101958847A (zh) | 一种分布式qos路由的选择方法 | |
Romanchuk et al. | Method for processing multiservice traffic in network node based on adaptive management of buffer resource | |
CN101964754A (zh) | 一种基于P2P业务识别的QoS路由方法 | |
CN107872403A (zh) | 一种实现层次化QoS的五级队列调度装置及方法 | |
CN104301933A (zh) | 一种无线自组网中用于计算带宽和分配带宽的方法 | |
JP6569374B2 (ja) | スイッチ装置及びスイッチ装置の制御方法 | |
CN102647760A (zh) | 一种基于多业务网络的业务资源高效管理方法 | |
CN104301254A (zh) | 一种用于数据中心网络的数据包调度方法 | |
CN103858474A (zh) | 针对传输网络的增强性能的基于服务的配置 | |
CN106330710B (zh) | 数据流调度方法及装置 | |
CN105072046B (zh) | 一种基于令牌控制节点并发数据转发的延迟容忍网络拥塞避免方法 | |
TW200303670A (en) | Inverse multiplexing of managed traffic flows over a multi-star network | |
CN108040018B (zh) | 一种网络功能虚拟化下的细粒度网络流调度方法及系统 | |
Eshete et al. | Approximate fairness through limited flow list | |
Wang et al. | Implementation of multipath network virtualization scheme with SDN and NFV |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |