配置HQoS示例
组网图形
图1 配置HQoS组网图
业务类型 |
颜色 |
阈值下限(%) |
阈值上限(%) |
丢弃概率 |
语音 |
绿 |
80 |
100 |
10 |
视频 |
黄 |
60 |
80 |
20 |
数据 |
红 |
40 |
60 |
40 |
业务类型 |
服务等级 |
语音 |
EF |
视频 |
AF3 |
数据 |
AF1 |
用户 |
峰值带宽 |
属于VLAN10的用户 |
8000kbit/s |
属于VLAN20的用户 |
5000kbit/s |
^^^
- HQoS简介
- 配置注意事项
- 组网需求
- 配置思路
- 操作步骤
- 配置文件
HQoS简介
HQoS通过多级队列进一步细化区分业务流量,对多个用户、多种业务等传输对象进行统一管理和分层调度,在现有的硬件环境下使设备具备内部资源的控制策略,既能够为高级用户提供质量保证,又能够从整体上节约网络建设成本。
交换机的HQoS主要通过流队列和用户队列实现。
配置注意事项
- 本举例适用的产品和版本包括:
- S5720-HI、S5731-S、S5731S-S、S5731-H、S5731-H-K和S5731S-H:适用版本请参见“案例适用的产品和版本说明”中的表1
- S7703、S7706、S7712、S9703、S9706、S9712:V200R006C00及后续版本
- S7710、S7703 PoE、S7706 PoE:适用版本请参见“案例适用的产品和版本说明”中的表1
- 框式设备只有X1E系列单板支持配置此示例。
如需了解交换机软件配套详细信息,在选择产品系列或产品型号后,在“硬件中心”进行查询。
S5731-L和S5731S-L属于远端模块,不支持Web管理、YANG和命令行,仅支持通过中心交换机对其下发配置,相关操作请参见《S300, S500, S2700, S5700, S6700 V200R022C00 配置指南-设备管理》中的“智能极简园区网络配置(小行星方案)”。
组网需求
网络中有多个用户,每个用户都有语音,视频和数据三种不同的业务,其携带的802.1p优先级分别为6、5、2。现在需要优先保证语音业务的带宽,其次是视频业务,最后是数据业务。配置需求如表1和表2所述。
由于带宽有限,除了需要区分不同业务的优先级之外还需要针对不同的用户进行流量整形,为多个用户提供不同的带宽,配置需求如表3所述。
配置思路
采用如下的思路配置HQoS:
- 创建VLAN,并配置各接口,使用户能够通过Switch访问网络。
- 在Switch上配置创建并配置DiffServ域,将802.1p优先级映射为PHB行为并为报文着色,并在Switch入接口上绑定DiffServ域。
- 在Switch上配置流队列WRED模板和流队列模板及相关参数,以实现为不同的业务提供不同的调度优先级,丢弃参数及流量整形参数。
- 在Switch上配置ACL规则,通过VLAN区分来自不同用户的数据流量。
- 在Switch上配置用户队列及流量整形参数,通过引用流队列WRED模板和流队列模板实现HQoS。
操作步骤
- 创建VLAN并配置各接口#在SwitchA上创建VLAN10,配置SwitchA上接口GE1/0/1、GE1/0/2的接口类型为Access,并加入VLAN10,配置接口GE2/0/1的接口类型为Trunk,并加入VLAN10。
<HUAWEI> system-view
[HUAWEI] sysname SwitchA
[SwitchA] vlan batch 10
[SwitchA] interface gigabitethernet 1/0/1
[SwitchA-GigabitEthernet1/0/1] port link-type access
[SwitchA-GigabitEthernet1/0/1] port default vlan 10
[SwitchA-GigabitEthernet1/0/1] quit
[SwitchA] interface gigabitethernet 1/0/2
[SwitchA-GigabitEthernet1/0/2] port link-type access
[SwitchA-GigabitEthernet1/0/2] port default vlan 10
[SwitchA-GigabitEthernet1/0/2] quit
[SwitchA] interface gigabitethernet 2/0/1
[SwitchA-GigabitEthernet2/0/1] port link-type trunk
[SwitchA-GigabitEthernet2/0/1] port trunk allow-pass vlan 10
[SwitchA-GigabitEthernet2/0/1] quit
- #在SwitchB上创建VLAN20,配置SwitchB上接口GE1/0/1、GE1/0/2的接口类型为Access,并加入VLAN20,配置接口GE2/0/1的接口类型为Trunk,并加入VLAN20。
<HUAWEI> system-view
[HUAWEI] sysname SwitchB
[SwitchB] vlan batch 20
[SwitchB] interface gigabitethernet 1/0/1
[SwitchB-GigabitEthernet1/0/1] port link-type access
[SwitchB-GigabitEthernet1/0/1] port default vlan 20
[SwitchB-GigabitEthernet1/0/1] quit
[SwitchB] interface gigabitethernet 1/0/2
[SwitchB-GigabitEthernet1/0/2] port link-type access
[SwitchB-GigabitEthernet1/0/2] port default vlan 20
[SwitchB-GigabitEthernet1/0/2] quit
[SwitchB] interface gigabitethernet 2/0/1
[SwitchB-GigabitEthernet2/0/1] port link-type trunk
[SwitchB-GigabitEthernet2/0/1] port trunk allow-pass vlan 20
[SwitchB-GigabitEthernet2/0/1] quit
- #在SwitchC上创建VLAN10和VLAN20,配置SwitchC上接口GE1/0/1的接口类型为Trunk,并加入VLAN10和VLAN20,配置接口GE2/0/1的接口类型为Trunk,并加入VLAN10和VLAN20。
<HUAWEI> system-view
[HUAWEI] sysname SwitchC
[SwitchC] vlan batch 10 20
[SwitchC] interface gigabitethernet 1/0/1
[SwitchC-GigabitEthernet1/0/1] port link-type trunk
[SwitchC-GigabitEthernet1/0/1] port trunk allow-pass vlan 10 20
[SwitchC-GigabitEthernet1/0/1] quit
[SwitchC] interface gigabitethernet 2/0/1
[SwitchC-GigabitEthernet2/0/1] port link-type trunk
[SwitchC-GigabitEthernet2/0/1] port trunk allow-pass vlan 10 20
[SwitchC-GigabitEthernet2/0/1] quit
- #在Switch上创建VLAN10和VLAN20,将接口GE1/0/1、GE1/0/2和GE2/0/1的接入类型分别配置为trunk,并分别将接口GE1/0/1加入VLAN10,GE1/0/2加入VLAN20,GE2/0/1加入VLAN 10、VLAN 20。
<HUAWEI> system-view
[HUAWEI] sysname Switch
[Switch] vlan batch 10 20
[Switch] interface gigabitethernet 1/0/1
[Switch-GigabitEthernet1/0/1] port link-type trunk
[Switch-GigabitEthernet1/0/1] port trunk allow-pass vlan 10
[Switch-GigabitEthernet1/0/1] quit
[Switch] interface gigabitethernet 1/0/2
[Switch-GigabitEthernet1/0/2] port link-type trunk
[Switch-GigabitEthernet1/0/2] port trunk allow-pass vlan 20
[Switch-GigabitEthernet1/0/2] quit
[Switch] interface gigabitethernet 2/0/1
[Switch-GigabitEthernet2/0/1] port link-type trunk
[Switch-GigabitEthernet2/0/1] port trunk allow-pass vlan 10 20
[Switch-GigabitEthernet2/0/1] quit
- 配置优先级映射#创建DiffServ域ds1,将802.1p优先级6、5、2分别映射为服务等级EF、AF3、AF1,并分别将报文标记为绿色,黄色和红色。
[Switch] diffserv domain ds1
[Switch-dsdomain-ds1] 8021p-inbound 6 phb ef green //配置DiffServ域模板,将不同业务携带的802.1p优先级映射为不同的PHB行为,保证其分别进入不同的队列
[Switch-dsdomain-ds1] 8021p-inbound 5 phb af3 yellow
[Switch-dsdomain-ds1] 8021p-inbound 2 phb af1 red
[Switch-dsdomain-ds1] quit
- # 在Switch入接口GE1/0/1和GE1/0/2上绑定DiffServ域。
[Switch] interface gigabitethernet 1/0/1
[Switch-GigabitEthernet1/0/1] trust upstream ds1 //在接口上应用配置好的DiffServ域模板
[Switch-GigabitEthernet1/0/1] trust 8021p inner //配置接口信任802.1p优先级
[Switch-GigabitEthernet1/0/1] quit
[Switch] interface gigabitethernet 1/0/2
[Switch-GigabitEthernet1/0/2] trust upstream ds1 //在接口上应用配置好的DiffServ域模板
[Switch-GigabitEthernet1/0/2] trust 8021p inner //配置接口信任802.1p优先级
[Switch-GigabitEthernet1/0/2] quit
- 配置流队列WRED模板及参数#在Switch上配置流队列WRED模板wred1,并配置wred1的三色报文参数。
[Switch] flow-wred-profile wred1 //配置流队列WRED模板
[Switch-flow-wred-wred1] color green low-limit 80 high-limit 100 discard-percentage 10 //配置流队列WRED丢弃模板,设置绿色报文丢弃上下限阈值和最大丢弃概率
[Switch-flow-wred-wred1] color yellow low-limit 60 high-limit 80 discard-percentage 20 //配置黄色报文占队列长度百分比为60%时开始丢弃报文,丢弃概率为20%,黄色报文占队列长度百分比达到80%时开始丢弃所有新到达报文
[Switch-flow-wred-wred1] color red low-limit 40 high-limit 60 discard-percentage 40
[Switch-flow-wred-wred1] quit
- 配置流队列模板及参数#在Switch上配置流队列模板flow1引用流队列WRED模板wred1,并配置各服务等级的调度参数。
[Switch] flow-queue-profile flow1 //配置流队列模板
[Switch-flow-queue-flow1] qos queue 5 pq flow-wred-profile wred1 //队列5配置为PQ调度并引用流队列WRED模板wred1
[Switch-flow-queue-flow1] qos queue 3 wfq weight 20 flow-wred-profile wred1 //队列3配置为WFQ调度且调度权值为20,并引用流队列WRED模板wred1
[Switch-flow-queue-flow1] qos queue 1 wfq weight 10 flow-wred-profile wred1 //队列1配置为WFQ调度且调度权值为10,并引用流队列WRED模板wred1
[Switch-flow-queue-flow1] quit
- 配置ACL规则#在Switch上配置ACL4001和ACL4002,并分别配置匹配VLAN10和VLAN20的rule规则。
[Switch] acl number 4001
[Switch-acl-L2-4001] rule 1 permit vlan-id 10 //配置ACL匹配VLAN ID为10的用户
[Switch-acl-L2-4001] quit
[Switch] acl number 4002
[Switch-acl-L2-4002] rule 1 permit vlan-id 20 //配置ACL匹配VLAN ID为20的用户
[Switch-acl-L2-4002] quit
- 配置用户队列及参数#在Switch上配置基于ACL4001和ACL4002的用户队列,并引用流队列模板flow1。
[Switch] interface gigabitethernet 2/0/1
[Switch-GigabitEthernet2/0/1] traffic-user-queue outbound acl 4001 pir 8000 flow-queue-profile flow1 //根据ACL4001匹配用户队列配置其带宽为8000kbit/s,并引用流队列flow1
[Switch-GigabitEthernet2/0/1] traffic-user-queue outbound acl 4002 pir 5000 flow-queue-profile flow1 //根据ACL4002匹配用户队列配置其带宽为5000kbit/s,并引用流队列flow1
[Switch-GigabitEthernet2/0/1] quit
[Switch] quit
- 验证配置结果#查看流队列WRED模板的配置信息,包括流队列WRED模板名称以及红、黄、绿三色报文的丢弃上下限和最大丢弃概率。
<Switch> display flow-wred-profile name wred1
Flow-wred-profile[1]: wred1
Queue depth : 1048576
Color Low-limit High-limit Discard-percentage
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Green 80 100 10
Yellow 60 80 20
Red 40 60 40
-----------------------------------------------------------------
- #查看流队列模板的配置信息,包括流队列模板名称以及WFQ调度的权重。
<Switch> display flow-queue-profile name flow1
Flow-queue-profile[1]: flow1
Queue Schedule(Weight) Shaping flow-wred-profile
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
0 PQ None default
1 WFQ(10) None wred1
2 PQ None default
3 WFQ(20) None wred1
4 PQ None default
5 PQ None wred1
6 PQ None default
7 PQ None default
-----------------------------------------------------------------------
- #查看用户队列的流量统计信息。
<Switch> display traffic-user-queue statistics interface gigabitethernet 2/0/1 outbound acl 4001
--------------------------------------------------------------------------------
Interface: GigabitEthernet2/0/1
--------------------------------------------------------------------------------
Queue ID | Statistics information
--------------------------------------------------------------------------------
0 | packets: pass: 4,127
| drop: 2,798,787,076
| bytes: pass: 610,796
| drop: 414,220,487,248
--------------------------------------------------------------------------------
Queue ID | Statistics information
--------------------------------------------------------------------------------
1 | packets: pass: 4,127
| drop: 5,597,436,717
| bytes: pass: 610,796
| drop: 828,420,634,116
--------------------------------------------------------------------------------
Queue ID | Statistics information
--------------------------------------------------------------------------------
2 | packets: pass: 0
| drop: 0
| bytes: pass: 0
| drop: 0
--------------------------------------------------------------------------------
Queue ID | Statistics information
--------------------------------------------------------------------------------
3 | packets: pass: 4,127
| drop: 5,597,436,713
| bytes: pass: 610,796
| drop: 828,420,633,524
--------------------------------------------------------------------------------
Queue ID | Statistics information
--------------------------------------------------------------------------------
4 | packets: pass: 4,127
| drop: 2,798,716,293
| bytes: pass: 610,796
| drop: 414,210,011,364
--------------------------------------------------------------------------------
Queue ID | Statistics information
--------------------------------------------------------------------------------
5 | packets: pass: 4,127
| drop: 2,798,716,294
| bytes: pass: 610,796
| drop: 414,210,011,512
--------------------------------------------------------------------------------
Queue ID | Statistics information
--------------------------------------------------------------------------------
6 | packets: pass: 0
| drop: 0
| bytes: pass: 0
| drop: 0
--------------------------------------------------------------------------------
Queue ID | Statistics information
--------------------------------------------------------------------------------
7 | packets: pass: 1,119,509,460
| drop: 1,679,210,961
| bytes: pass: 165,687,400,080
| drop: 248,523,222,228
--------------------------------------------------------------------------------
<Switch> display traffic-user-queue statistics interface gigabitethernet 2/0/1 outbound acl 4002
--------------------------------------------------------------------------------
Interface: GigabitEthernet2/0/1
--------------------------------------------------------------------------------
Queue ID | Statistics information
--------------------------------------------------------------------------------
0 | packets: pass: 4,125
| drop: 5,218,026
| bytes: pass: 610,500
| drop: 772,267,848
--------------------------------------------------------------------------------
Queue ID | Statistics information
--------------------------------------------------------------------------------
1 | packets: pass: 4,125
| drop: 10,440,178
| bytes: pass: 610,500
| drop: 1,545,146,344
--------------------------------------------------------------------------------
Queue ID | Statistics information
--------------------------------------------------------------------------------
2 | packets: pass: 0
| drop: 0
| bytes: pass: 0
| drop: 0
--------------------------------------------------------------------------------
Queue ID | Statistics information
--------------------------------------------------------------------------------
3 | packets: pass: 4,125
| drop: 10,440,178
| bytes: pass: 610,500
| drop: 1,545,146,344
--------------------------------------------------------------------------------
Queue ID | Statistics information
--------------------------------------------------------------------------------
4 | packets: pass: 4,125
| drop: 5,218,027
| bytes: pass: 610,500
| drop: 772,267,996
--------------------------------------------------------------------------------
Queue ID | Statistics information
--------------------------------------------------------------------------------
5 | packets: pass: 4,125
| drop: 5,218,027
| bytes: pass: 610,500
| drop: 772,267,996
--------------------------------------------------------------------------------
Queue ID | Statistics information
--------------------------------------------------------------------------------
6 | packets: pass: 0
| drop: 0
| bytes: pass: 0
| drop: 0
--------------------------------------------------------------------------------
Queue ID | Statistics information
--------------------------------------------------------------------------------
7 | packets: pass: 2,092,988
| drop: 3,129,165
| bytes: pass: 309,762,224
| drop: 463,116,420
--------------------------------------------------------------------------------
配置文件
- SwitchA的配置文件
#
sysname SwitchA
#
vlan batch 10
#
interface GigabitEthernet1/0/1
port link-type access
port default vlan 10
#
interface GigabitEthernet1/0/2
port link-type access
port default vlan 10
#
interface GigabitEthernet2/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
return
- SwitchB的配置文件
#
sysname SwitchB
#
vlan batch 20
#
interface GigabitEthernet1/0/1
port link-type access
port default vlan 20
#
interface GigabitEthernet1/0/2
port link-type access
port default vlan 20
#
interface GigabitEthernet2/0/1
port link-type trunk
port trunk allow-pass vlan 20
#
return
- SwitchC的配置文件
#
sysname SwitchC
#
vlan batch 10 20
#
interface GigabitEthernet1/0/1
port link-type trunk
port trunk allow-pass vlan 10 20
#
interface GigabitEthernet2/0/1
port link-type trunk
port trunk allow-pass vlan 10 20
#
return
- Switch的配置文件
#
sysname Switch
#
vlan batch 10 20
#
diffserv domain ds1
8021p-inbound 2 phb af1 red
8021p-inbound 5 phb af3 yellow
8021p-inbound 6 phb ef green
#
acl number 4001
rule 1 permit vlan-id 10
acl number 4002
rule 1 permit vlan-id 20
#
flow-wred-profile wred1
color green low-limit 80 high-limit 100 discard-percentage 10
color yellow low-limit 60 high-limit 80 discard-percentage 20
color red low-limit 40 high-limit 60 discard-percentage 40
#
flow-queue-profile flow1
qos queue 1 wfq weight 10 flow-wred-profile wred1
qos queue 3 wfq weight 20 flow-wred-profile wred1
qos queue 5 flow-wred-profile wred1
#
interface GigabitEthernet1/0/1
port link-type trunk
port trunk allow-pass vlan 10
trust upstream ds1
trust 8021p inner
#
interface GigabitEthernet1/0/2
port link-type trunk
port trunk allow-pass vlan 20
trust upstream ds1
trust 8021p inner
#
interface GigabitEthernet2/0/1
port link-type trunk
port trunk allow-pass vlan 10 20
traffic-user-queue outbound acl 4001 pir 8000 flow-queue-profile flow1
traffic-user-queue outbound acl 4002 pir 5000 flow-queue-profile flow1
#
return