版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、FC 协议栈分析报告协议栈分析报告项目名称:项目名称: 数据容灾与快速恢复技术 编编 写:写: 庞飞 审审 核:核: 批批 准:准: 日日 期:期: 2007.04.30 修订记录版本状态版本状态作者作者参与者参与者起始日期起始日期备注备注1.0庞飞目录目录1 FC 概述概述 .42 FC-0(PHYSICA1)层层 .63 FC-1(CODE)编码层编码层.73.1 8 B10 B 编码 .83.2 链路维护.94 FC-2(PROTOCOL)层层.114.1 帧(FRAME)结构.114.2 命令集(ORDERED SET).174.3 序列与交换.184.4 协议.184.5 分类服务和
2、流控制.194.6 登录和服务参数.225 FC-3 层层.236 FC-4(MAPPING)层层 .237 FC 拓扑结构拓扑结构 .247.1 交换拓扑.247.2 点对点拓扑.267.3 仲裁环拓扑.268 FC 服务与管理服务与管理 .298.1 名称服务(NAME SERVER).298.2 管理服务(MANAGEMENT SERVER).308.3 时间和别名服务.319 FCP-4 协议映射协议映射.329.1FCP I/O 操作.329.2FCP 信息单元(FCP IU).339.3 FCP I/O 操作流程.439.4 差错检测与恢复.46参考文献参考文献.521 FC 概述
3、概述光纤通道(Fiber Channel ,FC)技术是一种能够为存储设备、IP 数据网、音频流等应用提供高速数据传输的骨干网络技术。早在 1988 年,惠普(HP) ,SUN 和 IBM 等公司就开始了对这项技术进行实验和开发、经过多年的发展,光纤通道技术已经发展成为一项完备的,高速的和高扩展性的网络技术,现在的光纤通道技术主要应用在网络数据存储、高速 IP 数据网、音视频流等多种领域。目前,光纤通道技术可以广泛提供1 Gb/s速率的设备,价格有所降低,设备的端口密度可以达到数十个甚至上百个。2 Gb/s设备已经实用化,标准化和互操作性等都有所提高。FC是由美国工业标准协会(ANSI)提出的
4、通道标准,其目的是适应快速增长的高速数据传输的需求。为了能够适应可能出现的技术变革,提供更快更好的性能,光纤通道技术被设计为具有下面的这些要素: 为可扩展性、小型光纤,连接器和距离扩展能力准备的串行传输; 最大规模网络应用中的异步通信; 交互通信能力和连接新的传输介质的能力; 低延迟的交换网络互联; 为开发和配置复杂性准备的模块化和层次化结构; 高带宽、低延迟的最低错误率和轻量级错误;我们可以认为光纤通道是一种通用的传输通道,它能够为多种高层协议(Upper Level Protocols,ULP)提供高性能的传输通道,这些协议包括智能外设接口(Intelligent Peripheral I
5、nterface,IPI)命令集、小型计算机系统接口(Small Computer System Interface,SCSI)命令集或高性能并行接口(HighPerformance Parallel Interface,HIPPI)数据帧、互联网协议(Internet Protocol,IP)、IEEES022等。在逻辑上,我们可以将FC看作是一种用于构造高性能信息传输的、双向的、点对点的串行数据通道。在物理上,FC是一到多对应的点对点的互连链路,每条链路终结于一个端口或转发器。FC的链路介质可以是光纤、双绞线或同轴电缆。在FC系统中,所有的设备(如主机或存储系统)的连接都是由两条单向的传输
6、通道构成的,一条用于发送,另一条用于接收,每一条传输通道都要将一个设备上端口的发送器与另一个设备上端口的接收器连接起来。传输通道介质可以采用单模光纤、多模光纤双绞线或同轴电缆,相应的设备端口可以采用SC、SG、LC或MTRJ。FC提供了非常广泛的介质速率选择范围,计入8 B10B编码和其他开销之后,对于净负荷100MB/s的传输速率,介质上的传输速率要达到1063 Mbs。这一速率是实际速率,称为全速(Full Speed)。还可以分为半速、14速、1培速等。同样,FC系统也定义了倍速和4倍速(如下表所示)。表1-1 FC速率类型净负荷MB/s速率Mb/s与全速的比率12.51331/8251
7、661/4505311/2100106312002126240042524FC系统中设备的连接有三种拓扑方式:点对点方式(Point to Point)、交换方式(Fabric)、仲裁环方式(Arbitrated Loop)。FC 协议栈模型可以用下图来表示:图 1-1光纤通道协议栈结构1.FC-0 层层描述物理接口,它包括传送介质,发射机和接收机及其接口。FC-0 层规定了各种介质和与之有关的能以各种速率运行的驱动器和接收机。2.FC-1 层层描述了 8B/10B 的编码规则,该码型可以实现传送比特流的 DC 均衡,使控制字节与数据字节分离且可简化比特,字节和字同步。另外,该编码具有检测某些
8、传送和接收误差的机制。3.FC-2 层层是信令协议层,它规定了需要传送成块数据的规则和机制。在协议层,FC-2 层是最复杂的一层,它提供不同类型的服务,分组,排序,检错,传送数据的分段重组,以及协调不同容量的端口之间的通信需要注册服务。4.FC-3 层层提供的一系列服务,是光纤通路节点的多个 N 端口所公用的。由于必要性限制,故对这层尚未给出明确定义,但是它所提供的功能适用于整个体系结构未来的扩展。5.FC-4 层层提供了光纤通路到已存在的更上层协议的映射,这些协议包括IP、SCSI 协议,或 HIPPI 等等。2 FC-0(Physica1)层层FC-0层定义了FC中的物理部分,包括光纤、连
9、接器以及不同传输介质和传输速率所对应的光学和电器特性参数。另外,在FC-0层中还详细说明了各种介质以及相应的驱动和可能的接收速度。FC-0层又分为介质子层和接口子层,介质子层描述了不同传输介质的光学和电器特性,以及相应的传输速率和距离范围。目前支持的传输介质主要有单模光纤(Single mode,SM)、多模光纤(Multi mode, Mm)、视频电缆(Video Cable,VC)和微型电缆(Miniature Cable,MI)以及屏蔽双绞线(Twisted Pair,TP)等。接口子层描述了不同传输介质的接口规范,及其接口插座的光信号特性,其中包括发送接口(TX)和接收接口(RX),如
10、:SC、SG、LC、MT-RJ等。另外,在FC-0层中还定义了发送状态、接收状态、输人数据相位跳转的回应、不可用码的限制、接收初始化时间等内容。发送状态发送状态由FC-l层控制,状态值由从FC-l层接收的串行数据信号转换为与传输介质相适合的信号类型。FC-0层共有3种状态:不可发送状态(Transmitter NotEnable State),表示光发送器的光源输出关闭,或者是电路发送器的输出电平小于最小限制或为零。在电源打开时,FC-0层将置于不可发送状态,直到FC-1发出信号。可发送状态(Transmitter Enable State),表示发送器能发送数据比特序列。发送失败状态(Tra
11、nsmitter Failure State),有些发送器能够监控自己内部发生的错误,当其发现错误后将自己置于发送失败状态,另外有些发送器不能够监控自己内部发生的错误,所以也就不具备发送失败状态。接收状态接收器从传输介质中接收数据比特序列,然后放大数据信号并且联合时钟一起送给FC-1层进行处理。FC-0层中没有接收状态。输入数据相位跳转的回应有些支持链路控制功能(Link Control-Facilities)的FC物理设备可以检测到输入串行比特数据流的相位不连续,并且提供相应的恢复特性。不可用码的限制FC-0层并不检测传输编码中不合规则的比特流,如:非法的命令集等,FC-0层总是希望将比特流
12、传输到能够提供码流校验的更高层去处理。而FC-0层只是尽可能地提供码流传输的同步和提供误码率(Bit Error Rate,BER)小于10 -12等必须条件。接收初始化时间FC-0层接收器的初始化时间指的是,从初始接收有效输入数据开始到对输入比特流同步并以保证的误码率放大和转发的时间。整个接收器的初始化时间应当不大干1 ms。3 FC-1(Code)编码层编码层FC-1层中定义了FC的底层传输协议,包括串行编码、解码和链路状态维护。在FC中,数据的传输采用8 B10 B编码,用以限制最大运行编码长度维护数据比特流电位的平衡并且提供信息数据的编码对齐。经编码处理后的字符共有两类,一类是数据字符
13、,一类是专用字符。在FC-1层中由几个专用字符组合在一起,并通过字符命令集来表示一定的特殊含义,如:帧边界、简单传输请求或通过周期性的交互维持链路传输状态。3.1 8 B10 B 编码编码在FC-1层中,信息数据的传送编码是将1个字节8比特转换成10比特的传输字符,然后再将比特流进行串行传输的。在接收端如果是数据字符,则将10比特的传输字符转换为8比特的标准字节,FC支持所有0-255的8比特标准字节,如果是保留的专用字符将不被转换,而直接进行功能处理。FC-1使用字母符号表示数据信息比特和控制变量。对于上层FC-2层的1个数据字节,在FC-1层中由A,B,C,D,E,F,G,H表示,同时由z
14、表示控制变量(如图3所示),这个信息经过FC-I的8 B10B编码转换为1个A,B,C,D,E, F,G,H,I,J的10比特传输字符。其中每个信息比特表示的值为1或0,每个控制变量表示的值为D(数据字符)或K(专用字符)。对于每一个标准的8比特传输字符,均采用Zxx.Y的命名法则进行编码转换,其中Z是未编码的传输字符的控制变量,如果传输字符是有效数据字符,则Z=D;如果传输字符表示专用字符,则Z=K。小数点前面的xx表示比特符号E,D,C,B和A的二进制值,小数点后的Y表示比特符号H,G和F的二进制值。经过Zxx.Y命名转换后的传输字符可以通过编码表获得l0比特的传输编码(参见FC-FS 标
15、准中的10比特编码表)。下图示例了FC-2层十六进制字节0 xBC分别作为有效数据字符和专用字符在FC-1层中的字符编码命名和10比特转换过程。符号十六进制位传输顺序8B/10BBCH G F E D C B A1 0 1 1 1 1 0 0E D C B A H G F1 1 1 0 0 1 0 1 K 28 5A B C D E F G Ha b c d e i f g h j0 0 1 1 1 1 1 0 1 0 (RD-)1 1 0 0 0 0 0 1 0 1 (RD+)图3-1 光纤通道编码3.2 链路维护链路维护FC-1层的链路维护是通过系统对发送器和接收器的逻辑状态进行控制来完成
16、的。发送器和接收器的逻辑状态大致可以分为操作状态和非操作状态两种。接收器状态转换见下图。当接收器检测到一个信号,而且接收器又不在回路模式时,接收器将尝试进行接收器收到的传输字边界字符的编码比特流之间的同步。如果没有边界分隔字符发现,接收器将返回同步丢失的错误。接收器的操作状态包括同步获得状态(SynchronizationAcquired)和同步丢失状态(Loss-OfSynchronization)。当接收器收到的传输字边界字符与发送器产生的边界字符相同时,接收器进入到同步获得状态,同时接收器开始接收比特信息流,并开始进行解码。当接收器收到的传输词边界字符与发送器产生的边界字符不相同时,接收
17、器进入到同步丢失状态。接收器在进入到同步丢失状态以后,仍然保持可操作状态,但是不再接收比特信息流和相应的解码。接收器的非操作状态只有重置状态(Reset)一种,当内部或外部的重置条件被强加给接收器时,接收器将成为非操作状态,并随之进入重置状态。正常情况下,接收器的初始状态为同步丢失状态,此时的接收器会尝试进行同步,一旦和发送器建立了同步,接收器就进入同步获得状态进行比特信息流的接收和解码,如果接收器检测到信号丢失条件,那么就从同步获得状态转Operational?reset状态失步状态同步状态Power on或端口变为不可disoperationalNoYes退出reset状态经过bit同步,
18、transmission_word同步满足失步程序或进入loopback模式无错误发生Power on或端口变为不可disoperational图 3-2 接收器状态转换入同步丢失状态,一般信号丢失条件为连续收到5个非法传输词字符,无论接收器是在同步获得状态还是在同步丢失状态,当内部或外部的重置条件被强加给接收器时,接收器将转入重置状态FC),而当内部或外部的重置退出条件被强加给接收器时,接收器由重置状态转入同步丢失状态,在FC标准之中没有明确地定义重置条件和重置退出条件,具体实现由厂商完成,最典型的重置条件和重置退出条件是电位重置。当发送器处于操作状态,发送器将持续尝试向所连接的光纤发送经过
19、编码的比特信息流有些发送器能够监视发送信号和校验其有效性,如果发现错误,发送器会转入非操作状态。FC-1层发送器的操作状态包括工作状态(Working)、不可用状态(NotEnabled)和开放光路状态(OpenFiber)。当发送器积极地尝试向所连接的光纤发送经过编码的比特信息流时,发送器处于工作状态。当一个发送器端口请求或被外部事件所初始化,发送器将进入不可用状态,而当发送器检测到一个激光安全条件,发送器将进入开放光路状态。发送器在进入到不可用状态和开放光路状态,将保持操作状态。激光安全条件的检测是由FC-0层的链路控制功能(LinkControlFacilities)来完成的,旦发送器进
20、八开放光路状态,不管是否接收到可用或不可用的端口请求,发送器都将一直保持开放光路状态,直到发送器检测不到激光安全条件。发送器的非操作状态只有失败状态(Fai1ure)一种,当发送器检测到一个失败条件后,发送器将成为非操作状态,并随之进入失败状态。失败条件的检测,是由各个生产厂商定义的单一信号的检测,FC标准没有作明确规定。正常情况下,发送器的初始状态为不可用状态,如果发送器收到端口可用的请求,而且又没有检测到激光安全的条件,那么发送器就会进入工作状态,然后开始向所连接的光纤发送编码比特信息流如果处于开放光路状态的发送器检测到激光安全条件不存在了,而且又没有明显的禁用请求,那么发送器就会转入到工
21、作状态。如果处于工作状态的发送器收到一个禁用请求,而且又没有检测到激光安全的条件,那么发送器就会回到不可用状态。无论发送器是处于工作状态,还是处于不可用状态,只要是发送器检测到了激光安装条件,那么发送器就会转入到开放光路状态。如果处于工作状态的发送器在向所连接的光纤发送编码比特信息流时检测到了一个失败条件,那么发送器就会转入到失败状态。如果处于开放光路状态的发送器检测到激光安全条件不存在了,而且收到明显的禁用请求,那幺发送器就会转入到不可用状态。发送器只有在工作状态下,才会向所连接的光纤发送编码比特信息流,而当处于不可用状态或开放光路状态时,将停止向所连接的光纤发送编码比特信息流,但是仍保持操
22、作状态。如下图所示:4 FC-2(Protocol)层层数据帧及数据包的发送和接收是在FC-2(Protocol)层实现的,FC-2层定义了帧结构、命令集、序列、交换、分类服务等内容。FC-2层定义了4种数据传输单位:帧、帧序列、帧交换和数据包。当上层协议的数据单元长度大于光纤通道数据帧负载的最大长度2112个字节时,则需要被分割成多个数据帧,这些数据帧就被称为帧序列。一个帧序列表示一个上层协议数据单元,而上层应用程序对数据的操作通常基于一个个操作,一个操作包括双向的几个数据单元交换,因此,用帧交换来表示上层协议的一个操作,一个帧交换内只能有一个帧序列处于活动状态。数据包是由一个或若干个帧交换
23、组成。不可用状态工作状态开放光路状态失败状态初始化完成EnableDisable存在Laser safety condition无Laser safety condition,且无disableFailure命令Enable或disable命令无Laser safety condition ,有disable命令存在Laser safety condition图 3-3 发送器状态转换图4.1 帧帧(Frame)结构结构数据帧由帧起始(SOF) 、帧报头(frame header) 、数据字段、冗余校验码(CRC)和帧结束(EOF)组成。帧起始、冗余校验码和帧结束都是由一个传输字组成。帧报头由
24、 6 个传输字组成。负载最多能有 537 个传输字(2112 个字节) ,数据帧格式如下图所示。帧报头格式每个帧含有一个 24 字节的帧头,它包括字段描述内容和帧处理。帧头格式包括下列字段:R_CTL:路由控制。D_ID:目的标识符。S_ID:源点标识符。CS_CTL:类型特殊控制。TYPE:数据结构类型。F_CTL:帧控制。SEQ_ID:序列标识符。DF_CTL:数据字段控制。SEQ_CNT:序列数。OX_ID:发送端交换ID。RX_ID:响应端交换 ID。参数:数据帧中的相对偏移。帧头字段的主要作用是唯一的标识帧。每个帧是由称为帧 ID 值的(S_ID,D_ID,OX_ID,RX_ID,S
25、EQ_ID 和 SEQ_CNT)值来唯一地标识。帧报头格式如下图所示:图 4-1 FC-2 的帧格式图 4-2 帧报头格式路由控制字段:路由控制字段:R_CTLR_CTL提供不同类型帧之间第一层的区别,起到归类帧的作用,路由控制(R_CTL)(R_CTL)是 1 个字节字段,它包括两个四位的子字段,即:路由子字段和信息子字段,路由控制字段 R_CTL 类别码如下表所示。表 4-1 R_CTL 类别码路由路由帧类型帧类型0设备数据帧2扩展链路服务3FC-4 链路数据4视频数据5扩展头8基本链路服务c链路控制帧f扩展路由其他保留地址标识符:地址标识符:S_IDS_ID 和和 D_IDD_ID每个
26、N 端口有一个 3 字节 N 端口标识符,在交换结构地址域内是唯一的。F 端口像 N 端口一样都具有唯一的本地地址标识符,它可以用于将帧连接到交换结构上的端口。等级特别控制:等级特别控制:CS_CTLCS_CTL用于与服务类型有关的帧处理。这个字段只在第 1 类和第 4 类帧中才有意义。数据结构类型:数据结构类型:TYPETYPE一个可进一步标识帧种类的字段。最常见的用法是在数据帧中来区别 FC-4 ULP 接口。该字段和 R_CTL 字段共同标识出帧的具体类型。首先通过 R_CTL 字段标识出该帧是数据帧还是链路控制帧,再通过该字段进一步标识出帧的类型。例如当 R_CTL0 xh, TYPE
27、=0Ah 则表示该帧为承载 SCSI 协议的数据帧。帧控制帧控制:F_CTL:F_CTL一个含有与帧内容有关的控制信息,一个 3 字节字段,大多数其他帧头字段基本上是用于帧标识,F_CTL 是控制帧处理的重要字段,对于不同的服务类型来说,相关的控制位有不同的值,同时控制字段的有效性也不同。F_CTL各字段的详细描述如下表所示:表 4-2F_CTL 格式格式控制字段控制字段位位描述描述交换上下文230 交换发起端1 交换响应端序列上下文220 序列发起端1 序列响应端第一个序列210 交换的其它序列1 交换的第一个序列最后一个序列200 交换的其它序列1 交换的最后一个序列结束序列190 序列的
28、其它数据帧1 序列的最后一个数据帧结束连接(Class 1 或 Class 6)180 连接激活1 连接挂起结束(Class 1 或 Class 6 中有效,在其它类型中忽略)CS_CTL/优先级170 字 1 的 3124位表示 CS_CTL1 字 1 的 3124 位表示优先级序列 Initiative160 保持序列Initiative1 传输序列Initiative废弃15废弃14ACK 形式(Class1,Class2,Class6有效)13-1200b 不需要额外提供01b 需要 Ack_110b 保留11b 需要 Ack_0数据压缩(废弃)11数据加密(废弃)10序列重传90 初
29、始序列重传(Class1,Class6 有效)1 序列重传单向传输(Class1,Class6 有效)80 双向传输1 单向传输连续序列条件(当结束序列=1, 序列Initiative=0 时有效)7600b 无信息01b 实时序列10b 快速序列11b 延迟序列终止序列条件54接收端响应帧接收端响应帧00b 连续序列01b 异常终止序列,按异常中止处理10b 停止序列11b 实时序列重传请求数据帧数据帧00b 异常中止,丢弃多个序列01b 异常中止,丢弃一个序列02b 无限缓存处理策略11b 丢弃多个序列,立即重传相对偏移30 一些帧定义的参数字段1 参数字段,相对偏移交换重组2交换重组保留
30、填充字节10净荷结束,不满 4字节整数倍,填充00b 填充 0 个字节01b 填充 1 个字节10b 填充 2 个字节11b 填充 3 个字节序列序列 IDID:SEQ_IDSEQ_ID用来唯一标识交换内的序列,由序列发起端分配。数据字段控制:数据字段控制:DF_CTLDF_CTL规定帧头和帧净荷之间任选头标所包含内容的说明。数据字段中定义的可选报头是:网络报头(Network Header)、关联报头(Association Header)和设备报头(Device Header)。序列计数:序列计数:SEQ_CNTSEQ_CNT用来唯一地识别出一序列的帧,保证帧接收的连续性并使链路控制帧与它
31、们相关的数据帧具有唯一的关系。发送端交换标识符:发送端交换标识符:OX_IDOX_ID发起端交换标识,是除了 FFFFh 以外的值。响应端交换标识符:响应端交换标识符:RX_IDRX_ID接收端交换标识,是除了 FFFFh 以外的值。参数字段:参数字段:此字段与帧类型有关。对链路控制帧而言,参数字段给出链路控制帧的特定类型。对数据帧而言,参数字段包含相对偏转值。这规定从 ULP 缓冲区与ULP 基础地址的偏移。参数参数字段的定义:字段的定义:对请求数据类(FCP_DATA IU),参数字段应该包含一个相对的偏移,F_CTL的相对偏移位应该置为1,表明参数字段的值是一个相对偏移。相对偏移是个4的
32、整数倍。对非请求控制类(FCP_CMND IU),参数字段依赖任务重试标志是否激活,如果发送和接收的FCP_PORT在任务重试上达成一致,参数字段应该置为任务重试标志,如果发送和接收的FCP_PORT在任务重试上没有达成一致,参数字段应该置为0。不管哪种情况,F_CTL字段的相对偏移位都应该置为0。对其他的FCP类型的Device_data帧,F_CTL字段应该置为0,相对偏移字段包含0。帧的内容域帧内容域的数据长度是 4 字节的整数倍,当长度不足 4 字节的整数倍时将采用向内容域中填充 1-3 个字节,从而使其长度达到 4 字节的整数倍。内容域中字段描述如下图所示:图 4-3 帧内容帧数据段
33、中的可选报头是提供给 FC-4 层使用的,可选报头头的类型是由帧报头的 DF_CTL 字段决定的。DF_CTL 字段的长度是一个字,对应位与所定义的附加报头如下表所示。表 4-3 附加报头字段对应位字段对应位Bit(s) 可选报头可选报头 可应用范围可应用范围 23 保留 所有帧 22 0 = 无 ESP_Header 和 ESP_Trailer 1 = ESP_Header 和 ESP_Trailer 所有帧21 0 = 无 Network_Header 1 = Network_Header 设备数据和视频数据帧20 0 = 无 Association_Header 1 = Associat
34、ion_Header 设备数据和视频数据帧19-18 保留所有帧17-16 00 = 无 Device_Header01 = 16 Byte Device_Header 10 = 32 Byte Device_Header11 = 64 Byte Device_Header设备数据和视频数据帧可选报头的长度和类型如下图所示:图 4-4 FC-2 帧的内容域中可选报头和负载4.2 命令集命令集(Ordered Set)在FC-2命令集中的每条命令均由表示数据或专用符号的4个字符组成,每条命令均表示一定的含义。命令集提供有效性使获得的比特或字同步,同时命令集也用于建立字边界对齐。所有命令都以专用字
35、符K28.5作为开始。在FC-2层有帧定界符、原始信号、原始序列三种主要的命令。 帧定界符(Frame Delimiters)包括帧开始(SOF)和帧结束(EOF)命令集。用于表示一个帧的开始与结束,在交换拓扑和节点瑞口中由多个SOF和EOF定界符用于序列控制。例如:典型的SOF命令为K28.5 D2l.5 D23.0 D23.0、EOF命令为K28.5 D21.4 D21.6 D21.6 。 原始信号(Primitive Signals)包括空闲Idle)和接收器准备(Receiver Ready,R-RDY)命令集。当一个可操作的节点端口准备好发送或接收数据时,一个表示空闲命令的原始信号会
36、被发送;当接口缓冲区准备好接收数据帧时,一个表示接收器准备的原始信号会被发送。 原始序列(Primitive Sequence)是一组被连续地重复发送的命令集用于表示节点端口特定的状态或端口逻辑状态。当一个原始序列被节点端口接收或识别节点端口恢复个相应的原始序列或空闲命令。识别一个原始序列需要连续地检测3个相同命令集的实例典型的原始序列有FC-l层的OLS、NOS、LR、LRR状态命令。4.3 序列与交换序列与交换 序列(Sequence)序列是从一个节点端口向另外一个节点端口单向发送的一个或多个相关帧,每个帧都根据序列总数(SEQ-CNT)有一个在整个序列中唯一的序列标识(SEQ-ID)。通
37、常序列边界的错误恢复与控制由上层协议完成。 交换(Exchange)交换是由一个或多个用作两个节点端口之间单一操作的非并发序列组成的交换可以是单向的也可是双向的。在单一交换中只能有一个序列在一个时间内被激活但是在不同交换之间可以有多个序列被同时激活。4.4协议协议FC一2层中还定义了一些协议(Protocols)用于上层服务:原始序列协议基于原始序列,用于链路失败;交换网登录协议 在交换网络拓扑中,当一个节点端口登录交换网络时,节点端口与交换端口之间相互交换服务参数;节点端口登录协议 在点对点拓扑中,在传输数据之前,两个节点端口之间相互交换服务参数;数据传输协议表述使用流控管理传输上层协议数据
38、的方法;节点端口注销协议 一个节点端口请求撤消与另外一个节点端口的连接服务参数,断开与另外一个节点端口的连接。4.5 分类服务和流控制分类服务和流控制 分类服务(Service Classes)FC的服务类型是指FC提供不同的服务以满足不同的数据传输要求。FC一共定义了6种服务类型,基于FC的SCSI协议采用的是类型3的服务。用户可根据所作应用的传输特性,如:数据包的长度,传输持续时间等,选择相应的服务:(1) 服务类型I(Class I)可提供专用的连接,即有效的专用物理连接。一旦连接建立,交换拓扑网会维持和保证整个服务的连接这种服务能够保证两个节点端口之间的最大带宽的使用以及提供最高的吞吐
39、量。接收端对每一个接收到的正确数据帧发一个确认帧给发送端。对不正确或丢失的数据帧,接收端发一个否认帧给发送端,发送端会重发。在服务类型I中数据帧是依照原始顺序被发送到目的节点端口的。下图描述了类型I服务的处理流程。发起端接收端Fabric数据帧数据帧数据帧R_ReadyACKACKACKACK图4-5 类型I服务的处理流程(2)服务类型(Class)是一种基于帧的交换,无连接的服务。服务类型允许一个或多个通道的带宽被多个源的多个数据帧所共享。交换拓扑网可能不保证数据帧的传送顺序。服务类型可用于连接建立时间大于等待时间的短时间数据流。服务类型I和服务类型都会发送确认消息(ACK), 确认数据帧的
40、传送。如果数据帧因为拥塞而不能被适当地传送,接收端口会返回一个繁忙信号帧或拒绝信号帧给发送端数据帧将被重新发送。类型服务中,数据发送端和接收端没有专用的通道,数据可能经过不同速度的中间连接,中间节点可能需要缓存来保存来不及发给下一个节点的数据。下图描述了类型服务的处理流程。发起端接收端Fabric数据帧数据帧R_ReadyACKACKACK数据帧图4-6 类型服务的处理流程(3)服务类型(Class) 类似于服务类型,也是一种基于帧交换,无连接的服务,但是服务类型并不发送确认消息,这种类型的传输也称为数据报(Datagram),因为不需要发送确认消息,所以可以提供更快速地传输。服务类型不关心数
41、据的错误,由更高层负责进行错误回复和重排失序后的数据传输。服务类型可用于实时的数据传输。下图描述了类型服务的处理流程。发起端接收端Fabric数据帧数据帧数据帧R_Ready图4-7 类型服务的处理流程(4)服务类型(Class) 类似于服务类型,也是提供两个N端口之间专用的通信通道,保证数据传输固定的带宽,而且保证接收端接收的数据帧次序和发送端发出的次序一样,它与类型服务的不同之处是专用通信通道的带宽。类型服务中,两个N端口的全部通信带宽都用于类型的服务。例如100MB/s的N端口如果建立类型的服务,全部100MB/s带宽都会用于服务,也就是说类型服务建立的专用通道就是100MB/s的速度。
42、而建立类型4服务时,N端口可以只用一部分带宽建立与另一N端口的专用通信通道。相对于两个N端口之间建立一个虚拟线路(virtual circuit)。实际上是两个单向的虚拟线路,两个方向可能有不同的通信带宽。一个N端口可与多个N端口间建立多个类型4的服务。(5)服务类型(Class)的服务在光纤通道标准中还没有完全定义好。(6)服务类型(Class)的服务提供多播的功能。如果一个N端口想发数据给其他多个端口,它可以与多播服务器建立类型的服务。多播服务器再再这个发生数据的N端口和接收数据的多个N端口之间建立类型的服务。发送端把数据发送到多播服务器,多播服务器再负责把数据帧复制成多份,分别发送给多个
43、接收端口。想接收多播数据的端口可以和别名服务器注册,多播服务器就会把数据发送到注册的端口。 流控制(Flow Control)流控指的是FC-2层控制协调节点端口之间和节点端口与交换端口之间的接收帧数据流泛滥溢出。流控依靠于上层的分类服务,服务类型I的数据帧使用端对端的流控,服务类型使用缓冲对缓冲的流控,服务类型既使用端对端的流控又使用缓冲对缓冲的流控。流控是由序列发起者(源)端口和序列接收者(目的)端口使用信任量(Credit)和信任总量(Credit Count Credit_ CNT)来进行管理的。信任量指的是分配给发送端口的缓冲区数,信任总量指的是没有被序列接收者确认的数据帧数。端对端
44、的流控用以协调节点端口之间的数据帧流,在这种情况下序列接收者通过返回一个确认帧给序列发起者,以表示接收到了合法的数据帧,当序列接收者的缓冲区相对于接收的数据帧不够时,也就是端对端信任量(End to End CreditEE_ Credit)小于接收的数据帧数时序列接收者会返回一个繁忙信号帧给序列发起者,而当序列接收者收到一个错误的数据帧时序列接收者会返回一个错误信号帧给序列发起者,然后再由序列发起者返回一个端对端的信任总量(End to End Credit Count. EE_ Credit_ CNT)。端对端流控的最初信任量是在节点端口登录时分配的。缓冲对缓冲的流控用于控制调节节点端口与
45、交换端口之问或点对点拓扑中两个节点端口之间的的数据帧流。每个端口有责任管理缓冲对缓冲的信任总量 (Buffer to Buffer . Credit Count BB - Credit_ CNT)。缓冲对缓冲的信任量(Buffer to Buffer Credit,BB-Credit)在节点端口登录交换网络时分配序列接收者通过向序列发起者发送接收器准备(RRDY)信号帧,以通知序列发起者是否有空闲的缓冲区用于接收数据帧。4.6 登录和服务参数登录和服务参数登录程序是一个节点端口和另外一个节点端口或交换端口之间建立操作环境的一种方法。一个节点端口登录到另外一个节点端口,称为目的节点端口登录;一个
46、节点端口登录到交换端口,称为交换网络登录。交换网络登录和目的节点端口登录都采用相似的程序,不同的目的标识(Destination-Identifiers,D-IDs)和尽可能不同的源标识(SourceIdentifiers,S-IDs)。当节点端口请求登录其他节点端口或交换端口时,首先停止发送空闲帧(IDLE),而改为发送一系列表明其登录及开始网络通信意图的帧,并通过登录建立端口地址,服务类型等参数。一旦登录成功,节点端口与交换端口之间或两个节点端口之间将保持长时间的连接。一个节点端口能和多少个其他节点端口建立登录连接,是由节点端口的功能和性能决定的。登录连接与服务类别 I 的专用连接之间没有
47、直接的关系。 5 FC-3 层层FC-3层中定义了一组服务用于公共的单一节点中的多个端口交叉其中包括组搜寻(Hunt Groups)和分组广播(Multicast)。组搜寻组搜寻指的是由多个节点端口(N- Port)回复同一个别名地址请求的能力。这能略降低节点端口繁忙的机会,从而有效地提高整个系统的效能。分组广播分组广播指的是将一个传输信息发送到多个节点端口(NPort)这些节点端口可以是整个交换拓扑中所有的节点端口,也可以是整个交换拓扑中的部分节点端口,此时也称为广播(Broadcast)。6 FC-4(Mapping)层层FC-4(Mapping)层是FC体系结构中的最高层,在FC-4层中
48、定义了FC底层协议与高层协议之间的映射。小型计算机系统接口(SCSI)互联网协议(IP)高性能并行接口(HIPPI)异步传输模式(ATM)智能外设接口-3(IPI-3)单字节指令码集(SBCCS)由FC-4层是针对不同应用层协议的映射,因此具体的应用将具有具体的映射,存储系统将使用SCSI应用层协议,SCSI协议的映射是通过FCP来完成的,我们将在第九章分析对SCSI的FCP映射协议FCP。7 FC 拓扑结构拓扑结构7.17.1 交换拓扑交换拓扑在交换网络拓扑中,节点之间的通信是通过交换网络登录、节点登录、地址分配、会话、登录注销五个阶段完成的,节点的加入和离开对网络中的其它通讯设备几乎没有影
49、响。 交换网络登录(Fabric Login)交换网络登录完成5个功能:检测交换网络的存在或不存在:如果交换网络存在,交换网络将提供一个专用的操作字符集;如果交换网络存在,交换网络将分配或确认初始登录的本地节点端口标识;如果交换网络不存在,节点端口将尝试进行点对点拓扑连接;如果交换网络存在,交换网络将初始化缓冲对缓冲的信任量(BB_Credit)。 明显的交换网登录(Explicit Fabric Login)明显的交换网络登录,需要登录请求节点端口传输一个交换网络登录(FLOGI)链路服务序列,其中包含一个由节点端口分配的源交换标识(OX_ID)和目的标识(D_ID),源标识、目的标识采用公
50、认的交换端口地址FFFFFE,源标识采用0或0000yy。如果源标识S_ID=0,交换端口将在接受(ACC)回复序列中分配一个交换网络中唯一的节点端口标识给登录请求节点端口;如果源标识S_ID=0000yy,交换端口同样会在接受(ACC)回复序列中分配一个交换网络中唯一的节点端口标识给登录请求节点端口,但是只使用823比特位,07比特位用于校验数据;如果源标识是非法的S_ID,交换端口将返回一个错误代码标识的交换端口拒绝(Fabric_Port_Reject,F_RJT)。登录请求节点端口在接收到交换端口的ACC回复序列后,向交换端口发送服务类别请求参数序列以结束交换网络登录过程。 节点登录(
51、N Port Login)交换网络中的节点登录是在交换网络登录完成后,紧接着进行的。如果一个状态正常的节点端口在登录前已经和其他节点端口建立了登录连接,那么首先必须要注销先前的登录连接。在登录处理过程中目的节点端口与其他节点端口之间的通信不再被接受。一旦登录成功,两个节点端口之间的通信即可开始。节点登录须完成的2个功能:由目的节点端口提供一个专用的操作字符集:初始化目的节点端口端对端信任量(EE-Credit)。源节点端口发送一个节点登录(PLOGJ)链路服务序列,其中包含一个由节点端口分配的源交换标识(OX_ID)、目的端口标识(D_ID=Y),源端口标识(s_ID=X)和服务类型参数,X和
52、Y在进行交换网络登录时获得。目的节点端口在收到登录链路服务序列后,回复一个包含目的交换标识(RX_ID) 、目的端口标识(D_ID=X)、源端口标识(S_ID=Y)和服务类型参数为ACC的序列;登录请求节点端口在接收到交换端口的ACC回复序列后,向交换端口发送服务类别请求参数序列,以结束交换网络登录过程。 地址分配在交换网络拓扑中,节点端口的地址是由FC交换机负责分配的,每个节点端口地址在网络中都是唯一的。节点端口地址长度为3个字节,在一个交换网络中最多可以包含1677万72l5个节点端口。 会话在交换网络拓扑中节点端口之间的会话,在节点端口完成交换网络登录和节点登录后开始,节点端口之间的会话
53、可以采用服务类型1、服务类型2和服务类型3中的任何一种。 登录注销(Logout)登录注销用于释放两个节点端口之间用于维护会话服务的资源。源节点端口发送一个节点登录注销(LOGO)链路服务序列,其中包含一个由节点端口分配的源交换标识(OX_ID)、目的端El标识(DID=Y1、源端口标识(S_ID=X)和服务类型参数目的节点端口在收到登录链路服务序列后回复一个包含目的交换标识(RX_ID)、目的端口标识(D_ID=X)、源端口标识(S_ID=Y)和服务类型参数为ACC的序列以结束会话。7.2点对点拓扑点对点拓扑 节点登录(N_Port_Login)在点对点网络拓扑中,节点登录是在节点端口完成初
54、始化后,紧接着进行的。点对点的节点登录须完成3个功能:由目的节点端口提供一个专用的操作字符集;初始化目的节点端口端对端信任量(EECredit);初始化节点端口缓冲对缓冲信任量(BBCredit)源节点端口发送一个节点登录(PLOGI)链路服务序列,其中包含一个由节点端口分配的源交换标识(OX_ID)、目的端口标识(D_ID=Y)、源端口标识(D_lD=x)和服务类型参数X Y 目的节点端口在收到登录链路服务序列后,回复一个包含目的交换标识(RXID)、目的端口标识fDID=X1、源端口标识(SID=Y)和服务类型参数为ACC的序列,登录请求节点端口在接收到目的端口的ACC回复序列后,向目的端
55、口发送服务类别请求参数序列以结束节点登录过程。在点对点网络拓扑中、节点端口的地址标识采用硬件地址。 会话在点对点网络拓扑中节点端口之间的会话在节点端口节点登录后开始,节点端口之间的会话可以采用服务类型1、服务类型2和服务类型3中的任何一种。 登录注销(Logout)点对点网络拓扑中,登陆注销阶段相同于交换网络拓扑中的登陆注销阶段。7.37.3 仲裁环仲裁环拓拓扑扑仲裁环网络拓扑利用仲裁策略代替了交换网络中的交换网络登录访问策略,因此,在仲裁环网络拓扑中,不需要进行交换网络登录节点之间的通讯是通过环初始化、仲裁选举、节点环口登录、会话、登录注销五个阶段完成的。 环初始化在仲裁环网拓扑中,节点环口
56、(NLPort)通过环初始化获得端口地址仲裁环网中的所有节点环口都有权利请求执行环的初始化,当有环E1离开仲裁环,或有端口加入仲裁环需要得到端口地址时,环初始化就会发生。因为环初始化过程包含了仲裁环网中的所有节点环口,所以,一旦有环初始化发生,任何正在进行的传输都会被强制中断,该传输需要在环初始化结束后恢复或重传。环初始化采用一系列专用指令序列称为环初始化原语(Loop Initialization Primitive Sequence,LIP)仲裁环网中的任何节点环口都可以通过发送一个环初始化原语到仲裁环上的其他节点环口,来启动环初始化过程。环初始化过程要求环中的一个节点环口作为环控制器来管
57、理整个仲裁环的初始化过程。环控制器的选举采用向相邻环口发送环初始化控制选择(Loop Initialization Select Master LISM)帧来完戍每个环口发送的LISM中都包含自己的端口名称,每个环口会检查收到的LISM帧,然后比较其中包含的端口名称,如果LISM帧中包含的端口名称小于自己的端口名称,那么就继续将此帧向下传递如果LISM帻中包含的端口名称大干自己的端口名称,那幺就改写LISM帧中包含的端口名称,然后继续将此帧向下传递:如果LISM帧中包含的端口名称是自己的端口名称,那此环口就被选为环控制器当环控制器选定后,环控制器首先创建一个仲裁环地址(Arbitrated L
58、oop Physical Address,AL_PA)位图环地址空间的映射,ALPA位图长度为1个字节,代表环中所有l27个可用环口地址。然后,环控制器发送一个环初始化交换网络地址分配帧(Loop Initialization Fabric Assigned,LIFA)在整个环上传递,当环上有交换环El(FL_PORT)存在时,它将交换网络分配绐它的地址填到LIFA帧中。当LIFA帧传回到环控制器时,如果环控制器看到交换环口的地址,那么此地址将不再分配。环控制器还会在发送环初始化前,将地址分配帧(Loop Initialization Previously Acquired,LIPA)在整个环
59、上传递如果某个环口还保留有先前的AL_PA,那么该环口将自己的AL_A填入LIPA中但是并不是所有具有前ALPA的环口都能够分配到先前的地址,尤其是在两个环合并,LIPA帧回到环控制器时环控制器会继续发送一个环初始化硬地址分配帧(LOOP Initialization Hard A ssigned,LIHA)在整个环上传递以使环上所有的环口利用可选的硬件配置来声明自己的端口AL_PA地址。如果以上几步还不能确定环口的AL_PA地址那么环控制器会继续发送一个环初始化软地址分配帧(Loop Initialization Soft Assigned LISA)在整个环上传递,那么环上所有还没有分配到
60、地址的环口都使用一种算法来获取AL_PA位图中剩余地址中的一个。当LISA帧返回到环控制器时,环上所有的环1:3就都分配到了一个AL_PA地址,这时在环中发送一个环初始化位置报告帧(Loop Initialization Report Position,LIRP),每一个环口都将分配自己的AL_PA地址和相对位置信息插人到LIRP帧中。当LIRP帧回到环控制器时,所有环口的地址分配和位置信息的确定也就完成了,此时环中要发送一个环初始化环位置帧(Loop Initialization Loop Position,LILP),在LILP中包含了环上所有环口的AL_PA地址和相对位置信息,每个环口在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026浙江丽水市第二人民医院第一批引进高层次人才14人备考题库(名校卷)附答案详解
- 工程项目信息化管理培训方案
- 2026安徽池州市直学校招聘教师14人备考题库含答案详解【综合题】
- 2026山东日照市教育局直属学校招聘第一批急需紧缺教师29人备考题库【网校专用】附答案详解
- 2026浙江丽水市松阳县国盛人力资源有限公司招聘专职消防员3人备考题库【夺冠】附答案详解
- 混凝土浇筑顺序优化方案
- 高空作业安全防护方案
- 2026浙江凯航物产有限公司招聘31人备考题库含答案详解(预热题)
- 建筑构件生产管理方案
- 2026浙江台州市中医院招聘120驾驶员编外人员1人备考题库附完整答案详解(考点梳理)
- 2026年吉安职业技术学院单招综合素质考试题库含答案详解
- 2026年安徽林业职业技术学院单招综合素质考试题库含答案解析
- 薄抹灰施工方案
- 2026年餐饮服务标准操作流程培训
- 2026年南京交通职业技术学院单招职业技能考试题库及答案详解(基础+提升)
- 卫生院防雷安全生产制度
- 绍兴2025年浙江绍兴市政务服务办公室招聘政务服务专员6人笔试历年参考题库附带答案详解
- QGDW11337-2023输变电工程工程量清单计价规范
- DB32∕T 3916-2020 建筑地基基础检测规程
- 更换风口操作规程
- SMED快速换模教程
评论
0/150
提交评论