7.4 FCIP

    FCIP属于隧道协议,它支持SAN片段(岛)通过IP网络互连,这样的连接对本地FC是透明的,两个不同的SAN光纤通过FCIP链路连接形成了一个完全融合的FC光纤。FCIP使用TCP/IP封装FC帧,并在TCP/IP传输层完成拥塞控制和无错数据的有序分发。借助FCIP,企业能够对现有IP基础架构和管理资源进行升级,实现本地FC SAN的互联和扩展以支持私有云计算。另外,采用FCIP后,遥远的物理距离就再也不是问题了。

    7.4.1 FCIP入门

    本节探讨如下FCIP概念:

    ·FC帧封装

    ·虚拟边缘端口(Virtual Expansion Port,VE_Port)

    ·FCIP链路以及虚拟交换链路(virtual ISL)

    FC帧封装

    IETF FC帧封装标准(RFC3643)定义了FC帧的封装头,除了FCIP协议,RFC3643还对互联网光纤通道协议(Internet Fibre Channel Protocol,iFCP)进行了规定。头为28位(或7个字),包括一个时间戳、循环冗余校验码(Cyclic Redundancy Check,CRC)以及对FCIP特定帧(FCIP special frames,FSF)的约束。

    说明:FSF协商(选择)提供了又一种安全认证机制,它将确定在连接开始FC模块初始化之前,是否要将新创建的TCP连接与正确的FCIP链路联系起来。从发起方到接收方的TCP连接请求的头几位字节都是FSF验证信息,既对发起方进行验证,也对发送者预期的接受者进行验证。如果该FSF内容无误且能被接收方认可,未经更改的FSF就会被回传至发送者。这样的发送/回应过程是允许使用TCP连接完成FC模块传输的唯一行为。

    图7-13说明了一个封装在TCP包中的FC帧,不同上下层协议数据单元(Protocol Data Units,PDU)的嵌套关系。

    7.4 FCIP - 图1

    图 7-13 IETF FC帧封装

    说明:FC的所有数据,包括FC标志头信息以及CRC,当移除IP封装后,这些信息不会受到影响,仍然可以继续在FC网络中使用。

    VE_Port

    FC链路使用IP网络为载体,将FC模块中两个单独的部分连接起来形成一个完整的FC模块,FC链路的每一个端点都关联着一个虚拟扩展端口(Virtual Expansion Port,VE_Port)。除了采用FCIP(基于TCP/IP)而非本地FC传输外,VE_Port实际类似一个标准的FC E_Port,系统通过一个8字节的唯一标示符VE_Port_Name来区分VE_Port。

    说明:FCIP链路和FCIP隧道这两个术语表达的意思是相同的。

    VE_port与FCIP链路端点(FCIP link endpoint,FCIP_LEP)相连,FCIP_LEP负责编排、封装FC帧并转发,封装好的FC帧在IP网络中就像TCP片段一样被传输。FCIP_LEP从它的VE_port接收按字节编码,由帧起始(Start-of-Frame,SOF)或帧结尾(End-of-Frame,EOF)界定的FC帧以及时间戳。

    FC数据引擎(FCIP Data Engine,FCIP_DE)是FCIP_LEP进行数据转发的组件,它负责管理FCIP链路上所有FC帧的封转/解封,以及对封装好的FC帧转发/接收。每个FCIP_LEP拥有一个或一个以上的FCIP_DE,它们分别负责不同的TCP连接。

    FCIP链路以及虚拟交换链路

    FCIP链路由两个FCIP_LEP中一个或多个TCP连接组成,每一个链路都载有封装好的FC帧。当一个FCIP链路成功建立后,也会在链路两端的VE_port间跟着建立起一个虚拟ISL。图7-14展示了一个简单的FCIP链路及虚拟ISL的样例。

    7.4 FCIP - 图2

    图 7-14 FCIP链路及虚拟ISL

    说明:FC-BB-3标准为连接到IP网络的光纤通道骨干(Fibre Channel Backbone,FC_BB)定义了两个功能模型:VE_Port和B_Access。其中,集成了FCIP功能的FCIP交换机支持VE_Port,而B_Access可以通过连接了FC交换机的FCIP设备实现。能够支持B_Access功能模型的设备被称为FCIP桥,FCIP桥内部用来连接FC交换机的接口被称为B_port。术语虚拟ISL,在没有进行特别限制时,也可以指VE_port虚拟ISL以及B_Access虚拟ISL。

    VE_port初始化操作和普通E_port初始化操作一样,与具体的链路类型是FCIP还是本地光纤通道并无关联。VE_port之间通过交换机内部链路服务(Switch Internal Link Services,SW_ILS)完成,包括交换链路参数(Exchange Link Parameter,ELP)、交换链路容量(Exchange Switch Capabilities,ESC)、组件光纤(Build Fabric,BF)、重配置光纤(Reconfigure Fabric,RCF)、光纤最短路径优先(Fabric Shortest Path First,FSPF)等。

    IP网络上的FCIP链路使用3225端口在FCIP_LEP之间传送封装好的FC流,该端口是TCP默认为FCIP提供的知名端口(Well-Known Port,WKP),在两个FCIP_LEP同时建立一个以上的TCP连接是行得通的,例如Cisco MDS 9000系列存储交换机就可以为每个FCIP链路创建两个TCP连接。

    ·一个连接是为数据帧服务(类3)

    ·另一个连接只用于FC控制帧,即,内部交换帧(类F)。这样的安排降低了所有控制帧(ELP,ESC等)的延时。

    说明:FC交换机之间使用类F在ISL上传输与光纤相关的信息,类3属于无连接服务类,不支持已发送或未发送确认信息。

    说明:FC_BB_3说明要求所有FC骨干网络(包括FCIP)支持F类帧,可以有选择地支持2、3、4类帧,不支持1类和6类帧。不能通过FCIP链路传输FC原始信号、原始序列以及1类FC帧,因为它们无法应用FC帧封装技术进行编码。实际应用中,只用到3类(面向数据)和F类(面向控制)。