一、无损网络配置
1 环境简介
图示:Server 1 and Server 2 通过 Device A 和Device B连接到Server 3 .
- 在数据包传输路径上的所有接口上启用 PFC。本示例为 802.1p 优先级为 5 (802.1p priority 5)的数据包启用无损传输。
- ·在交换机连接服务器的接口上使能DCBX,以便交换机和服务器网卡协商ETS和PFC参数。
- ·配置 ETS 以保证设备 A 的 25-5GigE 1/0/3 和设备 B 的 25-5GigE 1/0/2 上的 802.1p 优先级为 5 的数据包的带宽。
- ·在Device A的25GigE 1/0/3上配置ECN,当Device A发生拥塞时,Device A可以通知发送方调整报文发送速率。
NOTE:
在此示例中,设备 A 的 25-5GigE 1/0/3 上可能发生拥塞,因此仅在(此)接口上配置 ECN。如果实际情况下拥塞的位置无法预测,可以在网络的所有接口上配置ECN。
2 知识准备
- RED和WRED是什么
- 配置WRED丢弃模板
【举例】
# 配置基于队列的WRED表queue-table1中队列1的丢弃参数:丢弃级别为1,队列平均长度的下限为10,队列平均长度的上限为20,丢弃概率为30%。
<Sysname> system-view
[Sysname] qos wred queue table queue-table1
[Sysname-wred-table-queue-table1] queue 1 drop-level 1 low-limit 10 high-limit 20 discard-probability 30
【参数】
all:表示所有队列。
queue-id:队列编号。取值范围为0~7。
drop-level drop-level:丢弃级别,在进行报文丢弃时参考的参数,0对应绿色报文、1对应黄色报文、2对应红色报文。如果未指定本参数,后续配置的参数对该队列所有丢弃级别的报文都生效。
low-limit low-limit:队列平均长度的下限。取值范围为0~38000。
high-limit high-limit:队列平均长度的上限。取值范围为0~3800且必须大于丢弃下限。
discard-probability discard-prob:丢弃概率,取值越大,计算出的丢弃概率越小。取值范围为0~100。
【使用指导】
当队列平均长度小于下限时,不丢弃报文。当队列平均长度在上限和下限之间时,设备随机丢弃报文,队列越长,丢弃概率越高。当队列平均长度超过上限时,丢弃所有到来的报文。
- WRED丢弃模板中设置queue 的丢弃参数和应用ECN
[DeviceA] qos wred queue table queue-table5 #表名=queue-table5
[DeviceA-wred-table-queue-table5] queue 5 weighting-constant 12 #配置WRED指数=12
[DeviceA-wred-table-queue-table5] queue 5 drop-level 0 low-limit 10 high-limit 20 discard-probability 30
[DeviceA-wred-table-queue-table5] queue 5 ecn #queue 5应用ECN
[DeviceA-wred-table-queue-table5] quit
- 应用WRED丢弃模板
配置WRED丢弃模板后,需要在接口或端口队列上应用,WRED丢弃模板才会生效。以下描述在端口队列上应用WRED丢弃模板
[DeviceA] interface twenty-fivegige 1/0/3
[DeviceA-Twenty-FiveGigE1/0/3] qos wred apply queue-table5
2.5 检查配置结果
display qos wred table 查看WRED丢弃模板的配置结果
3 配置步骤
1. 配置设备 A:
# 配置 25-5GigE 1/0/1、25-5GigE 1/0/2 和 25-5GigE 1/0/3 以信任数据包中携带的 802.1p 优先级。在这些接口上启用 PFC 并为 802.1p 优先级 5(priority 5) 启用 PFC。
<DeviceA> system-view
[DeviceA] interface range twenty-fivegige 1/0/1 to twenty-fivegige 1/0/3
[DeviceA-if-range] qos trust dot1p
[DeviceA-if-range] priority-flow-control enable
[DeviceA-if-range] priority-flow-control no-drop dot1p 5
[DeviceA-if-range] quit
# 全局启用 LLDP。
[DeviceA] lldp global enable
# 在 25-5GigE 1/0/1 和 25-5GigE 1/0/2 上启用 LLDP。启用这些接口以通告 DCBX TLV。在这些接口上将 DCBX 版本设置为 1.01 版。
[DeviceA] interface range twenty-fivegige 1/0/1 to twenty-fivegige 1/0/2
[DeviceA-if-range] lldp enable
[DeviceA-if-range] lldp tlv-enable dot1-tlv dcbx
[DeviceA-if-range] dcbx version rev101
[DeviceA-if-range] quit
# 在 25-GigE 1/0/3 上启用字节计数 WRR。将队列5(queue 5)(802.1p优先级5默认映射到本地优先级5)分配给SP组。
[DeviceA] interface twenty-fivegige 1/0/3
[DeviceA-Twenty-FiveGigE1/0/3] qos wrr byte-count
[DeviceA-Twenty-FiveGigE1/0/3] qos wrr 5 group sp
[DeviceA-Twenty-FiveGigE1/0/3] quit
# 创建 WRED 表queue-table5。在 WRED 表中,设置 WRED 的指数以计算平均队列大小和 WRED 参数,并为队列 5 (queue 5)启用 ECN。将 WRED 表queue-table5 应用到 25-GigE 1/0/3。
#参数说明见附录1
#创建wred模板(内含启用ECN)
[DeviceA] qos wred queue table queue-table5
[DeviceA-wred-table-queue-table5] queue 5 weighting-constant 12 #配置WRED指数
[DeviceA-wred-table-queue-table5] queue 5 drop-level 0 low-limit 10 high-limit 20 discard-probability 30
[DeviceA-wred-table-queue-table5] queue 5 ecn
[DeviceA-wred-table-queue-table5] quit
#wred模板应用到要启用的端口
[DeviceA] interface twenty-fivegige 1/0/3
[DeviceA-Twenty-FiveGigE1/0/3] qos wred apply queue-table5
2. 配置设备 B:
# 配置 25-5GigE 1/0/1 和 25-5GigE 1/0/2 以信任数据包中携带的 802.1p 优先级。在这些接口上启用 PFC 并为 802.1p 优先级 5 启用 PFC。
<DeviceB> system-view
[DeviceB] interface range twenty-fivegige 1/0/1 to twenty-fivegige 1/0/2
[DeviceB-if-range] qos trust dot1p
[DeviceB-if-range] priority-flow-control enable
[DeviceB-if-range] priority-flow-control no-drop dot1p 5
[DeviceB-if-range] quit
# 全局启用 LLDP。
[DeviceB] lldp global enable
# 在 25GigE 1/0/2 上启用 LLDP。启用接口以通告 DCBX TLV。在界面上将 DCBX 版本设置为 1.01 版。
[DeviceB]interface twenty-fivegige 1/0/2
[DeviceB-Twenty-FiveGigE1/0/2] lldp enable
[DeviceB-Twenty-FiveGigE1/0/2] lldp tlv-enable dot1-tlv dcbx
[DeviceB-Twenty-FiveGigE1/0/2] dcbx version rev101
[DeviceB-Twenty-FiveGigE1/0/2] quit
# 在 25GigE 1/0/2 上启用字节计数 WRR。将队列5(802.1p优先级5默认映射到本地优先级5)分配给SP组。
[DeviceB] interface twenty-fivegige 1/0/2
[DeviceB-Twenty-FiveGigE1/0/2] qos wrr byte-count
[DeviceB-Twenty-FiveGigE1/0/2] qos wrr 5 group sp
3 确认
<H3C>display qos wred table #显示所有,发现 display qos wred table name 1无法使用
# 显示Device B丢包的信息。
<DeviceB> display packet-drop summary
All interfaces:
Packets dropped due to Fast Filter Processor (FFP): 0
Packets dropped due to STP non-forwarding state: 0
Packets dropped due to insufficient data buffer. Input dropped: 0 Output dropped: 0
Packets of ECN marked: 1622267130
Packets of WRED droped: 0
输出显示在设备 B 上丢弃了零个数据包。
# 显示Device B上25GigE 1/0/2的带宽使用情况。
<DeviceB> display counters rate outbound interface Twenty-FiveGigE 1/0/2
Usage: Bandwidth utilization in percentage
Interface Usage (%) Total (pps) Broadcast (pps) Multicast (pps)
WGE1/0/2 100 2825427 -- --
Overflow: More than 14 digits.
--: Not supported.
输出显示,Twenty-FiveGigE 1/0/2 的带宽使用率为 100%。
二、附录
1、配置 WRED 命令和参数说明
命令和参数说明
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Create a WRED table and enter its view. |
qos wred queue table table-name |
N/A |
3. (Optional.) Set the WRED exponent for average queue size calculation. |
queue queue-id weighting-constant exponent |
The default setting is 9. |
4. (Optional.) Configure the other WRED parameters. |
queue queue-id [ drop-level drop-level ] low-limit low-limit high-limit high-limit [ discard-probability discard-prob ] |
By default, the lower limit is 100, the upper limit is 1000, and the drop probability is 10. |
5. (Optional.) Enable ECN for a queue. |
queue queue-id ecn |
By default, ECN is not enabled on a queue. |
6. Return to system view. |
quit |
N/A |
7. Enter interface view. |
interface interface-type interface-number |
N/A |
8. Apply the WRED table to the interface. |
qos wred apply [ table-name ] |
By default, no WRED table is applied to an interface, and tail drop is used on an interface. A WRED table can be applied to multiple interfaces. For a WRED table already applied to an interface, you can modify the values of the WRED table, but you cannot remove the WRED table. |
显示和维护 WRED
在任意视图下执行显示命令。
Task |
Command |
Display WRED configuration and statistics for an interface. |
display qos wred interface [ interface-type interface-number ] |
Display the configuration of WRED tables. |
display qos wred table [ name table-name ] [ slot slot-number ] |
<H3C>display qos wred table #显示所有,发现 display qos wred table name 1无法使用
# 显示WRED表1的配置情况,表1是一个已经配置好的WRED参数表。 |
字段 |
描述 |
Table name |
WRED表名 |
Table type |
WRED表类型 |
QID |
队列ID |
gmin |
绿色报文的队列下限 |
gmax |
绿色报文的队列上限 |
gprob |
绿色报文的丢弃概率 |
ymin |
黄色报文的队列下限 |
ymax |
黄色报文的队列上限 |
yprob |
黄色报文的丢弃概率 |
rmin |
红色报文的队列下限 |
rmax |
红色报文的队列上限 |
rprob |
红色报文的丢弃概率 |
exponent |
计算平均队列长度指数 |
ECN |
是否对该队列开启了拥塞通知功能,Y表示开启,N表示未开启 |
WRED 配置示例
Network requirements |