孙瑞娜 廖 彬
1(新疆财经大学信息管理学院 新疆 乌鲁木齐 830012) 2(中国科学院信息工程研究所 北京 100093) 3(中国科学院大学网络空间安全学院 北京 100049)
随着互联网的快速发展,新旧业务不断更迭导致网络中业务流量组成结构发生重大变化。业务流量结构的变化要求网络QoS、拓扑结构、网络资源与安全等方面必须做出相应的变化。传统网络体系结构在适应流量结构变化的过程中存在严重的阻碍,因为作为一种“瘦腰”模型,必须通过建立网络层(IP层)点到点的流量传输路径实现上层业务的支持和扩展。但是,IP层协议已经固定,不能进行增量式地静态或动态编程来满足业务流量结构的变化。
已有的新型网络体系结构可分为两派:(1) 以提高网络传输速率为目标的“带宽”派,如快速交换技术、高速包处理芯片等;(2) 以获得新网络功能为目标的“改制”派,如美国NSF资助的GENI计划[2]、IETF于2002年成立的ForCES工作组[3]等。“带宽”派对大量新型网络业务流量力不从心,而“改制”派倡导的高度灵活可编程网络成为满足新型网络业务流量需求的主要技术方向。ForCES工作组扩展研究的软件定义网络(SDN)引入可编程的思想,使网络具有更好的灵活性、可伸缩性和可维护性,是认可度最高的解决方案。SDN在TCP/IP网络体系结构的基础上从网络协议和设备两个层面提出新的架构,保证IP层具备可演进的能力,其主要有四大特性:(1) 转发设备通用化、白盒化;(2) 控制方面和转发方面分层管控;(3) 接口标准化,实现跨厂商管控;(4) 业务流量转发开放可编程。以上特性可实现从全局视角灵活调度网络资源、快速部署新业务、简化运维,使SDN成为网络变革的关键技术。
SDN以其强大的优势获得学术界及工业界的广泛关注。目前,SDN已经被Google、Facebook、Tencent、Alibaba等顶级互联网企业广泛应用于企业内部网络,包括数据中心网络(DCN)、园区网络、云数据中心互联网络、物联网、网络安全等。
不同企业的内部网络场景具有不同的网络流量组成结构,其对QoS的需求不尽相同,对网络流量的传输与管理带来极大的挑战。虽然IETF曾针对传统网络架构提出多种QoS模型,包括IntServ和DiffServ,但由于缺乏网络全局服务状态监控与分析,不能进行全局决策和动态配置更新,不能解决复杂的网络业务流量转发问题,难以应用于SDN网络体系结构中。
随着SDN的广泛应用,目前已经有很多关于SDN中QoS技术的研究,但是缺少针对SDN的QoS技术研究进展的系统性描述。因此,本文充分收集现有SDN的QoS研究成果,对比分析其原理及适用的应用场景,为今后的QoS技术研究提供参考。
SDN作为一种网络体系框架,其核心思想是通过分离转发控制层与数据传输层实现网络业务的快速部署与路由的灵活控制,满足各种业务流量的QoS需求。SDN有多种架构定义,其中开放网络基金会(ONF)提出的SDN架构已经逐渐成为主流量。SDN架构主要包括应用层、控制层和基础设施层,如图1所示。
图1 SDN网络体系结构图
SDN的最底层是基础设施层,主要是运营商提供的通用型网络设备,用于数据的传输,是SDN的数据平面;中间层是控制层,主要由各种控制器组成,提供不同的网络服务,是SDN的控制平面;最上层是应用层,主要用于编排部署用户的具体业务应用,是用户与网络交互的桥梁,也称为业务编排层。应用层编排的业务应用通过北向接口调度控制层的控制器下发业务流量需求;控制层的控制器通过南向接口实现对基础设施层下达指令,控制业务流量的转发路径。按照上述过程,用户可以按需编程路由,应对业务流量需求随时间的演变。
目前,SDN控制器是网络QoS研究的核心,工业界与学术界针对不同的QoS技术需求,研发了不同的控制器。表1汇总了控制器的主流产品。控制器早期是集中式单线程的,第一款是Gude等[4]提出的NOX,随后在其基础上发展出多款集中式多线程控制器,如POX、NOX-MT等。同时,集中式多线程原生控制器也被提出,其典型代表包括Ryu、企业级OpenFlow控制器Floodlight。随着网络规模不断扩大、复杂度不断加深,用于协调多个控制器联动的分布式控制器开始出现,其中ODL、ONOS最有影响力。
表1 SDN控制器汇总
基于采集的全局网络状态信息,SDN控制器协调控制器内多个模块之间的运作并下发恰当的流量表,满足各种业务流量的QoS需求。为了详细分析QoS技术,需要掌握SDN控制器架构内QoS相关模块,方便研究人员对现有QoS技术方案进行优化或提出新的可替代方案。
虽然目前SDN控制器种类繁多,其中ODL的市场占有率高达67%,是最具代表性和应用最广泛的控制器之一。因此,本文以ODL为例对QoS相关模块进行分析。如图2所示,ODL通过Neutron Server的Networking-odl为OpenStack等应用层提供服务,而ODL作为控制层的组件提供网络监管、路由控制等服务,大都与QoS直接或间接相关。
图2 QoS相关模块
在Networking-odl中,用户可以根据上层业务流量的需要,通过QoS Extension提供的Restful API和Core的Restful API将QoS需求下发给QoS模块中的QoSAPI。QoS API可以对上层Extention API提供QoS策略、参数设置的Restful API和带宽等资源调度的Restful API。Core调用相应的Service Plugin服务的同时Core遵循规则库内既定的QoS策略、带宽限制、端口绑定等规则。Service Plugin包含专门的QoS驱动模块。
ODL控制层包含基本服务功能模块(Basic network Service Function, BSF)、服务拓展功能模块(Service Extension Function,SEF)和服务抽象层(Service Abstraction Layer,SAL)。基本服务功能模块包括管理节点、链路、负责拓扑计算的Topology Manager、收集流量表统计信息的State Manger、管理底层设备的Switch Manager、管理转发规则的FRM、追踪主机IP等信息的Host Tracker,以及解析ARP数据包的ARPHandler等模块。各模块帮助生成拓扑数据库以掌握各种设备的性能及可到达性等信息,并由拓扑管理模块存储、管理,执行应用层下发的QoS需求。拓展服务功能用于扩展基础服务,包括表示工作量和服务水平的亲和力服务(Affinity Service,AS)、提供Openstack服务对接的Openstack服务(Openstack Service,OSS)、创建虚拟网络映射服务的LISP服务(LISP Service,LISPS)、支持OvS数据库管理及CONFIG协议的OvSDB Neutron、提供Rest API配置ODL控制器VTN组件的VTN Manager和oDMC。支持多种南向协议的SAL模块作为模块化控制器设计的核心也支持协议无感知处理,为上层业务提供一致性服务。SAL根据插件特性构建具体服务,服务请求经SAL映射到相应插件上,通过正确的南向协议与底层设备交互,各插件间独立且与SAL松耦合。SAL模块提供的服务有数据包服务、拓扑服务、流编程服务、读取服务、连接服务、统计服务、库存服务等,其中:数据包服务转发底层与上层模块间的数据流量;拓扑服务是传递拓扑信息的服务集合;流编程服务支持在下发流量表请求给南向协议插件时,为流量规则管理模块提供增加、删除、修改流量的功能并提供对流量的监听服务;读取服务读取设备信息查询请求给南向接口并通知监听器变化;连接请求发送上层模块的拓扑信息查询请求等。
控制器可传递的参数是调节网络配置、满足QoS需求的基础。因此,掌握网络参数可以帮助优化QoS方案或提出新QoS技术。如表2所示,除了QoS直接相关的丢包率、延迟等参数外,网络拓扑的链路、节点等信息和与实际案例密切相关的用户自定义需求等扩展参数也是影响QoS体验的因素。
表2 目前ODL-SDNi支持的网络参数
本节在深入剖析SDN网络结构和QoS相关模块、参数的基础上,进一步调研QoS优化有关的研究成果并归纳分析。
路由算法是研究QoS最直接的考虑角度,相关的研究成果也最丰富。寻找最佳QoS的流量路由路径并非易事。目前最直观的做法是以控制器收集的QoS统计信息作为参数对经典的最短路径算法(即Dijkstra算法)进行优化。桂燕兴[5]提出引入带宽、抖动、RTT和延迟作为网络拓扑图的权重参数,采用Dijkstra算法获取最优QoS路径。段鹏飞[6]则将上述优化方法引入车联网并提出SDVNET架构,SDVNET以车辆速度、方向和地理位置等信息作为QoS相关参数计算拓扑图权重。
与此同时,一些启发式算法逐渐被引入到流量路由的QoS解决方案,其中一些算法取得了较好的效果,包括退火算法、蚁群算法、遗传算法。宋志坤[7]提出的启发式QoS路由算法采用基于非线性耦合函数、缩小可行解空间和退火算法的思想,该方法对多个约束参数线性耦合并用类Dijkstra算法对其两次标记以简化网络规模和缩小可行解空间,然后用退火算法思想选点避免陷入局部最优,同时调整迭代次数权衡算法时间复杂度。彭波[8]在SDN网络中将蚁群算法改良为资源导向的蚁群算法(RGACO),利用资源统计模块周期性侦测链路状态,并发送给蚁群路由模块,而蚁群路由模块遵循RGACO根据业务的QoS需求计算路由。靳洪兵[9]在基于SDN的数据中心中对流量进行细粒度控制,提出多QoS约束的量子遗传算法选择业务流量路由。
网络资源可能随时动态地改变,即某个路径可能不是一支流量传输的好路径。将这些网络变化考虑在内的SDN框架应在保持现有QoS需求的基础上优化QoS。QoS路由应优化不同的开销功能,而不是简单的路径长度。文献[10-11]提出了一个在OpenFlow控制器上具有动态重新路由功能的视频流量优化框架,其中引入了两个优化问题:(1) 仅在无拥塞条件下路由无损QoS流量(SVC编码视频的基础层),目的是不丢包;(2) 无损QoS流量和有损QoS流量(SVC编码视频的增强层)分别以无丢包和最小损耗的目标进行路由。在上述框架下,Yu等[12]提出的ARVS(自适应路由视频流量)方法研究了视频数据包的自适应路由优化问题。在ARVS中,如果最短路径不满足延迟约束,则数据包具有重路由到基于可用带宽计算的可行路径的第一优先级,增强层数据包继续沿最短路径路由。但是如果可行路径中没有可用带宽,则数据包将继续沿最短路径转发,而增强层数据包将重新路由到可行路径。
SDN网络具有为用户提供全局网络视图的能力,可以通过动态地重新路由数据包以缓解延迟、甚至丢包的问题。为此,Yilmaz等[13]提出了一种视频流量重路由的负载均衡方法,在检测到服务器过载时,计算用户连接各服务器的每条路由的成本(如数据包丢失、延迟),删除旧流量并将新流量推送到新的最低成本路由上。
多媒体流量在网络流量中的占比逐年攀升,其对数据包低丢失率和低延迟的高标准要求对Internet提出了许多挑战。设计可以应对多种网络环境的多媒体流量路由框架非常重要。Civanlar等[14]调研了OpenFlow网络上视频流量的QoS路由,提出一种可以在计算QoS流量时减少数据包丢失并保持可伸缩视频编码(SVC)基础层视频流量的延迟的基于线性规划的公式。Yan等[15]提出的HiQoS利用基于SDN的等价多路径路由(ECMP)算法[16],在源和目的地之间计算多条路径并用排队机制为不同类别流量提供QoS保证。Egilmez等[17]提出了一种用于支持视频流量QoS的OpenQoS控制器,其关键技术是使用包头字段将输入流量分类为多媒体流量和数据流量。这些流量在QoS支持的路径上动态路由。Owens等[18]通过对QoS路径计算问题添加“可靠性”约束解决对视频流量的可靠QoS支持,使不同分类流量分别路由。
研究人员普遍认为QoS的瓶颈在资源,资源不足必然影响流量转发效果,这使得有关资源分配的QoS解决方案层出不穷。基于资源分配的QoS优化方案通常采用控制器中的流量分类和速率整形模块来解决,其中流量分类器利用数据包头部字段实现分类,基于网络QoS策略为相应的流量分配优先级;速率整形器依据路径上交换机的预制规则实现流速管理,为需要QoS的流量保留资源。
速率整形器和优先级队列可以用于满足高级服务QoS需求的资源预留。Kim等[19]提出利用OpenFlow的QoS功能扩展,为不同的应用程序创建网络切片并提供所需的性能需求框架。该框架中使用OpenFlow的扩展“QoS API”控制QoS参数的配置和管理,其中速率限制器API和队列映射API分别实现带宽聚合和流量与端口优先级队列的映射完成带宽和延迟的分配。但是,控制器需要全局重新配置以响应不断变化的环境。虽然可以使用标准迭代方法计算最佳配置,但收敛可能比系统变化慢。每个时隙内,控制器可以选择:(1) 停止迭代求解器并应用新的最佳配置,虽具有较小路由成本,但损害QoS和系统稳定性;(2) 允许求解器继续迭代以使网络保持其次优形式。为了限制重新配置的负面影响,Destounis等[20]提出了两种控制策略,可以在遵循网络重新配置预算的同时最小化平均路由时间成本。
SDN和网络即服务(NaaS)协作可以解决端到端服务中为应用需求提供QoS参数的问题。Bueno等[21]提出的网络控制层(Network Control Layer,NCL)框架通过资源预留支持针对不同类型流量的低级网络QoS需求。NCL架构有两个主要部分: SDNApp按照提供商需求配置数据平面,监控模块负责监控网络状态。虽然SDN具有灵活管理和编程底层网络的能力,但NaaS为用户提供网络安全隔离访问。此外,NaaS提供了轻松扩展或缩小网络服务的能力。为满足域间端到端QoS,Duan[22]提出应用NaaS的网络服务编排框架,同时提出一种定义网络服务能力的高级抽象模型,利用网络演算使其适用于异构自治域网络。随后,Duan等[23]以开发NaaS-SDN集成的思想扩展了以上模型,为多域SDN环境提出基于NaaS的服务交付平台(SDP)框架,实现端到端QoS保证的两项关键技术:① 用于网络服务功能的抽象模型;② 用于端到端带宽分配的技术。
在基于SDN的家庭网络中进行基于流量和基于应用的QoS分配是一项挑战,因为家庭网络设备比典型网络设备处理能力弱且用户不熟练。Seddiki等[24-25]提出的FlowQoS可以为上游和下游流量执行应用程序标识和QoS配置,实现用户指定的流量转发优先级。FlowQoS系统为家庭路由器的虚拟拓扑创建链路,按照用户制定的规则配置链路的流量和速率,为应用程序提供流量整形。
流量管理的一个重要问题是对竞争应用程序的带宽分配,必须解决最大化整体网络利用率和QoS公平性的问题。文献[26-27]提出的MCTEQ模型提出了对多个流量类别的联合带宽分配,考虑交互式应用端到端延迟要求的同时将其效用与更大的权重相关联,优先考虑使更高优先级流量获取带宽。Miao等[28]通过扩展OpenFlow协议,更新数据中心网络中OPS(光分组交换)节点的查找表(LUT),使流量由OPS以亚毫秒硬件速度切换,与较慢SDN控制操作(毫秒时间刻度)分离,利用流量优先级和更快的速度,可以保证流量的QoS需求。
在ODL等控制器中提供数据包队列接口,有研究人员将数据包队列的调度作为QoS优化的一个突破点。队列中某些数据包可能比位于它们之前的其他数据包具有更高的优先级,这种情况会影响QoS和流量整形。因此,Ishimori等[29]提出的QoSFlow模型在Linux内核中操纵多个分组调度器,为OpenFlow网络提供更灵活和可管理的QoS控制。QoSFlow首先引入QoS模块,使整形组件和数据包调度组件共同负责处理队列中的流量并让入队组件负责管理OpenFlow协议的流量表消息,将流量映射到队列;其次将Linux数据包调度程序与OpenFlow相结合,支持分层令牌桶(HTB)、随机早期检测(RED)和随机公平队列(SFQ)调度程序。
Ko等[30]提出的OpenQFlow架构是OpenFlow架构的一种以可扩展的方式提供微流量QoS的变体。OpenQFlow将经典流量表框架划分为流量状态表、转发规则表和QoS规则表。流量状态表条目用于维护128字节的微流量状态信息,包括转发、QoS和统计信息,用于没有规则表查找的情况下查找转发和QoS信息库,增加了OpenQFlow架构的可扩展性;转发规则表的每个条目维护指向转发信息库的指针;每个QoS表条目具有指向QoS信息(包括流量类型、带宽和优先级信息)的指针。 OpenQFlow带来了BETA和CETA两种分组调度方案,提供最大最小公平性,不需要每个流量的输出队列。
Wallner等[31]使用基于队列的分类技术来实现SDN网络中的QoS支持。为此,流量整形(速率限制)和差分服务代码点(DiffServ DSCP)方法被用于SDN网络中的QoS支持。该研究描述了不同类别的服务及交换机之间的速率限制路径。上述方法中,SDN模块负责数据包匹配、分类和流量操作,如插入、删除等;QoS组件使用其DSCP值跟踪和存储服务类,允许网络定义两个不同的主要策略:① 利用流量入队机制的策略和使用服务类、② 相应的DSCP值的基于ToS/DSCP的策略。Xu等[32]也提出了基于IPv4 ToS的QoS机制,将流量分类为QoS流量和最佳流量并根据其优先级分配队列。
文献[26]和文献[27]介绍了另一种软件定义的自动QoS管理模型。模型包括如分组标记、队列管理和调度的QoS功能,采用了加权随机早期检测(WRED)队列管理算法、优先级排队(PQ)和加权循环(WRR)队列调度算法等不同队列管理算法。除此之外,自动QoS管理模型还提出了基于协同借用的分组标记(CBBPM)算法,以提高网络资源利用率。
单独的OpenFlow不足以构建更复杂的SDN服务,因为需要在端口、队列等配置方面完全控制和管理数据平面。 OVADB协议已被用于在Caba等[33]的数据平面配置OVS交换机的QoS功能,建议的QoS配置API允许应用程序在网络控制器的D-CPI处添加OVSDB配置数据平面设备端口上的优先级队列,据此构建的服务和应用可以利用OVS设备中可用的全套QoS功能。Owens等[34]介绍了另一种用于SDN网络支持视频应用QoS需求的控制器架构和协议(VSDN)。VSDN修改OpenFlow提供的有限交换机功能实现端到端保证服务(GS)。特别地,修改OpenFlow协议模块的队列属性结构ofp_queue_properties以支持基于GS的队列作为ofp_queue_prop_gs_rate,以包含基于令牌桶的流量整形所需的字段。VSDN交换机为各请求流量创建基于令牌桶的整形队列,根据VSDN控制器提供的流量规范调节各条流量。
QoS不足以表达通信服务中涉及的所有功能,如仅依赖QoS度量无法确定特定应用程序的性能。相反,用户的QoE是用户满意度的替代度量。因此,未来网络的主要挑战是动态地使用户的QoE需求适应网络QoS参数。有些研究旨在最大化用户的QoE,同时在SDN网络中提供所需的QoS。
控制和实施网络QoS策略是SDN网络的一个重要问题。Huongtruong等[35]提出了QoE感知的IPTV网络架构:结合IP多媒体子系统(IMS)和基于OpenFlow的SDN网络,根据用户满意度优化网络资源和服务特性。在该设计中,用户能够对正在接收的服务进行评级并据此映射所提体系结构规定的网络QoS参数。
Kumar等[36]的研究是ISP网络的SDN范例,允许用户进行链路带宽分配的控制委托,同时设计了一种GUI允许典型用户在每个设备和每个应用程序的基础上指定请求。GUI将请求转换为由ISP网络中托管的SDN控制器公开的API调用,确定请求的资源分配并将其配置到与用户接入链路相关联的交换硬件中。用户的这种控制不仅可以提高用户的QoE,还可以使ISP通过服务获利并有力地与市场上其他ISP竞争。Yiakoumis等[37]曾提出一个相似的想法,建议允许用户选择应用程序的优先级,指示对ISP的偏好并利用OpenFlow控制器执行首选项。
Kassler等[38]的研究在优化路径分配的同时提高用户对多媒体服务感知的QoE水平,提出的系统利用OpenFlow为用户建立网络路径,以便在考虑网络资源(如链路容量、延迟等)和网络拓扑时最大化QoE。系统的两个主要组件及其功能如下:(1) QMOF(QoS匹配和优化功能)驻留在SDN应用层中进行初始参数匹配以产生可行的服务配置;(2) PAF(路径分配功能)优化网络路径以满足当前活动服务配置的资源要求。Dobrijevic等[39]在文献[38]的基础之上提出了“Q-POINT”——一种基于QoE驱动的路径优化模型,解决多用户域范围的QoE优化问题。
近期的研究已经开始使用动态调整比特率减少视频回放中的暂停和缓冲时间。虽然这种想法为用户提升了整体体验,但仍存在一些问题,如由于独立采用策略导致网络拥塞。Georgopoulos等[40]提出的OpenFlow-assisted QoE Fairness Framework(QFF)架构旨在减轻上述问题,虽然QFF框架可以监视网络视频流量,动态调整流量参数以公平增加用户的QoE,但其利用用户间均匀共享资源(特别是带宽)的想法可能导致用户的QoE降低。
传统网络缺乏对QoS的控制,尽力而为的交付网络会导致最终用户的次优QoE。Gorlatch等[41-42]使用SDN技术满足动态网络需求以提高QoE,提出一个由Base API和Application-level API组成的北向API以区分面向应用的QoS指标并映射到网络的QoS指标。
虽然应用程序信息在支持QoE方面提供了比QoS参数更大的灵活性,但与网络级别的管理相比需要信令工作的开销。Jarschel等[43]研究了不同类型的信息或应用质量参数如何在SDN网络中支持更有效的网络管理。
针对不同业务流量,需要更复杂和有效的路由机制以满足多样的QoS要求。虽然SDN对OpenFlow的使用可以使用具有不同需求的路由算法,但与当今的TCP/IP架构相比,SDN网络可以更有效地利用网络资源。
2.5.1大象流
大象流是指在一组五元组确定的网络链路上进行大量的、持续的数据传递的过程。因为对网络资源的巨大消耗,大象流可能会影响网络的性能,如点到点地填充缓冲区。其他流量使用与大象流相同的缓冲区,很可能受到这种资源消耗的影响,因此需要检测大象流并满足其QoS需求以获得更好的网络性能。Afaq等[44]分析大象流后提出了QoS配置机制,即超过指定阈值的流量受QoS模块的约束,将大象流路由到用于流量整形的速率受限队列。
2.5.2跨域流量
当前OpenFlow规范中的单控制器解决方案对于大规模多域网络是不可扩展的。因此,需要多控制器分布式地控制平面,使每个控制器负责网络的一部分(域)。在跨域网络之间路由QoS流量需要收集最新的全局网络状态信息。然而,由于问题维度和网络运营商不打算分享内部精确网络动态,造成满足QoS需求成为一项艰巨的任务。Egilmez等[45-46]提出了一种基于分布式控制平面的路由体系结构,每个域控制器聚合每个边界节点对(称为虚拟链路)的内部网络资源信息,并与其他域控制器共享,由此每个控制器获得整个网络的全局视图,可以计算端到端QoS优化路由。Karakus等[47]提出类似的QoS路由体系结构,但利用了基于层次结构的网络体系结构,每个网络控制器只与Broker控制器共享其汇总的网络状态信息。Marconett等[48-49]提出的FlowBroker架构还利用Broker提高网络性能,在SDN中的多个域上实现流量协调的负载平衡。在多制器架构下,期望最小化控制器上的最大响应时间,为用户提供更好QoS的目标。为此,Wang等[50]提出在交换机上安装通配符规则实现流量重定向来最小化控制器的最大响应时间,将基于流量大小和链路容量约束的最小控制器响应时间问题形式化为整数线性程序并证明是NP难问题,最后设计了两种有界逼近因子算法解决此问题。
2.5.3流量信息采集
控制平面需要频繁地收集流量统计信息用于不同的应用,如流量工程、QoS路由。现有统计信息收集方案可能导致控制信道占用带宽大、资源成本高和交换机处理延迟长。为了应对这一挑战,Xu等[51]提出一种成本优化的流量统计数据收集(CO-FSC)方案和使用基于通配符请求的成本优化的部分流量统计数据收集(CO-PFSC)方案,并证明了CO-FSC和CO- PFSC问题是NP难的。对于CO-FSC提出了一种具有近似因子的基于舍入的算法,其中f是每个流量所访问的最大交换机数;对于CO-PFSC提出了一种基于随机舍入的近似算法,用于收集网络中部分流量的统计信息。实验验证这两种算法可以有效降低用于QoS路由优化的信息采集成本。
2.5.4异步通信
网络更新命令(如OpenFlow的FlowMod消息)的异步通信可能导致瞬态不一致,例如环路或绕过的路点(waypoint),这需要特殊的QoS需求。Shukla等[52]认为即使在异步环境中也确保瞬态一致性的一种方法是采用智能调度算法,仅在每个通信轮次中更新交换机子集的算法,其中每个子集本身保证一致性。如此可以在异步通信过程中通过智能调整交换机子集以满足QoS的需求,进而达到维持瞬态一致性的目的。
基于前文调研发现,对于服务和应用的QoS需求,现有的QoS解决方案不支持明确定义的自动QoS控制和网络管理机制,造成流量QoS支持不能达到预期。随着业务流量的多样化,QoS控制机制应该为流量配置提供自动且细粒度的控制。但是目前的技术尚未实现,那么基于网络状态实现动态QoS配置工作负载的需求,短时间也是难以满足。另一个重要问题是对传统设备和WAN等大规模网络的支持,目前基于分布式控制器的解决方案应视为跨域QoS解决方案的雏形。易对网络状态造成负担的诸如视频、VoIP等高要求业务流量,当前很难实现长时间的QoS支持。虽然上述问题目前都存在一些有针对性的研究,但这些QoS技术都不成熟,难以直接应用于现网。
随着5G网络和云数据中心网络的深入发展,QoS的研究将主要集中在IoT、无线网、自组织网络等移动网络和数据中心的内容中心网络。网络节点接入点的频繁切换、视频流量在移动设备中的高质量传输、数据中心实现内容就近分发等相关的QoS优化问题将是研究的热点,并出现了一些较有影响的研究。
在云数据中心网络中,虚拟基础架构(VI)逐渐成为Internet上的网络演进和云服务供应的潜在解决方案。但是将VI嵌入到云数据中心中并非易事。Souza等[53]提出了一种针对VI分配问题的混合整数编程公式,该公式考虑到基于SDN的云数据中心面临的主要挑战放宽一些约束条件,利用启发式方法形成新的QVIA-SDN机制,这种基于SDN感知的分配解决方案可以减少数据中心的使用并提高托管租户的感知服务质量。
在物联网方面,由于设备的高速移动、间歇性连接和频繁拓扑变化引起一些移动性管理的关键性障碍,影响了QoS。为解决此问题,Atwal等[54]提出了利用云计算处理VANET的固有约束,设计了逻辑上分散的控制平面,以实现无缝连接,移动性管理和QoS支持。
SDN和NFV被认为是5G核心网络的关键技术。在QoS方面,Chen等[55]提出在支持SDN/NFV的5G切片中基于增强学习的QoS/QoE感知服务功能链(SFC)遵守QoS约束的同时,最大化QoE。鉴于5G网络对数据中心间服务的需求不断增长,实时迁移同样成为非常具有挑战性的焦点技术,为确保所需的QoE,Added等[56]提出了MIRA,用于管理跨不同基础架构即服务(IaaS)的虚拟资源的可靠实时迁移,处理意外情况,以确保高QoS,而无须使用SDN感知的人为干预解。
多媒体传输代表了5G网络中的典型大数据应用。为了处理视频应用程序产生的大量流量,如何在管理基础架构优化和QoE之间相互作用的同时处理不断增加的视频流量成为一个难题。为了解决这个问题,Filho等[57]为大规模的基于SDN的移动网络提出了一种新颖的QoE感知路径方案。该方案依赖于组合多个QoS指标的多项式时间算法和可伸缩的QoS到QoE转换策略。考虑到多媒体大数据服务既对时间敏感,又对带宽敏感,Zhang等[58]提出了一种以信息为中心的虚拟化体系结构,用于在5G多媒体网络上进行软件定义的统计时限QoS调配。
最近,自动驾驶汽车(AV)数量的快速增长,并预计在未来几年大幅增加。传统的智能运输系统(Intelligent Transportation System,ITS)解决方案将由于众多技术限制而无法实现,例如灵活性降低、连接性差、可伸缩性有限及缺乏足够的智能。云计算范例在满足高移动性、最小延迟、实时服务和高质量服务QoS等方面也将落后。SDN和边缘计算(Edge Computing,EC)有望成为现代ITS非常有前景的解决方案。考虑到SDN、EC和DMM在未来视音频网络中的潜在优势,Garg等[59]提出了一个在ITS生态系统中采用分布式SDN-DMM方法的复合框架——针对AV的移动性感知和QoS驱动(MobQoS)SDN框架,该框架可应对底层用户的移动性和QoS挑战。
虽然研究人员在5G、物联网和云计算等新兴领域有了一定的研究进展,但是目前已有成果仍有待进一步的优化,另外仍有广阔的空间需要研究,包括具体的底层实现细节(如传统的队列调度优化和资源分配的移植)、特有的业务需求(如移动设备上的视频传输)和整体SDN架构设计。
网络用户对上网体验的极致追求,使QoS一直是网络研究中的热点问题。目前,互联网中不断产生新的业务流量,为满足不同的QoS需求,一方面需要对每种流量提供不同的转发技术的研究,另一方面有关SDN等新型网络体系结构的研究不断涌现。为了掌握SDN的QoS研究进展,以便对今后QoS的深入研究提供参考,本文聚焦SDN框架的控制层面,在分析SDN控制器的QoS相关模块的基础上,有针对性地归纳并分类现有的QoS优化解决方案,发现基于路由算法、基于队列、基于资源调度和基于QoE感知的传统QoS优化方法仍是研究的重点,然而,新兴业务和场景的出现,引发了新QoS优化方案的思考。新型SDN网络中的设备移动造成的连接问题和拓扑变化都是影响QoS的重大挑战,是QoS优化的研究重点。