示例:配置 DCBX 应用协议 TLV 交换
数据中心桥接功能交换协议 (DCBX) 通过交换应用配置信息来发现所连接对等方的数据中心桥接 (DCB) 功能。DCBX 可以检测功能配置不当和不匹配,并可以在对等节点上配置 DCB。DCBX 是链路层发现协议 (LLDP) 的扩展。LLDP 必须在要使用 DCBX 的每个接口上保持启用状态。
默认情况下,所有接口均启用 LLDP 和 DCBX。
交换机支持互联网小型计算机系统接口 (iSCSI) 等第 2 层和第 4 层应用的 DCBX 应用协议交换。您可以按 EtherType(对于第 2 层应用程序)或目标端口和协议(对于第 4 层应用程序;协议可以是 TCP 或 UDP)指定应用程序。
在某些情况下,交换机处理以太网光纤通道 (FCoE) 应用协议交换的方式与其他协议不同:
如果 FCoE 是唯一要在接口上启用 DCBX 应用协议 TLV 交换的应用,则无需显式配置 FCoE 应用或应用映射。默认情况下,交换机FCoE会在承载FCoE流量(映射到
fcoe转发类的流量)并在FCoE优先级(FCoE IEEE 802.1p 代码点)上启用基于优先级的流量控制 (PFC) 的所有接口上交换应用协议 TLV。FCoE 应用程序的缺省优先级映射是 IEEE 802.1p 代码点 011(缺省fcoe转发类代码点)。如果希望接口使用 DCBX 将应用协议 TLV 交换为除 FCoE 之外的任何其他应用,则必须配置应用(包括 FCoE)、定义应用映射(包括 FCoE),并将应用映射应用于接口。如果将应用映射应用于接口,则必须显式配置 FCoE 应用,否则该接口不会交换 FCoE 应用协议 TLV。
此示例说明如何配置接口以同时交换第 2 层和第 4 层应用程序,方法是配置一个接口用于交换 iSCSI 和 FCoE 应用协议信息,并配置另一个接口用于交换 iSCSI 和精确时间协议 (PTP) 应用协议信息。
要求
此示例使用以下硬件和软件组件:
瞻博网络 QFX 系列设备
任何受支持的 Junos 版本
概述
交换机支持以下内容的 DCBX 应用协议交换:
第 2 层应用,由 EtherType 定义
第 4 层应用,由目标端口和协议定义
DCBX 还宣传 PFC 和增强型传输选择 (ETS) 信息。有关 DCBX 如何协商和通告这些功能以及应用程序的配置信息,请参阅 配置 DCBX 自动协 商。
DCBX 是根据每个接口为每个受支持的功能或应用进行配置的。对于要启用 DCBX 应用协议交换的应用程序,您必须:
定义应用名称并配置应用的 EtherType 或目标端口和协议(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 层) |
应用名称 — 协议— destination-port— 代码点— |
PTP 应用(第 2 层) |
应用名称 — ether-type— 代码点— |
FCoE 应用(第 2 层) |
应用名称 — ether-type— 代码点—
注意:
您显式配置 FCoE 应用程序,因为您正在向接口应用应用映射。将应用程序映射应用于接口时,必须显式配置所有应用程序并将其包含在应用程序映射中。 |
应用图 |
|
接口 |
|
用于 FCoE 应用交换的 PFC 拥塞通知配置文件 |
|
行为聚合分类器(通过数据包的 IEEE 802.1 代码点将转发类映射到传入数据包) |
|
此示例不包括 iSCSI 转发类的调度(带宽分配)配置或无损配置。
配置
CLI 快速配置
要快速配置 DCBX 应用协议交换,请复制以下命令,将其粘贴到文本文件中,删除换行符,更改变量和详细信息以匹配您的网络配置,然后将命令复制粘贴到层次结构级别的 [edit] CLI 中。
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 应用程序的协议和目标端口来定义 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,PTP 0x8906应用程序配置了EtherType 0x88F7。
验证应用映射配置
目的
验证是否已配置应用程序映射。
行动
使用配置模式命令 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 代码点 111的 iSCSI 应用程序和映射到 IEEE 802.1p 代码点 011的 FCoE 应用程序组成。
应用程序映射dcbx-iscsi-ptp-app-map由映射到 IEEE 802.1p 代码点111的 iSCSI 应用程序和映射到 IEEE 802.1p 代码点001101的 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-mapdcbx-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-cnp(用于在 FCoE 代码点上启用 PFC)已应用于接口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。