示例:配置 DCBX 应用程序协议 TLV 交换
数据中心桥接功能交换协议 (DCBX) 通过交换应用程序配置信息来发现连接对等方的数据中心桥接 (DCB) 功能。DCBX 可检测功能配置错误和不匹配,并可在对等方上配置 DCB。DCBX 是链路层发现协议 (LLDP) 的扩展。LLDP 必须在要使用 DCBX 的每个接口上保持启用状态。
默认情况下,LLDP 和 DCBX 在所有接口上处于启用状态。
该交换机支持第 2 层和第 4 层 应用程序的 DCBX 应用程序协议交换,例如互联网小型计算机系统接口 (iSCSI)。您可以通过 EtherType(对于第 2 层应用程序)或目标端口和协议(对于第 4 层 应用程序;协议可以是 TCP 或 UDP)指定应用程序。
在某些情况下,交换机处理以太网光纤通道 (FCoE) 应用程序协议交换的方式与其他协议不同:
如果 FCoE 是唯一要在接口上启用 DCBX 应用程序协议 TLV 交换的应用程序,则无需显式配置 FCoE 应用程序或应用程序映射。默认情况下,交换机在承载 FCoE 流量(映射到
fcoe
转发类的流量)并在 FCoE 优先级(FCoE IEEE 802.1p 代码点)上启用基于优先级的流控制 (PFC) 的所有接口上交换 FCoE 应用程序协议 TLV。FCoE 应用程序的默认优先级映射是 IEEE 802.1p 代码点 011(默认fcoe
转发类代码点)。如果希望接口使用 DCBX 为除 FCoE 之外的任何其他应用程序交换应用程序协议 TLV,则必须配置应用程序(包括 FCoE),定义应用程序映射(包括 FCoE),并将应用程序映射应用于接口。如果将应用程序映射应用于接口,则必须显式配置 FCoE 应用程序,否则接口不会交换 FCoE 应用程序协议 TLV。
此示例说明如何配置接口以交换第 2 层和第 4 层 应用程序,方法是将一个接口配置为交换 iSCSI 和 FCoE 应用程序协议信息,并将另一个接口配置为交换 iSCSI 和精确时间协议 (PTP) 应用程序协议信息。
要求
此示例使用以下硬件和软件组件:
瞻博网络 QFX 系列设备
适用于 QFX 系列的 Junos OS 12.1 或更高版本
概述
该交换机支持 DCBX 应用协议交换,以实现:
第 2 层应用,由 EtherType 定义
第 4 层应用程序,由目标端口和协议定义
DCBX 还会公布 PFC 和增强型传输选择 (ETS) 信息。请参阅 配置 DCBX 自动协商,了解 DCBX 如何 协商和通告这些功能和应用程序的配置信息。
DCBX 基于每个接口为每个受支持的功能或应用程序进行配置。对于要启用 DCBX 应用程序协议交换的应用程序,您必须:
定义应用程序名称并配置应用程序的以太类型或目标端口和协议(TCP 或 UDP)。对第 2 层应用使用 EtherType,对第 4 层协议使用目标端口和协议。
将应用程序映射到应用程序映射中的 IEEE 802.1p 代码点。
将应用程序映射添加到 DCBX 接口。
此外,对于所有应用程序(包括 FCoE,即使您不使用应用程序映射),您必须创建 IEEE 802.1p 分类器并将其应用于相应的入口接口,或者使用默认分类器。分类器将传入流量的代码点映射到转发类和丢失优先级,以便将入口流量分配给正确的服务等级 (CoS)。转发类确定出口接口上的输出队列。
如果未创建分类器,中继端口和标记访问端口将使用单播 IEEE 802.1 默认可信分类器。 表 1 显示了 IEEE 802.1 代码点值到单播转发类的默认映射,以及中继模式或标记访问模式下端口的丢失优先级。 表 2 显示了访问模式下端口的默认不受信任分类器 IEEE 802.1 代码点值到单播转发类映射。
代码点 |
转发类 |
丢失优先级 |
---|---|---|
成为 (000) |
尽力而为。 |
低 |
BE1 (001) |
尽力而为。 |
低 |
EF (010) |
尽力而为。 |
低 |
EF1 (011) |
FCoE |
低 |
AF11 (100) |
无损失 |
低 |
AF12 (101) |
尽力而为。 |
低 |
NC1 (110) |
网络控制 |
低 |
NC2 (111) |
网络控制 |
低 |
代码点 |
转发类 |
丢失优先级 |
---|---|---|
000 |
尽力而为。 |
低 |
001 |
尽力而为。 |
低 |
010 |
尽力而为。 |
低 |
011 |
尽力而为。 |
低 |
100 |
尽力而为。 |
低 |
101 |
尽力而为。 |
低 |
110 |
尽力而为。 |
低 |
111 |
尽力而为。 |
低 |
拓扑
此示例说明如何在两个接口上为三种协议(iSCSI、PTP 和 FCoE)配置 DCBX 应用程序协议交换。一个接口交换 iSCSI 和 FCoE 应用程序协议信息,另一个接口交换 iSCSI 和 PTP 应用程序协议信息。
您必须将 FCoE 流量映射到要转发 FCoE 流量的接口。您还必须在 FCoE 接口上启用 PFC,并为 FCoE 流量创建入口分类器,否则请使用默认分类器。
表 3 显示了此示例的配置组件。
组件 |
设置 |
---|---|
硬件 |
QFX 系列设备 |
LLDP |
在以太网接口上默认启用 |
DCBX |
在以太网接口上默认启用 |
iSCSI 应用程序(第 4 层) |
应用程序名称— 协议— 目标端口— 代码点 — |
PTP 应用(第 2 层) |
应用程序名称— 以太类型— 代码点 - |
FCoE 应用(第 2 层) |
应用程序名称— 以太类型— 代码点 —
注意:
显式配置 FCoE 应用程序是因为要向接口应用应用程序映射。将应用程序映射应用于接口时,必须显式配置所有应用程序并将其包含在应用程序映射中。 |
应用程序映射 |
|
接口 |
|
用于 FCoE 应用程序交换的 PFC 拥塞通知配置文件 |
|
行为聚合分类器(通过数据包的 IEEE 802.1 代码点将转发类映射到传入数据包) |
|
此示例不包括 iSCSI 转发类的计划(带宽分配)配置或无损配置。
配置
CLI 快速配置
要快速配置 DCBX 应用程序协议交换,请复制以下命令,将其粘贴到文本文件中,删除换行符,更改变量和详细信息以匹配您的网络配置,然后将命令复制并粘贴到层次结构级别的 CLI [edit]
中。
set applications application iSCSI protocol tcp destination-port 3260 set applications application FCoE ether-type 0x8906 set applications application PTP ether-type 0x88F7 set policy-options application-maps dcbx-iscsi-fcoe-app-map application iSCSI code-points 111 set policy-options application-maps dcbx-iscsi-fcoe-app-map application FCoE code-points 011 set policy-options application-maps dcbx-iscsi-ptp-app-map application iSCSI code-points 111 set policy-options application-maps dcbx-iscsi-ptp-app-map application PTP code-points [001 101] set protocols dcbx interface xe-0/0/10 application-map dcbx-iscsi-fcoe-app-map set protocols dcbx interface xe-0/0/11 application-map dcbx-iscsi-ptp-app-map set class-of-service congestion-notification-profile fcoe-cnp input ieee-802.1 code-point 011 pfc set class-of-service interfaces xe-0/0/10 congestion-notification-profile fcoe-cnp set class-of-service classifiers ieee-802.1 fcoe-iscsi-cl1 import default forwarding-class fcoe loss-priority high code-points 011 set class-of-service classifiers ieee-802.1 fcoe-iscsi-cl1 import default forwarding-class network-control loss-priority high code-points 111 set class-of-service classifiers ieee-802.1 iscsi-ptp-cl2 import default forwarding-class network-control loss-priority low code-points 111 set class-of-service classifiers ieee-802.1 iscsi-ptp-cl2 import default forwarding-class best-effort loss-priority low code-points [001 101] set class-of-service interfaces xe-0/0/10 unit 0 classifiers ieee-802.1 fcoe-iscsi-cl1 set class-of-service interfaces xe-0/0/11 unit 0 classifiers ieee-802.1 iscsi-ptp-cl2
配置 DCBX 应用协议 TLV 交换
分步过程
要定义应用程序,请将应用程序映射到 IEEE 802.1p 代码点,将应用程序应用到接口,并为 DCBX 应用程序协议交换创建分类器:
通过指定协议和目标端口来定义 iSCSI 应用程序,并通过指定其 EtherType 来定义 FCoE 和 PTP 应用程序。
[edit applications] user@switch# set application iSCSI protocol tcp destination-port 3260 user@switch# set application FCoE ether-type 0x8906 user@switch# set application PTP ether-type 0x88F7
定义将 iSCSI 和 FCoE 应用程序映射到 IEEE 802.1p 代码点的应用程序映射。
[edit policy-options] user@switch# set application-maps dcbx-iscsi-fcoe-app-map application iSCSI code-points 111 user@switch# set application-maps dcbx-iscsi-fcoe-app-map application FCoE code-points 011
定义将 iSCSI 和 PTP 应用程序映射到 IEEE 802.1p 代码点的应用程序映射。
[edit policy-options] user@switch# set application-maps dcbx-iscsi-ptp-app-map application iSCSI code-points 111 user@switch# set application-maps dcbx-iscsi-ptp-app-map application PTP code-points [001 101]
将 iSCSI 和 FCoE 应用程序映射应用到接口
xe-0/0/10
,并将 iSCSI 和 PTP 应用程序映射应用到接口xe-0/0/11
。[edit protocols dcbx] user@switch# set interface xe-0/0/10 application-map dcbx-iscsi-fcoe-app-map user@switch# set interface xe-0/0/11 application-map dcbx-iscsi-ptp-app-map
创建拥塞通知配置文件以在 FCoE 代码点 ()
011
上启用 PFC,并将拥塞通知配置文件应用于接口xe-0/0/10
。[edit class-of-service] user@switch# set congestion-notification-profile fcoe-cnp input ieee-802.1 code-point 011 pfc user@switch# set interfaces xe-0/0/10 congestion-notification-profile fcoe-cnp
配置分类器以应用于交换 iSCSI 和 FCoE 应用程序信息的接口。
[edit class-of-service classifiers] user@switch# set ieee-802.1 fcoe-iscsi-cl1 import default forwarding-class fcoe loss-priority high code-points 011 user@switch# set ieee-802.1 fcoe-iscsi-cl1 import default forwarding-class network-control loss-priority high code-points 111
配置分类器以应用于交换 iSCSI 和 PTP 应用程序信息的接口。
[edit class-of-service classifiers] user@switch# set ieee-802.1 iscsi-ptp-cl2 import default forwarding-class network-control loss-priority low code-points 111 user@switch# set ieee-802.1 iscsi-ptp-cl2 import default forwarding-class best-effort loss-priority low code-points [001 101]
将分类器应用于相应的接口。
[edit class-of-service] user@switch# set interfaces xe-0/0/10 unit 0 classifiers ieee-802.1 fcoe-iscsi-cl1 user@switch# set interfaces xe-0/0/11 unit 0 classifiers ieee-802.1 iscsi-ptp-cl2
验证
要验证 DCBX 应用程序协议交换配置是否已创建且运行正常,请执行以下任务:
验证应用程序配置
目的
验证是否已配置 DCBX 应用程序。
行动
使用配置模式命令 show applications
列出应用程序:
user@switch# show applications application iSCSI { protocol tcp; destination-port 3260; } application fcoe { ether-type 0x8906; } application ptp { ether-type 0x88F7; }
意义
show applications
配置模式命令会列出所有已配置的应用程序及其协议和目标端口(第 4 层应用程序)或其 EtherType(第 2 层应用程序)。命令输出显示,iSCSI 应用程序配置tcp
了协议和目标端口3260
,FCoE 应用程序配置了 EtherType 0x8906
,PTP 应用程序配置了 EtherType0x88F7
。
验证应用程序映射配置
目的
验证是否已配置应用程序映射。
行动
使用配置模式命令 show policy-options application-maps
列出应用程序映射:
user@switch# show policy-options application-maps dcbx-iscsi-fcoe-app-map { application iSCSI code-points 111; application FCoE code-points 011; } dcbx-iscsi-ptp-app-map { application iSCSI code-points 111; application PTP code-points [001 101]; }
意义
show policy-options application-maps
配置模式命令列出所有已配置的应用程序映射以及属于每个应用程序映射的应用程序。命令输出显示有两个应用程序映射,dcbx-iscsi-fcoe-app-map
以及 dcbx-iscsi-ptp-app-map
。
应用程序映射dcbx-iscsi-fcoe-app-map
由映射到 IEEE 802.1p 代码点的 iSCSI 应用程序和映射到 IEEE 802.1p 代码点111
011
的 FCoE 应用程序组成。
应用程序映射dcbx-iscsi-ptp-app-map
由映射到 IEEE 802.1p 代码点的 iSCSI 应用程序以及映射到 IEEE 802.1p 代码点111
001
和 101
的 PTP 应用程序组成。
验证 DCBX 应用协议交换接口配置
目的
验证应用程序映射是否已应用于正确的接口。
行动
使用配置模式命令 show protocols dcbx
列出应用程序映射:
user@switch# show protocols dcbx interface xe-0/0/10.0 { application-map dcbx-iscsi-fcoe-app-map; } interface xe-0/0/11.0 { application-map dcbx-iscsi-ptp-app-map; }
意义
show protocols dcbx
配置模式命令列出接口是否为 DCBX 启用,并列出应用于每个接口的应用程序映射。命令输出显示接口xe-0/0/10.0
和已启用 DCBX,并且该接口xe-0/0/10.0
使用应用程序映射,接口xe-0/0/11.0
使用应用程序映射dcbx-iscsi-fcoe-app-map
dcbx-iscsi-ptp-app-map
。xe-0/0/11.0
验证 PFC 配置
目的
验证是否已在 FCoE 代码点上启用 PFC 并将其应用于正确的接口。
行动
显示 PFC 配置,以使用配置模式命令show class-of-service congestion-notification-profile
验证是否在拥塞通知配置文件fcoe-cnp
中的 FCoE 代码点 (011
) 上启用了 PFC:
user@switch# show class-of-service congestion-notification-profile fcoe-cnp { input { ieee-802.1 { code-point 011 { pfc; } } } }
显示服务等级 (CoS) 接口信息,以使用配置模式命令 show class-of-service interfaces
验证正确的接口是否为 FCoE 应用程序启用了 PFC:
user@switch# show class-of-service interfaces xe-0/0/10 { congestion-notification-profile fcoe-cnp; }
示例输出不包括此命令可以显示的所有信息。输出被缩写为重点验证 PFC 配置。
意义
show class-of-service congestion-notification-profile
配置模式命令会列出已配置的拥塞通知配置文件。命令输出显示拥塞通知配置文件fcoe-cnp
已配置,并已在 IEEE 802.1p 代码点011
(默认 FCoE 代码点)上启用 PFC。
show class-of-service interfaces
配置模式命令显示接口 CoS 配置。命令输出显示,在 FCoE 代码点上启用 PFC 的拥塞通知配置文件fcoe-cnp
已应用于接口 xe-0/0/10
。
验证分类器配置
目的
验证分类器是否已配置并应用于正确的接口。
行动
使用配置模式命令 show class-of-service
显示分类器配置:
user@switch# show class-of-service classifiers { ieee-802.1 fcoe-iscsi-cl1 { import default; forwarding-class network-control { loss-priority high code-points 111; } forwarding-class fcoe { loss-priority high code-points 011; } } ieee-802.1 iscsi-ptp-cl2 { import default; forwarding-class network-control { loss-priority low code-points 111; } forwarding-class best-effort { loss-priority low code-points [ 001 101 ]; } } } interfaces { xe-0/0/10 { congestion-notification-profile fcoe-cnp; unit 0 { classifiers { ieee-802.1 fcoe-iscsi-cl1; } } } xe-0/0/11 { unit 0 { classifiers { ieee-802.1 iscsi-ptp-cl2; } } } }
示例输出不包括此命令可以显示的所有信息。输出被缩写为侧重于验证分类器配置。
意义
show class-of-service
配置模式命令列出了分类器和 CoS 接口配置,以及此示例中未显示的其他信息。命令输出显示配置了两个分类器,fcoe-iscsi-cl1
以及 iscsi-ptp-cl2
。
分类器 fcoe-iscsi-cl1
使用 default
分类器作为模板,并按如下方式编辑模板:
转发类
network-control
设置为丢失优先级 ,high
并映射到代码点111
(映射到 iSCSI 应用程序的代码点)。转发类
fcoe
设置为丢失优先级 ,high
并映射到代码点011
(默认情况下映射到 FCoE 应用程序的代码点)。
分类器 iscsi-ptp-cl2
使用 default
分类器作为模板,并按如下方式编辑模板:
转发类
network-control
设置为丢失优先级low
,并映射到 IEEE 802.1p 代码点111
(映射到 iSCSI 应用程序的代码点)。转发类
best-effort
设置为丢失优先级,low
并映射到 IEEE 802.1p 代码点001
和101
(默认情况下映射到 PTP 应用程序的代码点)。
命令输出还显示分类器 fcoe-iscsi-cl1
映射到接口 xe-0/0/10.0
,分类器 iscsi-ptp-cl2
映射到接口 xe-0/0/11.0
。