基于SDN网络的QoS机制研究(下)

作者简介:蒋暕青,华东师范大学研究生学历,先后于思博伦通信、上海宽带技术及应用工程研究中心、九州云就职。

点击查看该文章上篇:基于SDN网络的QoS机制研究(上)

六、域间QoS路由机制

当前OpenFlow规范中的单个控制器解决方案对于大型多域网络来说是不可伸缩的,这是由于单个控制器处理能力的限制,由远程网络设备导致的延迟以及由于控制器和交换机之间的消息传递而导致的大量开销造成的。因此,需要一个具有多个控制器的分布式控制平面,每个控制器负责网络的一个部分(域)。在这些网络之间路由端到端QoS流需要收集最新的全局网络状态信息,例如每个链接的延迟、带宽和丢包率。然而在大型网络上这是一项困难的任务,因为问题的维度(大小)和网络运营商不打算详细共享内部精确的网络动态。因此,分布式QoS路由模型需要考虑所有这些挑战,以确保应用的端到端QoS最优。

文献[21,22]在OpenFlow网络上提出了一种基于分布式控制平面的视频流路由架构。在这种路由结构中,每个域控制器为每个边界节点对(称为虚拟链接)聚合内部网络工作资源信息,并与其他域控制器共享。通过这种方式,每个控制器获得整个网络的全局视图,并能够计算流的端到端QoS优化路由。Karakus等人[23]提出了一种类似的QoS路由体系结构,但它利用了一种基于层次结构的网络工作体系结构,其中网络控制器在顶层与另一个称为Broker的控制器一起构成层次结构。每个网络控制器将其汇总的网络状态信息共享给代理而不是其他控制器。代理保存全局网络状态和视图,以便在需要时与某些控制器共享必要的信息。FlowBroker[24,25]体系结构还利用代理来提高网络性能和负载平衡,以实现SDN中多个域之间的网络流协调。

数据中心间流量管理的一个重要问题是将带宽分配给竞争应用程序,同时最大化总体网络利用率,并考虑QoS指标和公平性。MCTEQ[26,27]模型提出一种联合带宽分配到多个流量类别的方案。该方案利用SDN的概念,在考虑交互应用端到端时延需求的同时,将其效用(utility)与较大权重相结合,优先选择优先级更高的流量来获取带宽。Miao等人[28]利用SDN模型的控制平面,通过扩展OpenFlow协议来更新数据中心网络OPS(光分组交换)节点的查找表(LUT)。通过这种方式,OPS可以以亚毫秒级的硬件速度切换应用程序流,从而与较慢的(毫秒级)SDN控制操作解耦。因此,有了流的优先级和更快的速度,就有可能保证数据中心内流量流的QoS。

基于路径(即部分路径)的模型也可用于提供域间端到端QoS路径。在这个模型中,每个自治域具有特定QoS属性的路径被映射到一个独立的外部实体,该实体负责对它们进行端到端路由。控制交换点(CXP)[29]利用抽象的网络路径来编排ISP提供的切片的端到端拼接(与特定服务和虚拟拓扑(例如路径)相关的流空间)。CXP的任务是接收对QoS保证的端到端路径的请求,在域间虚拟拓扑中嵌入路径,并监控所提供的QoS保证。

七、基于资源预留机制提供QoS

这种类型的框架通常通过控制器中实现的某些模块来利用流分类和速率整形。分类器模块使用数据包头字段对数据包进行分类,并根据网络QoS策略为相应的流分配优先级。然后,速率整形器管理流速率,在路径上的交换机中安装相应的规则,以便为需要QoS的流保留资源。

速率限制器和优先级队列还可以用于资源预留的高级服务需求,以提供QoS。文献[30]中的体系结构利用了对OpenFlow的QoS功能的扩展。其提出的QoS控制器为不同的应用程序创建网络片,并向它们提供所需的性能要求。文献作者利用一种称为QoS API的机制(OpenFlow的扩展)来控制QoS参数的配置和管理。聚合的带宽使用由速率限制器API完成,队列映射API用于将流映射到端口中的优先队列,以处理带宽和延迟分配。

SDN和网络即服务(Network as a Service, NaaS)模型可以协作解决在提供端到端服务配置的同时为应用程序需求提供QoS参数的问题。NCL (Network Control Layer)[31]框架通过资源预留的方式,为不同类型数据流的需求提供底层网络QoS保障。SDN带来了灵活管理和编程底层网络工作的能力,而NaaS模型为用户提供了对网络的安全且隔离的访问。此外,NaaS范型提供了轻松扩展或收缩网络服务的能力。提出的NCL架构主要包括两个部分:QoS SDN应用(SDNApp)和监控模块。SDNApp说明控制平面对供应商需求的适配,并对数据平面进行相应的配置。而SDN监控组件则负责监控网络状态,并通过OpenFlow计数器从交换机收集统计信息。Duan等人[32]还在SDN中提出了一个NAAS应用框架,该框架支持网络服务编排以支持域间端到端QoS。并提出了网络服务能力的高层抽象模型,并提出了一种确定网络服务所需带宽以实现QoS保证的技术。在建模和分析中利用了网络微积分,使得所开发的技术具有通用性,适用于由异构自治域组成的网络系统。在文献[33]中,研究人员扩展了在[32]中提出的研究,开发了NaaS-SDN集成的思想,提出了一个用于多域SDN环境的基于NAAS的服务交付平台(SDP)框架。该平台提供了每个SDN域作为网络服务的高级抽象,并支持端到端服务交付的网络服务编排。他们研究了通过SDP实现端到端QoS保证的两项关键技术,包括一种网络服务能力的抽象模型和和一种端到端带宽分配技术。

在使用基于SDN的方法的家庭网络中,如何使基于流(per-flow)和基于应用程序的QoS分配变得相对简单是一项重要的任务,因为家庭网络设备的处理能力比典型的网络设备要低,而且用户不熟练。在FlowQoS[34,35]的系统中,宽带接入网的用户简单地指定了高级应用程序,与其他应用程序相比,这些应用程序应该具有更高的优先级(例如,自适应视频流,VoIP)。FlowQoS控制器为上游和下游流量执行适当的应用程序标识和QoS配置,以实现用户的首选项。对于流,FlowQoS都执行即时应用程序标识。它还在数据平面中安装规则,这些规则根据用户为这些应用程序指定的优先级转发各个流。系统在家庭路由器的虚拟拓扑中创建链接,用用户指定的速率配置每个链接,并将流分配给这些链接以提供每个应用程序的速率整形。

长生命周期流主要称为大象流(并且是大型流量,例如备用流量)。这些大象流可以影响网络的性能,因为网络资源被它们消耗,它们填满了端到端的缓冲区。其他流可能会受到这种趋势的影响,因为它们也使用与大象流相同的缓冲区。因此,为了获得更好的网络性能,需要检测大象流并满足其QoS需求。在文献[36,37]中,提出了一种针对大象流检测后的QoS配置机制。在该文献提出的方法中,超过指定阈值的流量(称为“大象流”)必须受制于QoS模块应用程序,该应用程序将它们路由到速率限制队列(例如最大或最小带宽),以实现流量整形QoS技术。QoS模块应用程序使网络能够定义一个队列策略,该策略利用OpenFlow中的enqueue操作对网络中的某些类型的流进行入队。

八、队列管理和调度机制

队列中某些数据包的顺序可能比队列中位于它们前面的其他数据包具有更高的优先级。这个想法随着流量整形对QoS产生了影响。 因此,QoSFlow[38]模型在Linux内核中操纵多个数据包调度程序,即不仅是FIFO,以便在支持OpenFlow的网络中提供更加灵活和可管理的QoS控制机制。QoSFlow结合了Linux包调度器和OpenFlow网络,并支持分层令牌桶(HTB),随机早期检测(RED)和随机公平排队(SFQ)调度器。QoSFlow丰富了OpenFlow的软件交换机功能。研究人员指出,他们使用OpenFlow 1.0是因为它的稳定性和允许用户使用不同调度器的能力。QoSFlow的QoS模块有三个组成部分:流量整形,数据包调度和排队机制(Traffic Shaping, Packet Schedulers, and Enqueueing)。流量整形和数据包调度器共同负责操作队列中带宽的大小。另一方面,排队组件管理OpenFlow协议的流表消息,并将流映射到队列。

OpenQFlow体系结构[39]是OpenFlow体系结构的一个变体,以可伸缩的方式提供基于微流量的QoS。它将传统的流表框架划分为三个表:流状态表,转发规则表和QoS规则表。流状态表项用于维护128字节的微流状态信息,包括转发,QoS和统计信息。不需要查找规则表,即可查找转发和QoS信息库。因此,这增加了OpenQFlow架构的可伸缩性。转发规则表的每个表项都有一个指向转发对象信息库的指针,该信息库由转发和删除等转发信息组成。类似地,每个QoS表项都有一个指向QoS信息的指针,该信息由流量类型,带宽和优先级信息组成。OpenQFlow带来了两个包调度方案,BETA和CETA,它们提供了最大-最小公平性(max-min fairness),而不需要per-flow输出队列。

文献[40]中使用基于队列的分类技术来实现Floodlight控制的SDN网络中的QoS支持。为此,在基于Floodlight的SDN网络中,采用了流量整形(速率限制)和差分服务编码点(DiffServ DSCP)方法来支持QoS。文献作者描述了不同种类的服务以及交换机之间的速率限制路径。在他们的方法中主要的参与者是SDN模块,负责数据包匹配,分类以及插入,删除等流操作。该QoS组件跟踪并存储服务类别及其DSCP值。QoS模块允许网络定义两个不同的主要策略:基于队列的策略和基于ToS/DSCP的策略。基于队列的策略利用流的排队机制,而基于ToS/DSCP的策略使用具有名称(例如,快速转发,尽力而为等)和相应DSCP值的服务类别。在文献[41]中还提出了基于IPv4 ToS的QoS机制。它将流分类为QoS流和最佳流,然后根据它们的优先级为它们分配队列。在文献[42]中引入了另一种软件定义的QoS自动管理模型。该模型具有包标记,队列管理和队列调度等QoS功能。它采用了加权随机早期检测(WRED)队列管理算法,优先队列(PQ)和加权轮询(WRR)队列调度算法。它还提出了一种基于协作借用的分组标记(Collaborative Borrowing Based Packet-Marking,CBBPM)算法可提高网络资源的利用率。仅OpenFlow不足以构建更复杂的SDN服务,而这些服务需要就端口,队列等的配置对数据平面进行完全控制和管理。在文献[43]中,OVSDB协议被用来在数据平面中配置OVS交换机的QoS功能。拟议的QoS配置API允许应用程序通过在网络控制器的D-CPI处添加OVSDB来配置数据平面设备端口上的优先级队列。因此使用QoS API在SDN控制器之上构建的服务和应用程序可以利用OVS设备中可用的全部QoS特性。

九、 QoE感知机制

网络应用程序的要求是多种多样的,如今的网络试图基于QoS参数来支持这些需求。但是,仅通过为某些应用程序(例如IPTV,实时在线交互式游戏等)提供QoS并不一定总能满足用户满意度。由于QoS不够强大,无法表达通信服务中涉及的所有特性[44]。因此,不能仅依靠QoS指标来确定特定应用程序的性能。相反,用户QoE是另一种度量这些应用程序在网络上的用户满意度的方法。因此,未来网络面临的一个主要挑战是如何根据网络中的QoS参数动态调整用户的QoE需求。但是,在网络上将用户QoE映射到网络QoS参数是一个具有挑战性的问题。对于资源有限的网络(例如现在的接入网络)尤其如此。为此,有一些研究旨在最大化用户的QoE,同时SDN/OpenFlow网络中提供所需的QoS。

IPTV是最近在网络世界中的新兴应用。对于IPTV服务,如何控制和实现网络上的QoS策略是一个问题。[45]中提出的QoE感知IPTV网络架构结合了IP多媒体子系统(IMS)和基于OpenFlow的网络,优化了网络资源和服务特性,满足了用户的需求。在此设计中,用户能够对他们接收的服务进行评级,并相应地映射和配置网络QoS参数。架构由三层组成。应用层包括IMS IPTV客户端和QoS引擎,用于预测用户满意度。IMS核心层负责信令和会话和服务控制。最后,媒体层是由OpenFlow交换机组成的数据平面,用于单播、多播或广播方式的流量传输。

通过使用户能够对其家庭网络中的设备和应用程序的接入链路带宽分配进行一些控制,可用于改善此类网络中的用户QoE。[46]的研究利用了ISP网络中的SDN模型,使上述控制的实现成为可能。文献作者指出,这种由用户进行的控制不仅可以提高用户的QoE,而且还可以使ISP通过其服务获利并与市场上的其他ISP进行强有力的竞争。他们设计了一个GUI,允许典型用户在每个设备和每个应用程序的基础上指定他们的需求。然后,GUI将这些请求转换为ISP网络中托管的SDN控制器公开的相应API调用。最后,ISP的SDN控制器为请求确定适当的资源分配,然后将其配置到与该用户的访问链接关联的交换硬件中。Yiakoumis等人[47]也提出了一个非常类似的想法,该想法允许用户选择其应用程序的相对优先级,并向ISP指示其首选项,然后由OpenFlow控制器强制执行该首选项。

在文献[48]中研究了优化路径分配,同时提高了用户对多媒体服务的QoE水平。该系统旨在实现用户之间业务和网络通信参数的协商,并为提供相应的通信流找到一条路径。系统利用OpenFlow为用户设置网络路径以最大化QoE,同时考虑链路容量、延迟等网络资源和网络拓扑。该系统的两个主要组成部分是QMOF (QoS匹配与优化功能)和PAF(路径分配功能)。QMOF驻留在SDN应用程序层中,并进行初始参数匹配过程以产生可行的服务配置。PAF位于SDN控制层,在OpenFlow控制器上执行。它优化网络路径以满足当前活动服务配置的资源需求。在文献[49]中,作者提出了“Q-POINT”,这是一种基于QoE驱动的路径优化模型,该模型基于文献[48-68]提出并解决了多用户域范围内的QoE优化问题。他们的目标是根据资源约束和网络拓扑结构,为每个媒体流找到最佳路径,同时最大化SDN网络域中所有用户和服务流的用户期望QoE值。他们将问题表示为数学模型,并用混合整数表示线性程序。

在最近的研究中,动态调整比特率已被用于减少视频回放中的暂停和延迟时间。对于整体用户体验而言,这种想法有其自身的优势。但该模型也存在流量不稳定、突发、采用独立策略导致网络拥塞等问题。此外,可变比特率思想的另一个缺点是,用户要求在不知道网络上其他用户的情况下最大限度地满足自己的需求。“OpenFlow辅助的QoE公平框架(QFF)”[50]旨在减轻上述问题。QFF框架改善了所有网络和视频流设备的QoE,从而改善了用户以及网络资源和需求。QFF框架对网络中的视频流进行监控,可以动态调整流参数,合理增加用户的QoE。QFF利用在用户之间平均共享资源(特别是带宽)的想法,因为一个用户或设备可能有一个非常低的带宽率,尽管它的分辨率比另一个用户或设备高得多。这会导致用户的QoE降低。启用了OpenFlow的控制器在QFF框架的核心位置就可以控制其功能。

实时在线交互应用(ROIA),如实时策略(RTS)游戏(如Star-Craft)需要网络高度动态的QoS特性。由于在传统网络中缺乏对QoS的控制,ROIA目前在Best-effort的基础上使用网络。然而,这会导致终端用户的QoE不是最优的。文献[51,52]研究了如何利用SDN技术满足ROIA的动态网络需求,从而提高QoE。该研究提出一个北向API,包括基础API和应用级API两部分,以区分和映射面向应用的QoS指标和面向网络的QoS指标。基础API是SDN控制器和SDN模块之间的桥梁。它接收应用程序的高级QoS指标,并将它们转换为低级网络QoS指标,以便控制器可以提供。应用程序级API负责应用程序的高层QoS指标,并防止开发人员了解低层细节。

十、网络监控框架

SDN相较于传统网络架构的优势之一是能够有效利用网络资源和简化资源配置。SDN通过解耦数据平面和控制平面,使这些特性成为可能。这种数据平面和控制平面的分离简化了对网络的管理。网络运营商通过中央控制机制(即控制器)维护网络的全局视图。他们可以动态优化流量管理和资源。此外,对于网络管理员来说,按流量和应用程序级QoS的配置变得更加容易和可行。但是,要使所有这些功能成为可能,就需要精心设计的网络监控框架。网络监控应用于许多不同的应用领域,如QoS管理,资源利用,异常检测,流量工程等。它有助于从交换机,路由器(通过OpenFlow之类的南向API)和控制器(通过其他控制器的西|东向API)等网络组件收集数据。监控框架应该能够在请求的聚合级别(如per-flow,端口,流表等)和频率上收集,处理和交付监控数据,而不需要在网络中引入太多的监控开销。此外,他们还应注意评估的准确性和实时性。

OpenNetMon[53]是为POX控制器编写的一种网络QoS指标测试模块。它通过以自适应的速率轮询流进出交换机来监视per-flow的QoS指标。它利用查询流计数器来获得per-flow的吞吐量。他们从源交换机的数据包计数器的增量中减去目标交换机的数据包计数器的增量,以计算流量的丢包情况。计算路径延迟的方法是注入沿同一路径(即链接、节点、缓冲区等)传输的探测包。然而,注入这样的探测会给控制器带来额外的消息开销。

PayLess[54]是一个网络统计数据收集框架。PayLess框架充当网络应用程序和控制器之间的调节器。它转换了网络应用程序对控制器的高级监视需求,并防止应用程序处理统计信息收集和存储管理的低级细节信息。PayLess的作者提出了一种考虑轮询频率的自适应监控算法,通过只监控重要交换机来减少监控消息开销和监控统计数据的准确性。

在文献[55]中研究了一种用于SDN监控、可视化和配置的交互式方法。其提出的监视管理器检索关于网络的信息,并通过名为“基础结构同步器(Infrastructure SynchroNizer)”的模块将其存储在本地数据库中。此模块收集控制和数据信息,如流量统计和网络拓扑信息,并存储这些更改历史信息以及由网络管理员执行的与SDN相关的配置。

在文献[56]中介绍了一种基于OpenFlow方法的在线大型流量聚合的流量测量框架。所提出的模型适用于商业OpenFlow交换机,可用于各种测量任务。利用分级重打(Hierarchical Heavy Hitters ,HHH)流量问题来理解该框架中精度和开销之间的平衡。

OpenSketch[57]是一种测量架构,它在SDN网络中提供了三个阶段的包处理管道(散列、过滤和计数)。它通过在不同的sketch中简化对复杂交换机实现和参数调优的理解来帮助操作人员。它提出了一个度量库,为不同的sketch配置管道,并在任务之间分配交换机内存,以最大限度地提高准确性。OpenTM[58]专注于通过周期性轮询每个流量路径上的一个交换机,然后结合测量,来测量流量矩阵估计。在OpenTM中,在选择了交换机之后,会不断地查询它以收集流统计信息。轮询单个交换机不会给网络带来很大的负载,但如果没有仔细选择交换机,可能会影响准确性。OpenTM的一个缺点是,它仅限于生成供离线使用的流量矩阵,并且不捕获包丢失和延迟。OpenSAFE[59]使用OpenFlow来灵活监控网络工作流量的安全问题。它根据预先指定的策略将跨网络的流量定向到预定义的接收器(例如IDS)。虽然这种方法可以用来计算网络利用率(通过分析重定向流量),但它通过复制所有网络流量而产生的开销是过高的。OpenSAFE需要硬件投资来执行网络运营商不愿做的实际监控。

十一、其他QoS的相关机制

SDN/OpenFlow网络中的QoS不仅受路由,队列管理和QoE感知机制的限制。SDN的网络设计概念已在网络的许多广泛领域中进行了研究。在SDN/OpenFlow网络中,基于虚拟化的QoS配置,QoS策略管理,内容交付机制和测试平台QoS扩展是其他正在进行的研究。

基于虚拟化的QoS配置 近年来,许多研究努力集中在计算、存储、服务器和网络资源的有效虚拟化上,这些资源通过网络作为服务提供。虽然服务器虚拟化和存储虚拟化在效率和性能上取得了巨大的成功,但是由于网络运营商对网络工作设备控制面的限制,网络资源虚拟化并没有取得同样的成功。因此,SDN带来了一些相应功能,这些功能通过将底层网络基础结构抽象到应用程序而为按需虚拟化网络资源铺平了道路。Ayadi等[60]利用网络虚拟化和SDN模型来满足应用的QoS要求。其提出的VNOS(Virtual Network Operating System)平面是网络虚拟化的基础层。就SDN而言,它们使用一种分布式方法来管理每个网络中的QoS需求流。“网络即服务”框架用于SDN控制器之上的虚拟网络流管理。NaaS框架带来了对聚合流的管理和逻辑的创建虚拟网络。为了管理流的聚合,使用了称为solver 1的机制来根据流的QoS标准(如可用性、延迟、容量和可靠性)对流进行分类。这些标准与流的高、中、低级别相关联,然后将每个流分类为用于聚合的预定义服务类(CoS)。在对流进行分类和聚合之后,通过管理、控制和数据平面的交互创建一个逻辑虚拟网络。Q-Ctrl[61](QoS控制器)是一种架构,用于在基于SDN的云基础设施中以编程方式实现用户请求的QoS约束。Q-Ctrl系统能够通过OpenvSwitch(OVS)在虚拟覆盖网络中执行,物理网络基础设施配备了SDN控制器,或通过Mininet在模拟的SDN环境中执行。它为运行在云基础设施上的虚拟机调节和分配带宽。

QoS策略管理 通常服务水平协议(Service Level Agreements,SLA)用于建立QoS参数,以管理QoS-greedy的应用程序的流量,例如在线互动游戏,视频流和视频会议。每个SLA都包含一组服务级目标(Service Level Objectives,SLOs),这些目标用于派生网络级策略,这些策略又被转换为设备级原语(例如转发规则、队列配置、包丢弃速率和流量整形策略)。在DiffServ和MPLS等传统网络架构中,由于QoS级别粗粒度的静态流量类以及网络中专门软件或硬件组件的安装要求,使得这些QoS相关策略的管理十分困难。另一方面,SDN保证了丰富的北向API可能性和全局网络视图,它使网络运营商能够实施广泛的网络策略和快速的服务部署。Policy-Cop[62]项目旨在通过SDN/OpenFlow网络中的SDN北向API实现对QoS策略的灵活、易于控制和独立于供应商的管理。PolicyCop充分利用了OpenFlow的特性,使自己成为一个良好的管理框架。由于OpenFlow,它提供了按流(per-flow)控制和按需聚合。与DiffServ和MPLS相比,PolicyCop可以更轻松地进行流量定义,因为不需要关闭网络设备。由于其独立于供应商的功能,它保证了减少的运营开销并且易于在网络中部署。PolicyCop架构有三个面:数据面、控制面和管理面。数据平面和控制平面是典型的SDN平面。管理平面是PolicyCop框架的核心。它也分为两部分:策略验证器和策略强制器。策略验证器跟踪和检测策略违规,而策略强制组件负责处理任何策略违规并维护网络策略规则。

内容交付机制 SDN的主要优势之一拥有数据流量整形和控制的能力。它能够引导和自动化数据流量使某些应用程序如(视频点播(VoD))更容易实现QoS。视频点播业务的增长对内容网络的服务器带来了巨大的需求。然而,为了响应用户请求,这种需求负载会淹没网络资源,比如带宽、延迟等。如果一个来自网络A的用户从另一个网络B获得内容,而另一个来自网络A的用户从网络B请求相同的内容,OpenCache[63,64]可以减轻流量的重复。因此,内容需要再次遍历运营商的网络。OpenCache将VoD内容缓存在网络(即网络A)中,以避免这种重复。因此,它不仅减少了拥塞和低效率,而且增加了吞吐量和用户请求的响应时间。它仍然保持单播交付方式,以便可以维护现有的基础设施。为此,OpenCache利用SDN的数据平面和控制平面分离原理,将用户对相同内容的请求重定向到本地缓存。在Open-Cache框架中,有另一个称为缓存控制器的控制器,它是SDN控制器和缓存实例之间的中介(即连接)。缓存控制器允许重定向请求的连接。它还维护未配置网络的全局状态,以便修改和管理缓存实例。

测试台QoS扩展 基于供应商的复合设备结构需要考虑硬件和软件的支持,因此需要更多地关注测试平台的QoS支持。因此,基于开放流的测试平台(如OFELIA)中的QoS支持将为学术界和工业界对SDN /OpenFlow QoS的研究做出贡献并提供鼓励。作者通过对不同QoS设置和用例的全面研究,OpenFlow实验将以更灵活、用户友好和易于管理的方式支持更多QoS特性。研究了Ofelia项目中使用的不同设备的QoS特性,对其进行了全面的QoS性能分析。而且,它们通过将供应商特定的队列属性定义为选定的队列类型来扩展OpenFlow交换机Middleton和Modafferi[65]展示了他们在2年多的时间里在3类测试台设施上运行SDN网络实验的经验:商用Amazon EC2、商用前的FIWARE Lab实例联邦测试台和实验性OFELIA。我们对三个测试台的QoS监测、外部IP地址、网络片隔离可靠性等定性指标进行了比较并给出了结果。

基于IP的SDN网络QoS 尽管IETF提出了一系列IP网络中的QoS体系结构,但由于其结构复杂、缺乏对流的细粒度控制等缺陷,没有一种体系结构能够成功地统一起来。很明显,未来的网络体系结构(如SDN)可以作为上述问题的解决方案。然而,在现有的网络上使用这种新的架构需要一些做长期和根本的改变,如网络设备,网络运营商的培训等。因此,为了在短期内克服这种变化,人们正在研究传统网络与SDN网络的相互合作。SoIP (SDN over IP)[66]方法承诺为终端用户和使用SDN over IP概念的应用程序提供更好的QoS保证。SoIP的基本思想是更新或重构网络边缘,构建基于SDN的Overlay网络,利用其对流量的流量控制,同时网络核心维护现有的基于IP协议报头的ToS域的差异化服务。该方法既保留了现有的基础设施和网络设备,又提高了资源利用率和QoS保障。

SDN和Hadoop的QoS 高级控制分布式处理架构(ACDPA)[67]利用SDN和Hadoop软件框架为流量提供更好的QoS。它使用SDN进行网络抽象和控制,使用Hadoop处理来自数据平面的大量数据。在ACDPA中,Wireshark数据包嗅探器(Wireshark packet sniffer)用于捕获来自网络的数据包。然后使用Hadoop处理捕获的关于分类的数据包,并将结果交给控制器。SDN控制器为流提供相应的优先级,并将相关的流规则传播给交换机,以提供QoS。

十二、相关讨论

随着SDN网络的成熟,SDN/OpenFlow网络中的QoS配置问题值得学术界和业界更多的研究。在本小节中,我们解释了在SDN/OpenFlow环境中完成QoS能力需要进一步注意的几个主要问题。

跨域QoS配置(Inter-AS QoS Provisioning):目前的研究大多集中在域内QoS的配置上,虽然单域问题很重要,但在域间级别上支持流的QoS可能更加关键和困难,原因有两个:首先,因特网上的大部分通信是在属于不同自治网络的主机之间进行的(即主机间通信)。其次,网络管理员避免共享与网络相关的内部配置,因为它们是专有的。SDX (Software Defined Internet Exchange)项目[68,69]试图实现在IXPs (Internet Exchange Points)中使用SDN进行域间路由,使转发更具表达性、灵活性和目的地无关性。它的目的是利用SDN的特性来弥补目前事实间路由协议BGP[70]的不足。SDX可以在今天的路由基础设施中支持一些困难和复杂的应用程序:基于域或特定于应用程序的对等的、可执行的域间路由策略、远程流量控制、基于时间的路由、广域服务器负载平衡等等。SDX还面临一些挑战,例如为AS路由选择过程开发适当的隔离机制,向后兼容以及解决AS之间潜在的策略冲突。有相似的研究[71]展示了一种“控制交换点(Control Exchange Point,CXP)”的架构模型,该模型动态地缝合ISP提供的部分路径(称为路径),并为服务提供端到端QoS。CXP利用SDN设计原则,比如路由控制平面与数据平面的解耦以及控制集中。CXP的任务是接收QoS保证的端到端路径的请求,在域间虚拟拓扑中嵌入路径,并监控提供的QoS保证。在SDN示例中,用于缓解域间路由的另一种方法是利用功能更强大的控制器(通常称为“代理”),并在不同的AS上具有完整的全局网络视图。该控制器连接到其他AS的域控制器。FlowBroker[72]体系结构建议使用与网络控制器连接的代理。这些代理从每个关联域收集网络状态更新,并形成相应的本地和全局链接状态表。当一个inter-as流请求到达一个代理时,代理计算出一条满足请求网络指标(如包丢失率、延迟等)的路径,并将该路径信息发送给该路径上的控制器。这种代理方式的主要问题是24个网络运营商认为他们的内部配置是专有的,不愿意与第三方控制机制共享它们。可扩展会话协议(XSP)[73]支持跨域的网络工作资源的应用驱动配置。XSP提供了支持动态网络服务配置的机制,以支持GridFTP等应用程序。XSP库和API将应用程序与标准接口合并,以定义确定网络路径的参数。然后,XSP守护进程(XSP Daemon,XSPd)管理这些路径的实现,该守护进程在向应用程序提供反馈的同时向基础供应服务发出信号。

QoS信令开销(QoS Signaling Overhead):SDN是一个逻辑上集中的架构。这种结构通过从数据平面元素到控制器的统计信息,在网络(控制器)的控制机制上收集所有与QoS相关的信令消息(即开销)。OpenFlow使网络运营商可以按per-flow或流量汇总等不同流量收集统计信息。但是,每种收集方法都是有代价的。虽然per-flow方法在QoS相关状态方面提供了更细的细粒度,但它存在可伸缩性问题。另一方面,统计信息的聚合减少了容量问题,但限制了OpenFlow的细粒度流独立性语义。同样,在SDN/OpenFlow环境中,控制器可以轮询交换机以收集有关活动流的统计信息。或者,它可以请求交换机以特定频率(即周期性)推送流统计信息(在流超时时)。此外,一个重要的问题是QoS信息应该多久从网络部件发送到控制器。尽管频繁地从数据平面提取统计信息可以帮助控制器维护网络状态的最新全局视图,但由于处理信息的原因,它会给控制器带来额外的开销。因此,这一过程是测量精度、实时性和信号开销之间的权衡,从而导致控制器的控制平面可伸缩性问题。PayLess[74]框架通过用于流统计信息收集的RESTful API提供不同的流聚合级别。它使用一种自适应统计收集算法,实时提供高度准确的信息,但不引起严重的网络开销。与周期性轮询策略相比,该算法可以实现接近于常量周期性轮询方法的准确性,同时减少高达50%的消息传递开销。

十三、总结

如今,在现有的网络体系结构中提供QoS仍然是研究的热点问题。 互联网中新兴的应用程序(例如视频流,VoIP等)会产生各种流量,需要对每种流量进行不同的处理。但是,使用现有网络模型来满足这些流量的QoS需求是较为困难的。因此,已经有研究人员开始使用SDN网络模型和OpenFlow协议来解决这种问题,因为SDN网络和OpenFlow协议带来了集中的全局网络视图以及网络中更多的细粒度流管理机会。与传统的网络结构相比,SDN的这些特性和性能优势使其能提供解决传统网络QoS问题更好的解决方案,能以更简单、更灵活的方式为这些新型应用提供QoS安全机制。本篇文章根据SDN最能突出QoS的类别的概念对相关研究进行了组织:多媒体流路由机制,域间路由机制,资源预留机制,队列管理和调度机制,体验(QoE)感知机制,网络监视机制以及其他以QoS为中心的机制。另外本文还概述了SDN/OpenFlow网络中需要进一步解决的潜在挑战和尚未解决的问题。

点击查看:参考文献


  • 本站原创文章仅代表作者观点,不代表SDNLAB立场。所有原创内容版权均属SDNLAB,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用,转载须注明来自 SDNLAB并附上本文链接。 本站中所有编译类文章仅用于学习和交流目的,编译工作遵照 CC 协议,如果有侵犯到您权益的地方,请及时联系我们。
  • 本文链接https://www.sdnlab.com/24212.html
分享到:
相关文章
条评论

登录后才可以评论

蒋暕青 发表于20-06-19
2