资源描述
QoS技术白皮书1 概述1.1 QoS 技术产生背景在传统的ip网络中,所有的报文都被无区别的等同对待,每个网络设备对所有的报文均 采用先入先出的策略进行处理,它尽最大的努力(Best-Effort)将报文送到目的地,但对 报文传送的可靠性、传送延迟等性能不提供任何保证。网络发展日新月异,随着IP网络上新应用的不断出现,对IP网络的服务质量也提出了新 的要求。例如VoIP和视频等时延敏感业务对报文的传输时延提出了较高要求。如果报文传送 延时太长,将是用户所不能接受的(相对而言,E-Mail和FTP业务对时间延迟并不敏感)。 为了支持具有不同服务需求的语音、视频以及数据等业务,要求网络能够区分出不同的通信, 进而为之提供相应的服务。传统IP网络的尽力服务不可能识别和区分出网络中的各种通信类别,而具备通信类别的 区分能力正是为不同的通信提供差异化服务的前提,所以说传统网络的尽力服务模式已不能 满足应用的需要。QoS技术的出现便致力于解决这个问题。1.1.1 QoS服务模型通常,QoS提供以下三种服务模型: 尽力而为服务模型:是最简单的服务模型,对时延、可靠性等性能不提供任何保证。 综合服务(IntServ)模型:它可以满足多种QoS需求。该模型在发送报文前,通过RSVP 信令向网络申请特定的服务。该模型目前实际应用较少。 差分服务(DiffServ)模型:它可以满足不同的QoS需求。差分服务是业界认同的IP骨 干网的QoS解决方案。本文所描述的下面QoS技术都是基于差分服务模型,下面重点介绍该服务模型。1.1.2差分服务模型概述DiffServ在应用程序发出报文前,不需要通知设备为其预留资源。网络不需要为每个流 维护状态,它根据每个报文的差分服务类,来提供特定的服务。一个业务流的差分服务类由其IP报文头中的差分服务标记字段DSCP来表示。在实施DiffSer v的网络中,每一台设备都会根据数据包的DSCP字段执行相应的PHB,主要包括以下三类PHB: EF:主要用于低延迟、低抖动和丢包敏感的业务,这类业务一般以一个相对稳定的速率 运行,需要在设备中进行快速转发。 AF:这类业务在没有超过最大允许带宽时能够确保转发,一旦超出最大允许带宽,则将 转发行为分为4类,每类又可划分为3个不同的丢弃优先级,其中每一个确保转发类都 被分配了不同的带宽资源。IETF建议使用4个不同的队列分别传输AFlx、AF2x、AF3x、AF4x业务,并且每个队列提供3种不同的丢弃优先级,因此可以构成12个有保证转发 的 PHB。 BE:尽力转发,主要用于对时延、抖动和丢包不敏感的业务。在MPLS网络上应用DiffServ 有以下两种方案: 在以太网等网络中,MPLS报文在二层链路层数据和三层网络层数据之间有一个薄层(Shim),我们扩展薄层中未用的字段一一XP (包含三个位),由这几个位来决定报 文的队列调度及丢弃的优先级。 在ATM、FR等网络中,其MPLS报文没有薄层(Shim),可针对FEC和QoS请求的组合 来分配标签,而不同于以前仅针对FEC分配标签。这样在收到一个MPLS报文后根据收 到报文的标签就可以确定发出报文的标签及报文所要求的服务。RFC 3270描述了MPLS/Differserv优先级标记的三种模式:Uniform、Pipe、Shortpipe。113差分服务模型的优缺点DiffServ只包含有限数量的业务级别,状态信息的数量少,因此实现简单,扩展性较好。DiffServ的不足之处是很难提供基于流的端到端的质量保证。尽管IETF为每个标准的 PHB都定义了推荐的DSCP值,但是设备厂家可以重新定义DSCP与PHB之间的映射关系。因此不 同运营商的DiffServ网络之间的互通还存在困难,不同DiffServ网络在互通时必须维护一致 的DSCP与PHB映射。1.2拥塞的产生、影响和对策传统网络所面临的服务质量问题,主要是由网络拥塞引起的。所谓拥塞,是指由于供给 资源的相对不足而造成转发速率下降、引入额外的延迟的一种现象。1.2.1拥塞的产生在Int erne t分组交换的复杂环境下,拥塞极为常见,以图1所示的两种情况为例: 分组流从高速链路进入设备,由低速链路转发出去。 分组流从相同速率的多个接口同时进入网络设备,由一个相同速率的接口转发出去。旅同逋率接丨1流屋的圳案相同速率援口流虽的拥塞图1流量拥塞示意图1.2.2 拥塞的影响拥塞有可能会引发一系列的负面影响: 增加了报文传输的延迟和抖动,过高的延迟会引起报文重传。 网络的有效吞吐率降低,造成网络资源的利用率降低。 加剧会耗费大量的网络资源(特别是存储资源)。 导致设备丢包。可见,拥塞使流量不能及时获得资源,是造成服务性能下降的源头。然而在分组交换以 及多用户业务并存的复杂环境下,拥塞又是常见的,因此必须慎重加以对待。1.2.3 对策增加网络带宽是解决资源不足的一个直接途径,然而它并不能解决所有导致网络拥塞的 问题。解决网络拥塞问题的一个更有效的办法是在网络中增加流量控制和资源分配的功能,为 有不同服务需求的业务提供有区别的服务,正确地分配和使用资源。在进行资源分配和流量 控制的过程中,尽可能地控制好那些可能引发网络拥塞的直接或间接因素,减少拥塞发生的 概率;在拥塞发生时,依据业务的性质及其需求特性权衡资源的分配,将拥塞对QoS的影响 减到最小。QoS旨在针对各种应用的不同需求,为其提供不同的服务质量,例如:提供专用带 宽、减少报文丢失率、降低报文传送时延及时延抖动等。为满足上述要求,H3CS12500数据 中心级核心交换机(以下简称为S12500)提供了下列QoS功能: 大容量缓存 流分类 报文优先级标记 流量监管 网络拥塞管理 网络拥塞避免 流量整形2 QoS 技术优点 支持大流量突发缓存能力。 当前单板最大支持48k队列,在出端口上统一调度。 交换网路由动态更新,实时生成路由表,转发时各条链路均衡分担,防止假阻塞。 强大的流识别能力。S12500支持强大ACL功能(ACL规则长度最大可达80字节),通 过ACL规则可以对报文进行全面识别和分类,不局限于根据报文L2L5层常用字段进 行分类。同时,用户可以根据实际情况配置不同生效范围的流分类规则,支持入方向/ 出方向流分类。 流分类规则以策略的形式组织,用户可自由配置策略的生效范围(全局、VLAN或端口)。 支持动态修改已经生效的QoS策略,修改过程中不影响流量匹配,不会形成安全黑洞。 支持全面的报文优先级标记,优先级映射表支持全面。 支持入方向/出方向的流量监管,支持单速率三色算法和双速率三色算法,速率和突发 值配置粒度小,并且分段实现,更加贴近实际应用。 支持SP、WRR的拥塞管理算法,并且提供拥塞管理Profile配置,使得用户使用更加方 便,配置简捷。 支持Tail-Drop、WRED等拥塞避免算法,可以实时查询拥塞算法的结果。3 QoS技术实现3.1QoS技术实现流程/凰r应苦jqds分/ |S3流星监背报文优光耀里标诣逊贡分类据用户自定文就去统计字段进行流分类.T.f1TQoS技术实现流程图图2Port QoSOut CAR凰T;茁QoS仃配 仪据L2 -L5(a S:il带宽保证 出端口流凰整形呈T端【iQoS- 配佶住报文忧先级 车佶住樱丈忧光忧先级流植曲管 报丈优先缎我标记 丢枭I硼丈 流凰统计1r1EPCLACARSc he du ler3.2流分类321流分类简介流分类采用一定的规则识别符合某类特征的报文,它是对网络业务进行区分服务的前提 和基础。通过流分类规则区分网络中不同的报文,再为不同服务等级的报文指定不同的QoS 参数。流分类规则可以很简单,比如可根据IP报文头的ToS字段,识别出有不同优先级特征 的流量;也可以很复杂,如根据数据链路层(Layer 2)、网络层(Layer 3)、传输层(Layer4) 中的某些字段(例如MAC地址、IP地址以及应用程序的端口号等)来进行分类。3.2.2流分类字段用户可根据报文的L2L5层字段进行分类,包括:源MAC地址、目的MAC地址、802.1P、 VLAN ID、以太网协议类型、VPN-Instance、EXP等。除这些常用字段外,还支持用户自定义 流分类规则,用户可以通过配置报文头偏移来实现对报文全面识别和分类。323 QoS策略的三要素QoS策略包含了三个要素:类、流行为、策略。1.类类是用来识别流的。类的要素包括:类的名称和类的规则。用户可以通过命令定义一系 列的规则,来对报文进行分类,同时用户可以通过命令指定规则之间的关系: and:报文只有匹配了所有的规则,才认为报文属于这个类。 or:报文只要匹配了类中的一个规则,就认为报文属于这个类。2流行为流行为用来定义针对报文所做的QoS动作。流行为的要素包括:流行为的名称和流行为 中定义的动作。用户可以通过命令在一个流行为中定义多个动作。3.策略策略用来将指定的类和指定的流行为绑定起来。策略的要素包括:策略名称、绑定在一 起的类和流行为的名称。用户可以通过命令在一个策略中定义多个类与流行为的绑定关系。 用户通过QoS策略将指定的类和流行为绑定起来,然后再将策略应用(绑定)到一个对象(可 以是全局、VLAN或端口)。这样处理很直观,便于理解,方便用户进行QoS配置。3.3报文优先级标记与映射331报文优先级简介报文优先级用以标识报文的调度权重或者转发处理优先级别的高低。根据报文类型不 同,有不同的优先级类型。802.1P优先级802.1p优先级位于二层报文头部,适用于不需要分析三层报头,而需要在二层环境下保 证QoS的场合,结构如下:DestinationAddressSourer AddressheaderLenat h/Typ8ataFCSfCRC-32TPIETCI6 bytes6 bytss. 4 byt色鼻 2 byt站 46-15004 b址段占图3带有802.1Q标签头的以太网帧如图3所示,4个字节的802.1Q标签头包含了2个字节的TPID(TagProtocolldentifier , 标签协议标识,取值为0x8100 )和2个字节的TCI ( Tag Controllnformation,标签控 制信息),其中TCI中的前3位即802.1p优先级。图4显示了 802.1Q标签头的详细内容。Bte 1Byte 2:Byte 4TPItXTag pwtoco-l Idefitifisr)TGI(Ta-g coniroE infarinaiion)10000C100000000Priority* GFIVLN ID7654121076543210765432 1075543210图4 802.1Q标佥头 IP优先级和DSCP优先级Bits: 0 12 3 4 5 6 7S?CPCUClass Spector codepoints匚 urrerrtly UnusedIP Type of Sersica (ToS) RFC 791DS-Fi&ld tforEPv4,TcS cot el; anti-far IPvfi.Traffic 仁随& o ctet)IP报文使用IP优先级和DSCP优先级表示报文优先级。IP header的ToS字段有8个bit,其 中前3个bit表示的就是IP优先级,取值范围为07;在RFC 2474中,重新定义了IP报文头部 的ToS域,称之为DS (Differentiated Services,差分服务)域,其中DSCP优先级用该域的 前6位(05位)表示。DiffierentiatBd ServicesCodepoint (DSCPiRFC 2474图5 IP优先级和DSCP优先级 EXP优先级MPLS报文使用EXP表示报文优先级。019222331LsbelExpTTL图6 EXP优先级除了报文的各种优先级之外,还有两类优先级:本地优先级(LP)和丢弃优先级(DP)。 本地优先级用于确定交换网转发和出接口发送时入队列号,值越大优先级越高;丢弃优先级 用于确定报文的丢弃级别,值越大丢弃概率越大。它们是拥塞管理和拥塞避免的基础。332报文优先级标记与映射实现报文优先级标记即设置(标记)报文的优先级为指定的值oS12500支持的报文优先级有: 802.1P、EXP、DSCP、LP、DP。其中入方向支持以上全部优先级映射;出方向支持802.1P、 DSCP、 EXPo报文数据流进入设备端口之后,设备会根据端口配置的信任模式来分配报文的各类优先 级。端口的信任模式有以下几种: Untrust Mode默认情况下,端口模式为Unt rus tMode,即不管报文带的原始优先级是什么,都会 给它分配管理员配置的优先级。Unt rust Mode适合配置在网络边缘端口。 Trust DSCP Mode配置为TrustDSCPmode时,先取报文的DSCP值作为索引,查DSCP-QoS映射表,得 到报文的802.1P、EXP、DSCP、LP、DP,在设备内转发的时候使用LP和DP作为拥塞处理 的优先级值。当报文从设备转发出去时,如果需要打VLAN tag,则把映射后的802.1P值更新到出 报文的VLA Nt ag中;如果出报文封装MPLS Label,则把映射后的EXP更新到报文的Label 中;如果出报文为IP报文并且配置模式时带Override关键字(该参数表示通过优先级映 射表取得的优先级将覆盖报文本身的优先级),则把映射后的DSCP更新到报文的IP头中。 如果报文为非IP报文,则采取Un trust Mode。 Trust 802.1P Mode当配置为Trust 802.1P mode时,先取报文的802.1P值作为索引,查802.1P-QoS 映射表,得到报文的802.1P、EXP、DSCP、LP、DP,在设备内转发的时候使用LP和DP作 为拥塞处理的优先级值。当报文从设备转发出去时,如果需要打VLAN t ag并且配置模式时带Override关键 字,则把映射后的802.1P值更新到出报文的VLAN t ag中;如果出报文封装MPLSLabel, 则把映射后的EXP更新到报文的Label中;如果出报文为IP报文,则把映射后的DSCP更新 到报文的IP头中。如果报文为Un tag报文,则采取Un trust Mode。 Trust EXP Mode当配置为Trust EXP mode时,先取报文的EXP值作为索引,查EXP-QoS映射表,得 到报文的802.1P、EXP、LP、DP,在设备内转发的时候使用LP和DP作为拥塞处理的优先 级值。当报文从设备转发出去时,如果需要打VLAN tag,则把映射后的802.1P值更新到出 报文的VLA Nt ag中;如果出报文封装MPLS Label,则把映射后的EXP更新到报文的Label 中。如果报文为非MPLS报文,则采取Unt rust Mode。 Trust Auto Mode当配置为Trust Auto mode时,处理方式与Trust EXP Mode、Trust 802.1P Mode 以及Trus t DSCP Mode模式相似,只不过对于不同的入报文类型取不同的优先级作为索引查 映射表。3.4流量监管3.4.1流量监管简介流量监管的典型应用是监督进入网络的某一流量的规格,把它限制在一个合理的范围之 内,或对超出的部分流量进行惩罚”以保护网络资源和运营商的利益。例如可以限制HTTP 报文不能占用超过50%的网络带宽。如果发现某个连接的流量超标,流量监管可以选择丢弃 报文,或重新设置报文的优先级。流量监管广泛的用于监管进入Int erne t服务提供商的网络流量。流量监管还包括对所监 管流量的流分类服务,并依据不同的评估结果,实施预先设定好的监管动作。这些动作可以是: 转发:比如对评估结果为“符合”的报文继续正常转发的处理。 丢弃:比如对评估结果为“不符合”的报文进行丢弃。 改变优先级并转发:比如对评估结果为“不符合”的报文,降低其优先级后再转发。3.4.2流量监管模型S12500支持两种流量监管模型:单速率三色模型和双速率三色模型。CBS图7单速率三色流程示意图PBSCBSExceedCon firm ed图8双速率三色流程示意图流量监管支持入方向和出方向分别监管,满足不同应用需求。3.4.3流量监管的处理流量监管后报文会被标记成三种颜色:绿色、黄色和红色。对于绿色报文和黄色报文可 以采取的动作为报文优先级重标记,流量统计;对于红色报文可以采取的动作为丢弃,报文 优先级重标记,流量统计。 流量统计支持基于字节统计或者基于报文数统计,方便查看监管情况。 优先级重标记是根据报文的原始优先级查找重标记优先级映射表,获取新的报文优先 级。对于绿色报文可以提高优先级,对于黄色和红色报文可以降低其优先级,以便下一 级设备能够正确处理。3.5拥塞管理当接收速率超过发送速率时,在发送端口上就会出现拥塞,拥塞的出现会使高优先级报 文被低优先级报文挤掉。3.5.1队列调度简介S12500使用硬件队列调度机制进行拥塞管理,处理过程如下:(1) 每一个报文根据设备内部各个QoS处理环节,最终都会得到一个LP值。(2) 在出端口,设备会根据这个LP值将报文排列到对应发送队列中。(3) 出端口根据各种调度机制,选取其中一个队列的报文进行发送。队列调度机制如图9所示:图9队列调度机制352队列调度模式队列调度模式分为SP和SP+WRR。缺省情况下,所有端口使用SP调度。SP调度严格按照队列ID进行调度。即每次发送报文之前,先检查高优先级队列中是否有 报文待发送,如果有则发送;如果没有则检查下一优先级队列中是否有待发送报文,以此类 推。WRR调度在队列之间进行轮流调度,保证每个队列都得到一定的服务时间。以1个 1000Mbps端口4个输出队列为例,WRR可为每个队列配置一个加权值(40、30、20、10,加权 值表示获取资源的比重)。这样可以保证最低优先级队列至少获得100Mbps的带宽,避免了 采用SP调度时低优先级队列中的报文可能长时间得不到服务的缺点。SP+WRR调度,即从WRR中选取一个发送队列,该队列与其他队列形成SP调度。调度配置 单位为策略,即先全局配置调度策略,在策略中定义队列调度关系,然后将策略下发应用到 实际端口上,对网络管理员来说配置非常便捷。3.6拥塞避免过度的拥塞会对网络资源造成极大危害,必须采取某种措施加以解除。拥塞避免技术可 以分为下列几种:端口级流控、交换网级流控、Tail-drop、WRED。 端口级流控出端口拥塞时,入端口的Buffer会濒临耗尽,此时入端口发送流控帧给网络邻居设 备,告知它不要再发送数据报文,等到出端口拥塞解除,入端口Buffer使用率下降时, 再告知对端继续发送数据报文。此机制可以避免用户数据报文丢在设备内部。 交换网级流控S12500系统为交换网架构,整设备统一调度,出端口的发送情况将实时反馈到调度 器,调度器根据出端口的拥塞情况,给入端口分配带宽。当出端口拥塞时,会发送流控 帧通知交换网,告知出端口各个队列的拥塞情况。这样在入端口上,就可以将报文先缓 存下来,等待调度发送。交换网级流控是端口级流控的增强 Tail-dropTail-drop是传统的丢包策略。当队列的长度达到最大值后,所有新到来的报文都 将被丢弃。这种丢弃策略会引发TCP全局同步现象一一当队列同时丢弃多个TCP连接的报 文时,将造成多个TCP连接同时进入拥塞避免和慢启动状态以降低并调整流量,而后又 会在某个时间同时出现流量高峰,如此反复,使网络流量不停震荡。 WRED为避免TCP全局同步现象,可使用WRED。通过随机丢弃报文避免了TCP的全局同步现 象,使得当某个TCP连接的报文被丢弃、开始减速发送的时候,其他的TCP连接仍然有较 高的发送速度。这样,无论什么时候,总有TCP连接在进行较快的发送,提高了线路带 宽的利用率。3.7流量整形流量整形(Traffic Shaping)的典型作用是限制流出某一网络的某一连接的流量与突 发。使这类报文以比较均匀的速度向外发送。流量整形通常使用缓冲区和令牌桶来完成,当 报文的发送速度过快时,首先在缓冲区进行缓存,在令牌桶的控制下,再均匀地发送这些被 缓冲的报文。S12500支持基于端口和基于队列的整形。流量整形与流量监管的主要区别在于:流量整形对流量监管中需要丢弃的报文进行缓 存,通常是将它们放入缓冲区或队列内。当令牌桶有足够的令牌时,再均匀的向外发送这些 被缓存的报文。整形可能会带来延迟,而监管几乎不引入额外的延迟。3.8大容量缓存S12500的转发架构为高性能、高扩展性的多级多平面无阻塞CLOS交换架构,发送流量在 出端口进行统一调度,采用基于Pull方式、基于Credit的分布式业务调度机制,每个出端口 调度器掌握了所有流向该端口的所有流的状态,具备良好的可扩展性。图10交换架构示意图图10中每一个TM(Traffic Manager,流量管理器)都配置一个512M的BufferRAM,当出 端口拥塞时,可以把报文缓存到这个Buffer RAM中。传统的交换机转发架构中,没有统一的调度器,交换网端口拥塞情况与出端口拥塞情况 不存在必然联系,如果交换网端口出现拥塞时(多个交换网端口发往一个交换网端口),于 传统交换网没有大Buffer RAM来缓存报文,报文将在交换网出现大量丢失。而对于S12500 产品的转发架构,不但能够根据出端口的拥塞情况调度报文发送,使得交换网端口不存在拥 塞,而且能够将发不出去的报文缓存到入TM的Buffer RAM中。4典型组网应用S12500适用于各类数据中心,本节将以数据中心应用为例,描述S12500的QoS特性的典 型应用。数据中心应用广义上可分为如下几类: 话音业务(VOICE):话音业务是延迟敏感业务并在网络中传输过程中需要给予高优先 级。话音数据应该有小于1%的丢失并且不能大于150200ms延迟。并且需要保证每个呼 叫的带宽小的抖动。因此话音应用需要非常严格网络性能。例如VOICE, Video等均属 于这一类。 实时业务(Real Time):实时业务是那些任务严格的应用,它们是一个企业的核心业 务。这些应用是有着很强的交互性对丢包和延迟很敏感。例如包括ERP应用以及资产应 用等。 批处理业务(Batch):是批处理类型的应用。有着比较少的用户访问。这些应用是典 型的高延迟和丢包不敏感,经常跨越几个小时进行操作。例如大量的文件传输及备份等。 Bes t Effor t:是数据的默认类型。在企业运作中往往扮演次要的角色。没有确定的带 宽要求。例如E-mail和普通的In ternet访问。 未定义QoS :当有新的应用产生时可以部署在这个范围内。网络控制:以上五类是应用提供商可提供的业务大分类,但在网络上还存在保持网络互 联的各种控制协议,如生成树、路由等等,是网络实现正常互联的基础。队列主要用于实现丰富的QoS功能,例如流量限速、拥塞避免、流量整形和队列调度等, 硬件队列数目决定了同时最多可以有多少条流参与QoS处理。对于传统交换机一般提供4个或 8个硬件队列,其中一个队列还要保证网络管理、路由通信,难以满足多种类型数据中心业 务的访问保证需求,业务调度能力较低。很难满足当前千台、万台级服务器(虚拟机或物理 服务器)数据中心应用。S12500产品提供了高达12K的硬件队列,能够保证上万台服务器的精 细化业务调度,完全满足数据中心业务的访问保证和业务带宽管理需求。服券器押服务潘辞心储图11 IDC典型组网 从Internet到服务器群方向某些IDC组网应用中,存在大量In terne t用户访问IDC服务器。如图11中,在汇聚层的 S12500上,由单链路往多链路转发,对于同一类业务访问,需要到不同的目的链路上去调度, 去竞争网络资源。而S12500设备的12K硬件队列正好满足这一点,对于不同的目的链路,将 报文分类排入不同的队列。 从服务器群到Internet方向此方向的流量作为服务器群对In terne t访问的响应,服务器群到In terne t的转发路径为 多链路往单链路转发,业务流量涉及多种类型,比如VOIP、Internet等。它们需要在同一个 出端口上统一调度,S12500很好的满足了这一点。对于各类业务的分类可以在IPCL阶段实现, 调度流量管理器上统一实现。正是由于S12500对各种业务是统一调度,并且将报文转发出端口作为顶级调度单元,对 于超带宽部分将在硬件队列中缓存,很好的支持了 IDC大突发量应用。
展开阅读全文