jjzjj

HQoS配置学习

网络打工仔 2024-06-16 原文

HQoS概述

与传统的QoS基于端口进行流量调度不同,HQoS在单个端口下能区分用户和不同用户的业务。

HQoS即层次化QoS(Hierarchical Quality of Service),是一种通过多级队列调度机制,解决Diffserv模型下多用户多业务带宽保证的技术。

传统的QoS采用一级调度,单个端口只能区分业务优先级,无法区分用户。只要属于同一优先级的流量,使用同一个端口队列,不同用户的流量彼此之间竞争同一个队列资源,无法对端口上单个用户的单个流量进行区分服务。

HQoS采用多级调度的方式,可以精细区分不同用户和不同业务的流量,提供区分的带宽管理。

以NE40E的调度结构为说明

在NE40E上,没有配置HQoS的情况下,只有类队列CQ(Class Queue)和Port调度器,其调度结构如图1:没有配置HQoS时的队列调度结构。

CQ队列的属性包括:

  • 队列优先级、队列权重
  • 队列整形速率PIR
  • 报文丢弃策略,尾丢弃(Tail-drop)或WRED

Port调度器可以是按优先级调度SP(Strict Priority),或按权重调度(WRR、WDRR、WFQ算法的其中一种)。其中WRR、WDRR、WFQ都是按权重调度,为方便,本文将按权重的调度统称为WFQ。

在配置HQoS的情况下,路由器另外划分缓存,用于缓存需要层次化调度的业务流队列,并对这些流队列先进行一轮多层次调度,再将HQoS流与非HQoS流统一入CQ队列,进行统一调度,如图2:HQoS流队列调度

 

  • 叶子节点:FQ(Flow Queue)队列

    用于暂存一个用户各个优先级中的一个优先级的数据流。每个用户的数据流都可以划分为1~8个优先级,即每个用户可以使用1~8个FQ。不同用户之间不能共享FQ。每个FQ可以配置shaping值来限制该队列的最大带宽。

    FQ队列与CQ队列具有相同属性:

    • 队列优先级、队列权重
    • 队列整形速率PIR
    • 报文丢弃策略,尾丢弃(Tail-drop)或WRED
  • 中间节点:SQ(Subscriber Queue)

    一个SQ代表一个用户(例如,一个VLAN,或一个LSP,或一个PVC),每个SQ可定义其CIR和PIR。

    每个SQ固定对应8种FQ业务优先级,这1~8个FQ共享该SQ的带宽。如果哪个FQ空闲,则其他FQ可以占用空闲出来的带宽,但是受限于FQ自己的PIR,最大不能超过FQ自己的PIR。

    SQ既是调度器,又是虚队列作为被调度对象。

    • 作为调度器:对多个FQ队列进行调度。FQ队列可以配置为PQ、WFQ和LPQ。优先级为EF、CS6和CS7的FQ队列默认采用SP调度算法;优先级为BE、AF1、AF2、AF3、AF4的流队列默认采用WFQ调度算法,调度权重为10:10:10:15:15。
    • 作为被调度对象的虚队列:被赋予了两个属性,CIR和PIR。通过流量测速(Metering),将输入流量分流成“<=CIR”与“>CIR”两部分;“<=CIR”的部分是指用户付费的部分,“>CIR”的那部分流量称为EIR,EIR=PIR-CIR。EIR是指突发量,允许用户流量突发至最大值PIR。
  • 根节点:GQ(Group Queue)

    为了简便处理,可以把多个用户定义为一个用户组GQ,类似于在配置BGP对等体时把多个具有共同特点的对等体配置为一个组。例如,可以把相同总带宽需求的用户归为一个GQ,或把所有金牌级用户归为一个GQ。

    一个GQ可以绑定多个SQ,但一个SQ最多只能绑定到一个GQ内。

    GQ作为调度器,对多个SQ队列进行调度。先采用DRR算法在SQ之间调度小于CIR的那部分流量,不同SQ之间采用DRR调度。如果有剩余带宽,再采用DRR算法调度超过CIR但小于PIR的那部分流量(即EIR)。CIR和EIR之间采用SP调度算法,优先保证CIR的带宽;超过PIR的流量会被丢弃。因此,如果GQ能获得PIR带宽,则GQ下每个SQ的CIR带宽都可以得到保证,且SQ最大可以获得PIR带宽。

    此外,GQ作为根节点,可以赋予最大带宽PIR属性,用于对多个用户的流量进行整体限速。该GQ下的所有用户都受限于这个最大带宽。GQ的PIR值只是用于整体限速,并不用来保证带宽,GQ的PIR值建议不小于GQ中所有SQ的CIR之和,否则单个用户(SQ)的流量无法得到保证。

为了帮助理解,下面举例说明FQ、SQ、GQ及其关系。

假设一栋楼有20个家庭,每个家庭购买的带宽是20M,则只需要为每个家庭创建一个SQ,设置CIR和PIR均为20M即可,满足了保证每个家庭20M带宽的要求,同时这里的PIR也是限定用户最大可使用的带宽为20M。但随着VoIP、IPTV业务的开通,加上已有的个人上网HSI业务,运营商实时推出了新的带宽套餐,带宽仍然为20M,其中包含了VoIP,IPTV等增值业务。这样,每个家庭可以使用VoIP电话,机顶盒看电视(IPTV),同时还使用电脑上网冲浪(HSI)。

此需求的HQoS配置方法是:

  • 配置3个FQ,对应3种业务(VoIP、IPTV、HSI);
  • 配置20个SQ,分别对应20个家庭用户。每个SQ配置CIR和PIR,CIR保证带宽,PIR限定最大带宽。
  • 配置1个GQ对应一栋楼,将20个用户的带宽汇总,将20个用户视为“用户组”,整合20个用户的总带宽作为GQ的PIR,让这20个用户实现带宽共享。20个用户相对独立,但是总带宽又受到GQ的限制。

分层模型为:

  • FQ用于对用户的各种业务进行细分,控制用户的业务类型和带宽在各个业务之间的分配;
  • SQ用于区分用户,对每个用户的带宽进行限速;
  • GQ用于区分用户组,对20个SQ的流量进行整体限速。

FQ的作用是保证各类业务的带宽分配关系;SQ的作用是将每一个用户单独标识出来;而GQ的作用是使得各个用户之间的CIR能够得到保证,同时又达到带宽共享的目的。

超过CIR部分的带宽是不保证的,这是合理的,因为超过CIR部分的带宽实际上是用户并未付费的部分,是属于额外的。而重要的是,必须保证CIR,因为CIR的带宽是客户购买的。按照图8-2的SQ调度可以看到,用户的CIR总是可以保证的,因为用户的CIR是被单独标识出来优先被调度的,因此不会被其它用户超过CIR部分的流量抢占。

NE40E上,HQoS可实现上、下行方向的调度,且上、下行的调度结构不同。

HQoS基本概念

HQoS需要用到的基本概念包括:流队列、用户队列、用户组队列、类队列、低优先级队列。

流队列FQ(Flow Queue)

HQoS可以针对每个用户的业务流进行队列调度。通过配置峰值带宽(PIR),HQoS可以对每个用户进行带宽限制。每个用户都可以细分为8个流队列,8个流队列可以配置PQ、WFQ和LPQ队列调度;每个流队列可以配置WRED丢弃机制;可以配置流量整形的速率。

用户队列SQ(Subscriber Queue)

SQ为虚拟队列。所谓虚拟队列,是指队列不存在实际的缓存单元,不暂存数据,数据进入和离开队列没有延迟,仅作为层次化调度中的其中一级队列参与输出调度。

每个SQ固定对应8种FQ业务优先级,可配置1~8个FQ。空闲FQ不能被其它SQ利用,即这1~8个FQ共享该SQ的带宽。实际应用中,一个SQ对应一个用户(VLAN、VPN等),一个用户可使用1~8个FQ。每个SQ可定义其CIR和PIR。

用户组队列GQ(Group Queue)

HQoS可以将多个SQ绑定到一个GQ实现第三级队列调度。

GQ用来对多个用户的流量进行整体限速。设置的shaping值建议不要小于GQ中所有SQ的CIR之和,否则单个用户(SQ)的流量就无法得到保证。

GQ也是虚拟队列。每个SQ最多只能绑定到一个GQ内,也可以不绑定GQ,跨过第三级队列调度。

GQ可以实现流量整形,配置整形速率。

类队列CQ(Class Queue)

HQoS调度时,流队列报文经过用户队列调度后,要同普通报文同时进入端口中的CQ。流队列报文入CQ时,可以有两种优先级映射方式Uniform和Pipe。

  • Uniform模型:SQ中8个等级的FQ,同端口的CQ,有系统固定的映射关系。

  • Pipe模型:SQ中8个等级的FQ,同端口的CQ的映射关系,可以由用户自行配置指定。但Pipe模型不会改变报文中自身携带的优先级。

低优先级队列LPQ(Low Priority Queue)

LPQ是在以太网接口上实现的队列调度机制。

在以太网接口的HQoS中共有三种队列调度方式:PQ,WFQ,LPQ。

调度的时候,优先调度PQ队列的报文,其次是WFQ,最后是LPQ。在PQ和WFQ队列调度结束后,如果还有剩余带宽,这些剩余带宽就可以分配给LPQ。

LPQ内部的队列调度方式与PQ一样。不同在于拥塞时PQ可以抢占WFQ得带宽,而LPQ不可以抢占WFQ的带宽。

实际应用中,可以将BE流用LPQ进行调度。这样,在网络负载较重时,BE流可以完全被限制,优先满足其它业务。

配置基于模板的HQoS示例

根据不同的子接口接入不同业务的流量,以基于模板的场景为例,介绍如何配置HQoS示例。

组网需求

用户通过DSLAM接入路由器,路由器为骨干网的接入设备。如图8-9所示。

用户的三个业务映射到DSLAM的3个PVC中,在路由器上同一用户的流量分别通过GE1/0/0.1、GE1/0/0.2和GE1/0/0.3三个子接口上接入,不同的子接口接入不同业务的流量。流量进入路由器时带有两层tag,内层tag表示用户,外层tag表示业务。要对用户的流量进行统一调度,保证带宽为100M,其中EF流量带宽为30M、AF1流量带宽为10M。用户所属用户组的总带宽为500M。在接入路由器下行接口EF类型的报文流量不能超过120M。同时,业务类型PC、VOIP和IPTV分别标记外层VLAN tag为1、2、3;内层VLAN tag均为1~100。

 说明:

本例中Subinterface1.1,Subinterface2.1,Subinterface3.1,interface2分别代表GE1/0/0.1,GE1/0/0.2,GE1/0/0.3,GE2/0/0。

图3 配置基于模板的HQoS组网图

 

配置思路

采用如下的思路配置基于模板的HQoS功能。

  1. 配置流队列WRED对象的报文丢弃的参数。

  2. 配置流队列的调度算法及参数。

  3. 配置流队列与类队列的服务等级映射。

  4. 配置用户组队列shaping值。

  5. 配置业务模板的精度调整长度。

  6. 配置QoS模板中用户队列调度参数。

  7. 配置类队列WRED对象的报文丢弃的参数。

  8. 在接入路由器下行接口配置类队列。

数据准备

完成此例配置,需准备以下数据:

  • flow-wred报文丢弃的参数

  • flow-queue调度算法及其参数

  • flow-mapping服务等级映射

  • user-group-queue的shaping值

  • QoS模板中user-queue CIR、PIR和network-header-length的值

  • QoS模板应用的接口

  • port-queue引用的port-wred的参数

  • port-queue调度算法及其参数、shaping值

操作步骤

  1. 配置流队列引用的WRED对象

    # 配置flow-wred报文丢弃的参数。

    <span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd"><HUAWEI> <strong>system view</strong>
    [~HUAWEI] <strong>flow-wred test</strong>
    [*HUAWEI-flow-wred-test]<strong> color green low-limit 70 high-limit 100 discard-percentage 100</strong>
    [*HUAWEI-flow-wred-test] <strong>color yellow low-limit 60 high-limit 90 discard-percentage 100</strong> 
    [*HUAWEI-flow-wred-test] <strong>color red low-limit 50 high-limit 80 discard-percentage 100</strong> 
    [*HUAWEI-flow-wred-test]<strong> commit</strong>
    [~HUAWEI-flow-wred-test]<strong> return</strong></span></span></span>

    完成上述配置后,执行命令display flow-wred configuration verbose,可以查看流队列WRED对象的配置参数。

    <span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd"><HUAWEI> <strong>display flow-wred configuration verbose test</strong>
    Flow wred name : test
    ---------------------------------------------------
    Color    Low-limit    High-limit    Discard-percent
    ---------------------------------------------------
    green    70           100           100
    yellow   60           90            100
    red      50           80            100
    Queue Depth : 1000   
    Reference relationships : NULL        </span></span></span>

  2. 配置流队列的调度算法及其参数

    # 配置flow-queue的调度算法、WRED参数及shaping值。

    <span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd"><HUAWEI> <strong>system view</strong>
    [~HUAWEI] <strong>flow-queue test</strong>
    [*HUAWEI-flow-queue-template-test]<strong> queue af1 lpq flow-wred test shaping 10000</strong>
    [*HUAWEI-flow-queue-template-test] <strong>queue ef pq flow-wred test shaping 30000</strong>
    [*HUAWEI-flow-queue-template-test] <strong>commit</strong>
    [~HUAWEI-flow-queue-template-test] <strong>return</strong></span></span></span>

    完成上述配置后,执行命令display flow-queue configuration verbose,可以查看流队列模板的配置信息。

    <span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd"><HUAWEI> <strong>display flow-queue configuration verbose test</strong> 
    Codes: Arith(Schedule algorithm)
           U-Weight(Schedule weight configured by users)
           I-Weight(Inverse schedule weight used by TM)
           A-Weight(Actual schedule weight obtained by users)
           Shp(Shaping value, the percentage of subscriber queue's PIR)
           Pct(The percentage of subscriber queue's PIR)
           Drop-Arith(The name of the WRED object used by the flow queue)
    
    
    Flow Queue Template : test
    ------------------------------------------------------------------
    Cos  Arith  U-Weight  I-Weight  A-Weight  Shp      Pct  Drop-Arith
    ------------------------------------------------------------------
    be   wfq    10        3         10.00     -        -    Tail Drop
    af1  lpq    -         -         -         10000    -    test
    af2  wfq    10        3         10.00     -        -    Tail Drop
    af3  wfq    15        2         15.00     -        -    Tail Drop
    af4  wfq    15        2         15.00     -        -    Tail Drop
    ef   pq     -         -         -         30000    -    test
    cs6  pq     -         -         -         -        -    Tail Drop
    cs7  pq     -         -         -         -        -    Tail Drop
    Reference relationships : NULL    
    </span></span></span>

  3. 配置流队列到类队列的服务等级映射

    <span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd"><HUAWEI> <strong>system view</strong>
    [~HUAWEI] <strong>flow-mapping test</strong>
    [*HUAWEI-flow-mapping-test]<strong> map flow-queue af1 to port-queue ef</strong>
    [*HUAWEI-flow-mapping-test]<strong> commit</strong>
    [~HUAWEI-flow-mapping-test]<strong> return</strong></span></span></span>

    完成上述配置后,执行命令display flow-mapping configuration verbose,可以查看流队列映射对象的配置参数和该对象的引用关系

    <span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd"><HUAWEI> <strong>display flow-mapping configuration verbose test</strong>
    flow-mapping-name : test
     fq-cosvalue to pq-cosvalue
     be          to be
     af1         to ef
     af2         to af2
     af3         to af3
     af4         to af4
     ef          to ef
     cs6         to cs6
     cs7         to cs7
     [reference relationship]
     NULL</span></span></span>

  4. 配置用户组队列shaping值

    # 配置user-group-queue

    <span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd"><HUAWEI> <strong>system view</strong>
    [~HUAWEI] <strong>user-group-queue test</strong>
    [*HUAWEI-user-group-queue-test-slot-all] <strong>shaping 500000 inbound</strong>
    [*HUAWEI-user-group-queue-test-slot-all]<strong> commit</strong>
    [~HUAWEI-user-group-queue-test-slot-all]<strong> return</strong></span></span></span>

    完成上述配置后,执行命令display user-group-queue configuration verbose,可以查看用户组队列的配置信息以及引用关系。

    <span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd"><HUAWEI> <strong>display user-group-queue configuration verbose test </strong>
    user-group-queue-name : test
     slot : all
     [current configuration]
      inbound
       shaping-value <kbps> : 500000
       pbs-value <byte> : 524288
      outbound
       shaping-value <kbps> : NA
       pbs-value <byte> : NA
       weight-value : NA
       flow-wred-name : NA
     [reference relationship]
     NULL</span></span></span>

  5. 配置业务模板的精度调整长度。

    # 配置service-template及network-header-length。

    <span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd"><HUAWEI> <strong>system view</strong>
    [~HUAWEI] <strong>service-template test</strong>
    [*HUAWEI-service-template-test-slot-all] <strong>network-header-length 12 inbound</strong>
    [*HUAWEI-service-template-test-slot-all] <strong>commit</strong>
    [~HUAWEI-service-template-test-slot-all] <strong>quit</strong></span></span></span>
    完成上述配置后,执行命令display service-template configuration verbose,可以查看业务模板的配置信息,network-header-length值以及引用关系。
    <span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd"><HUAWEI> <strong>display service-template configuration verbose</strong>
    [service-template detail information]
    total number : 1
    slot all     : 1
    
    service-template-name : test
     slot : all
     [current configuration]
      inbound network-header-length: 12
    
      outbound network-header-length: NA
    
     [reference relationship]
      NULL
    </span></span></span>

  6. 配置QoS模板调度参数并应用到接口上。

    # 配置QoS模板中user-queue的调度参数

    <span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd"><HUAWEI> <strong>system view</strong>
    [~HUAWEI] <strong>qos-profile test</strong>
    [*HUAWEI-qos-profile-test] <strong>user-queue cir 100000 flow-queue test flow-mapping test user-group-queue test service-template test</strong>
    [*HUAWEI-qos-profile-test] <strong>commit</strong>
    [~HUAWEI-qos-profile-test] <strong>return</strong></span></span></span>

    # 创建QinQ子接口并配置QinQ Termination,在接口GE1/0/0.1、GE1/0/0.2和GE1/0/0.3上应用QoS模板。

    <span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd"><HUAWEI><strong> system-view</strong>
    [~HUAWEI] <strong>interface gigabitethernet 1/0/0.1</strong>
    [*HUAWEI-GigabitEthernet1/0/0.1] <strong>control-vid 1 qinq-termination</strong>
    [*HUAWEI-GigabitEthernet1/0/0.1] <strong>qinq termination pe-vid 1 ce-vid 1 to 100</strong> 
    [*HUAWEI-GigabitEthernet1/0/0.1] <strong>ip address 10.10.1.1 24</strong>
    [*HUAWEI-GigabitEthernet1/0/0.1] <strong>qos-profile test inbound pe-vid 1 ce-vid 1 to 100 group group1</strong>
    [*HUAWEI-GigabitEthernet1/0/0.1] <strong>commit</strong>
    [~HUAWEI-GigabitEthernet1/0/0.1] <strong>quit</strong>
    [~HUAWEI] <strong>interface gigabitethernet 1/0/0.2</strong>
    [*HUAWEI-GigabitEthernet1/0/0.2] <strong>control-vid 2 qinq-termination</strong>
    [*HUAWEI-GigabitEthernet1/0/0.2] <strong>qinq termination pe-vid 2 ce-vid 1 to 100</strong>
    [*HUAWEI-GigabitEthernet1/0/0.2] <strong>ip address 10.10.2.1 24</strong>
    [*HUAWEI-GigabitEthernet1/0/0.2] <strong>qos-profile test inbound pe-vid 2 ce-vid 1 to 100 group group1</strong>
    [*HUAWEI-GigabitEthernet1/0/0.2] <strong>commit</strong>
    [~HUAWEI-GigabitEthernet1/0/0.2] <strong>quit</strong>
    [~HUAWEI] <strong>interface gigabitethernet 1/0/0.3</strong>
    [*HUAWEI-GigabitEthernet1/0/0.3] <strong>control-vid 3 qinq-termination</strong>
    [*HUAWEI-GigabitEthernet1/0/0.3] <strong>qinq termination pe-vid 3 ce-vid 1 to 100</strong> 
    [*HUAWEI-GigabitEthernet1/0/0.3] <strong>ip address 10.10.3.1 24</strong>
    [*HUAWEI-GigabitEthernet1/0/0.3] <strong>qos-profile test inbound pe-vid 3 ce-vid 1 to 100 group group1</strong>
    [*HUAWEI-GigabitEthernet1/0/0.3] <strong>commit</strong>
    [~HUAWEI-GigabitEthernet1/0/0.3] <strong>quit</strong></span></span></span>

    完成上述配置后,执行命令display qos-profile configuration qos-profile-namedisplay qos-profile application profile-name,可以看到QoS模板的配置和应用信息。

    <span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd"><HUAWEI> <strong>display qos-profile configuration test</strong>
    qos-profile: test 
    inbound: 
    outbound: 
    both: 
    user-queue cir 100000 pir 100000 flow-queue test flow-mapping test user-group-queue test service-template test 
    <HUAWEI>  <strong>display qos-profile application test</strong>
    qos-profile test: 
    GigabitEthernet1/0/0.1 
    GigabitEthernet1/0/0.2 
    GigabitEthernet1/0/0.3 
    Reference number by access user:[inbound] 0, [outbound] 0
    Reference number by VNI:[inbound] 0, [outbound] 0
    </span></span></span>

    执行命令display qos-profile statistics interface gigabitethernet1/0/0.1 pe-vid 1 ce-vid 1 inbound可以看到接口GE1/0/0.1上QoS模板的统计信息。

    <span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd"><HUAWEI> <strong>display qos-profile statistics interface gigabitethernet 1/0/0.1 pe-vid 1 ce-vid 1 inbound</strong>
    GigabitEthernet1/0/0.1 inbound traffic statistics:
     [be]
      Pass:                   38,226,678 packets,              3,784,441,122 bytes
      Discard:               183,848,703 packets,             18,201,021,597 bytes
      Last 5 minutes pass rate:
                                 112,576 pps,                     89,160,656 bps
      Last 5 minutes discard rate:
                                 223,089 pps,                    176,686,608 bps
     [af1]
      Pass:                    9,940,098 packets,                984,069,702 bytes
      Discard:               721,620,432 packets,             71,440,422,768 bytes
      Last 5 minutes pass rate:
                                  11,962 pps,                      9,474,208 bps
      Last 5 minutes discard rate:
                                 323,664 pps,                    256,341,960 bps
     [af2]
      Pass:                            0 packets,                          0 bytes
      Discard:                         0 packets,                          0 bytes
      Last 5 minutes pass rate:
                                       0 pps,                              0 bps
      Last 5 minutes discard rate:
                                       0 pps,                              0 bps
     [af3]
      Pass:                            0 packets,                          0 bytes
      Discard:                         0 packets,                          0 bytes
      Last 5 minutes pass rate:
                                       0 pps,                              0 bps
      Last 5 minutes discard rate:
                                       0 pps,                              0 bps
     [af4]
      Pass:                            0 packets,                          0 bytes
      Discard:                         0 packets,                          0 bytes
      Last 5 minutes pass rate:
                                       0 pps,                              0 bps
      Last 5 minutes discard rate:
                                       0 pps,                              0 bps
     [ef]
      Pass:                            0 packets,                          0 bytes
      Discard:                         0 packets,                          0 bytes
      Last 5 minutes pass rate:
                                       0 pps,                              0 bps
      Last 5 minutes discard rate:
                                       0 pps,                              0 bps
     [cs6]
      Pass:                            0 packets,                          0 bytes
      Discard:                         0 packets,                          0 bytes
      Last 5 minutes pass rate:
                                       0 pps,                              0 bps
      Last 5 minutes discard rate:
                                       0 pps,                              0 bps
     [cs7]
      Pass:                            0 packets,                          0 bytes
      Discard:                         0 packets,                          0 bytes
      Last 5 minutes pass rate:
                                       0 pps,                              0 bps
      Last 5 minutes discard rate:
                                       0 pps,                              0 bps
     [total]
      Pass:                   48,166,776 packets,              4,768,510,824 bytes
      Discard:               905,469,135 packets,             89,641,444,365 bytes
      Last 5 minutes pass rate:
                                 124,538 pps,                     98,634,864 bps
      Last 5 minutes discard rate:
                                 546,753 pps,                    433,028,568 bps   </span></span></span>

  7. 配置类队列引用的WRED对象

    # 配置类队列引用的port-wred报文丢弃的参数。

    <span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd"><HUAWEI> <strong>system view</strong>
    [~HUAWEI] <strong>port-wred test</strong>
    [*HUAWEI-port-wred-test]<strong> color green low-limit 70 high-limit 100 discard-percentage 100</strong>
    [*HUAWEI-port-wred-test]<strong> color yellow low-limit 60 high-limit 90 discard-percentage 100</strong>
    [*HUAWEI-port-wred-test]<strong> color red low-limit 50 high-limit 80 discard-percentage 100</strong>
    [*HUAWEI-port-wred-test]<strong> commit</strong>
    [~HUAWEI-port-wred-test]<strong> return</strong></span></span></span>

    完成上述配置后,执行命令display port-wred configuration verbose,可以查看类队列WRED对象的配置参数。

    <span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd"><HUAWEI> <strong>display port-wred configuration verbose test</strong>
    Port wred name : test
    ---------------------------------------------------
    Color    Low-limit    High-limit    Discard-percent
    ---------------------------------------------------
    green    70           100           100
    yellow   60           90            100
    red      50           80            100
    Reference relationships : NULL  </span></span></span>

  8. 配置类队列

    # 配置port-queue的调度算法、WRED参数及shaping值。

    <span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd"><HUAWEI> <strong>system view</strong>
    [~HUAWEI]<strong> interface gigabitethernet 2/0/0</strong>
    [~HUAWEI-GigabitEthernet2/0/0] <strong>undo shutdown</strong>
    [*HUAWEI-GigabitEthernet2/0/0]<strong> port-queue ef pq shaping 120 port-wred test outbound</strong>
    [*HUAWEI-GigabitEthernet2/0/0]<strong> commit</strong>
    [~HUAWEI-GigabitEthernet2/0/0]<strong> return</strong></span></span></span>

    完成上述配置后,执行命令display port-queue configuration interface,可以查看类队列的详细配置信息。

    <span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd"><HUAWEI> <strong>display port-queue configuration interface gigabitethernet 2/0/0 outbound</strong>
    GigabitEthernet2/0/0 outbound current port-queue configuration:   
    be :  arithmetic: wfq                weight: 10         tm weight: 3           
           fact weight: 10.00             shaping(mbps): NA                         
           port-wred: NA                                                            
             green(low-high limit) (kbytes)                  0 - 0                  
             yellow(low-high limit)(kbytes)                  0 - 0                  
             red  (low-high limit) (kbytes)                  0 - 0                  
           current queue-length    (kbytes)                  0                      
                                                                                    
     af1:  arithmetic: wfq                weight: 10         tm weight: 3           
           fact weight: 10.00             shaping(mbps): NA                         
           port-wred: NA                                                            
             green(low-high limit) (kbytes)                  0 - 0                  
             yellow(low-high limit)(kbytes)                  0 - 0                  
             red  (low-high limit) (kbytes)                  0 - 0                  
           current queue-length    (kbytes)                  0                      
                                                                                    
     af2:  arithmetic: wfq                weight: 10         tm weight: 3           
           fact weight: 10.00             shaping(mbps): NA                         
           port-wred: NA                                                            
             green(low-high limit) (kbytes)                  0 - 0                  
             yellow(low-high limit)(kbytes)                  0 - 0                  
             red  (low-high limit) (kbytes)                  0 - 0                  
           current queue-length    (kbytes)                  0                      
                                                                                    
     af3:  arithmetic: wfq                weight: 15         tm weight: 2           
           fact weight: 15.00             shaping(mbps): NA                         
           port-wred: NA                                                            
             green(low-high limit) (kbytes)                  0 - 0                  
             yellow(low-high limit)(kbytes)                  0 - 0                  
             red  (low-high limit) (kbytes)                  0 - 0                  
           current queue-length    (kbytes)                  0                      
                                                                                    
     af4:  arithmetic: wfq                weight: 15         tm weight: 2           
           fact weight: 15.00             shaping(mbps): NA                         
           port-wred: NA                                                            
             green(low-high limit) (kbytes)                  0 - 0                  
             yellow(low-high limit)(kbytes)                  0 - 0                  
             red  (low-high limit) (kbytes)                  0 - 0                  
           current queue-length    (kbytes)                  0                      
                                                                                    
     ef :  arithmetic: pq                 weight: NA         tm weight: NA          
           fact weight: NA                shaping(mbps): 120                         
           port-wred: test                                                            
             green(low-high limit) (kbytes)                  0 - 0                  
             yellow(low-high limit)(kbytes)                  0 - 0                  
             red  (low-high limit) (kbytes)                  0 - 0                  
           current queue-length    (kbytes)                  0                      
                                                                                    
     cs6:  arithmetic: pq                 weight: NA         tm weight: NA          
           fact weight: NA                shaping(mbps): NA                         
           port-wred: NA                                                            
             green(low-high limit) (kbytes)                  0 - 0                  
             yellow(low-high limit)(kbytes)                  0 - 0                  
             red  (low-high limit) (kbytes)                  0 - 0                  
           current queue-length    (kbytes)                  0                      
                                                                                    
     cs7:  arithmetic: pq                 weight: NA         tm weight: NA          
           fact weight: NA                shaping(mbps): NA                         
           port-wred: NA                                                            
             green(low-high limit) (kbytes)                  0 - 0                  
             yellow(low-high limit)(kbytes)                  0 - 0                  
             red  (low-high limit) (kbytes)                  0 - 0                  
           current queue-length    (kbytes)                  0   
    </span></span></span>

  9. 检查配置结果

    当网络中有流量通过时,发现用户1的AF1、EF流量和用户2的EF流量均按照配置的保证带宽进行转发。

    在路由器的下行接口GE2/0/0执行命令display port-queue statistics,可以看到EF流量迅速增长。

    <span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd"><HUAWEI> <strong>display port-queue statistics interface gigabitethernet 2/0/0 ef outbound</strong>
    GigabitEthernet2/0/0 outbound traffic statistics:                            
    [ef]
      Current usage percentage of queue: 10  
      Total pass:
                               5,097,976 packets,                458,817,750 bytes
      Total discard:
                                       0 packets,                          0 bytes
        Drop tail discard:
                                       0 packets,                          0 bytes
        Wred discard:
                                       0 packets,                          0 bytes
      Last 30 seconds pass rate:
                                  12,030 pps,                      8,661,600 bps
      Last 30 seconds discard rate:
                                       0 pps,                              0 bps
        Drop tail discard rate:
                                       0 pps,                              0 bps
        Wred discard rate:
                                       0 pps,                              0 bps    
      buffer size:                    10 kbytes
      used buffer size:                0 kbytes
      Peak rate:                                                                    
                              2013-11-17 13:15:18                          8,661,600 bps 
    </span></span></span>

配置文件

  • 路由器的配置文件

    <span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd">#
     sysname HUAWEI
    #
    flow-wred test
     color green low-limit 70 high-limit 100 discard-percentage 100
     color yellow low-limit 60 high-limit 90 discard-percentage 100
     color red low-limit 50 high-limit 80 discard-percentage 100
    #
    flow-mapping test
     map flow-queue af1 to port-queue ef
    #
    flow-queue test
     queue af1 lpq shaping 10000 flow-wred test
     queue ef pq shaping 30000 flow-wred test
    #
    user-group-queue test
     shaping 500000 inbound
    #
    service-template test
     network-header-length 12 inbound
    #
    qos-profile test
     user-queue cir 100000 pir 100000 flow-queue test flow-mapping test user-group-queue test service-template test  
    #
    port-wred test
     color green low-limit 70 high-limit 100 discard-percentage 100
     color yellow low-limit 60 high-limit 90 discard-percentage 100
     color red low-limit 50 high-limit 80 discard-percentage 100
    #
    interface GigabitEthernet1/0/0.1  
     encapsulation qinq-termination
     qinq termination pe-vid 1 ce-vid 1 to 100 
     ip address 10.10.1.1 255.255.255.0
     qos-profile test inbound pe-vid 1 ce-vid 1 to 100 group group1
    #
    interface GigabitEthernet1/0/0.2 
     encapsulation qinq-termination
     qinq termination pe-vid 2 ce-vid 1 to 100 
     ip address 10.10.2.1 255.255.255.0
     qos-profile test inbound pe-vid 2 ce-vid 1 to 100 group group1
    #
    interface GigabitEthernet1/0/0.3 
     encapsulation qinq-termination
     qinq termination pe-vid 3 ce-vid 1 to 100 
     ip address 10.10.3.1 255.255.255.0
     qos-profile test inbound pe-vid 3 ce-vid 1 to 100 group group1
    #
    interface GigabitEthernet2/0/0
     undo shutdown
     ip address 10.20.1.1 255.255.255.0
     port-queue ef pq shaping 120 port-wred test outbound
    #
    ospf 10
     area 0.0.0.0
     network 10.20.1.0 0.0.0.255
     network 10.10.1.0 0.0.0.255
     network 10.10.2.0 0.0.0.255
     network 10.10.3.0 0.0.0.255
    #
    return</span></span></span>

有关HQoS配置学习的更多相关文章

  1. ruby-on-rails - 独立 ruby​​ 脚本的配置文件 - 2

    我有一个在Linux服务器上运行的ruby​​脚本。它不使用rails或任何东西。它基本上是一个命令行ruby​​脚本,可以像这样传递参数:./ruby_script.rbarg1arg2如何将参数抽象到配置文件(例如yaml文件或其他文件)中?您能否举例说明如何做到这一点?提前谢谢你。 最佳答案 首先,您可以运行一个写入YAML配置文件的独立脚本:require"yaml"File.write("path_to_yaml_file",[arg1,arg2].to_yaml)然后,在您的应用中阅读它:require"yaml"arg

  2. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

  3. Vscode+Cmake配置并运行opencv环境(Windows和Ubuntu大同小异) - 2

    之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m

  4. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  5. CAN协议的学习与理解 - 2

    最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总

  6. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

  7. 神州数码无线产品(AC+AP)配置 - 2

    注意:本文主要掌握DCN自研无线产品的基本配置方法和注意事项,能够进行一般的项目实施、调试与运维AP基本配置命令AP登录用户名和密码均为:adminAP默认IP地址为:192.168.1.10AP默认情况下DHCP开启AP静态地址配置:setmanagementstatic-ip192.168.10.1AP开启/关闭DHCP功能:setmanagementdhcp-statusup/downAP设置默认网关:setstatic-ip-routegeteway192.168.10.254查看AP基本信息:getsystemgetmanagementgetmanaged-apgetrouteAP配

  8. hadoop安装之保姆级教程(二)之YARN的配置 - 2

    1.1.1 YARN的介绍 为克服Hadoop1.0中HDFS和MapReduce存在的各种问题⽽提出的,针对Hadoop1.0中的MapReduce在扩展性和多框架⽀持⽅⾯的不⾜,提出了全新的资源管理框架YARN. ApacheYARN(YetanotherResourceNegotiator的缩写)是Hadoop集群的资源管理系统,负责为计算程序提供服务器计算资源,相当于⼀个分布式的操作系统平台,⽽MapReduce等计算程序则相当于运⾏于操作系统之上的应⽤程序。 YARN被引⼊Hadoop2,最初是为了改善MapReduce的实现,但是因为具有⾜够的通⽤性,同样可以⽀持其他的分布式计算模

  9. Ruby 默认将 IRB 配置为 Pretty_Inspect - 2

    我是ruby​​的新手,正在配置IRB。我喜欢pretty-print(需要'pp'),但总是输入pp来漂亮地打印它似乎很麻烦。我想做的是默认情况下让它漂亮地打印出来,所以如果我有一个var,比如说,'myvar',然后键入myvar,它会自动调用pretty_inspect而不是常规检查。我从哪里开始?理想情况下,我将能够向我的.irbrc文件添加一个自动调用的方法。有什么想法吗?谢谢! 最佳答案 irb中默认pretty-print对象正是hirb被迫去做。Theseposts解释hirb如何将几乎所有内容转换为ascii表。虽

  10. ruby - 我正在学习编程并选择了 Ruby。我应该升级到 Ruby 1.9 吗? - 2

    我完全不是程序员,正在学习使用Ruby和Rails框架进行编程。我目前正在使用Ruby1.8.7和Rails3.0.3,但我想知道我是否应该升级到Ruby1.9,因为我真的没有任何升级的“遗留”成本。缺点是什么?我是否会遇到与普通gem的兼容性问题,或者甚至其他我不太了解甚至无法预料的问题? 最佳答案 你应该升级。不要坚持从1.8.7开始。如果您发现不支持1.9.2的gem,请避免使用它们(因为它们很可能不被维护)。如果您对gem是否兼容1.9.2有任何疑问,您可以在以下位置查看:http://www.railsplugins.or

随机推荐