了解 FCoE-FC 网关上的 FIP 实现
在融合光纤通道 (FC) 和以太网流量的网络中,将 QFX3500 交换机配置为以太网光纤通道 (FCoE)-FC 网关时,它会将来自 FCoE 节点 (ENodes) 的 FCoE 初始化协议 (FIP) 帧转换为 FC 交换机的本机 FC 帧,并将来自 FC 交换机的本机 FC 帧转换为 ENodes 的 FIP 帧。对于 FCoE 设备,网关看起来像是 FCoE 转发器 (FCF),并向 FCoE 设备 ENode 提供结构端口 (F_Port) 接口。对于 FC 交换机,网关似乎是能够进行N_Port ID 虚拟化 (NPIV) 的 FC 主机,并向 FC 交换机F_Port接口提供节点端口 (N_Port) 接口。
网关向 FC 交换机提供的N_Ports称为代理N_Ports (NP_Ports)。对于 FC 交换机,网关NP_Ports似乎是能够执行 NPIV 的本机 FC N_Ports。NP_Ports是以太网网络中 FCoE 设备的代理。NP_Ports将来自 FCoE 设备的 FCoE 流量转换为 FC 交换机的本机 FC 流量。NP_Ports还将来自 FC 交换机的本地 FC 流量转换为以太网网络上 FCoE 设备的 FCoE 流量。
FIP 基础知识
默认情况下,在属于网关上配置的每个 FC 交换矩阵的所有 VLAN 接口上启用 FIP。您可以在全局级别或在单个接口上配置 FIP 参数。在接口上配置参数时,该参数仅覆盖该接口的全局配置。如果未显式配置 FIP 参数,网关将使用默认值。
为了使网关能够将 FCoE 设备与 FCF 连接,您在网关上配置的 FIP 参数必须与 FC 交换机上配置的参数兼容(例如,FC 交换机和网关上 FC 交换矩阵 FIP 配置的 FC-MAP 值必须匹配,否则 FC 交换机会丢帧)。
当网关上的NP_Ports启动时,它们会对连接的 FC 交换机执行 FC FLOGI。成功登录将在网关和 FC 交换机之间建立通信,并标记网关NP_Ports以发送 FDISC 消息。成功登录还会在网关中为 FC 交换机创建下一跃点条目。如果 FC 交换机拒绝 FLOGI 请求,则不会建立链路。网关维护一个有效的 FCF-MAC 列表,ENodes 可以与之连接。
与 FC 交换机建立通信后,网关可以将以太网网络中的 FCoE 设备连接到 FC 交换机。网关使用 FC 交换机作为 ENodes 的代理(代表 ENodes)建立的所有后续连接都是虚拟化 (NPIV) 连接。
结构登录和 FIP 登录概述
图 1 简要概述了 FCoE-FC 网关结构登录到 FC 交换机以及 FCoE 设备 FIP 登录到网关。
以下列表中的数字对应于 图 1 中的数字,并简要描述了登录过程的每个步骤:
FCoE-FC 网关NP_Port向 FC 交换机F_Port发送 FC 结构登录 (FLOGI) 请求。
FC 交换机接受网关 FLOGI。
网关在 FCoE VLAN(网关F_Port接口)上向所有连接的 FCoE 设备网络发送 FIP 组播发现通告。
FCoE 设备 ENode 向网关发送发现请求消息。
网关通过向 ENode 发出单播发现播发来响应。
注意:在任何给定时间,网关将其从 FCoE 设备接受的发现请求数限制为最多 100 个未完成请求。如果网关有 100 个未完成的发现请求,则网关不会响应新的发现请求。相反,网关会丢弃新的发现请求,并在命令输出的
show fibre-channel fip statistics
Drop 字段中报告丢弃的发现请求数。当未完成的发现请求少于 100 个时,系统会像往常一样使用发现通告响应新请求。FCoE 设备向网关发送 FIP FLOGI 或 FIP FDISC 消息。
网关将 FIP FLOGI 或 FIP FDISC 转换为 FC FDISC,并将其转发到 FC 交换机以获取 FCoE 设备的登录名。
FC 交换机通过向网关发送 NPIV 会话的新 ID 来响应 FC FDISC。
网关将来自 FC 交换机的 FC FDISC 响应转换为 FIP FDISC 响应,并将其转发到 FCoE 设备。
以下各节将更详细地介绍其中一些步骤。
代理 FIP 发现
网关与 FC 交换机建立连接后:
网关在 FCoE VLAN 上定期发送 FIP 组播发现通告,以便 ENodes 可以将网关添加到其 FCF 列表中。
ENode 初始化 FCoE VLAN 上并发送组播发现请求消息。如果 ENode 已初始化并具有 FCF 列表,则可以向特定 FCF(如网关)发送单播发现请求消息。
注意:在任何给定时间,网关将其从 FCoE 设备接受的发现请求数限制为最多 100 个未完成请求。如果网关有 100 个未完成的发现请求,则网关不接受新的发现请求,直到未完成的发现请求少于 100 个。
当网关收到来自 ENode 的组播发现请求时,它会通过向该 ENode 发送单播发现通告来做出响应。
当网关收到来自 ENode 的单播发现请求时,它还会向 ENode 发出单播发现播发。
对于 ENode,网关似乎是一个 FCF。
FIP 发现过程会将 ENode 添加到网关 ENode 数据库中。
代理 FIP 初始化
如果 ENode 选择登录到网关,它将通过以 FIP FLOGI 的形式发送登录请求(如果它是与网关的初始连接)来响应网关的单播发现通告。如果 ENode 已与网关建立会话,并且另一个应用程序或虚拟机想要连接到网关,则 ENode 会向网关发送 FIP FDISC。
网关从 ENode 接收 FIP FLOGI 或 FIP FDISC,将其转换为 FC FDISC,并通过负载最小的NP_Port代表 ENode 将其发送到 FC 交换机。FC FDISC 消息请求新虚拟链路的 FCID。
注意:网关将 ENode FIP FLOGI 和 FIP FDISC 消息转换为 FC FDISC 消息,因为网关已使用 FC 交换机执行了 FC FLOGI,因此网关NP_Port上的所有后续连接请求都是虚拟 (NPIV) 连接的 FDISC 请求。FDISC 消息通过现有的物理N_Port连接请求虚拟N_Port连接。
FC 交换机处理请求,接受请求,为连接分配唯一的 FCID,然后将响应发送到网关。如果 FC 交换机拒绝 FDISC 请求,则不会建立虚拟链路。
网关将 FC 交换机响应映射到 ENode VN_Port,将 FC 接受消息转换为 FIP FLOGI 或 FIP FDISC 响应,并将其发送到 ENode VN_Port。
ENode VN_Port接受 FCID,并建立虚拟链路。
如果 ENode 发送 FDISC,代理网关交换机会检查该 ENode 是否已执行 FLOGI 来创建初始连接。如果 ENode 尚未执行 FLOGI,则会丢弃 FDISC 请求。
FC 协议无法识别多点到点连接。尽管网关可以在一个NP_Port上聚合来自多个 FCoE 服务器的流量,但每个虚拟链路似乎是 FCoE ENode VN_Port与 FC 交换机之间的单独点对点链路,而不是聚合的多点对点链路。网关对 FC 协议基本上是不可见的,因此虚拟链路的外观和行为类似于从 FCoE 设备到 FC 交换机的点对点链路。
代理 FIP 维护
网关定期在 ENode VN_Ports之间发送和接收 FIP 激活消息,以维护网关与 ENodes 之间的连接。
代理 FIP 注销
与 FIP 发现和 FIP FLOGI 一样,网关在与 FC 交换机的事务中表示 FCoE 设备,在与 FCoE 设备的事务中表示 FC 交换机:
ENode VN_Port发送 FIP 徽标消息以注销并终止虚拟链路连接。
网关将 FIP 徽标转换为 FC 徽标,并将其中继到 FC 交换机。
FC 交换机响应徽标请求。
网关将 FC 徽标响应转换为 FIP 徽标响应并将其中继到VN_Port,从而完成注销并终止虚拟链路。