基于SDN的QoS时延控制研究综述
2018-05-08马海燕颜金尧
马海燕,颜金尧
(中国传媒大学,北京100024)
1 背景
随着云计算、数据中心、融合媒体的不断发展,网络将承载越来越多样化且个性化的服务,一方面,不同类型的并发多媒体应用势必对底层数据网络造成沉重的压力,与此同时,各种应用对网络服务质量的需求却与日俱增,并表现出显著的差异性。如何在网络承载能力内,为不同层次的用户提供灵活可靠的网络服务成了QoS领域目前亟待解决的问题。
自网络多媒体出现以来,IP网络就面临QoS的问题,为了弥补因特网尽力而为的缺陷,IETF组织在尽力而为模型(Best-Effort service Model)的基础上,先后提出了综合服务(Integrated service)和区分服务(Differentiated service)两个经典的模型。然而,Inter-Serv模型可扩展性很差,难以在Internet核心网络实施。Diff-Serv模型虽然实现简单,扩展性较好,但控制粒度过大,不能满足精细控制的需求。由于二者各有优缺点,无论单独采用这些机制中的哪一种,都不能提供QoS的全面解决方案,即便是后续将二者结合的研究也未取得实质性的推动性进展。截至目前,QoS仍然是因特网中的一个开放课题。
SDN(Software Defined Network)突破了传统的网络的扁平化架构,以一种中心化的网络架构为解决QoS问题提供了新的可能。网络时延是网络QoS的重要指标之一,由于组成复杂,存在控制难度大的特点,随着对时延有约束的网络应用量的不断增长,研究与网络时延相关的QoS问题对未来网络而言意义尤为重大。
2 SDN对网络QoS研究的意义
面对新形势下的更加复杂的网络QoS需求,传统网络的架构模式阻碍了QoS的研究进程,具体表现在网络状态参数实时获取和动态路由两方面。网络QoS的解决依赖网络模式的创新,SDN(Software Defined Network)的出现,为解决QoS问题提供了新思路。OpenFlow作为第一个SDN专用标准接口,在多个厂商网络设备之间提供高性能和更细颗粒度的流量控制,大量成功部署的OpenFlow网络应用有力证明了其在智能网络管理方面的优势,其中最有代表性的谷歌B4网络,通过基于OpenFlow的中心化流量工程使得数据中心网络干线利用率大大提升。
图1 SDN控制转发分离的架构
首先,SDN中心化的控制器能够掌控网络全局信息,有助于网络信息快速、一致收敛及更新,提升估计模型的实用性。集中、智能控制使得全局优化决策成为可能,在很大程度上简化了网络管理,这一特性对于平衡网络性能与复杂度之间的关系意义重大。其次,SDN控制转发分离的架构(图1),通过开放API及软件定义实现整个网络的集中管理,可以在很大程度上提升网络的智能性和灵活性,利用多字段流表支持多策略共存及网络动态重配。
3 OpenFlow网络对QoS的支持
作为SDN的第一个标准接口,OpenFlow成为实际研究中所广泛的接口协议,该协议为用户提供了相较传统网络,更为灵活的、可伸缩的、多粒度的QoS控制方式,接下来我们总结其对QoS的支持情况。
在队列创建和智能管理方面,从OpenFlow1.0版本开始提供了队列Queue及入队操作Enqueue,交换机的每个端口可以创建多个队列,控制器可以查询交换机中的队列信息。OpenFlow 1.2及更高版本中,控制器可以通过of-config协议以及OVSDB(Open vSwitch Database Management Protocol)协议配置管理队列信息。虽然OVSDB已经在OVS交换机上实现,没有可用的控制器提供一个标准化的管理队列。OpenFlow 1.3版本提供了计量器Meter用于控制关联流表的数据包的传送速率,但控制方式目前还相对简单。流表头域包括可读写的VLAN优先级字段和IP TOS字段,1.1版本之后支持MPLS标记,能够很好地支持QoS流量分级。OpenFlow中的各种级别的统计信息(counters)支持控制器以不同粒度(流级,端口级,表级,队列级,计量器级)获取网络状态。
总的来说,OpenFlow将从以下几方面支撑QoS相关研究:通过OpenFlow的队列支持,提供基于队列的流量管理和时延控制;结合流表统计字段的分析处理,从控制端集中收集各节点状态、拓扑信息及队列状态信息,降低用于QoS路由的状态交换及维护开销,缩减了状态同步周期;利用流表及表头TOS等相关字段,实现多粒度的流量分级;由于交换机会将新流转向控制器,有助于在接入控制前预知流量分布变化;控制器端对节点队列状态及流量信息进行整合,为传输路径上的拥塞点定位提供全局视角,降低QoS路由及拥塞度优化接入控制算法复杂度;最后,借助SDN依据流表转发的特性,实施流量动态服务质量重配。
4 SDN中的QoS时延控制研究
近年来,诸如交互视频、在线游戏、在线外科手术等时延敏感应用,对端到端时延要求在量级及约束级别方面各不相同。多媒体数据巨大的数据量与有限带宽之间的冲突依旧存在,为了优化有限资源的利用率,需要引入动态QoS控制技术来适配网络流量的变化。综上,QoS时延控制体系应具备从粗到细的多粒度控制能力,以及轻量级的动态调整能力。SDN有助于解决上面提到的QoS控制体系方面的问题。但由于网络时延由传播时延、处理时延和队列时延共同决定,其中队列时延动态性强,在估计、测量及控制方面存在较大难度。以下对SDN中的QoS时延控制研究进行梳理,归纳总结现有研究已取得的成果。
4.1 时延获取
网络时延控制部分的测量任务主要包括传播时延、队列时延、端到端时延以及相关的带宽、带宽利用率等,相关工作主要依托SDN控制器对交换机的控制能力,基于OpenFlow网络实现准确度高、可行性强的测量方案。
4.1.1 传播时延
传播时延是用来估计路径时延的参数之一,表示没有队列时延的物理路径时延。网络中的流量负载低或没有排队时,它只需要测量一次。SDN控制器具有网络拓扑和链路状态管理模块包括DeviceManager,、LinkDiscovery、topologymanager,ofswitchmanager等模块,负责建设整个网络的拓扑结构和动态网络信息获取和处理。网络初始化时,在轻负载状况下,利用控制器发包测量任意两个节点之间的传播时延(图2)。详细的测量步骤如下:首先,控制器将一个包设置协议类型字段封装成任何标准协议值之外的值,然后将其发送到交换机S1。接着,依次将其转发到传输路径上的各个交换机S1…SM(假设传输路径共有M跳)。最后,测试包达到目的交换机SM后,被转发回控制器。在控制器端记录两个时间戳Tarrival,Tsent,分别代表测试包离开控制器及返回的时刻值。考虑到控制器与首、末交换机之间的单向时延属于测试引入的额外时延,要从两个时间戳的差值中减去这两部分得到实际的路径传播时延Tp,具体可以使用相同的方法获得控制器与两个交换机之间的往返时延RTTC-S1和RTTC-SM,折半后得到单向时延。路径的总传播延迟可以表示为(1)。
Tp=Tarrival-Tsent-0.5×(RTTC-S1+RTTC-SM)
(1)
图2 传播时延测量
4.1.2 队列时延
从理论上讲,队列时延也可以用上述方法测得,但考虑到队列时延动态改变的特性有别于静态传播时延,上述方法在实时性以及开销方面都有明显劣势,实际队列时延多采用队列长度测量和带宽估计两种方法获取。
OpenFlow中提供了丰富的计数器表格,用于获取有关网络性能的统计数据,端口带宽利用率、队列带宽利用率以及实时队列长度都可以通过这个方法获取。如图3所示,流计数器中的接收字节数指明了在流表存续期内所接收的字节数,队列计数器中的转发字节数表示在队列存续期内所转发的字节数,简单地,通过两个字段值的差值可以得到当前队列中留存的字节数,也即队列长度,但是两个字段位于不同的表中,需要解决请求过程中的同步问题,且由于队列变化时间尺度非常小,请求同步的精度直接影响了所获取队列长度的准确度。
图3 OpenFlow中与队列长度测量相关的计数器
另外,对于时延的分析更多关注其统计特性,测量结果需要进一步利用统计算法处理,得到具有有效评估作用的统计值,比如平均队列时延。在这种前提下,估计方法相较测量方法具有简单、有效的优势。传统队列研究中,大多假定队列到达为泊松过程,也即认为到达是不相关的。然而,以TCP为例的闭环到达可信传输过程是完全相关的,这一前提决定了队列到达和离开的等速率特性。文献[2]将队列平均时延作为建模目标,基于TCP流量控制模型,提出一个传输时延测量和队列时延估计模型,并将其扩展用于端到端路径时延估计。
4.1.3 端到端时延
在路径性能评估及整体方案验证时,往往更关注端到端时延,除了上述的传播时延和队列时延外,端到端时延还包括上层传输协议所引发的重传时延。很显然端到端时延的测量可以采用上面提到的传播时延测试方法,同时,考虑到简单性,也可以通过将PING获取的往返时延减半来获取单向端到端时延。
用于路由选择的端到端时延,与队列时延一样也具有极强的动态性,选路优劣依赖对其统计特性的分析,因此,相较简单的测量方法,通过路径时延建模来进行估计的方法更为可取。此类方法关注的重点在于,考虑整个路径上沿途各队列之间的相关性,具体每个队列对总体时延的贡献不仅取决于队列模型,同时也取决于实际的实时流量分布、队列缓存尺寸以及TCP拥塞控制算法。
4.2 QoS时延控制体系
基于SDN的QoS架构体系一般由4个核心模块构成,如图4所示:测量模块、QoS控制模块、接入控制模块和流表管理模块。通过测量方法获得网络状态信息,QoS模块根据网络状态的变化估计路径时延的变化,进行策略调整或选路,依据选路结果控制接入,并由流表管理模块下发控制转发逻辑至底层网络。控制器可以采用主动、被动或者混合模式创建或操作流表,基于流表的模式可以做到多策略动态重配。
图4 基于SDN的QoS架构体系
除此之外,该控制体系的优势在于多粒度特性,基于流表的多字段可以实现从单流到聚合流的不同粒度的控制。具体的QoS分类可以借助QoS标志字段实现,比如,MPLS头部的流量类别字段、IPV4的TOS字段、IPV6的Traffic Class字段、多媒体服务器的IP字段、传输流原目的端口号等,考虑到解析包需要时间代价所以优选底层字段。
4.3 队列时延控制算法
一种思路是引入传统研究中基于速率限制器或调度器,通过控制速率,调整队列优先级,以达到限制队列时延边界的目的。文献[3]提出了一种基于RCSP(速率控制的静态优先队列)[4]的带宽和时延保证方案,通过带宽和队列优先级的性能模型,并设计SSF(最短跨度优先)算法实现整个网络的队列优化。文献[5]利用速率控制器将时延约束转化为带宽(速率)约束,估计并分配流量的队列优先级确保时延约束。不难看出,在队列时延控制方面,需要部署专门的速率限制器,缺乏通用性,而且这种基于队列优先级的时延调控没有考虑网络流量闭环特性,以及队列之间的时间空间相关性,调控粒度过于粗大且缺乏预测性。
另一类算法基于拥塞控制避免队列时延。文献[6]每隔1s收集一次链路带宽信息,并设定链路拥塞属性,如果有拥塞事件发生(带宽利用率超过70%时,即视为拥塞),则触发拥塞事件,删除相关流表后重新选路。
4.4 包含队列时延的QoS路由
基于SDN的路由算法研究侧重利用SDN特性实现时延约束的动态路由[6][7]或多路由[8][13],具体路由算法方面多采用传统算法,文献[7]路由流程如下:包进入时如果未发现流表则转给控制器,控制器首先判断是否为QoS流,是QoS流则调用LARAC(Lagrangian Relaxation Based Aggregated Cost(LARAC)algorithm)算法计算QoS路由,同时计算最短路径路由。文献[13]HiQoS利用一个基于SDN的ECMP(等价的多路径路由)算法,在源和目的地之间构建多条路径,并利用队列机制确保带宽。
文献[9]对比SDN中不同带宽时延约束路由算法的选路性能,其中MDWCRA(最大时延权重容量路由算法)表现最佳,它根据历史网络中源目的对流量关系引入干扰系数(interference index),接入选路时,利用该系数调节占用率较高的瓶颈链路的分配可能性。该研究存在的问题是需要预先了解历史网络流量分布,但对于多媒体应用而言,流量分布变动大,该方法适用于局部数据中心,但对通用网络意义有限。
SDN相关研究多将网络时延简化为静态时延[6][10],文献[11]在SDN中实现多种队列调度算法,文献[3][5]虽然涉及队列时延,但并不作为路由度量依据,并且存在通用性和实用性等问题。
考虑队列时延的QoS路由对时延敏感应用更加适用,但同时求解方法也更为复杂。路径队列时延由路径沿线所有队列时延整体决定,相关研究认为沿途各队列之间相互独立,因此,整个路径的时延一般通过对各节点时延求和得到。在代价函数构建方面,文献[12]选择以测量所得丢包及时延抖动加权和为代价函数,文献[6]选择以拥塞度与时延的简单加和作为代价函数,cij=gij+dij,∀(i,j)∈A,文献[9]采用链路利用率作为代价函数,用归一化的利用率和时延组合非线性函数作为目标函数进行网络优化。
5 总结与展望
本文对基于SDN的QoS时延控制相关研究进行分析和总结,可以看出,在QoS控制体系方面各研究大同小异,针对队列时延控制的研究创新较多,但解决方案也各有优劣,路由方面的研究多是沿用传统QoS路由算法。
相关研究多基于额外的网络流量控制工具、队列调度算法的队列控制,无法直接用于解决通用网络的队列时延估计和控制问题。通用网络并未对时延保证进行定制,时延约束量级受到一定限制。基于通用网络环境的队列控制,路径上队列时延的分配,以及包含队列时延的路由仍然是这个领域值得研究的问题。
传统路由算法是基于链路代价的,在时延约束代价最小化问题中,通常也需要采用扩展dijkstra算法等计算出基于链路时延代价的最短路径。队列时延之间存在较强的相关性,因此总时延并不能由单个时延简单加和得到。基于这个事实,传统QoS路由算法并不能直接用于包含队列时延在内的路由问题,需要提出一种新的路由算法。
[1]Paxson V,Floyd S.Wide-Area Traffic:The Failure of Poisson Modeling[J]. IEEE Acm Transactions on Networking,1995,3(3):226-244.
[2]Haiyan M A,Yan J,Georgopoulos P,et al. Towards SDN Based Queuing Delay Estimation[J]. China Communications,2016,13(3):27-36.
[3]Kim W,Sharma P,Lee J,et al. Automated and scalable QoS control for network convergence[C]. Proc Internet Network Management Workshop / Workshop on Research on Enterprise Networking,2010:1-1.
[4]Zhang H,Ferrari D. Rate-controlled static-priority queueing[C]. INFOCOM ′93 Proceedings,twelveth Joint Conference of the IEEE Computer and Communications Societies,Networking:Foundation for the Future,San Francisco,CA,USA,1993,1:227-236 .
[5]Sangeun Oh,Jiyeon Lee,et al. RT-SDN:Adaptive Routing and Priority Ordering for Software-Defined Real-Time Networking[DB/OL]. https://cs.kaist.ac.kr/upload_files/ report/ 14068 68936.pdf,2014.
[6]Egilmez H E,Dane S T,Bagci K T,et al. OpenQoS:An OpenFlow controller design for multimedia delivery with end-to-end Quality of Service over Software-Defined Networks[C]. 2012 Asia-Pacific Signal & Information Processing Association Annual Summit and Conference (APSIPA ASC),Hollywood,CA,USA,2013:1-8.
[7]Zhang Y,Tang Y,Tang D,et al. QOF:QoS Framework Based on OpenFlow[C]. IEEE International Conference on Information Science and Control Engineering,Shanghai,China,2015:380-387.
[8]Nam H,Kim K H,Kim J Y,et al. Towards QoE-aware video streaming using SDN[C]. IEEE Global Communications Conference,San Diego,2015:1317-1322.
[9]Tomovic S,Radusinovic I,Prasad N. Performance comparison of QoS routing algorithms applicable to large-scale SDN networks[C]. IEEE Eurocon International Conference on Computer As A Tool,Salamanca,Spain,2015:1-6.
[10]Civanlar S,Parlakisik M,Tekalp A M,et al. A QoS-enabled OpenFlow environment for Scalable Video streaming[C]. IEEE Globecom Workshops,Miami,USA,2010:351-356.
[11]Ishimori A,Farias F,Cerqueira E,et al. Control of Multiple Packet Schedulers for Improving QoS on OpenFlow/SDN Networking[C]. IEEE European Workshop on Software Defined Networks,Berlin,2013:81-86.
[12]Laga S,Cleemput T V,Raemdonck F V,et al. Optimizing scalable video delivery through OpenFlow layer-based routing[C]. IEEE Noms IEEE/IFIP Network Operations & Management Symposium,Krakow,Poland,2014:1-4.
[13]Yan Jinyao,Zhang Hailong,Shuai Qianjun,et al. HiQoS:An SDN-based multipath QoS solution[J]. China Communications,2015,12(5):123-133.