了解无损流量的 CoS IEEE 802.1p 优先级
交换机支持多达 6 个无损转发等级。Junos 将每个转发类映射到一个 IEEE 802.1p 代码点(优先级)。
只有具有本机光纤通道 (光纤通道) 接口的交换机才支持本机光纤通道流量并配置为 FCoE-光纤通道网关。在本文档中,与本光纤通道流量和 FCoE-光纤通道网关配置相关的功能仅适用于支持本光纤通道接口的交换机。
如果只需要两个(或更少)无损转发类,请使用默认配置,其中 和fcoeno-loss转发类是无损的。如果需要两个以上的无损转发类,可以使用两个默认的无损转发类,并配置额外的无损转发类。如果您不想使用默认的无损转发类,可以更改它们,或者仅使用显式配置的无损转发类。
默认无损优先级配置
如果未显式配置转发类,系统将使用默认转发类配置,该配置提供两个默认的无损转发类(FCoE 和 无损)。如果更改转发类配置,则更改将应用于该设备上的所有流量,因为转发类对于特定设备是全局的。
如果未显式配置分类器,也未显式配置流控制以暂停输出队列,则默认分类器和默认输出队列暂停配置将应用于设备上的所有以太网接口。您可以通过向以太网接口应用显式配置,从而在每个接口的基础上覆盖默认分类器和默认输出队列暂停配置。默认配置用于所有没有显式配置的以太网接口。
如果未在输出队列上配置流控制,则默认配置将使用 IEEE 802.1p 代码点(优先级)到按编号到输出队列的一对一映射。例如,优先级 0(代码点 000)映射到队列 0,优先级 1(代码点 001)映射到队列 1,依此类推。如果不使用默认配置,则必须在每个输出队列上显式配置流控制,以便在 CNP 的输出部分中启用 PFC 暂停。
在默认配置中,只有队列 3 和队列 4 能够响应来自连接对等方的暂停消息。要使队列 3 响应暂停消息,必须在 CNP 的输入节中为 PFC 启用优先级 3(代码点 011)。要使队列 4 响应暂停消息,必须在 CNP 的输入节中为 PFC 启用优先级 4(代码点 100)。
默认配置提供以下无损行为:
-
两个默认的无损转发类,数据
no-loss包丢弃属性会自动应用于这些转发类:fcoe — 映射到输出队列 3 无丢失 — 映射到输出队列 4 -
一个默认分类器,用于将 FCoE 转发类映射到 IEEE 802.1p 优先级 3 (011),并将无损转发类映射到 IEEE 802.1p 优先级 4 (100)
-
当以太网接口输出队列 3 和 4 携带无损流量(分别映射到 FCoE 和无损转发类的流量)时,在这些队列 3 和 4 上启用 PFC。
在可配置为FCoE光纤通道网关的交换机上,本机光纤通道接口 (NP_Ports),并在输出队列 3 上启用默认流量控制(IEEE 802.1p 优先级 3),以便处理 FCoE/光纤通道 流量。
-
DCBX 在自动协商模式下的所有接口上均启用,并在承载FCoE流量的接口上自动交换FCoE应用协议类型、长度和值 (TLV)。但是,如果为任何应用显式配置 DCBX 协议TLV交换,则必须为希望 DCBX 交换 TLV 的每个应用(包括 FCoE)显式配置协议TLV交换。
-
在以太网端口上,PFC 缓冲区计算使用以下默认值来确定余量缓冲区大小:电缆长度 - 100 米(约 328 英尺)优先级 3 流量的 MRU - 2500 字节 优先级 4 流量的 MRU - 9216 字节最大传输单元 (MTU) - 1522(或为接口配置的 MTU 值)
注意:如果配置的流控制优先级不属于默认流控制优先级之一,则默认 MRU 值为 2500 字节。例如,如果在优先级 5 上配置流控制,并且未配置 MRU 值,则默认 MRU 值为 2500 字节。
此外,要支持无损传输,您必须在入口以太网接口上的无损 IEEE 802.1p 优先级(代码点)上显式启用 PFC;入口接口不应用默认 PFC 配置。如果未在无损优先级上启用 PFC,则这些优先级可能会在拥塞期间发生数据包丢失的情况。例如,如果需要无损 FCoE 流量,并且使用默认 FCoE 转发类,则可使用 CNP 在优先级 3(代码点 011)上启用 PFC。然后,将该 CNP 应用于承载 FCoE 流量的所有入口接口。
您可以通过向以太网接口应用显式配置,从而在每个接口的基础上覆盖默认分类器和默认输出队列暂停配置。
如果显式配置无损传输,请确保对应于无损转发类的输入和输出队列已显式配置为 PFC 暂停。
表 1 总结了默认转发类及其到输出队列、IEEE 802.1p 优先级和丢弃属性的映射。
| 转发类名称 |
输出队列 |
优先级 |
丢弃属性 |
|---|---|---|---|
| 尽力服务 |
0 |
0 |
丢弃 |
| FCoE |
3 |
3 |
无损耗 |
| 无损耗 |
4 |
4 |
无损耗 |
| 网络控制 |
7 |
7 |
丢弃 |
如果交换机对单播和多目的地(组播、广播和目标查找失败)流量使用相同的转发等级和输出队列,则这些转发等级会同时承载单播和多目的地流量。只有单播流量才会被视为无损流量。即使在无损输出队列上,多目的地流量也不会被视为无损流量。
对单播和多目的地流量使用不同转发类和输出队列的交换机有一个名为 mcast 的默认多目的地转发类,该类映射到输出队列 8,其属性为 drop。默认情况下,所有 IEEE 802.1p 优先级上的传入多目的地流量都映射到 mcast 转发类。
配置无损优先级
要配置两个以上的无损优先级(转发类),或者要更改无损转发类到优先级和暂停输出队列的默认映射,必须显式配置交换机,而不是使用默认配置。配置无损优先级包括:
-
使用无丢失数据包丢弃属性配置转发类。
-
使用 CNP 在入口接口上配置 PFC 并在出口接口上配置流量控制 (PFC)。
-
配置分类器以将 IEEE 802.1p 优先级(代码点)映射到正确的转发类(要为其进行无损传输的转发类)。
如果您预计网络上会有大量无损流量并配置多个无损流量类别,请确保预留足够的调度资源(带宽)和缓冲区空间来支持无损流量。对于支持共享缓冲区配置的交换机, 了解 CoS 缓冲区配置 介绍了如何配置缓冲区,并为具有大量无损流量的网络提供了推荐的缓冲区配置。使用 VOQ 的交换机上的缓冲区优化是自动的。
此外,在以太网接口上,DCBX 必须为无损流量交换相应的应用协议 TLV。在可充当FCoE光纤通道网关的交换机上,如果您的网络对FCoE流量使用非 3(IEEE代码点 011)的优先级,则需要在本机光纤通道接口上重新映射FCoE优先级。本节将介绍如下内容:
配置无损转发类(丢包属性)
Junos CLI 包括用于转发类配置的 无丢失 参数。尽管它使用相同的名称,但这不是无损的默认转发类。no-loss 参数是一种丢包属性,您可以指定用于将任何转发类配置为无损转发类。
在对单播和多目的地流量使用不同转发类的交换机上,转发类必须是单播转发类。如果交换机对单播和多目的地流量使用相同的转发类,则只有单播流量会接受无损处理。
通过在层次结构级别包含 no-loss [edit class-of-service forwarding-classes class forwarding-class-name queue-num queue-number] drop 属性,最多可以将 6 个转发类(取决于系统架构和系统资源的可用性)配置为无损转发类。
如果使用默认 fcoe 或无损转发类,则默认情况下它们将包含无损丢弃属性。如果显式配置 fcoe 或无损转发类,并且希望保留其无损行为,则 必须 在配置中包含无损丢弃属性。
映射到同一输出队列的所有转发类都必须具有相同的丢包属性。映射到同一输出队列的所有转发类必须是有损或无损的。您不能将有损转发类和无损转发类映射到同一队列。
为避免命运共享(拥塞流影响未拥塞流),请使用无损转发类到 IEEE 802.1p 代码点(优先级)和队列的一对一映射。将每个无损转发类映射到不同的队列,并将传入流量分类为转发类,以便每个转发类仅传输一个优先级(代码点)的流量。
FCoE 和无损转发类是特殊情况,因为在默认配置中,它们被配置为无损行为(前提是您还对映射到 CNP 输入节中 FCoE 和无损转发类的优先级启用 PFC)。
表 2 总结了 FCoE 和无损转发类的可能配置。该表还提供了这些配置在无损流量行为方面的结果。所示配置假定 PFC、DCBX 和分类器配置正确。
| 显式(用户配置)或默认转发类配置 |
数据包丢弃属性 |
结果和注释 |
|---|---|---|
| 默认 |
默认 |
FCOE 和无损转发类是无损的。
注意:
即使显式配置了其他转发类(有损或无损转发类),FCoE 和无损转发类仍保持无损,因为它们没有显式配置。 |
| 显式 |
未在显式转发类配置中指定 |
fcoe 和无损转发类是有损的,因为它们不包括无损丢弃属性。 |
| 显式 |
无损失 |
FCOE 和无损转发类是无损的。 |
对于除 和 fcoe no-loss 转发类之外的所有其他转发类,您必须通过指定无损数据包丢弃属性来显式配置无损传输,因为所有其他转发类的默认配置都是有损的。
拥塞通知配置文件(PFC 配置)
使用 CNP 在输入和输出接口上配置无损 PFC 特性。
CNP 的输入部分在指定的 IEEE 802.1p 优先级(代码点)上启用 PFC,并通过在入口接口上配置 MRU 值和电缆长度来优化裕量缓冲区设置。
CNP 的输出节在指定 IEEE 802.1p 优先级的输出队列上启用 PFC(流控制),以便队列可以按照您选择的优先级响应来自连接对等方的 PFC 暂停消息。(默认情况下,当输出队列 3 和 4 分别在 FCoE 和无损转发类中携带无损流量时,这些队列会响应收到的 PFC 消息。
要实现无损传输,入口接口暂停的优先级必须与给定流量的出口接口暂停的优先级匹配。例如,如果将入口接口配置为暂停用 IEEE 802.1p 优先级 5(代码点 101)标记的流量,且优先级 5 的流量映射到输出队列 5,则还必须配置相应的输出接口以暂停队列 5 上的优先级 5。此外,映射到队列 5 的转发类必须配置为无损转发类(使用 no-loss drop 属性)。
对端口上的 PFC 配置所做的任何更改都会暂时阻止整个端口(而不仅仅是受 PFC 更改影响的优先级),以便端口可以实施更改,然后取消阻塞端口。阻止端口将停止入口和出口流量,并导致端口上所有队列上的数据包丢失,直到端口解除阻塞。
对 PFC 配置的更改意味着对 CNP 的任何更改,包括更改 CNP 的输入部分(在优先级上启用或禁用 PFC,或更改 MRU 或电缆长度值)或更改启用或禁用队列上输出流控制的 CNP 输出部分。PFC 配置更改仅影响使用更改后的 CNP 的端口。
以下操作会更改 PFC 配置:
-
删除或禁用一个或多个接口上正在使用的 CNP 中的 PFC 配置(输入或输出)。例如:
在接口 xe-0/0/20 和 xe-0/0/21 上配置了具有在优先级 3、5 和 6 上启用 PFC 的输入节的现有 CNP。
我们在输入 CNP 中禁用优先级 6 的 PFC 配置,然后提交配置。
PFC 配置更改将导致接口 xe-0/0/20 和 xe-0/0/21 上的所有流量停止,直到实施 PFC 更改为止。实施 PFC 更改后,流量将恢复。
-
在接口上配置 CNP。(这会通过在一个或多个优先级上启用 PFC 来更改 PFC 状态。)
-
从接口中删除 CNP。(这会通过在一个或多个优先级上禁用 PFC 来更改 PFC 状态。)
Configuring Input Interface Flow Control (PFC and Headroom Buffer Calculation)
在以太网接口上,CNP 的输入部分在指定的优先级上启用 PFC,以便入口接口可以在拥塞期间向连接的对等方发送暂停消息。输入 CNP 还允许您配置 MRU 值和电缆长度(如果您不想使用默认配置),从而细化用于 PFC 支持的裕量缓冲区。
余量缓冲区通过存储在接口发送 PFC 流控制消息以暂停传入流量后到达接口的流量来支持无损传输。在连接的对等方收到流控制消息并暂停流量之前,接口将继续接收流量,并且必须缓冲该流量(以及对等方暂停后仍在线的流量)以防止数据包丢失。
系统使用 MRU 和连接的物理电缆的长度来计算缓冲区余量分配。默认配置值为:
-
用于优先级 3 的流量的 MRU — 2500 字节
-
用于优先级 4 流量的 MRU — 9216 字节
-
电缆长度 - 100 米(约 328 英尺)
如果配置的流控制优先级不属于默认流控制优先级之一,则默认 MRU 值为 2500 字节。例如,如果在优先级 5 上配置流控制,且未显式配置 MRU 值,则默认 MRU 值为 2500 字节。
您可以调整 MRU 和电缆长度,以调整接口上裕量缓冲区的大小。该交换机具有共享全局缓冲池,并可根据需要动态将余量缓冲区空间分配给无损队列。
较低的 MRU 或较短的电缆长度可减少接口所需的裕量缓冲量,并为其他接口留出更多的裕量缓冲区空间。较高的 MRU 或较长的电缆长度会增加接口所需的裕量缓冲区空间,而留给其他接口的裕量缓冲区空间会更少。
在许多情况下,如果物理电缆长度小于 100 米,则可以通过减小 MRU 值(例如,2180 的 MRU 足以满足大多数 FCoE 网络)和减小电缆长度值,可以更好地利用余量缓冲区。
通过更改 MRU 或电缆长度来配置裕量缓冲区并提交配置时,系统将执行提交检查,如果没有足够的裕量缓冲区空间可用,则拒绝配置。
但是,如果出现以下情况,系统不会执行提交检查,而是会返回系统日志错误:
-
缓冲区配置在 LAG 接口上。
-
接口上使用默认分类器(而不是用户配置的分类器)。
-
接口尚未创建。
Configuring Output Interface Flow Control (PFC)
在以太网接口上,您可以使用 CNP 的输出部分配置输出队列上的流控制,并对指定的 IEEE 802.1p 优先级启用 PFC 暂停响应。
在对单播和多目的地流量使用不同输出队列的交换机上,该队列必须是单播输出队列。
默认情况下,输出队列 3 和 4 已启用,以便在优先级 3(IEEE 802.1p 代码点 011)和 4(IEEE 802.1p 代码点 100)上暂停 PFC。默认的 PFC 暂停响应支持默认的无损转发类配置,该配置将 FCoE 转发类映射到队列 3 和优先级 3,并将无损转发类映射到队列 4 和优先级 4。
通过在输出队列上配置 PFC,您可以暂停任何以太网接口上任何输出队列上的任何优先级。输出流控制使您能够使用两个以上的输出队列来支持无损流量(您最多可以配置六个无损转发类,并将这些无损转发类映射到启用了 PFC 暂停的不同输出队列)。输出队列流控制还允许您为一类流量支持多个无损转发类(每个类映射到不同的优先级和输出队列)。
仅当在接口上的相应优先级的 CNP 输入节中启用 PFC 时,输出流控制才有效。例如,如果在优先级 5(IEEE 802.1p 代码点 101)上启用输出流控制,那么还必须在优先级 5 的输入节的 CNP 中启用 PFC。
例如,如果融合以太网网络对 FCoE 流量使用两种不同的优先级(例如,优先级 3 和优先级 5),则可以将这些优先级分类为映射到不同输出队列的不同无损转发类:
为 FCoE 流量配置两个无损转发类,每个转发类映射到不同的输出队列。例如,您可以使用映射到队列 3 的默认 fcoe 转发类,也可以配置第二个名为 fcoe1 的无损转发类并将其映射到队列 5。FCoE 转发类用于优先级 3 的 FCoE 流量(代码点 011),fcoe1 转发类用于优先级 5(代码点 101)的 FCoE 流量。
配置一个分类器,用于将每个转发类映射到所需的 IEEE 802.1p 代码点(优先级)。如果两个优先级上的 FCoE 流量都使用一个接口,则分类器必须将这两个转发类分类为正确的优先级。如果不同优先级的 FCoE 流量使用不同的接口,则每个接口上的分类器配置必须将正确的优先级映射到相应的无损转发类。
将分类器应用于承载 FCoE 流量的接口。分类器确定转发类到每个接口上的优先级的映射。
要为这些转发类配置无损传输,您还需要:
-
在 CNP 输入部分的入口接口上的两个优先级(本例中为 3 和 5)上启用 PFC。
-
在输出队列上配置 PFC,并为 CNP 输出部分中的转发类配置优先级,以便接口可以响应从连接的对等方接收的暂停消息。
注意:在接口上配置 CNP 时,所有入口和出口流量都将被阻止,直到配置实施完毕,之后接口将取消阻塞,流量将恢复。在接口被阻止期间,接口上的所有队列都会经历数据包丢失。
-
配置 DCBX 以在两个 FCoE 优先级上交换应用协议 TLV。
如果未将流控制配置为暂停输出队列,则默认配置将使用 IEEE 802.1p 代码点(优先级)到按编号到输出队列的一对一映射。例如,优先级 0(代码点 000)映射到队列 0,优先级 1(代码点 001)映射到队列 1,依此类推。缺省情况下,只有队列 3 和 4 能够响应来自连接的对等方的暂停消息,并且您必须在 CNP 输入节中的相应优先级上显式启用 PFC 才能实现无损行为。
如果不使用默认配置,则必须在每个输出队列上显式配置流控制,以启用 PFC 暂停。例如,如果在输出队列 5 上显式配置流控制,则默认配置不再有效,并且只有输出队列 5 启用 PFC 暂停。输出队列 3 和 4 不再启用 PFC 暂停,因此使用这些队列的流量不再响应 PFC 暂停消息,即使相应的转发类配置了无损丢失属性也是如此。要保留输出队列 3 和 4 的暂停配置并在队列 5 上配置流控制,需要在队列 3、4 和 5 上显式配置流控制。
在对单播和多目的地流量使用不同输出队列的交换机上,您无法将流量控制配置为暂停多目的地输出队列。您可以将流控制配置为仅暂停单播输出队列。如果交换机对单播和多目的地流量使用相同的输出队列,则只有单播流量会接受无损处理。
Output Interface Flow Control Profiles
配置 CNP 输出部分会创建一个输出流控制配置文件,用于告知出口端口以太网接口应响应 PFC 暂停消息的队列。
当连接到接口的 CNP 只有一个输入部分,不包括输出部分时,系统有一个默认的输出流控制配置文件,该配置文件将应用于所有以太网接口。默认配置文件响应在队列 3(对于优先级 3,对于默认 FCoE 转发类)和队列 4(对于优先级 4,对于默认无丢失转发类)上收到的 PFC 暂停消息,并且仅当在 CNP 输入节中的这些优先级上配置了 PFC 时才有效。
此外,系统还有两个内部输出流控制配置文件,可自动将其应用于交换矩阵 (FTE) 端口和本机光纤通道接口 (NP_Ports)。
由于一个输出 CNP 可以在多个输出队列(优先级)上配置 PFC 暂停响应,因此一个用户可配置的输出 CNP 通常足够灵活,可以在所有编程接口上指定所需的 PFC 响应。
每个端口可以使用一个输出流控制配置文件。您不能将多个配置文件应用于一个端口。
输出流控制配置文件可以用表格格式表示。例如, 表 3 显示了在队列 3 和 4 上暂停优先级 3 和 4 的默认输出流控制配置文件(请记住,为了使 PFC 工作,还必须在 CNP 输入节的代码点 3 和 4 上启用 PFC):
| 在接收的 PFC 帧中指定的 IEEE 802.1p 优先级 |
暂停的输出队列 |
|---|---|
| 0 (000) |
— |
| 1 (001) |
— |
| 2 (010) |
— |
| 3 (011) |
3 |
| 4 (100) |
4 |
| 5 (101) |
— |
| 6 (110) |
— |
| 7 (111) |
— |
表 4 是用户配置的输出流控制配置文件的示例。CNP 输出部分使用上一节中的示例,在输出队列 5 上配置流控制,并在队列 3 和 4 上显式配置 FCOE 和无损转发类的输出流控制。(如果显式配置输出 CNP,则必须显式配置要响应 PFC 消息的每个输出队列,因为用户配置的配置文件会覆盖默认配置文件。如果此示例不包括队列 3 和 4,则这些队列将不再响应收到的 PFC 消息。
| 在接收的 PFC 帧中指定的 IEEE 802.1p 优先级 |
暂停的输出队列 |
|---|---|
| 0 (000) |
— |
| 1 (001) |
— |
| 2 (010) |
— |
| 3 (011) |
3 |
| 4 (100) |
4 |
| 5 (101) |
5 |
| 6 (110) |
— |
| 7 (111) |
— |
请记住,还必须在 CNP 输入节的代码点 3、4 和 5 上启用 PFC,此配置才能正常工作。在接口上配置 CNP 时,所有入口和出口流量都将被阻止,直到配置实施完毕,之后接口将取消阻塞,流量将恢复。在接口被阻止期间,接口上的所有队列都会经历数据包丢失。
Configuring PFC Across Layer 3 Interfaces
在流量上启用 PFC 基于以太网帧头的优先级代码点 (PCP) 字段中的 IEEE 802.1p 代码点(优先级)(有时称为 CoS 位)。要对通过 L3 接口的流量启用 PFC,必须按其 IEEE 802.1p 代码点(而非其 DSCP(或 DSCP IPv6)代码点对流量进行分类。
有关如何在 L3 接口上的流量启用 PFC 的概念性概述,请参阅了解 跨第 3 层接口的 PFC 功能 。有关如何在遍历 L3 接口的流量上配置 PFC 的示例,请参阅示例 :跨第 3 层接口配置 PFC 。
配置 DCBX(应用协议 TLV 交换)
对于需要无损传输的应用,DCBX 会与连接的对等接换应用协议 TLV。默认情况下,DCBX 会在启用 DCBX 的所有接口上播发 FCoE 应用协议 TLV,默认情况下,所有接口上都启用 DCBX。默认情况下,DCBX 不会播发其他应用程序。
对于要配置为无损传输的每个应用(例如 iSCSI),必须启用承载该应用流量的接口,以便与连接的对等方交换 DCBX 协议 TLV。TLV 交换允许对等接口协商兼容的配置以支持应用程序。
如果将 DCBX 配置为播发任何应用,则默认 DCBX 播发将被覆盖,并且 DCBX 仅播发配置的应用。如果希望接口仅播发 FCoE 应用程序,则无需配置 DCBX 应用程序协议 TLV 交换;相反,您可以使用默认配置。
如果希望 DCBX 通告其他应用,则必须显式配置应用映射,并将其应用于要为这些应用交换协议 TLV 的接口。除其他应用协议 TLV 外,如果还想交换 FCoE 应用协议 TLV,还必须在应用映射中显式配置 FCoE 应用。 了解 DCBX 应用程序协议 TLV 交换 描述了应用程序映射的工作原理。
无损传输还要求您使用输入 CNP 在入口接口上的正确优先级(IEEE 802.1p 代码点)上启用 PFC。如果您在入口接口暂停的优先级未映射到队列 3 或队列 4(默认情况下为 PFC 暂停流控制启用的两个输出队列),则还必须启用与暂停输入优先级对应的输出队列,以便使用 CNP 的输出节暂停。
流量类别之间的命运共享
您可以配置不同的无损(或有损)流量来共享命运,即接受相同的 CoS 处理。
命运共享对于 I/O 融合来说是不可取的。不同类型的流量得到相同的处理,而不是独立控制每种类型的流量的命运。命运共享对于无损流尤其不可取。如果一个无损流遇到拥塞并且必须暂停,则会影响与拥塞流共享命运的流,即使其他流没有遇到拥塞,也可能导致入口端口拥塞。如果您的网络要求所有 802.1p 优先级都是无损的,则可以通过将 8 个优先级分散到多达 6 个无损转发类,从而允许在 8 个优先级之间共享一些命运来实现这一点。
如果无损优先级的数量小于或等于配置的无损转发类数量,则可以通过配置转发类到 IEEE 802.1p 代码点(优先级)和输出队列的一对一映射来避免命运共享。(每个转发类都应映射到不同的输出队列,并分类到不同的优先级。
如果要配置不同的流量来共享命运,则支持两种命运共享配置:将一个转发类映射到多个 IEEE 802.1p 代码点(优先级),以及将两个转发类映射到同一输出队列:
如果将一个无损转发类映射到多个优先级,则用每个优先级标记的流量将使用关联的相同 CoS 属性(与转发类关联的 CoS 属性)。例如,配置名为 fc1 的转发类,将其映射到队列 1,并使用名为 classify1 的分类器将其映射到代码点 101 和 110,将导致标记为优先级 101 和 110 的流量共享命运:
user@switch# set class-of-service forwarding-classes class fc1 queue-num 1 no-loss user@switch# set class-of-service classifiers ieee-802.1 classify1 forwarding class fc1 loss-priority low code-points 101 user@switch# set class-of-service classifiers ieee-802.1 classify1 forwarding class fc1 loss-priority low code-points 110
在这种情况下,如果映射到任一优先级的流量遇到拥塞,则这两个优先级都将暂停,因为它们映射到同一转发类,因此处理方式类似。
如果将多个无损转发类映射到同一输出队列,则映射到转发类的流量将使用相同的输出队列。这会增加队列上的流量,并可能造成拥塞,从而影响映射到队列的所有流量。例如,配置两个名为 fc1 和 fc2 的转发类,将这两个转发类映射到队列 1,并分别使用名为 classify1 的分类器将转发类映射到代码点 101 和 110,则会导致标记为优先级 101 和 110 的流量在同一输出队列上共享命运:
user@switch# set class-of-service forwarding-classes class fc1 queue-num 1 no-loss user@switch# set class-of-service forwarding-classes class fc2 queue-num 1 no-loss user@switch# set class-of-service classifiers ieee-802.1 classify1 forwarding class fc1 loss-priority low code-points 101 user@switch# set class-of-service classifiers ieee-802.1 classify1 forwarding class fc2 loss-priority low code-points 110
在这种情况下,即使两个转发类使用不同的 IEEE 802.1p 优先级,如果一个转发类遇到拥塞,也会影响另一个转发类。原因是,如果输出队列由于任一转发类上的拥塞而暂停,则使用该队列的所有流量都将暂停。由于两个转发类都映射到队列,因此映射到两个转发类的流量将暂停。
注意:如果将多个转发类映射到一个队列,则映射到同一队列的所有转发类都必须具有相同的丢包属性(所有转发类都必须是有损的,或者映射到队列的所有转发类都必须是无损的)。
中转交换机配置与 FCoE-光纤通道网关配置
在转发FCoE流量(或需要通过以太网网络进行无损传输的其他流量)的中转交换机(所有以太网端口,无本机光纤通道端口)上,入口和出口接口上的分类器、无损转发类、DCBX 和 PFC 的配置支持无损传输如本文档所述。
当交换机充当FCoE光纤通道网关时(如果交换机支持本机 光纤通道 接口),系统将使用本机光纤通道接口 (NP_Ports) 连接到光纤通道网络边缘的光纤通道交换机(或FCoE转发器)。您无法将 CNP 或 DCBX 应用于本机光纤通道接口,只能应用于以太网接口。
在 FCoE-光纤通道网关上,分类器、DCBX 和 PFC 的以太网接口配置与中转交换机上的以太网接口配置相同。无损转发类的配置也是一样的。
但是,如果您的网络对FCoE流量使用 3(IEEE代码点 011)以外的任何优先级,则要在本机光纤通道接口上支持无损传输, 则 需要重写IEEE 802.1p 优先级值。如果您的网络对 FCoE 流量使用优先级 3,则可以而且应该使用本光纤通道接口上的默认配置。
默认情况下,当本机光纤通道接口在以太网中封装传入的 FC 数据包时,会使用优先级 3 标记光纤通道数据包。如果您的 FCoE 网络对FCoE流量使用的优先级不同,则需要将优先级值重写为网络在 光纤通道 接口上使用的值,在以太网接口上将FCoE流量分类为正确的优先级,并在以太网接口上以正确的优先级启用 PFC,如 了解 FCoE-光纤通道 网关上的 CoS IEEE 802.1p 优先级重新映射中所述。
配置结果和提交检查
转发类及其丢弃属性、分类器、CNP(PFC 流控制)和以太网暂停(IEEE 802.3X 流控制)的不同配置会导致不同的系统行为。
表5 描述了每种情况下可能的无损传输配置的结果。“ 结果” 列中的假设是系统的缓冲区余量计算导致配置成功。
但是,如果系统计算出没有足够的缓冲区空间来支持配置,则提交检查将阻止您在单个以太网接口上提交配置。对于 LAG 接口,系统不会发出提交检查错误,而是发出系统日志消息。
为 LAG 接口配置无损传输后,请务必检查系统日志消息以确认提交成功。
| 分类器配置 |
拥塞通知配置文件配置 |
以太网暂停 (IEEE 802.3X) 配置 |
结果 |
|---|---|---|---|
| 无(默认分类器) |
无 |
无 |
系统默认配置。没有流量是无损的。要实现默认 fcoe 和无损转发类的无损行为,您必须配置输入 CNP 以在其 IEEE 802.1p 代码点(分别为 011 和 100)上启用 PFC。 |
| 没有无损转发类的分类器 |
无 |
无 |
未配置无损流量;所有流量都是尽力而为。 |
| 具有至少一个无损转发类的分类器 |
无 |
无 |
由于接口未附加 CNP,因此不会在无损流量的代码点上启用 PFC,并且不会为无损队列分配余量缓冲区,因此数据包可能会在拥塞期间出现丢包的情况。此配置无法实现无损行为。 |
| 无(默认分类器) |
在 FCoE 和无损转发类代码点(优先级)上启用 PFC |
无 |
默认分类器将流量分为两个无损转发类:FCoE 和无损。CNP 对映射到两个无损转发类的优先级启用 PFC,从而对映射到 FCoE 和无损转发类的流量产生无损行为。 |
| 无(默认分类器) |
无 |
支持流控制 |
系统会根据接口 MTU 和默认电缆长度计算物理链路的缓冲区余量。系统不计算单个输出队列的缓冲区余量。由于在链路上启用了以太网暂停,而不是在无损优先级上启用了 PFC,因此在拥塞期间整个链路将暂停。此配置会导致链路上的所有转发类都出现无损行为,但由于所有流量都暂停,这可能会导致更大的整体网络拥塞。 |
| 具有至少一个无损转发类的分类器 |
在无损转发类代码点(优先级)上启用 PFC |
无 |
余量缓冲区仅分配给映射到无损转发类且启用了 PFC 的优先级。此配置实现了无损转发类的无损行为。 |
| 没有无损转发类的分类器 |
无 |
支持流控制 |
系统会根据接口 MTU 和默认电缆长度计算物理链路的缓冲区余量,并在拥塞期间暂停链路上的所有流量。 |
| 具有至少一个无损转发类的分类器 |
无 |
支持流控制 |
系统会根据接口 MTU 和默认电缆长度计算物理链路的缓冲区余量,并在拥塞期间暂停链路上的所有流量。 |
| 具有至少一个无损转发类的分类器 |
在无损转发类代码点(优先级)上启用 PFC |
在与 CNP 接口 不同的 接口上启用流控制 |
系统将检查已启用 PFC 的优先级和其他链路的可用缓冲区空间。如果有足够的缓冲区空间可用,则在一个接口上使用 PFC 配置的无损转发类以及启用了以太网暂停的链路上的所有流量都可以实现无损行为。 |
如果尝试在链路上同时配置 PFC 和以太网 PAUSE,则系统将返回提交错误。PFC 和以太网 PAUSE 是接口上互斥的配置。
配置规则和建议
配置无损流量时,请记住以下配置规则和建议:
-
您最多可以配置六个无损转发类(具有无损数据包丢弃属性的转发类)。
-
映射到同一队列的所有转发类都必须具有相同的丢包属性(所有转发类都必须是有损的,或者所有转发类都必须是无损的)。
-
不要在无损转发类上配置加权随机早期检测 (WRED)。(不要将丢弃配置文件与具有无丢失数据包丢弃属性的转发类相关联。)
-
如果交换机对单播和多目的地流量使用不同的转发类和输出队列,则无法将流量控制配置为暂停多目的地输出队列。您只能将 PFC 流控制配置为暂停单播输出队列。
-
在对单播和多目的地流量使用不同转发类和输出队列的交换机上,映射到多目的地队列(队列 8 到 11)的转发类不能具有无丢失数据包丢弃属性。(不能将多目的地转发类配置为无损转发类。
无损传输功能
对无损传输的支持包括:
-
配置多达 6 个无损转发类。
-
在输出队列上配置 PFC 暂停,以对可以响应从连接的对等方接收的 PFC 暂停消息的输出队列进行编程。在输出队列上暂停的优先级必须与在相应入口接口上启用 PFC 的优先级匹配。例如,如果对输出队列进行编程,使其暂停优先级 3 (011) 和 5 (101),则还必须在相应的入口接口上启用优先级 3 和 5 的暂停。在输出队列上配置流控制并在相应的输入队列上启用 PFC,最多允许您暂停六个优先级(转发类)。
-
通过配置映射到 IEEE 802.1p 优先级的流量的 MRU 大小(按优先级配置)和连接的电缆长度(按接口配置),控制以太网接口上的裕量缓冲区。MRU 大小范围最高可达全巨型数据包大小(9216 字节)。
-
当系统充当 FCoE-光纤通道网关时,在本机 光纤通道接口上重新映射(重写)IEEE 802.1p 优先级。如果以太网 (FCoE) 网络对 FCoE 流量使用的优先级与优先级 3 (011) 不同的 IEEE 802.1p 优先级,则可以使用优先级重新映射将 FCoE 流量分类为映射到该不同优先级的无损转发类(请参阅 了解 FCoE-光纤通道上的 CoS IEEE 802.1p 优先级重新映射)。
无损传输仍然需要配置先前存在的功能,包括在入口接口上的无损优先级上启用 PFC,以及配置分类器以根据数据包的 IEEE 802.1p 优先级标记将传入流量分类为无损转发类。
如果您预计网络上会有大量无损流量并配置多个无损流量类别,请确保预留足够的调度资源(带宽)和无损余量缓冲区空间来支持无损流量。(了解 CoS 缓冲区配置 介绍了如何配置缓冲区,并为具有大量无损流量的网络提供了推荐的缓冲区配置。)