与传统的QoS基于端口进行流量调度不同,HQoS在单个端口下能区分用户和不同用户的业务。
HQoS即层次化QoS(Hierarchical Quality of Service),是一种通过多级队列调度机制,解决Diffserv模型下多用户多业务带宽保证的技术。
传统的QoS采用一级调度,单个端口只能区分业务优先级,无法区分用户。只要属于同一优先级的流量,使用同一个端口队列,不同用户的流量彼此之间竞争同一个队列资源,无法对端口上单个用户的单个流量进行区分服务。
HQoS采用多级调度的方式,可以精细区分不同用户和不同业务的流量,提供区分的带宽管理。
以NE40E的调度结构为说明
在NE40E上,没有配置HQoS的情况下,只有类队列CQ(Class Queue)和Port调度器,其调度结构如图1:没有配置HQoS时的队列调度结构。

CQ队列的属性包括:
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队列具有相同属性:
中间节点:SQ(Subscriber Queue)
一个SQ代表一个用户(例如,一个VLAN,或一个LSP,或一个PVC),每个SQ可定义其CIR和PIR。
每个SQ固定对应8种FQ业务优先级,这1~8个FQ共享该SQ的带宽。如果哪个FQ空闲,则其他FQ可以占用空闲出来的带宽,但是受限于FQ自己的PIR,最大不能超过FQ自己的PIR。
SQ既是调度器,又是虚队列作为被调度对象。
根节点: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配置方法是:
分层模型为:
FQ的作用是保证各类业务的带宽分配关系;SQ的作用是将每一个用户单独标识出来;而GQ的作用是使得各个用户之间的CIR能够得到保证,同时又达到带宽共享的目的。
超过CIR部分的带宽是不保证的,这是合理的,因为超过CIR部分的带宽实际上是用户并未付费的部分,是属于额外的。而重要的是,必须保证CIR,因为CIR的带宽是客户购买的。按照图8-2的SQ调度可以看到,用户的CIR总是可以保证的,因为用户的CIR是被单独标识出来优先被调度的,因此不会被其它用户超过CIR部分的流量抢占。
NE40E上,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示例。
组网需求
用户通过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。
配置思路
采用如下的思路配置基于模板的HQoS功能。
配置流队列WRED对象的报文丢弃的参数。
配置流队列的调度算法及参数。
配置流队列与类队列的服务等级映射。
配置用户组队列shaping值。
配置业务模板的精度调整长度。
配置QoS模板中用户队列调度参数。
配置类队列WRED对象的报文丢弃的参数。
在接入路由器下行接口配置类队列。
数据准备
完成此例配置,需准备以下数据:
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值
操作步骤
# 配置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>
# 配置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>
<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>
# 配置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>
# 配置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>
<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>
# 配置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-name和display 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>
# 配置类队列引用的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>
# 配置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>
当网络中有流量通过时,发现用户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> 我有一个在Linux服务器上运行的ruby脚本。它不使用rails或任何东西。它基本上是一个命令行ruby脚本,可以像这样传递参数:./ruby_script.rbarg1arg2如何将参数抽象到配置文件(例如yaml文件或其他文件)中?您能否举例说明如何做到这一点?提前谢谢你。 最佳答案 首先,您可以运行一个写入YAML配置文件的独立脚本:require"yaml"File.write("path_to_yaml_file",[arg1,arg2].to_yaml)然后,在您的应用中阅读它:require"yaml"arg
我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm
之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m
目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称
最近在学习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总线个人知识总
深度学习部署: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
注意:本文主要掌握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配
1.1.1 YARN的介绍 为克服Hadoop1.0中HDFS和MapReduce存在的各种问题⽽提出的,针对Hadoop1.0中的MapReduce在扩展性和多框架⽀持⽅⾯的不⾜,提出了全新的资源管理框架YARN. ApacheYARN(YetanotherResourceNegotiator的缩写)是Hadoop集群的资源管理系统,负责为计算程序提供服务器计算资源,相当于⼀个分布式的操作系统平台,⽽MapReduce等计算程序则相当于运⾏于操作系统之上的应⽤程序。 YARN被引⼊Hadoop2,最初是为了改善MapReduce的实现,但是因为具有⾜够的通⽤性,同样可以⽀持其他的分布式计算模
我是ruby的新手,正在配置IRB。我喜欢pretty-print(需要'pp'),但总是输入pp来漂亮地打印它似乎很麻烦。我想做的是默认情况下让它漂亮地打印出来,所以如果我有一个var,比如说,'myvar',然后键入myvar,它会自动调用pretty_inspect而不是常规检查。我从哪里开始?理想情况下,我将能够向我的.irbrc文件添加一个自动调用的方法。有什么想法吗?谢谢! 最佳答案 irb中默认pretty-print对象正是hirb被迫去做。Theseposts解释hirb如何将几乎所有内容转换为ascii表。虽
我完全不是程序员,正在学习使用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