基于SDN的QoS保障机制研究与分析

2018-03-11 05:05张俊
江苏通信 2018年6期
关键词:队列报文路由

张俊

中通服咨询设计研究院有限公司

0 研究背景

随着网络应用的不断创新与增量部署,运营商网络需要承载的数据流量及业务信息呈“爆炸式”增长。同时,医疗、公安及无人驾驶等垂直行业也对网络性能不断提出新的需求,这将给传统IP网络带来巨大的压力,如果仍采用“尽力而为”的传输方式,将难以满足复杂性和动态性的需求。为此,运营商通常采用“过度配置”的方式来确保他们所期望的服务质量,这将导致大量网络资源的浪费。并且,传统IP网络由交换机、路由器、防火墙以及各种类型的中间件组成,为了能够在现网中提供相关QoS保障,需要在这些设备中添加繁多的协议支持,这将使得网络复杂度越来越高,管理难度不断上升,最终到达网络性能瓶颈状态。SDN通过解耦转发平面与控制平面,为上层应用及网络服务提供商抽象底层网络基础设施,提供开放的接口,使得网络可编程,简化了网络的配置与管理,为复杂网络的QoS保障机制提供了更多的可能性,SDN网络架构如图1所示。通过逻辑集中的控制平面,能够获取全网的拓扑和相关QoS参数信息,包括链路、主机以及交换机等状态信息,网络管理员通过REST API北向接口来制定路由策略,采用OpenFlow南向协议以更加细粒度的方式处理网络流量,为应用流选择最佳的路由路径,以满足应用在传输过程中的QoS约束需求。

1 传统QoS保障机制

图1 SDN架构

为了保障应用服务质量并且提升端到端网络性能,在传输数据流量前,需要在发送端和接收端之间为每种应用选择一条最佳路由,这对于紧耦合的IP网络架构而言,实现起来困难。

针对端到端网络性能的差异化需求,学术界和产业界均探索出相关解决方案,以下将分析3种经典方案:IntServ(Integrated Services,综合服务)、DiffServ(Differentiated Service,区分服务)以及MPLS (Multi-Protocol Label Switching, 多协议标签交换)。

IntServ由 IETF(The Internet Engineering Task Force, 互联网工程任务组)提出,用于在端到端流量传输过程中,基于每条流提供QoS保障。在发送数据流量前,应用提出特定QoS约束请求,网络设备通过RSVP(Resource Reservation Protocol,资源预留协议)信令协议在网络中申请特定网络资源,如带宽、时延等,只有在获取到确认信息后,网络设备才开始发送数据流量。虽然该机制能够有效地满足应用QoS约束需求,但是在传输链路中,网络设备均需支持RSVP信令协议,存储与服务相关的网络状态信息,导致网络负载过高,难以管理,可扩展性较差,并且该机制不适用于较短生命周期的应用流。

为了应对IntServ扩展性差的问题,IETF又提出了DiffServ,该机制基于队列优先级和带宽分配创建一组不同的服务类型,如带宽、时延和丢包率等。发送数据流量前,在网络入口或边界,检查数据报内容,使用预先配置的应用类型进行分类,差分服务类由IP数据报报头的DSCP(Differentiated Services Code Point,差分服务标记字段)来表示,通过这些字段选择网络中转发的节点,路由器根据DSCP字段执行PHB(Per Hop Behavior,逐跳行为),PHB即转发设备对报文的处理行为,每个PHB与一种转发方式或QoS要求相对应,能够划分为类选择器、加速转发、确保转发和尽力而为转发四大类,从而提供一定程度上的QoS保障。然而,由于该机制以相同的方式处理相同类别的数据报,且采用逐跳的机制,导致无法适用于基于流的端到端QoS保障。

同样的,MPLS也由IETF提出,该机制通过标签技术减少复杂的路由表查找过程。边界路由器基于FEC(Forwarding Equivalence Class,转发等价类)在每个报头添加一个标签,数据报根据该标签进行高速的转发与路由,并且它能够与IntServ和DiffServ结合使用。但是该机制部署比较复杂,管理困难,并且属于静态的,用于动态QoS保障的代价较大。

综上所述,现有QoS保障机制由于建立在当前互联网分布式架构之上,缺乏全网资源的动态监控,并且逐跳路由的方式无法动态地适应当前网络飞速发展的需求,因此并不能够真正意义上便捷有效地为服务提供商、企业或终端用户提供端到端QoS保障。

2 基于SDN的QoS保障机制

SDN转控分离、网络开放可编程等特性,使得网络管理员能够简单高效地在所部署的SDN架构中编写动态的、定制化的程序,用于管理、配置并优化网络资源。比如通过OpenFlow协议采集网络性能参数,设计并实现了基于遗传算法的QoS路由算法,能够快速地找到满足应用需求的可行路径。OXP(Open eXchange,开放性可变长协议)协议针对多管理域场景,设计了一种高效且支持多模式的东西向接口协议。同样的,WE-Bridge采用了完全分布式控制平面,解决了SDN 网络中单一控制平面所面临的瓶颈问题,为互联网的QoS保障机制提供了一种新的解决思路。以下将分别从SDN架构对QoS的支持和OpenFlow协议对QoS的支持两个方面进行阐述。

2.1 SDN架构对QoS的支持

通过对SDN“3个平面、3个接口”架构的研究与分析,可以发现该架构在QoS保障中展现出以下几项突出优势:

(1)应用感知的流量工程:逻辑集中的控制平面,使得应用层能够通过控制平面获取数据平面实时的网络资源信息,并且结合DPI(Deep Packet Inspection,深度包检测)技术实现应用分类,网络管理员能够定义应用与QoS优先级队列间的映射表,更好地适应动态的应用需求。

(2)网络资源监控与端到端QoS支持:控制平面通过OpenFlow南向协议与数据平面进行交互,对域内网络资源进行实时监控,如链路带宽、链路传输时延等。

(3)网络功能虚拟化:在SDN架构中,通过OpenFlow南向协议实现网络切片,用以创建特殊的专用网络,适应垂直行业的差异化需求。

(4)区分服务:在会话、用户、设备、应用程序级别上,通过OpenFlow多域匹配的方式,能够实现更加细粒度的网络控制,并且允许网络提供商提供不同代价的策略。

(5)多路径路由:当发送/接收端之间存在多条物理链路时,根据OpenFlow多匹配域的特性,能够实现多路径路由,充分合理有效地使用网络资源。

2.2 OpenFlow协议对QoS的支持

OpenFlow作为SDN网络架构中南向接口的一种实现方式,由斯坦福大学提出,规范由ONF(Open Networking Foundation,开放网络基金会)制定与维护。目前,OpenFlow已经从最初的1.0版本发展到了1.5版本,其中,OpenFlow1.3版本最为稳定,被广泛采用。

1.0版本中包含一个可选项“enqueue”,数据流通过依附在端口上的队列进行转发,一个OF交换机根据端口情况,通过OF-CONFIG协议配置一个或多个队列,包括Minrate、Maxrate和Experiment 三种参数,控制器通过南向协议查询交换机的队列信息。但是,该版本只允许单张流表,无法满足应用的多样化需求。为此,1.1版本采用多级流表的方式,增加对VLAN和MPLS标签的匹配以及流量类型的支持。1.2版本中添加了最高速率队列属性。

1.3版本通过采用Meter表实现限速功能,结构如图2所示。每条流表项都能够在相关指令集中定义一个Meter表,用于限速的实现。一条流表只能绑定一条Meter项,一条Meter项能被多条流表绑定,每个Meter表可以包含一个或多个Meter Bands,用于定义Band类型与速率。

并且,Meter表能够与“set_queue”队列设置操作结合使用,以提供复杂的QoS支持,如DiffServ等。

图2 Meter表

3 应用场景分析

以下将分别从“多媒体流QoS约束路由”和“域间QoS路由”两种应用场景进行分析,验证基于SDN的QoS解决方案的可行性与有效性。

3.1 多媒体流QoS约束路由

近年来,多媒体应用发展迅猛,如视频会议、互动游戏和VoIP(Voice over Internet Protocol,网络电话)等,并且这些应用对端到端网络带宽、时延等都有着严格的要求,因此需要采用更加复杂且高效的路由协议来满足QoS需求。然而,由于现有互联网路由协议无法获取全局网络视图,以及现有QoS保障机制匮乏等局限性,在现网中高效地传输多媒体流将面临各种挑战。SDN凭借诸多优势为“多媒体流QoS约束路由”提供了一种新的解决方案,采用SDN架构的网络部署方式如图3所示。首先,通过分流设备,数据流量能够大致被分为两种队列,一种是带有QoS约束的高优先级队列(如视频会议等),一种是采用“尽力而为”的低优先级队列。

图3 SDN部署方式

具体流程如下:

(1)SDN控制器采用OpenFlow协议获取网络拓扑及链路、节点信息,并且采集相关QoS参数信息。

(2)新的应用流到达交换机,由于没有匹配的流表项,则将报头通过packet-in消息上送至控制器。

(3)控制器查看报头信息,区分应用类型。

(4)如果该应用流不带有QoS约束需求,则考虑低优先级队列,根据控制器中的默认路由算法(如迪杰斯特拉算法)进行路由计算,计算结果为<发送端-S2-S3-S5-接收端>,并采用OpenFlow协议下发流表。

(5)如果该应用流带有QoS约束需求,仍采用迪杰斯特拉算法计算最短路径,即<发送端-S2-S3-S5-接收端>,当遇到链路拥塞、处理时延过大等问题时,难以提供QoS保障。因此,对于带有QoS约束需求的应用流,需考虑高优先级队列,SDN控制器根据全网拓扑及链路状态信息,通过路由模块计算满足需求的K条备选链路,最终选择代价最小的链路,这类“约束最小代价路径”问题是NP难度的,可采用LARAC算法进行求解,计算结果为<发送端-S2-S1-S4-S5-接收端>,并采用OpenFlow协议下发流表,该转发链路虽然跳数更多,但是由于链路状态更好,所以更加符合QoS的约束需求。

上述分析结果表明,SDN逻辑集中控制的方式能够快速响应特定应用对网络性能的定制化需求,并且通过优先级队列的方式能够有效地实现多媒体流的QoS约束路由。

3.2 域间QoS路由

传统网络针对跨域路由所提供的解决方案,大多是采用BGP(Border Gateway Protocol,边界网关协议)。通过分布式部署模型虽然能在一定程度上满足网络的扩展性要求,但是“hop-by-hop”的路由决策机制以及基于目的地址前缀的单路径通告方式,由于路由过程中缺乏协商,各域内的局部最优路由无法保证全局最优,从而造成用户的体验质量(Quality of Experience,QoE)下降。SDN网络具有集中控制、多匹配域等优势,能够细粒度地实现路由策略的表达,并且,各管理域控制平面都能够获取到各自域内网络节点信息及相关服务质量参数信息,这将为域间交互与协商带来诸多便利。多管理域拓扑如图4所示。

图4 多管理域拓扑图

该部署方案采用完全分布式的控制平面,能够有效地应对网络不断扩展的趋势。其中,转发设备间不再互相共享网络状态信息,而是通过OpenFlow南向协议将本地状态信息直接发送给控制平面,各域的控制平面通过与邻域控制平面间信息的交互,并触发协商,决策域内路由以及到下一管理域的域间路由,根据协商的结果,再通过南向接口对数据平面进行相应的配置。

路由信息传递与更新的具体流程如下:

(1)控制器C1、C2和C3均运行Speaker实例,并且发生HELLO报文,与相邻Speaker实例间建立TCP连接。

(2)Speaker间交互OPEN报文,建立邻居关系后,进入ESTABLISHED模式。

相邻两方在ESTABLISHED模式下交互UPDATE报文,完成路由信息的传递与更新。C1解析IP报头信息。若目的IP地址在当前域,则根据域内拓扑及相关QoS参数信息,根据本文3.1中所述方案完成域内QoS约束路由。若目的IP地址非本域,则根据NLRI,结合应用需求及域内路由策略,选择最佳下一管理域C2,触发域间协商。域间协商与路由的具体流程如下:

(1)C2接收到C1的协商请求报文后,检查是否与本域策略冲突,若冲突则直接拒绝;否则根据协商请求报文中的应用QoS需求,计算转发路径。倘若存在满足需求的网络资源,则回复ACCEPT报文及对应的代价信息,否则回复REJECT报文。

(2)倘若目的IP不在C2所管辖的域中,则C1重复以上步骤,与C3进行协商。

(3)最终,C1如果收到的报文为ACCEPT,代表协商成功,各控制器根据协商结果配置域内交换机。

(4)当控制器发现域内资源无法满足之前协商的SLA(Service-Level Agreement,服务等级协议)约定或域内/间链路发送故障时,触发协商通知,及时响应并重路由。

上述分析结果表明,将SDN架构运用于多管理域间的路由,首先能够降低频繁路由信息交互带来的网络负载;其次,能够方便地实现管理域间关于应用QoS约束的请求与协商,以及灵活的SLA约定,为关键应用提供端到端服务质量保障。

4 结束语

垂直行业对于网络性能的迫切需求,以及传统QoS保障机制在实施与部署过程中所存在的诸多缺陷与弊端,使得传统IP网络面临艰巨的挑战。SDN的兴起,打破了现网封闭式的网络架构,简化了网络配置与管理,提高了网络的灵活性,为QoS保障带来了新的机遇。本文结合SDN架构思想以及南向协议标准OpenFlow,研究了基于SDN的QoS保障机制。对于“轻负载”的网络环境,直接选择满足QoS约束的端到端路由路径;对于“重负载”的网络环境,通过队列优先级机制来实现。并在此基础上,对两种应用场景进行了假设,分别从域内和域间两个角度展开理论论证与分析,表明SDN在现网QoS机制的改进工作方面具备很好的应用价值。

猜你喜欢
队列报文路由
基于J1939 协议多包报文的时序研究及应用
CTCS-2级报文数据管理需求分析和实现
队列里的小秘密
基于多队列切换的SDN拥塞控制*
铁路数据网路由汇聚引发的路由迭代问题研究
多点双向路由重发布潜在问题研究
浅析反驳类报文要点
一种基于虚拟分扇的簇间多跳路由算法
路由重分发时需要考虑的问题
在队列里