Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

了解 DCBX

数据中心桥接功能交换协议 (DCBX) 是链路层数据协议 (LLDP) 的扩展。如果在某个接口上禁用 LLDP,则该接口无法运行 DCBX。如果尝试在禁用 LLDP 的接口上启用 DCBX,则配置提交操作将会失败。数据中心桥接 (DCB) 设备使用 DCBX 与直接连接的对等方交换配置信息。

DCBX 基础知识

DCBX 可以:

  • 了解同行的 DCB 功能。

  • 检测 DCB 功能配置错误或对等方之间的不匹配。

  • 在对等节点上配置 DCB 功能。

您可以为 基于优先级的流控制 (PFC)、第 2 层和第 4 层应用(例如 FCoE 和 iSCSI)以及 ETS 配置 DCBX 操作。DCBX 会根据每个接口进行启用或禁用。

默认情况下,对于 PFC 和 ETS,DCBX 会自动与每个接口的连接对等方协商管理状态和配置。要为应用程序启用 DCBX 协商,您必须配置应用程序,将它们映射到应用程序映射中的 IEEE 802.1p 代码点,并将应用程序映射应用于接口。

注意:

Junos DCBX 不支持基于 DSCP 的 PFC 配置。Junos DCBX 仅支持基于 IEEE 的 PFC。

仅当您希望接口为除 FCoE 之外的其他应用程序交换类型、长度和值 (TLV) 时,才需要将 FCoE 应用程序包含在应用程序映射中。如果 FCoE 是您希望接口播发的唯一应用程序,则无需使用应用程序映射。对于 ETS,如果对等方设置为从交换机学习配置,则 DCBX 会将交换机配置推送给对等方(除非禁用在 IEEE DCBX 模式下的接口上发送 ETS 建议 TLV)。

您可以通过关闭自动协商来强制接口启用或禁用该功能的默认行为,从而覆盖 PFC、ETS 或映射到接口的所有应用程序的默认行为。您还可以从应用于该接口的应用程序映射中排除这些应用程序,或者从接口中删除应用程序映射,从而禁用接口上应用程序的 DCBX 自动协商。

映射到接口的应用程序的默认自动协商行为为:

  • 如果连接的对等设备也支持 DCBX,则接口上将启用 DCBX。

  • 如果连接的对等设备不支持 DCBX,则接口上将禁用 DCBX。

在功能协商期间,如果对等方配置为“愿意”从其他对等方学习 PFC 配置,则交换机可以将 PFC 配置推送到连接的对等方。瞻博网络交换机不支持自自动调配,并且不会在自动协商期间更改其配置以匹配对等方配置。(瞻博网络交换机“不愿意”从对等方那里学习 PFC 配置。)

注意:

当启用了 DCBX 的端口开始交换类型、长度和值 (TLV) 条目时,该端口上的可选 LLDP TLV 不会播发给邻接方,以便交换机可以与更广泛的融合网络适配器 (CNA) 和支持 DCBX 的第 2 层交换机互操作。

DCBX 模式和支持

本节介绍 DCBX 支持:

DCBX 模式(版本)

支持两种最常见的 DCBX 模式:

  • IEEE DCBX — 不同的 TLV 具有不同的子类型(例如,ETS 配置 TLV 的子类型为 9);IEEE DCBX 组织唯一标识符 (OUI) 0x0080c2。

  • DCBX 版本 1.01 — DCBX 的融合增强型以太网 (CEE) 版本。它的子类型为 2,OUI 为 0x001b21。

IEEE DCBX 和 DCBX 1.01 版的主要区别在于帧格式。DCBX 1.01 版使用一个包含所有 DCBX 属性信息的 TLV,该信息作为子 TLV 发送。IEEE DCBX 为每个 DCB 属性使用唯一的 TLV。

注意:

Junos 不支持 CEE 之前(DCB 之前)的 DCBX 版本。不受支持的旧版本 DCBX 的子类型为 1,OUI 为 0x001b21。交换机丢弃包含中东欧之前 DCBX TLV 的 LLDP 帧。

表 1 总结了 IEEE DCBX 和 DCBX 1.01 版之间的差异,包括 show 命令输出:

表 1:IEEE DCBX 和 DCBX 1.01 版之间的差异摘要

特征

IEEE DCBX

DCBX 版本 1.01

OUI

0x0080c2

0x001b21

帧格式

为每个 DCBX 属性发送单独的唯一 TLV。例如,IEEE DCBX 对 ETS、PFC 和每个应用使用单独的 TLV。配置和建议信息以不同的 TLV 发送

发送一个 TLV,其中包含在子 TLV 中组织的所有 DCBX 属性信息。“愿意”位确定接口是否可以更改其配置以匹配连接的对等方。

对等体的对称/非对称配置

不对称或对称

仅对称

操作命令中的 show dcbx interface interface-name 差异

  • 不会显示同步信息,因为不需要对称配置。

  • 不显示操作状态信息,因为操作状态不必是对称的。

  • 显示 TLV 类型,因为为每个 DCBX 属性发送唯一的 TLV。

  • ETS 对等方配置 TLV 和建议 TLV 信息将单独显示,因为它们是不同的 TLV。

  • 由于需要对称配置,因此会显示同步信息。

  • 将显示操作状态信息,因为操作状态必须是对称的。

  • 不显示 TLV 类型,因为所有属性信息都使用一个 TLV。

  • 建议不发送 TLV(DCBX 版本 1.01 使用“愿意”位来确定接口是否使用对等接口配置)。

您可以将接口配置为使用以下 DCBX 模式:

  • IEEE DCBX — 无论所连接对等方上的配置如何,接口都使用 IEEE DCBX。

  • DCBX 版本 1.01 — 无论连接对等方上的配置如何,接口都使用 DCBX 版本 1.01。

  • 自动协商 — 接口会自动与连接的对等方协商,以确定对等方使用的 DCBX 版本。自动协商是默认的 DCBX 模式。

如果在接口上配置 DCBX 模式,则如果 PDU 与接口上配置的 DCBX 版本不匹配,则接口将忽略从连接对等方接收的 DCBX 协议数据单元 (PDU)。例如,如果将接口配置为使用 IEEE DCBX,并且连接的对等方发送 DCBX 版本 1.01 LLDP PDU,则接口将忽略版本 1.01 PDU。如果将接口配置为使用 DCBX 版本 1.01,并且对等方发送 IEEE DCBX LLDP PDU,则接口将忽略 IEEE DCBX PDU。

注意:

在使用 IEEE DCBX 模式的接口上, show dcbx neighbors interface interface-name 操作命令不会在输出中包括应用、PFC 或 ETS 操作状态。

自动协商

自动协商是默认的 DCBX 模式。每个接口都会自动与其连接的对等方协商,以确定两个接口用于交换 DCBX 信息的 DCBX 版本。

当接口连接到其对等接口时,该接口会向对等方播发 IEEE DCBX TLV。如果接口从对等方接收一个 IEEE DCBX PDU,则接口会将 DCBX 模式设置为 IEEE DCBX。如果接口从对等方收到三个 DCBX 1.01 版本 TLV,则接口会将 DCBX 1.01 版本设置为 DCBX 模式。

注意:

如果链路发生翻动或 LLDP 进程重新启动,接口将再次启动自动协商过程。接口不使用上次收到的 DCBX 通信模式。

CNA 对 DCBX 模式的支持

不同的 CNA 供应商支持不同的 DCBX 版本和功能。您在交换机接口上使用的 DCBX 配置取决于网络中的 CNA 支持的 DCBX 功能。

DCBX 接口支持

您可以在速度为 10G/40G/100G 的 xe-/ae-/et- 接口上以及成员接口均为 10G/40G/100G 以太网接口的链路聚合组 (LAG) 接口上配置 DCBX。

DCBX 属性类型

DCBX 具有三种属性类型:

  • 信息性 — 这些属性使用 LLDP 进行交换,但不会影响 DCBX 状态或操作;它们只向对等方传递信息。例如,应用优先级 TLV 是信息性 TLV。

  • 非对称 — 这些类型属性的值在连接的对等接口上不必相同。当每个对等接口上的属性值可能不同时,对等方交换非对称属性。对等接口配置可能匹配,也可能不同。例如,ETS 配置和建议 TLV 是非对称 TLV。

  • 对称 — 这些类型的属性的值在两个连接的对等接口上应相同。对等接换对称属性,以确保这些属性的对称 DCBX 配置。例如,PFC 配置 TLV 是对称 TLV。

以下章节介绍了非对称和对称 DCBX 属性:

非对称属性

DCBX 在连接的对等接口之间传递非对称属性,以传达有关这些属性(功能)的参数信息。每个对等方上属性的最终配置可能不同,因此在一个接口上配置的参数可能与连接的对等方接口上的参数不匹配。

有两种类型的非对称属性 TLV:

  • 配置 TLV — 配置 TLV 传达当前操作状态和“愿意”位的状态。“愿意”位用于通信接口是否愿意接受和使用来自对等接口的配置。如果接口“愿意”,则接口使用从对等接口接收的配置。(“对等接口配置可以覆盖”愿意“接口上的配置。)如果接口“不愿意”,则对等接口配置无法覆盖接口上的配置。

  • 建议 TLV — 建议 TLV 传达接口建议连接的对等接口应使用的参数。当接口发送建议 TLV 时,如果连接的对等方“愿意”,则连接的对等方会更改其配置以匹配建议 TLV 中的参数。

对称属性

DCBX 在连接的对等接口之间传递对称属性,以传达有关这些属性(功能)的参数信息,目的是两个接口应使用相同的配置。目的是,在一个接口上配置的参数应与所连接对等接口上的参数匹配。

对称属性 TLV 有一种类型,即配置 TLV。与非对称属性一样,对称属性 配置 TLV 传达当前操作状态和“愿意”位的状态。“愿意”接口使用属性的对等接口参数值。(对等方的属性配置将覆盖“愿意”接口上的配置。)

DCBX 应用协议 TLV 交换

DCBX 宣传该交换机适用于第 2 层应用(如 FCoE)和第 4 层应用(如 iSCSI)的功能:

应用协议 TLV 交换

对于所有应用程序,DCBX 都会在应用程序映射到的接口上通告应用程序的状态和 IEEE 802.1p 代码点。如果应用未映射到某个接口,则该接口不会通告该应用的 TLV。当FCoE是您希望 DCBX 在某个接口上播发的唯一应用时,FCoE应用协议TLV交换存在例外。

FCoE 应用协议 TLV 交换

FCoE 应用程序的协议 TLV 交换取决于 FCoE 是您希望接口播发的唯一应用程序,还是您希望接换除 FCoE TLV 之外的其他应用程序 TLV。

如果 FCoE 是您希望 DCBX 在接口上播发的唯一应用,则 DCBX 默认情况下会交换 FCoE 应用协议 TLV,前提是该接口:

  • 携带 FCoE 流量(由 CoS 配置映射到 FCoE 转发类的流量)

  • 具有在 FCoE 优先级上启用了 PFC 的拥塞通知配置文件(IEEE 802.1p 代码点)

  • 没有应用映射

注意:

如果接口未映射到 FCoE 的 CoS 配置,则该接口不会交换 FCoE 应用协议 TLV。

如果希望 DCBX 在接口上通告 FCoE 和其他应用程序,则必须在应用程序映射中指定包括 FCoE 在内的所有应用程序,并将应用程序映射应用于所需的接口。

注意:

如果将应用映射应用于接口,则必须在应用映射中显式配置 FCoE 应用,否则该接口不会交换 FCoE TLV。

当 DCBX 播发 FCoE 应用程序时,它会播发 FCoE 状态和 IEEE 802.1p 代码点。如果连接到交换机接口的对等设备不支持 FCoE,DCBX 将使用自动协商将接口标记为“FCoE 关闭”,并且该接口上的 FCoE 将被禁用。

禁用应用协议 TLV 交换

要禁用接口上所有应用的 DCBX 应用协议交换,请发出命令 set protocols dcbx interface interface-name applications no-auto-negotiation

您还可以通过从接口中删除应用程序映射或从应用程序映射中删除特定应用程序,来禁用接口上应用程序的 DCBX 应用程序协议交换。但是,当您从应用程序映射中删除应用程序时,将不再在使用该应用程序映射的任何接口上交换应用程序协议。

DCBX 和 PFC

在交换机接口上启用 PFC 后,DCBX 将使用自动协商来控制 PFC 功能的操作状态。

如果连接到接口的对等设备支持 PFC,且已与交换机兼容配置,则 DCBX 会将 PFC 操作状态设置为启用。如果连接到接口的对等设备不支持 PFC,或者未与交换机兼容调配,DCBX 会将操作状态设置为禁用。(PFC 必须对称。

如果对等方播发其“愿意”从交换机获知其 PFC 配置,DCBX 会将交换机的 PFC 配置推送到对等方,并且不会检查对等方的管理状态。

您可以通过禁用自动协商,在每个接口的基础上手动覆盖 DCBX 对 PFC 操作状态的控制。如果在配置了 PFC 的接口上禁用自动协商,则无论对等方配置如何,都会在该接口上启用 PFC。要在接口上禁用 PFC,请勿在该接口上配置 PFC。要在接口上禁用自动协商, priority-flow-controlpriority-flow-control no-auto-negotiation 请在层次结构级别设置 [protocols dcbx interface interface-name] 。例如:

DCBX 和 ETS

本节将介绍如下内容:

默认 DCBX ETS 通告

如果未在接口上配置 ETS,交换机会自动创建一个默认优先级组,其中包含所有优先级(转发类,代表输出队列),并将 100% 的端口输出带宽分配给该优先级组。默认优先级组为透明。它不会出现在配置中,用于 DCBX 播发。DCBX 会播发默认优先级组、其优先级和分配的带宽。

如果在接口上配置 ETS,DCBX 会播发:

  • 接口上的每个优先级组

  • 每个优先级组中的优先级

  • 每个优先级组和优先级的带宽属性

该接口上不属于显式配置的优先级组(转发类集)的任何优先级都将分配给自动生成的默认优先级组,并且不接收带宽。如果在接口上配置 ETS,则要为其转发流量的该接口上的每个转发类(优先级)都必须属于一个转发类集(优先级组)。

ETS 通告和对等方配置

DCBX 不控制交换机的 ETS(分层调度)运行状态。如果连接的对等方配置为“愿意”,则 DCBX 会将交换机的 ETS 配置推送到交换机的对等方(如果 ETS 建议 TLV 已启用(默认情况下为启用)。如果对等方不支持 ETS 或交换机配置不一致,则 DCBX 不会更改交换机上的 ETS 操作状态。ETS 操作状态仅基于交换机分层调度配置保持启用或禁用状态,并且默认处于启用状态。

配置 ETS 后,DCBX 会播发优先级组、优先级组中的优先级以及优先级组和优先级的带宽配置。不属于优先级组的任何优先级(本质上是转发类或队列)都没有调度属性,也不会接收任何带宽。

您可以通过禁用自动协商,手动覆盖 DCBX 是否在每个接口的基础上向对等方通告 ETS 状态。这不会影响交换机或对等方上的 ETS 状态,但会阻止交换机向连接的对等方发送建议 TLV 或配置 TLV。要在接口上禁用 ETS,请勿在接口上配置优先级组(转发类集)。

ETS 建议 TLV

ETS 建议 TLV 传达交换机希望连接的对等接口使用的 ETS 设置。如果对等接口“愿意”,则会更改其配置以匹配 ETS 建议 TLV 中的配置。默认情况下,交换机接口会向对等方发送 ETS 建议 TLV。传送的设置是通过在接口上配置分层调度而定义的出口 ETS 设置。

我们建议您在连接的对等方上使用与交换机接口上使用的相同的 ETS 设置,并让 ETS 建议 TLV 保持启用状态。但是,在使用 IEEE DCBX 作为 DCBX 模式的接口上,如果您希望交换机接口与连接的对等方之间具有非对称配置,则可以通过在层次结构级别包含[edit protocols dcbx interface interface-name enhanced-transmission-selection]该语句来no-recommendation-tlv禁用 ETS 建议 TLV。

注意:

只有当接口上的 DCBX 模式为 IEEE DCBX 时,才能禁用 ETS 建议 TLV。如果接口上的 DCBX 模式为 DCBX 版本 1.01,则禁用 ETS 建议 TLV 无效。(IEEE DCBX 使用单独的应用程序属性 TLV,但 DCBX 1.01 版本在同一 TLV 中发送所有应用程序属性,并使用子 TLV 来分离信息。

如果禁用 ETS 建议 TLV,交换机仍会将 ETS 配置 TLV 发送到连接的对等方。结果是,连接的对等方获知交换机 DCBX ETS 配置,但即使对等方“愿意”,对等方也不会更改其配置以匹配交换机配置。这是非对称配置 — 两个接口的 ETS 属性可以具有不同的参数值。

例如,如果您希望连接到交换机接口的 CNA 具有与交换机 ETS 配置不同的带宽分配,则可以禁用 ETS 建议 TLV,并为所需带宽配置 CNA。交换机接口和 CNA 交换配置参数,但 CNA 不会更改其配置以匹配交换机接口配置。