Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

了解 CoS 流控制(以太网暂停和 PFC)

流控制通过调节流量,避免在拥塞期间丢弃帧,从而支持无损传输。流控制停止并恢复全双工以太网物理链路上两个连接的对等节点之间的网络流量传输。通过暂停和重新启动来控制流,可防止节点上的缓冲区溢出和丢弃帧。您可以按接口配置流控制。

支持两种点对点流控制方法:

  • IEEE 802.3X 以太网暂停

    注意:

    QFX10000 交换机不支持以太网暂停。有关以太网暂停的信息不适用于 QFX10000 交换机。

    OCX 系列交换机支持第 3 层标记接口上的对称以太网暂停流控制。OCX 系列交换机不支持非对称以太网暂停流控制。有关非对称流量控制的信息不适用于 OCX 系列交换机。

  • IEEE 802.1Qbb 基于优先级的流控制 (PFC)

    注意:

    OCX 系列交换机不支持 PFC 或无损 2 层传输。有关 PFC、无损传输和拥塞通知配置文件的信息不适用于 OCX 系列交换机。

    注意:

    QFX10002-60C 设备不支持 PFC 和无损队列;也就是说,默认的无损队列(fcoe 和无丢失队列)将是有损队列。

有关以太网暂停和 PFC 以及何时使用它们的常规信息

以太网暂停和 PFC 是链路级流控制机制。

注意:

有关实现尽力流量的端到端拥塞控制,请参阅 了解 CoS 显式拥塞通知

以太网暂停会暂停物理以太网链路上所有流量的传输。

PFC 将暂停功能与物理以太网链路分离,使您能够将一个链路上的流量划分为八个优先级。您可以将这八个优先级视为映射到转发类和输出队列的八个“通道”流量。每个优先级都映射到 VLAN 标头中的 3 位 IEEE 802.1p CoS 代码点值。您可以对链路上的一个或多个优先级(IEEE 802.1p 代码点)启用 PFC。当链路上支持 PFC 的流量暂停时,未启用 PFC 的流量将继续流动(或者,如果拥塞情况足够严重,则被丢弃)。

如果您想防止链路上所有流量丢失数据包,请使用以太网暂停。仅使用 PFC 来防止需要无损处理的指定类型的流量丢失,例如,以太网光纤通道 (FCoE) 流量。

注意:

根据链路上或分配给优先级的流量,暂停流量可能会导致入口端口拥塞,并蔓延到整个网络的拥塞。

以太网暂停和 PFC 是接口上的相互排斥配置。尝试在链路上配置以太网暂停和 PFC 将导致提交错误。

默认情况下,所有形式的流控制都处于禁用状态。您必须在接口上显式启用流控制才能暂停流量。

以太网暂停

以太网暂停是一项缓解拥塞的功能,可通过为全双工以太网链路上的所有流量提供链路级流量控制。以太网 PAUSE 在链路上的两个方向上工作。在一个方向上,接口会生成并发送以太网 PAUSE 消息,以阻止连接的对等方发送更多流量。另一个方向上,接口会响应从连接的对等方收到的以太网 PAUSE 消息,以停止发送流量。

注意:

QFX10000 交换机不支持以太网暂停。有关以太网暂停的信息不适用于 QFX10000 交换机。

OCX 系列交换机支持第 3 层标记接口上的对称以太网暂停流控制。OCX 系列交换机不支持非对称以太网暂停流控制。有关非对称流量控制的信息不适用于 OCX 系列交换机。

以太网 PAUSE 还适用于聚合以太网接口。例如,如果连接的对等接口称为节点 A 和节点 B:

  • 当接口节点 A 上的接收缓冲区达到一定的完整性时,接口会生成以太网 PAUSE 消息并将其发送至连接的对等方(接口节点 B),以告诉对等方停止发送帧。节点 B 缓冲区存储帧,直至以太网 PAUSE 帧经过中指定的时间段;然后节点 B 继续向节点 A 发送帧

  • 当接口节点 A 收到来自接口节点 B 的以太网暂停消息时,接口节点 A 将停止传输帧,直至以太网 PAUSE 帧经过指定的时间段:然后节点 A 恢复传输(节点 A 传输缓冲区会存储帧,直到节点 A 恢复向节点 B 发送帧。)

    在这种情况下,如果节点 B 向节点 A 发送时间值为 0 的以太网 PAUSE 帧,则 0 时间值将指示节点 A 可以恢复传输。当节点 B 缓冲区空到某个阈值以下,并且缓冲区可以再次接受流量时,就会发生这种情况。

对称流量控制意味着接口在两个方向上的以太网暂停配置相同。以太网暂停生成和以太网暂停响应功能均配置为已启用,或均已禁用。您可以通过在flow-control[edit interfaces interface-name ether-options]层次结构级别包含语句来配置对称流控制。

非对称流控制允许您在接口上独立配置每个方向的以太网暂停功能。生成以太网 PAUSE 消息和响应以太网 PAUSE 消息的配置不一定相同。它可以在两个方向上启用,在两个方向禁用,或在一个方向上启用,在另一个方向禁用。通过在层次结构级别包含语句[edit interfaces interface-name ether-options]configured-flow-control配置非对称流控制。

在任何特定接口上,对称和非对称流量控制都是相互排斥的。非对称流控制覆盖并禁用对称流量控制。(如果在接口上配置了 PFC,则无法对接口提交以太网暂停配置。尝试在一个或多个队列上启用 PFC 的接口上提交以太网暂停配置将导致提交错误。要提交 PAUSE 配置,必须先删除 PFC 配置。)同时支持对称和非对称流量控制。

对称流控制

对称流控制会将接收缓冲区和传输缓冲区配置为相同状态。接口既可以发送以太网 PAUSE 消息,又可以响应它们(已启用流控制),或者接口无法发送以太网 PAUSE 消息或响应这些消息(禁用流控制)。

在接口上启用对称流量控制时,以太网 PAUSE 行为取决于连接的对等方的配置。启用对称流控制后,接口可执行连接对等方可以执行的任何以太网 PAUSE 功能。(禁用对称流控制时,接口不会发送或响应以太网 PAUSE 消息。)

非对称流量控制

通过非对称流控制,您可以独立指定接口接收缓冲区是否生成和发送以太网 PAUSE 消息以阻止连接的对等方传输流量,以及接口传输缓冲区是否响应从连接的对等方收到的以太网 PAUSE 消息并停止传输流量。接收缓冲区配置确定接口是否传输以太网 PAUSE 消息,传输缓冲区配置确定接口是否接收并响应以太网 PAUSE 消息:

  • 开启接收缓冲区 — 启用以太网暂停传输(生成和发送以太网暂停帧)

  • 开启传输缓冲区 — 启用以太网暂停接收(响应收到的以太网 PAUSE 帧)

您必须为接收缓冲区和传输缓冲区(onoff)显式设置流控制,以配置非对称以太网暂停。 表 1 介绍了在接口上设置接收 (Rx) 和传输 (Tx) 缓冲区时配置的流控制状态:

表 1:非对称以太网暂停流量控制配置

接收 (Rx) 缓冲区

传输 (Tx) 缓冲区

配置的流控制状态

On

Off

接口生成并发送以太网暂停消息。接口不响应以太网 PAUSE 消息(即使接口停止发送流量的对等请求,接口也会继续传输)。

Off

On

接口响应从连接的对等方收到的以太网 PAUSE 消息,但不生成或发送以太网 PAUSE 消息。(接口不会要求连接的对等方停止发送流量。)

On

On

与对称以太网暂停功能相同。接口生成和发送以太网暂停消息,并响应收到的以太网暂停消息。

Off

Off

以太网暂停流控制已禁用。

配置的流控制是在接口上配置的以太网暂停状态。

在 1 千兆以太网接口上,支持与连接的对等方自动协商以太网暂停。(不支持在 10 千兆以太网接口上进行自动协商。)自动协商使接口能够与连接的对等方交换状态公告,以便两台设备就以太网 PAUSE 配置达成一致。每个接口都使用以太网 PAUSE 和ASM_DIR位的组合将其流量控制状态播发至连接的对等方,如 表 2 所述:

表 2:播发至互连对等方的流控制状态(自动协商)

Rx 缓冲区状态

Tx 缓冲区状态

暂停位

ASM_DIR 位

描述

Off

Off

0

0

接口不播发以太网暂停功能。这相当于禁用接口上的流控制。

On

On

1

0

接口播发对称流控制(以太网 PAUSE 消息的传输以及接收和响应以太网 PAUSE 消息的能力)。

On

Off

0

1

接口播发非对称流控制(传输以太网 PAUSE 消息,但不能接收和响应以太网 PAUSE 消息)。

Off

On

1

1

接口同时播发对称和非对称流量控制。尽管接口不会向对等方生成和发送以太网 PAUSE 请求,但接口同时支持对等方对称和非对称以太网 PAUSE 配置,因为如果对等方未收到以太网 PAUSE 请求,对等方不会受到影响。(如果接口响应对等方的以太网 PAUSE 请求,则这足以在对等方上支持对称流控制或不对称流控制。)

每个交换机接口上的流控制配置都与所连接对等方的流控制配置交互。每个对等方都会将其状态通告给另一个对等方。对等方流控制配置的交互决定了它们之间的流控制行为(解析),如 表 3 所示。前四列显示本地 QFX 系列或 EX4600 交换机以及连接的对等方(也称为 链路伙伴)上的以太网暂停配置。最后两列显示每个接口上的本地和对等配置产生的以太网暂停解析。这说明了每个接口的以太网 PAUSE 配置如何影响另一个接口上的以太网 PAUSE 行为。

注意:

在表中的“解析”列中,禁用以太网 PAUSE 传输表示接口接收缓冲区不会生成以太网 PAUSE 消息并将其发送至对等方。禁用以太网暂停接收意味着接口传输缓冲区不响应从对等方收到的以太网 PAUSE 消息。

表 3:本地和对等接口上的非对称以太网暂停行为

本地接口(QFX 系列或 EX4600 交换机)

对等接口

本地解析

对等方解析

暂停位

ASM_DIR 位

暂停位

ASM_DIR 位

0

0

不在乎

不在乎

禁用以太网暂停传输和接收

禁用以太网暂停传输和接收

0

1

0

不在乎

禁用以太网暂停传输和接收

禁用以太网暂停传输和接收

0

1

1

0

禁用以太网暂停传输和接收

禁用以太网暂停传输和接收

0

1

1

1

启用以太网暂停传输和禁用以太网暂停接收

禁用以太网暂停传输并启用以太网暂停接收

1

0

0

不在乎

禁用以太网暂停传输和接收

禁用以太网暂停传输和接收

1

0

1

不在乎

启用以太网暂停传输和接收

启用以太网暂停传输和接收

1

1

0

0

禁用以太网暂停传输和接收

禁用以太网暂停传输和接收

1

1

0

1

启用以太网暂停接收并禁用以太网暂停传输

启用以太网暂停传输和禁用以太网暂停接收

1

1

不在乎

不在乎

启用以太网暂停传输和接收

启用以太网暂停传输和接收

注意:

为方便起见, 表 3 复制了 IEEE 802.X 规范第 2 节的表 28B-3。

Pfc

PFC 是一项无损传输和拥塞缓解功能,其工作原理是,为全双工以太网链路上的每个 IEEE 802.1p 代码点(优先级)提供细粒度链路级流控制。当交换机接口上的接收缓冲区填充到阈值时,交换机会将暂停帧传输给发送方(连接的对等方),以暂时阻止发送方传输更多帧。缓冲区阈值必须足够低,以便发送方有时间停止传输帧,并且接收方可以在缓冲区溢出之前接受线路上已有的帧。交换机会自动设置队列缓冲区阈值,以防止帧丢失。

当拥塞迫使链路上的一个优先级暂停时,该链路上的所有其他优先级将继续发送帧。仅传输暂停优先级的帧。当接收缓冲区空到另一个阈值以下时,交换机会发送再次启动流的消息。

您可以使用拥塞通知配置文件 (CNP) 配置 PFC。CNP 由两部分组成:

  • 输入 — 指定要启用 PFC 的代码点(或代码点),并根据需要指定接口与连接的对等接口之间的最大接收单元 (MRU) 和电缆长度。

  • 输出 — 指定响应连接对等方暂停消息的输出队列或输出队列。

通过在一个或多个接口上配置 CNP,可以应用 PFC 配置。使用特定 CNP 的每个接口都能够暂停该 CNP 指定的优先级(代码点)标识的流量。您可以在一个接口上配置一个 CNP,也可以在不同的接口上配置不同的 CNP。在接口上配置 CNP 时,只要队列缓冲区填充到暂停阈值,映射到 CNP 为 PFC 启用的优先级的入口流量将暂停。(暂停阈值不可用户配置。)

将 PFC 配置为整个数据路径的优先级端到端,从而在网络上创建一个无损流量通道。您可以选择性地暂停任何队列中的流量,而无需暂停同一链路上其他队列的流量。您可以为 FCoE、LAN 备份或管理等流量创建无损通道,同时对同一链路上的 IP 流量使用标准帧丢弃拥塞管理。

流控制的潜在后果包括:

  • 入口端口拥塞(配置太多无损流量会导致入口端口拥塞)

  • 暂停的优先级,使上游设备暂停同一优先级,从而将拥塞蔓延到整个网络

根据定义,PFC 仅支持对称暂停(与支持对称和非对称暂停的以太网 PAUSE 相对)。通过对称暂停,设备可以:

  • 传输暂停帧以暂停传入流量。(您可以使用拥塞通知配置文件的输入部分进行配置。)

  • 接收暂停帧,并停止向缓冲区过满而难以接受更多帧的设备发送流量。(您可以使用拥塞通知配置文件的输出部分进行配置。)

从连接的对等方接收 PFC 帧会根据 PFC 暂停帧识别的 IEEE 802.1p 优先级暂停出口队列上的流量。优先级为 0 到 7。默认情况下,优先级分别映射到队列编号 0 到 7,并映射到特定的转发类,如 表 4 所示:

表 4:队列和转发类映射的默认 PFC 优先级

IEEE 802.1p 优先级(代码点)

队列

转发类

0 (000)

0

尽力而为

1 (001)

1

尽力而为

2 (010)

2

尽力而为

3 (011)

3

Fcoe

4 (100)

4

无损耗

5 (101)

5

尽力而为

6 (110)

6

网络控制

7 (111)

7

网络控制

例如,接收的暂停优先级 3 的 PFC 暂停帧将输出队列 3。如果不想使用默认配置,可以配置优先级与队列和转发类的自定义映射。

注意:

按照惯例,采用融合服务器访问的部署通常使用 IEEE 802.1p 优先级 3 来处理 FCoE 流量。默认配置将 fcoe 转发类设置为映射到队列 3 的无损转发类。默认分类器将传入的优先级 3 流量映射到 fcoe 转发类。 但是,您必须将 PFC 应用于整个 FCoE 数据路径,才能配置 FCoE 流量所需的端到端无损行为。

如果您的网络对 FCoE 流量使用优先级 3,我们建议您使用默认配置。如果您的网络对 FCoE 流量使用除 3 以外的优先级,则可以在任何 IEEE 80.21p 优先级上配置无损 FCoE 传输,如 了解 CoS IEEE 802.1p 无损流量的优先级了解 FCoE-FC 网关上的 CoS IEEE 802.1p 优先级重新映射中所述。

要基于优先级启用 PFC:

  1. 在 CNP 的输入部分指定要暂停的 IEEE 802.1p 代码点。

  2. 如果未使用默认无损转发类,请在 CNP 的输出部分指定要暂停的 IEEE 802.1p 代码点和相应的输出队列。

  3. 将 CNP 应用于要暂停流量的入口接口。

  4. 如果未使用默认无损转发类,请将 CNP 应用于要暂停流量的入口接口。

谨慎:

对端口上 PFC 配置的任何更改都会临时阻止整个端口(不仅仅是受 PFC 更改影响的优先级),以便端口可以实施更改,然后解除阻止该端口。阻止端口会阻止入口和出口流量,并导致端口上所有队列的数据包丢失,直到端口被解除阻止。

对 PFC 配置的更改意味着对 CNP 的任何更改,包括更改 CNP 的输入部分(根据优先级启用或禁用 PFC,或者更改 MRU 或电缆长度值),或者更改 CNP 的输出部分,以启用或禁用队列上的输出流控制。PFC 配置更改仅影响使用更改的 CNP 的端口。

以下操作可更改 PFC 配置:

  • 删除或禁用在一个或多个接口上使用的 CNP 中的 PFC 配置(输入或输出)。例如:

    1. 在接口 xe-0/0/20 和 xe-0/0/21 上配置了一个输入区,可在优先级 3、5 和 6 上启用 PFC 的现有 CNP。

    2. 我们为输入 CNP 中的优先级 6 禁用 PFC 配置,然后提交配置。

    3. PFC 配置更改将导致接口 xe-0/0/20 和 xe-0/0/21 上的所有流量停止,直到实施 PFC 更改。实施 PFC 更改后,流量会恢复。

  • 在接口上配置 CNP。(这可以通过对一个或多个优先级启用 PFC 来更改 PFC 状态。)

  • 从接口中删除 CNP。(这会通过禁用一个或多个优先级上的 PFC 来更改 PFC 状态。)

将 CNP 与接口相关联时,当无损流量的输出队列缓冲区填充到暂停阈值时,接口将使用 PFC 发送暂停请求。

对于单播和多播流量使用不同的分类器的交换机上,您可以将单播队列(队列 0 到 7)和多播队列(队列 8、9、10 或 11)映射到同一 IEEE 802.1p 代码点(优先级),以便单播和组播流量都使用该优先级。但是,不要将多部署流量映射到无损输出队列。从 Junos OS 12.3 版开始,您可以将一个优先级映射到多个输出队列。

注意:

您最多可以向一个接口附加一个 CNP,但您可以创建不限数量的 CNP,这些 CNP 仅显式配置输入部分并使用默认输出部分。

CNP 的输出部分映射到一个配置文件,接口使用该配置文件响应从连接对等方接收的暂停消息。在独立交换机上,您可以创建两个带有显式配置的输出节的 CNP。

当交换机是 QFabric 系统中的节点设备时,您可以创建一个带有显式配置的输出节的 CNP。(QFabric 系统上少了一个配置文件,因为系统需要交换矩阵接口的默认配置文件,当交换机不是 QFabric 系统的一部分时,该配置文件不会用作交换矩阵接口。 了解无损流量的 CoS IEEE 802.1p 优先级 介绍如何配置输出流控制。

无损传输支持摘要

交换机支持多达 6 个无损转发类。对于无损传输,必须在映射到无损转发类的 IEEE 802.1p 优先级(代码点)上启用 PFC。

谨慎:

对端口上 PFC 配置的任何更改都会临时阻止整个端口(不仅仅是受 PFC 更改影响的优先级),以便端口可以实施更改,然后解除阻止该端口。阻止端口会阻止入口和出口流量,并导致端口上所有队列的数据包丢失,直到端口被解除阻止。

以下限制仅适用于 QFabric 系统上支持无损传输:

  • 从 QFabric 系统节点设备到 QFabric 系统互连设备的内部光纤电缆长度不能超过 150 米。

默认的 CoS 配置提供两个无损转发类: fcoe无损耗。如果显式配置无损转发类,则必须包括 no-loss 数据包丢弃属性以支持无损行为,否则流量不是无损的。对于默认和显式无损转发类配置,您必须配置 CNP 输入部分,以便根据无损流量的优先级启用 PFC,并将 CNP 应用于入口接口。

注意:

本说明中的信息仅适用于未运行 ELS CLI 的系统。

Junos OS 12.2 版引入了对交换机处理无损转发类(包括默认 fcoeno-loss 转发类)的方式的更改。

在 Junos OS 12.1 版中,无论是显式配置 fcoeno-loss 转发类,还是对这些转发类使用默认配置,都会导致映射到这些转发类的流量出现相同的无损行为。

但是,在 Junos OS 12.2 版中,如果您显式配置 fcoe 转发类或 no-loss 转发类,则转发类不再被视为无损转发类。映射到这些转发类的流量将被视为有损(尽力而为)流量。即使显式配置与默认配置完全相同,情况也是如此。

如果 Junos OS 12.1 或更低版本的 CoS 配置包括该 fcoeno-loss 转发类的显式配置,则当您升级到 Junos OS 12.2 版时,这些转发类不会无损。要保留对这些转发类的无损处理,请删除显式 fcoeno-loss 转发类配置,然后再升级到 Junos OS 12.2 版。

有关此更改以及如何删除现有无损配置的详细信息,请参阅 Junos OS 12.2 版中引入的 CoS 更改概述

在 Junos OS 12.3 版中,类和no-loss转发类的默认行为fcoe与 Junos OS 12.2 版相同。但是,在 Junos OS 12.3 版中,最多可配置 6 个无损转发类。所有显式配置的无损转发类都必须包含新的no-loss数据包丢弃属性,否则转发类有损。

了解无损流量的 CoS IEEE 802.1p 优先级 可提供有关无损优先级的显式配置和无损优先级的默认配置的详细信息,包括 CNP 的输入和输出部分。

注意:

PFC 和以太网暂停仅在以太网接口上使用。QFabric 系统上的交换矩阵 (fte) 端口(节点设备交换矩阵端口和互连设备交换矩阵端口)使用链路层流控制 (LLFC) 来确保对无损流量进行适当处理。

版本历史记录表
释放
描述
21.2R1EVO
PTX10008 路由器支持 DCBX 和 PFC。
12.3
从 Junos OS 12.3 版开始,您可以将一个优先级映射到多个输出队列。