QoS( Quality of Service,服务质量)用于评估服务方满足客户服务需求的能力。在 Internet 中,QoS 所评估的就是网络转发分组的服务能力。由于网络提供的服务是多样的,因此对 QoS 的评估可以基于不同方面。通常所说的 QoS,是对分组转发过程中为延迟、抖动、丢包率等核心需求提供支持的服务能力的评估。通过 Web 可以配置的 QoS 特性包括:网段带宽限速、高级带宽限速和高级带宽保证。


网段带宽限速

    网段带宽限速可以根据报文源/目的 IP 地址对进入或流出设备的流量的规格进行监管,当流量符合规格时允许报文通过,当流量超出规格时将报文丢弃,以保护网络资源不受损害。


高级带宽限速

    高级带宽限速与网段带宽限速相似,也可以在 IP 层实现流量监管的功能。所不同的是:

   · 高级带宽限速还可以根据时间段、报文优先级、协议类型、端口号等进行流分类,区分服务更加细致。

   · 高级带宽限速在流量符合规格允许报文通过的同时,还可以根据用户的设置来重新标记报文的 IP 优先级、 DSCP( Differentiated Services Codepoint,差分服务编码点)优先级或 802.1p优先级。

高级带宽限速

    高级带宽限速与网段带宽限速相似,也可以在 IP 层实现流量监管的功能。所不同的是:

   · 高级带宽限速还可以根据时间段、报文优先级、协议类型、端口号等进行流分类,区分服务更加细致。

   · 高级带宽限速在流量符合规格允许报文通过的同时,还可以根据用户的设置来重新标记报文的 IP 优先级、 DSCP( Differentiated Services Codepoint,差分服务编码点)优先级或 802.1p优先级。


端到端的QoS

H3C Qos概述_Qos

    如 图 52-1 所示,流分类、流量监管、流量×××、拥塞管理和拥塞避免是构造有区别地实施服务的基石,它们主要完成如下功能:

   · 流分类:依据一定的匹配规则识别出报文,通常作用在接口入方向。

   · 流量监管:对进入或流出设备的特定流量的规格进行监管。当流量超出规格时,可以采取限制或惩罚措施,以保护网络资源不受损害。可以作用在接口入方向和出方向。

   · 流量×××:一种主动调整流的输出速率的流控措施,用来使流量适配下游设备可供给的网络资源,避免不必要的报文丢弃和拥塞,通常作用在接口出方向。

   · 拥塞管理:就是当拥塞发生时如何制定一个资源的调度策略,以决定报文转发的处理次序,通常作用在接口出方向。

   · 拥塞避免:监督网络资源的使用情况,当发现拥塞有加剧的趋势时采取主动丢弃报文的策略,通过调整流量来解除网络的过载,通常作用在接口出方向。

    在这些 QoS 技术中,流分类是基础,是有区别地实施服务的前提;而流量监管、流量×××、拥塞管理和拥塞避免从不同方面对网络流量及其分配的资源实施控制,是有区别地提供服务思想的具体体现。


流分类技术

    流分类可以使用 IP 报文头的 ToS( Type of Service,服务类型)字段的优先级位,识别出有不同优先级特征的流量;也可以由网络管理者设置流分类的策略,例如综合源地址、目的地址、 MAC 地址、 IP 协议或应用程序的端口号等信息对流进行分类。

    流分类的结果是没有范围限制的,它可以是一个由五元组(源地址、源端口号、协议号、目的地址、目的端口号)确定的狭小范围,也可以是到某网段的所有报文。

    一般在网络边界对报文分类时,同时设置报文 IP 头的 ToS 字段中的优先级位。这样,在网络的内部就可以直接使用 IP 优先级作为分类标准。而队列技术也可以使用这个优先级来对报文进行不同的处理。下游网络可以选择接收上游网络的分类结果,也可以按照自己的标准重新进行分类。

    进行流分类是为了有区别地提供服务,它必须与某种流控或资源分配动作关联起来才有意义。具体采取何种流控动作,与所处的阶段以及网络当前的负载状况有关。例如,当报文进入网络时依据承诺速率对它进行监管;流出节点之前进行×××;拥塞时对队列进行调度管理;拥塞加剧时采取拥塞避免措施等。


下面介绍报文的 IP 优先级、 DSCP 优先级和 802.1p 优先级。

1. IP 优先级和 DSCP 优先级

H3C Qos概述_Qos_02

    如 图 2-1 所示, IP头的ToS字段有 8 个bit,其中前 3 个bit表示的就是IP优先级,取值范围为 0~7;第 3~6 这 4 个bit表示的是ToS优先级,取值范围为 0~15; RFC 2474 中,重新定义了IP报文头部的ToS域,称之为DS( Differentiated Services,差分服务)域,其中DSCP优先级用该域的前 6 位( 0~5 位)表示,取值范围为 0~63,后 2 位( 6、 7 位)是保留位。

H3C Qos概述_Qos_03

H3C Qos概述_Qos_04

    Diff-Serv( Differentiated Services,差分服务)网络定义了四类流量,设备会根据报文中的 DSCP优先级对报文执行相应的动作:

   · 加速转发( Expedited Forwarding, EF)类,这种方式不用考虑其他流量是否分享其链路,适用于低时延、低丢包率、低抖动、高带宽的优先业务;

   · 确保转发( Assured Forwarding, AF)类,又分为四个小类( AF1/2/3/4),每个 AF 小类又分为三个丢弃优先级,可以细分 AF 业务的等级, AF 类的 QoS 等级低于 EF 类;

   · 兼容 IP 优先级( Class Selector, CS)类,是从 IP ToS 字段演变而来的,共 8 类;

   · 尽力转发( Best Effort, BE)类,是 CS 中特殊一类,没有任何保证, AF 类超限后可以降级为 BE 类,现有 IP 网络流量也都默认为此类。

H3C Qos概述_Qos_05

H3C Qos概述_Qos_06


2. 802.1p 优先级

    802.1p 优先级位于二层报文头部,适用于不需要分析三层报头,而需要在二层环境下保证 QoS 的场合。

H3C Qos概述_Qos_07

    如 图 2-2所示, 4 个字节的 802.1Q标签头包含了 2 个字节的TPID( Tag Protocol Identifier,标签协议标识,取值为 0x8100)和 2 个字节的TCI( Tag Control Information,标签控制信息), 图 2-3显示了 802.1Q标签头的详细内容。

H3C Qos概述_Qos_08

H3C Qos概述_Qos_09

    之所以称此优先级为 802.1p 优先级, 是因为有关这些优先级的应用是在 802.1p 规范中被详细定义。


高级带宽保证

    高级带宽保证可以完成以下两个功能:

   · 接口带宽:采用令牌桶进行流量控制,在一个接口上限制发送报文(包括紧急报文)的总速率。网段带宽限速和高级带宽限速在 IP 层实现,可以对端口上不同的流分类进行限速,但是对于不经过 IP 层处理的报文不起作用。当用户只要求对通过该接口的所有报文限速时,使用接口带宽比较简单。

   · 带宽保证:当接口产生拥塞时,采用 CBQ(基于类的队列, Class Based Queuing)技术,对报文根据用户定义的匹配条件进行匹配,并使其进入相应的队列,在入队列之前进行带宽限制的检查。在报文出队列时,加权公平调度每个类对应的队列中的报文。


流量×××

    流量×××是一种主动调整流量输出速率的措施。一个典型应用是基于下游网络节点的流量监管指标来控制本地流量的输出。

    流量×××与流量监管的主要区别在于,流量×××对流量监管中需要丢弃的报文进行缓存——通常是将它们放入缓冲区或队列内,如 图 52-7 所示。当令牌桶有足够的令牌时,再均匀的向外发送这些被缓存的报文。流量×××与流量监管的另一区别是,×××可能会增加延迟,而监管几乎不引入额外的延迟。

H3C Qos概述_Qos_10

    例如,在 图 52-8 所示的应用中,设备Device A向Device B发送报文。 Device B要对Device A发送来的报文进行流量监管,对超出规格的流量直接丢弃。

H3C Qos概述_Qos_11

    



    为了减少报文的无谓丢失,可以在 Device A 的出口对报文进行流量×××处理。将超出流量×××特性的报文缓存在 Device A 中。当可以继续发送下一批报文时,流量×××再从缓冲队列中取出报文进行发送。这样,发向 Device B 的报文将都符合 Device B 的流量规定。


端口限速

    端口限速是采用令牌桶进行流量控制的一种方法。 利用端口限速可以在一个物理端口上限制发送报文(包括紧急报文)的总速率。端口限速能够限制在物理端口上通过的所有报文。

    (1) 令牌桶与流量评估

    令牌桶可以看作是一个存放一定数量令牌的容器。系统按设定的速度向桶中放置令牌,当桶中令牌满时,多出的令牌溢出,桶中令牌不再增加。

H3C Qos概述_Qos_12

    在用令牌桶评估流量规格时,是以令牌桶中的令牌数量是否足够满足报文的转发为依据的。如果桶中存在足够的令牌可以用来转发报文(通常用一个令牌关联一个比特的转发权限),称流量遵守或符合( conforming)这个规格,否则称为不符合或超标( excess)。

    评估流量时令牌桶的参数设置包括:

   · 平均速率:向桶中放置令牌的速率,即允许的流的平均速度。通常设置为 CIR(CommittedInformation Rate,承诺信息速率)。

   · 突发尺寸:令牌桶的容量,即每次突发所允许的最大的流量尺寸。通常设置为 CBS(CommittedBurst Size,承诺突发尺寸),设置的突发尺寸必须大于最大报文长度。

    每到达一个报文就进行一次评估。每次评估,如果桶中有足够的令牌可供使用,则说明流量控制在允许的范围内,此时要从桶中取走与报文转发权限相当的令牌数量;否则说明已经耗费太多令牌,流量超标了。

    (2) 端口限速的工作机制

    当设备的某个端口上配置了端口限速时,所有经由该端口发送的报文首先要经过端口限速的令牌桶进行处理。如果令牌桶中有足够的令牌,则报文可以发送;否则,报文将进入 QoS 队列进行拥塞管理。这样,就可以对通过该物理端口的报文流量进行控制。

    由于采用了令牌桶控制流量,当令牌桶中存有令牌时,可以允许报文的突发性传输;当令牌桶中没有令牌时,报文必须等到桶中生成了新的令牌后才可以继续发送。这就限制了报文的流量不能大于令牌生成的速度,达到了限制流量,同时允许突发流量通过的目的。


优先级映射

    (1) 基本概念

    在网络的入口需要为网络的流量打上一定的区分标记,这种标记用以标识流量的调度权重或者转发处理优先级别的高低。网络中间节点处理报文时,就可以根据报文的优先级来进行相应的调度。报文在进入设备以后,设备会根据自身支持的情况和相应的规则给报文分配包括 802.1p 优先级、DSCP、 IP 优先级、本地优先级等在内的一系列参数。

   · 802.1p优先级、 DSCP和IP优先级的介绍请参见 3. 报文优先级。

   · 本地优先级是指设备为报文分配的一种具有本地意义的优先级,每个本地优先级对应一个队列,本地优先级值越大的报文,进入的队列优先级越高,从而能够获得优先的调度。

设备提供了两种端口优先级信任模式:

   · 信任报文的优先级:按照接收端口上配置的优先级信任模式,根据报文自身的优先级,查找优先级映射表,为报文分配优先级参数。

   · 信任端口的优先级:按照接收端口的端口优先级,通过一一映射为报文分配本地优先级。用户可以根据需要配置端口优先级信任模式。设备上报文的优先级映射过程如 图 52-11 所示。

H3C Qos概述_Qos_13

    (2) 优先级映射表介绍

    设备提供了多张优先级映射表,分别对应相应的优先级映射关系。各个优先级的映射表和缺省取值如 表 52-6 所示。

   · CoS to DSCP: 802.1p 优先级到 DSCP 映射表。

   · CoS to Queue: 802.1p 优先级到本地优先级映射表。

   · DSCP to CoS: DSCP 到 802.1p 优先级映射表,仅对 IP 报文生效。

   · DSCP to DSCP:  DSCP 到 DSCP 映射表,仅对 IP 报文生效。

   · DSCP to Queue: DSCP 到本地优先级映射表,仅对 IP 报文生效。