15.1.3 光纤通道
本节将从光纤通道概述、光纤通道的基本结构和光纤通道协议三个方面做介绍。
1.光纤通道概述
光纤通道(Fibre Channel,FC)是一种数据传输技术,用于计算机设备之间的数据传输,传输速率可以达到1Gbit/s、2Gbit/s、4Gbit/s、8Gbit/s,甚至10Gbit/s。光纤通道是网络存储的关键技术。
光纤通道是一组标准,定义用铜缆或光纤连接网络节点进行串行通信的机制。光纤通道标准由美国国家标准研究所开发,为服务器与存储设备之间提供高速连接。较早的光纤通道专门为网络设计的,随着数据存储在带宽上的需求提高,才逐渐应用到存储系统上。光纤通道是一种与SCSI或IDE有很大不同的接口。
光纤通道具有如下优点。
·连接设备多,最多可连接126个设备。
·CPU占用率低。
·支持热插拔,在主机系统运行时就可安装或拆除光纤通道硬盘。
·可实现光纤和铜缆的连接。
·高带宽,在适宜的环境下,光纤通道是现有产品中速度最快的。
·通用性强。
·连接距离大,连接距离远远超出其他同类产品。
光纤通道的缺点是产品价格昂贵,组建复杂。
2.光纤通道基本结构
光纤通道存储系统是一个包括服务器、存储设备、交换机,用光纤通道电缆连接成的网络,如图15-3所示。
其中,节点就是需要发送或接收数据的服务器或实际存储数据的设备。交换设备是光纤通道交换机和集线器等。存储设备/交换设备与光纤电缆连接还需要一种接口,通常在存储设备(服务器或计算机)总线扩展插槽上安装一种适配卡,适配卡上有与光纤电缆直接连接的接口,如图15-4所示。
图15-3 光纤通道结构
图15-4 主机总线适配卡
光纤通道标准定义了服务器或存储设备与光纤通道电缆之间,交换结构与光纤通道电缆之间连接的接口特性,以及各种设备之间的通信协议。
设备与光纤电缆连接的连接处称为端口,端口可分为以下4种。
·N口是服务器或存储设备上与交换机、其他服务器、存储设备连接的端口。
·L口是光纤通道环状结构中,设备与环连接的端口。L口又分为NL口与FL口两种。NL口是指服务器或存储设备与环连接的端口。FL口是指光纤通道交换机与环连接的端口。
·F口是光纤通道交换机上与服务器或存储设备连接的端口。它们只能与其他N口连接。
·E口是光纤通道交换机上与其他光纤通道交换机连接的端口。它们只能与其他E口连接。
光纤通道存储系统网络拓扑结构主要有直连结构、交换结构和环形结构3类,如图15-5所示。
图15-5 光纤通道存储系统网络拓扑结构
(1)直连结构
直连结构用两条专用电缆,通过N口连接两个通信节点,每一条负责一个方向的数据传输。如果连接电缆是光纤,则最远连接距离可达300km;如果连接电缆是铜缆,则最远连接距离可达30m。
(2)交换结构
交换结构由通信节点和光纤通道交换机组成。通信节点通过电缆与交换机连接,通信节点与电缆的连接点为N口,交换机与电缆连接点为F口。当两个节点开始通信时,交换机将建立这两个通信节点之间的通信信道。交换机允许多对节点同时通信,每对节点拥有点到点通信的全部带宽。
现在交换结构最多可以支持65000多个节点,所以,性能远胜于直连结构和环形结构。
(3)环形结构
环形结构由多个通信节点环状连接,一个节点的发送端连接到下一个节点的接收端,这种接口称为L口。两个节点通信时其他节点就不能通信,多个节点同时通信时就会发生冲突,为了解决冲突,需要一种仲裁协议来裁决,决定哪个节点有权进行通信。仲裁协议根据节点的光纤通道地址来决定优先权,地址越高的节点使用环的权限就越高。网络初始化时,每一个端口分配一个8位的仲裁环地址。但有效地址只有127个,所以,环形网络最多只有127个端口。
3.光纤通道协议
光纤通道协议有5层,分别是FC-0、FC-1、FC-2、FC-3、FC-4。其中,FC-0、FC-1和FC-2层通常由硬件实现,FC-3和FC-4层由软件实现。
·FC-0:物理层定制了不同介质、传输距离和信号机制标准,也定义了光纤和铜线接口以及电缆指标。
·FC-1:定义编码和解码的标准。
·FC-2:定义了帧、流控制和服务质量等。
·FC-3:定义了常用服务,如数据加密和压缩。
·FC-4:协议映射层,定义了光纤通道和上层应用之间的接口,上层应用如串行SCSI协议,HBA的驱动提供了FC-4的接口函数,FC-4支持多协议,如FCP-SCSI、FC-IP、FC-VI。
光纤通道协议栈结构如图15-6所示。
图15-6 光纤通道协议栈结构
一个节点可能有多个端口,例如,一个磁盘可能有4个光纤通道接口。光纤通道协议栈中的FC-0、FC-1和FC-2层是在每一个端口实现的,而FC-3和FC4层是在节点实现的。一个节点可能有多个FC-0、FC-1和FC-2层的实现,而只有一个FC-3层的实现。
(1)FC-0
FC-0层定义了物理连接的特性,包括信号速率、电缆种类、接头发送和接收器、编码和解码器和通信距离等,位于光纤通道协议栈的最低层。
FC-0层还定义了一种安全措施,称为开路光纤控制,如果光纤的一头是断开的,那么开路光纤控制可以防止激光泄漏。
光纤通道有12.5Mbit/s、25Mbit/s、50Mbit/s、100Mbit/s、200Mbit/s、400Mbit/s等多种带宽。100Mbit/s、200Mbit/s带宽的传输速率就是1Gbit/s和2Gbit/s。现在4Gbit/s的产品已经比较成熟,相信8Gbit/s、10Gbit/s的产品不久也会出现。同轴电缆和屏蔽双绞线只能用在1Gbit/s或更慢的光纤通道中。2Gbit/s、4Gbit/s以及以上光纤通道只能使用光纤。
发送端FC-0层将FC-1层传递来的0、1二进制信号转换成物理的激光信号或电信号,通过电缆发送给接收端。接收端的FC-0把激光信号或电信号转换成0、1二进制信号,传递到FC-1层,FC-1层继续往上传递。
抽象地说,发送端和接收端的FC-0层之间接收或传递二进制0、1信号。
(2)FC-1
抽象地说,发送端和接收端的FC-1层之间接收或传递的是字节。FC-1层将FC-0传递来的0、1二进制信号组成8bit的字节向上传递,或将字节解码成二进制0、1向下传递给FC-0层。
FC-1定义了0、1信号的编码、解码、特殊字符以及字节级的差错控制等。FC-1采用8B/10B的编码方式,即8位二进制字符被编码成为10位二进制字符进行传输,这10位称为一个传输字。采用8B/10B的编码方式是为了平衡传输信号中0、1的个数,连续0或1的个数,改进直流分量平衡、信号传输质量和时钟同步,提高纠错能力从而改进传输距离。
(3)FC-2
FC-2负责接收FC-1层的数据或向FC-1层发送数据,发送端和接收端的FC-1层之间接收或传递的是帧、帧序列、帧交换和数据包。
FC-2层定义了如下4种数据传输单位。
·帧:这是FC-2中的基本传输单位,一帧最多包含2112字节。
·帧序列:由一个或多个帧组成。
·帧交换:由一个或多个帧序列组成。
·数据包:由一个或多个帧交换组成。
数据帧由帧起始(SOF)、帧头(Frame Header)、负载(Payload)、冗余校验码(CRC)和帧结束组成。帧起始、冗余校验码和帧结束都由一个传输字组成,帧头由6个传输字组成。负载最多有537个传输字(2112字节),帧头包括帧的起始地址SOURCE_ID和目的地址DESTINATION_ID,即发送和接收数据帧的端口的光纤通道地址。数据帧结构如图15-7所示。
图15-7 数据帧结构
当上层协议数据单位长度大于2112时,FC-2把其分割成几个数据帧,形成一个数据帧序列。一个数据帧序列内的所有帧都有一个统一的帧标识符SEQ_ID,数据帧序列内的每一个帧都有一个序列号SEQ_CNT。发送数据帧序列的N端口称为SI,接收数据顿序列的N端口称为SR。高层协议以帧序列为基本单位实现纠错。
帧序列是上层协议的一个数据单元,上层应用程序对数据的一个操作通常包括双向的几个数据单元的交换。FC-2用帧交换来定义上层协议的一个操作。帧交换由一个上层操作中的一个或几个帧序列组成,可能是两个N端口之间单向或双向的数据交换。一个帧交换中只能有一个帧序列处于活动状态。
FC-2还定义了如下一系列协议来管理FC数据传输操作。
·原语序列协议:用来表示连接的中断。
·交换机登录协议:用于N端口和交换机之间交换服务参数。
·N端口登录协议:用于两个N端口之间在开始数据传输之前交换服务参数。
·数据传输协议:用于描述光纤通道流控制传输高层协议的方式。
·N端口退出协议:用于N端口结束数据传输后要求从另一个端口退出,以便把使用的资源归还给该端口。
(4)FC-3
—个节点可能有多个FC-0、FC-1、FC-2层,也可能有多个FC-4层,但一个节点只有一个FC-3层。FC-3为同一节点的多个上层提供公共服务。FC-3利用多个FC-2层来实现公共服务,如图15-8所示。
FC-3提供了如下3种公共服务。
·条块化:用以提高传输带宽,它利用多个N端口在多条连接上并行地传输同一信息。
·搜索组:一个节点上的一组N端口可以响应同一地址,这样可以减少一个端口过忙而达到“占线”状态的可能。
·多播:将一个信息传输到多个节点,也可以将一个信息传输到同一节点的多个N端口。
图15-8 光纤通道协议层次
(5)FC-4
FC-4协议把高层协议的信息单元映射成FC-3,FC-2层的帧序列传递给FC-3、FC-2层,或者把FC-3或FC-2层的帧序列映射成高层协议的信息单元传递给高层协议。
FC-4定义了高层协议的信息单元与FC-3或FC-2层的帧序列之间的映射。FC-4支持的高层协议如下所述。
·IPI:智能外设接口(Intelligent Peripheral Interface)。
·SCSI:小型计算机系统接口(Small Computer System Interface)。
·IPPI:高性能并行接口(High Performance Parallel Interface)。
·IP:网际协议(Internet Protocol)。
·SBCCS:Single Byte Command Code Set mapping。
·IEEE 802.2:局域网协议。
·ATM:适配层(Adaptation Layer)AAL5。
最常见的是SCSI与光纤通道之间的映射。SCSI的一个单独的命令被映射成光纤通道的一个帧序列,而组成一个SCSI交易的几个命令被映射成光纤通道的帧交换。