fc光纤通道-协议总结(共32页)_第1页
fc光纤通道-协议总结(共32页)_第2页
fc光纤通道-协议总结(共32页)_第3页
fc光纤通道-协议总结(共32页)_第4页
fc光纤通道-协议总结(共32页)_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 FC结构和概念1.1 概述FC逻辑上是一个高性能的双向点到点的串行数据传输通道,在物理上它可以通过交换网互联连接多个通讯节点也就是N端口,也可以以点到点的形式连接。FC协议由一系列的功能层组成,FC-PH由相关的功能层FC-0,FC-1,FC-2组成。 FC-0层(物理层)由传输介质、发送机和接收机及接口组成。物理层规定了多种介质在不同速率下工作的驱动接收能力。 FC-1层(编码层)进行8B10B编码。 FC-2规定了端到端数据块的传输机制。FC-2层协议应管理下列内容:a) 交换的激活和终止b) 序列的启动和终止c) X_ID分配和重新分配d) 序列主动权e) SEQ_ID的分配f) 分

2、段和重组g) 序列h) 帧的序列计数SEQ_CNT i) 帧序列错误的检测j) 帧序列错误的报告(3类服务除外) FC-3层提供了一组FC节点上多个N端口的通用服务(基本链路服务,扩展的链路服务,F4层链路服务) FC-4层ULP到FC的映射组成FC-4层,是FC中的最高层FC节点一个FC节点node如上图所示,节点可支持一个或多个N端口和一个或多个FC-4层协议,每个N端口包括FC-0,FC-1,FC-2层的功能,FC-3层选择性的为多个N端口和FC-4层提供通用服务。1.2 拓扑结构点到点结构交换网结构仲裁环结构NL端口:具有仲裁功能的N端口FL端口:具有仲裁功能的F端口1.3 交换网交换

3、网的主要功能是从源N端口中接收帧,并按帧中给出的地址标识符寻找目的N端口。每个N端口通过链路连接到交换网上。每个N端口都有一个唯一的N端口地址标识符。FC-2层定义了交换网与所连接的N端口间的协议。交换网包括两个或更多的F端口,每个F端口可连接到一个N端口上。连接交换子网用于在F端口间和F端口与N端口间建立专用连接。无连接交换子网用于在F端口间和F端口与N端口间进行多路复用。1.4 构造块FC-2层中定义的构造块有:帧,序列,交换,协议。序列由一个或多个数据帧及其响应组成。交换由一个或多个序列组成。交换可以单向的,也可以是双向的。ULP使用FC进行数据交换之前须完成登录,登录完成后,ULP就可

4、以使用FC直到登录实效为止。 帧:分为数据帧和链路控制帧 序列:由一组数据帧和链路控制帧组成,序列单向发送。序列级的错误恢复由FC-2层以上的层完成。每个序列都分配了一个SEQ_ID。 交换:由一个或多个非并发序列组成。交换可以在一个1类专用连接中完成,也可以跨多个1类连接。交换的双方都分配了一个交换标识符OX_ID ,RX_ID。 协议:提供的协议如下a) 原语序列协议b) 交换网登录协议c) N端口登录协议d) 数据传输协议e) N端口登出协议2 FC-0/FC-1层2.1 FC-0FC-0层包括多种介质及能以不同速度工作的发送机和接收机。FC-0层发送机接口FC-0层接收机接口2.2 F

5、C-1FC-1层为编码层,FC采用8b10b编码,编码后产生传输字符。数据流转换示意图3 有序集FC-1层使用8b10b编码,通过光纤发送的信息应把一组8位数据转换为10位传输字符。数据值可以统一的表示为DX.Y或KX.Y,其中D表示为数据代码,K表示为特殊的命令代码。传输字由4个连续传输字符组成,这四个字符传输前和接收后应视为一个整体。把4个特定的传输字符进行组合形成有序集,有序集由4个专用字符和数据字符组成,FC-PH 定义了如下有特殊意义的有序集:RD初始值Running Disparity有序集定界符SOFc1负K28.5D21.5D23.0D23.0SOFi1负K28.5D21.5D

6、23.2D23.2SOFn1负K28.5D21.5D23.1D23.1SOFi2负K28.5D21.5D21.2D21.2SOFn2负K28.5D21.5D21.1D21.1SOFi3负K28.5D21.5D22.2D22.2SOFn3负K28.5D21.5D22.1D22.1SOFf负K28.5D21.5D24.2D24.2EOFt负K28.5D21.4D21.3D21.3正K28.5D21.5D21.3D21.3EOFdt负K28.5D21.4D21.4D21.4正K28.5D21.5D21.4D21.4EOFa负K28.5D21.4D21.7D21.7正K28.5D21.5D21.7D2

7、1.7EOFn负K28.5D21.4D21.6D21.6正K28.5D21.5D21.6D21.6EOFdti负K28.5D10.4D21.4D21.4正K28.5D10.5D21.4D21.4EOFni负K28.5D10.4D21.6D21.6正K28.5D10.5D21.6D21.6原语信号Idle负K28.5D21.4D21.5D21.5R_RDY负K28.5D21.4D10.2D10.2原语序列OLS无操作负K28.5D21.1D10.4D21.2NOS离线序列负K28.5D21.2D31.5D5.2LR 链路复位负K28.5D9.2D31.5D9.2LRR 链路复位响应负K28.5D

8、21.1D31.5D9.2 帧定界符:放在帧内容之前或之后的有序集。SOF是放在帧内容之前的有序集;EOF是放在CRC之后的有序集,表示序列内容的结束。 原语信号: Idle 表示端口已做好帧传输和接收的准备。在没有发送数据帧、R_RDY或原语序列是应发送Idle。 R_RDY:表示收到一个1类服务请求帧、2类或3类帧,而且还可以接收更多的帧。R_RDY之前和之后应至少有2两个Idle,帧之间应至少有6个原语信号。 原语序列:原语序列是一个连续重复发送的序列集,当端口或一个端口的接收机逻辑遇到了特殊情况,应发送原语序列。当条件存在,原语序列应不断地发送。当收到一组原语序列,应根据端口的状态,回

9、送相应的原语或Idle。原语序列识别需要连续检测3个同样的原语序列,原语序列之间不能有其他数据。原语序列协议规定如下:a) 链路初始化b) 在线到离线转换c) 链路失效d) 链路复位发送原语序列发送条件响应NOS 无操作检测到链路失效:1) 不在离线状态时同步丢失超时2) 不在离线状态时信号丢失3) 链路复位期间超时OLSOLS离线序列启动链路初始化接收到NOS进入离线状态LRLR 链路复位启动链路复位启动链路超时恢复不能确认连接状态和恢复连接过程(1类N)LRRLRR链路复位响应接收到LRIdle4 帧帧分类帧格式链路控制帧FC-0型帧R_CTL 3128 为1100确认帧ACK_0ACK_

10、1ACK_N链路响应帧忙 F_BSY P_BSY拒绝 F_RJT P_RJT链路命令帧LCR数据帧FC-1型帧R_CTL 3128不为1100FC-4层设备数据帧FC-4层 设备类型IP、IPI-3、SCSI、SBFC-4视频数据帧FC-4层 视频类型保留链路数据帧基本链路服务ABTS、BA_ACC、BA_RJT、NOP、RMC扩展链路服务ABTX、ACC、ADVC、ECHO、ESTC、ESTS、FLOGI、LOGO、LS_RJT、PLOGI、RCS、RES、RLS、RRQ、RSI、RSS、RTV、TESTFC-4链路服务4.1 帧格式N端口发送机发送帧之间最少有6个原语信号,接收机接收帧之前

11、需接收到2个Idle,交换网可以插入或除去Idle。 SOF:SOF是帧内容之前的一个有序集。SOF类别描述SOFc1用于请求一个1类连接SOFi11类服务序列的第一帧SOFn11类服务正常帧起始SOFi22类服务序列的第一帧SOFn22类服务正常帧起始SOFi33类服务序列的第一帧SOFn33类服务正常帧起始SOFf交换网起始帧 帧头:是帧内容的第一个字段,24个字节,紧跟着SOF。帧头用于控制链路操作、控制设备传输协议和检测丢失或无序的帧。 数据字段:数据字段在帧头之后。长度等于四字节的倍数。FC-0型帧数据段长度为零,FC-1型帧长度等于四字节的倍数,范围为0字节到2112个字节。ULP

12、的有效载荷不能被4整除,应进行填充。 CRC:为紧跟着数据字段的四个字节字段,用于检测帧头和数据字段的数据完整性。CRC校验中不包括SOF,EOF EOF:为紧跟着CRC后的一个有序集。指明了帧内容的结束。EOF类别描述帧内容有效EOFn帧内容结束EOFdt撤销1类专用连接EOFt表明该序列结束帧内容无效EOFni交换网检测出错误,用其替代EOFn或EOFt 表明帧内容无效EOFdti交换网检测出错误,用其替代EOFdt 表明帧内容无效帧内容遭破坏EOFaN端口/F端口用于表明内部故障4.2 帧头帧头 R_CTL 路由控制R_CRL是一个对帧功能进行分类的一个单字节字段,包括路由选择字段和信息

13、字段。Bit31bit28 路由选择字段帧类型Bit31bit28 信息字段描述备注0000FC4层设备数据帧0000未分类信息0001请求数据Solicited Data0010自发控制Unsolicited Control0011请求控制Solicited Control0100自发数据Unsolicited Data0101数据描述符Data Descriptor0110自发命令Unsolicited Command0111命令状态Command Status其他未指定0100视频数据帧同上同上0011FC4层链路数据帧同上同上0010扩展链路数据帧(TPYE应为0000 0001)同上

14、同上1000基本链路数据帧(TPYE应为0000 0000)0000NOP 无操作基本链路服务命令0001ABTS 中止序列0010RMC 结束连接0011保留0100BA_ACC 基本接受0101BA_RJC 基本拒绝其他保留1100链路控制帧出F_BSY外TPYE 保留0000ACK_1链路控制码0001ACK_0/ACK_N0010P_RTJ0011F_RTJ0100P_BSY0101F_BSY 对数据帧忙0110F_BSY 对链路控制帧忙0111LCR 链路信用复位其他保留 F_CTL字段F_CTL字段是一个与帧内容相关的包含控制信息的3字节字段F_CTL字段格式控制字段位置bit描述

15、交换前后关系230:表示交换启动方1:表示交换接收方序列前后关系220:表示序列启动方1:表示序列接收方第一个序列210:交换的其他序列1:交换的第一个序列最后一个序列200:交换的其他序列1:交换的最后一个序列结束序列190:序列的其他数据帧1:序列的最后一个数据帧结束连接180:连接1:将结束连接链序列170:无链序列1:表示链序列激活序列主动权160:保持序列主动权1:转换序列主动权X_ID重新分配151:表示重新分配X_ID无效141:表示无效保留1310保留重传序列90:表示原始序列1:表示重传序列单向传输80:双向传输1:单向传输后续序列76剩下的数据帧:00:无信息01:立即10

16、:不久11:延迟序列中止5400:异常中止,丢弃多个序列01:异常中止,丢弃单个序列10:带无限缓冲的处理策略11:表示丢弃多个序列,并且立即重传序列接收方ACK00:继续序列01:终止序列请求10:停止序列(正常停止无需ABTS)11:请求立即重传序列相对偏移30:参数字段无意义1:参数字段为相对偏移交换重组2为交换重组保留填充数据字节1000:表示填充0个字节01:表示填充1个字节10:表示填充2个字节11:表示填充3个字节 D_ID是目的N端口或F端口内的包含地址标识符的3个字节字段 S_ID是源N端口或F端口内的包含地址标识符的3个字节字段 TYPE字段是一个单字节字段,表示了数据帧的

17、帧内容类型。在F_BSY帧中TYPE字段表示原因码。 SEQ_ID是一个由序列启动方分配的一个单字节字段。当序列开放时,每对D_ID S_ID都由唯一的SEQ_ID。 DF_CTL是一个单字节字段,该字段规定了在设备数据帧或视频数据帧的数据帧的开始部分是否有可选帧头。 SEQ_CNT是一个两个字节字段,表示在同一个交换中的一个序列或多个连续序列中数据帧的传输顺序。 OX_ID由交换启动方分配的交换标识符,两个字节。 RX_ID由交换接收放分配的交换标识符,两个字节。 参数字段是一个四字节字段,对于链路控制帧,参数字段表示特定信息。对于数据帧,参数字段用来规定相对偏移。5 链路响应链路控制帧提供

18、如下功能:a) 交付成功提示b) 交付不成功提示c) 流控制和缓冲区管理反馈d) 到N端口的底层控制命令成功交付的数据帧响应如下: 对1类数据帧成功交付使用ACK_0, ACK_1, ACK_N; 对2类数据帧成功交付使用ACK_0, ACK_1, ACK_N; 对3类数据帧成功交付无响应。不成功交付的数据帧响应如下: 对1类数据帧不成功交付使用F_BSY、P_BSY、F_RJT、P_RJT相应; 对2类数据帧不成功交付使用F_BSY、P_BSY、F_RJT、P_RJT相应; 对3类数据帧不成功交付无响应。R_RDY :表示接收到一个帧,且接收帧的接口缓冲区还可接收到更多的帧。对于所有2类3类

19、和1类连接请求帧端口间应发送R_RDY,R_RDY无响应。ACK帧:ACK_0 优先于 ACK_N优先于ACK_11) ACK_1帧 所有N端口都支持ACK_1,ACK_1的SEQ_CNT应与确认帧的相匹配,参数字段ACK_CNT为1 R_CTL信息字段为0;2) ACK_0帧 表示序列中的所有数据帧都已经确认。参数字段ACK_CNT为0 R_CTL信息字段为1,ACK_0不参与EE_Credit控制3) ACK_N 接收方确认N个连续数据帧,参数字段ACK_CNT为所确认数据帧的个数,SEQ_CNT为确认的最后一个数据帧的SEQ_CNT。F_BSY: 1类服务中 F_BSY只能响应1类SOF

20、c1帧,在2类服务中F_BSY可响应任何数据帧和ACK帧,在3类服务中不能使用忙响应。 对链路控制帧不能响应P_BSY,2类服务中,如果收到响应ACK帧的F_BSY,则应丢弃F_BSY。 R_CTL 信息字段为0110时表示对链路控制帧忙,信息字段为0101表示对数据帧忙。TYPE字段表示了原因码。P_BSY: 表示接收N端口被临时占用,不能接收帧,1类服务中 P_BSY只能响应1类SOFc1帧,在2类服务中P_BSY可响应任何数据帧和ACK帧,在3类服务中不能使用忙响应。 对链路控制帧不能响应P_BSY,参数字段包含4个字节的动作码和原因码。拒绝帧P_RJTF_RJT: 表示帧的交付被拒绝,

21、参数字段包含4个字节的拒绝动作码和原因码。 在1类2类服务中,端口检测到数据帧错误,则应发送一个拒绝帧。交换网在下列情况下可以发送拒绝帧:a) 服务类不支持b) 无效的S_ID或D_IDc) N端口临时或永久不可用 N端口只有在收不到期望的ACK时才拒绝链路控制帧;在有效交换中检测到链路控制帧错误,则应启动中止序列协议;对无效交换忽略错误。6 链路服务(FC-3层)6.1 基本链路服务基本链路服务命令有单个基本链路数据帧组成,使用基本链路服务命令之前不需要登录ABTS: 用于序列启动方请求序列接收方中止一个或多个序列 序列启动方或序列接收方请求ABTS接收方中止交换,SEQ_ID,X_ID与最

22、后一个序列的相同,该命令无有效载荷。 ABTS帧的SEQ_CNT应比最后一个序列的SEQ_CNT大1下列情况下ABTS启动方可发送ABTS帧:a) 没有EECredit可使用b) 没有序列主动权c) 序列没有开放d) 并发序列已达到了所支持的最大数目BA_ACC:通知链路服务请求方请求已完成,如果ABTS发送方有序列主动权,则应转化主动权。SEQ_ID重新分配,X_ID与ABTS匹配。基本接受有效载荷项目字节数SEQ_ID有效 0x80有效0x00无效1最后一个序列的SEQ_ID可传送给ULP1OX_ID2RX_ID2SEQ_CNT高位2等于ABTS的SEQ_CNTSEQ_CNT低位2 最后一

23、 可交付序列数据帧的SEQ_CNTBA_RJT:通知链路服务请求方请求被拒绝,SEQ_ID重新分配,X_ID与ABTS匹配。有效载荷的前4个字节标示了拒绝原因码。NOP:可以代替正常数据帧启动1类连接,启动序列,中止序列,结束1类连接。无确认序列。RMC: 用于请求立即撤销一个1类连接。响应时请发送由EOFdt结束的ACK帧。使用RMC撤销连接,所有的开放的序列都异常终止,因此不能把该方法当作撤销连接的正常方式。无确认序列。6.2 扩展链路服务扩展链路服务要求目的端口实现一个功能或服务。每个请求或确认都由单独的序列构成。有效载荷的前4个字节表示了LS命令码扩展链路服务帧 LS命令代码0000

24、0001 -LS_RTJ链路服务拒绝扩展链路服务应答序列0000 0010-ACC接受0000 0011-PLOGIN端口登录0000 0100-FLOGIF端口登录0000 0101-LOGO登出0000 0110-ABTX中止交换中止正在进行的交换0000 0111-RCS读当前专用连接状态了解其他N端口连接状态0000 1000-RES读交换状态0000 1001-RSS读序列状态0000 1010-RSI请求序列主动权转换交换双方序列主动权0000 1011-ESTS建立流用于EE_Credit信用评估0000 1100-ESTC评估信用0000 1101-ADVC建议信用0000 1

25、110-RTV读超时值返回R-A-TOV E-D-TOV0000 1111-RLS读链路状态返回链路错误状态块0001 0000-ECHO回送应答有效载荷与ECHO相同0001 0001-TEST测试无确认序列0001 0010-RRQ复位恢复限定符恢复S_ID,D_ID,OX_ID,RX_ID,SEQ_CNT低位和高位之间的SEQ_CNT其他-保留6.3 总结 基本链路服务命名由单个基本链路数据帧组成,作为交换的一部分。 扩展链路服务仅在单个交换内部执行。大多数扩展服务协议都是两个序列的交换。 基本和扩展确认帧和确认序列应按与请求一样的服务类。 如果登录不成功,因并发序列限制为1,所以不能发

26、起第二个交换来执行扩展的链路服务。因此中止序列协议时恢复动作的首选。 如果登录不成功,则不能尝试ESTC,ESTS,ADVC(EE_Credit评估)。 如果登录成功,则对所有的扩展链路服务交换,交换发送方应使用丢失多个序列错误处理策略。 如果扩展链路服务交换发送方检测到交换的错误,那么就应中止该交换,同时使用另一个交换重试被中止的交换协议。7 服务类交换网和N端口提供3种服务类,交换网和N端口可以选择支持一种或多种服务类。交换网收到的每个帧,应完成下列各项中的一项:a) 交付帧b) 发送一个FBSYc) 发送一个FRJTd) 不发送任何响应丢弃帧7.1 1类服务:专用连接要建立1类连接需N端

27、口向另一个N端口发送连接请求,另一个N端口回送ACK。交换网给两个N端口间分配回路。一旦建立连接,在撤销连接之前交换网应保持两个N端口间的回路。规则: 建立连接前应先登录,撤销连接前需一直保持连接,撤销连接前只能与连接的N端口通信; 发送方对每个数据帧分配递增的SEQ_CNT,每个帧都包含各自的S_ID、D_ID、OX_ID、RX_ID。交换网顺序交付; 已建立连接的两个N端口可发起多个交换,启动多个序列。 N端口负责端到端流控制,目的端口对每个有效数据帧确认ACK。除SOFc1外,1类服务帧只有端到端流控制,SOFc1既参与端到端流控制,又参与缓冲区到缓冲区流控制。 交换网可拒绝1类连接请求

28、或发送带原因的F_BSY。建立专用连接后,交换网不再干涉连接,目的N端口不能发送忙帧,但可发送拒绝帧。当第三个N端口把2类服务帧或3类服务帧发送到已经建立连接的N端口,交换网给2类服务帧回送一个FBSY,对3类服务帧丢弃。 1类帧、1类SOFc1帧与2类服务帧都参与EE_Credit控制。 N端口和F端口应可以识别所有服务类的SOF,并给出正确的响应。7.2 2类服务:多路复用2类服务是在两个N端口间提供带有未交付通知的无连接服务。规则: 接收N端口,发送N端口要完成登录; 目的端口对每个有效数据帧确认ACK。发送方对每个数据帧分配递增的SEQ_CNT,每个帧都包含各自的S_ID、D_ID、O

29、X_ID、RX_ID。交换网不必顺序交付。 N端口与F端口间执行缓冲区到缓冲区流控,N端口间执行端到端流控。 1类SOFc1帧、2类服务帧、3类服务帧参与BB_Credit控制 N端口和F端口应可以识别所有服务类的SOF,并给出正确的响应。 流控:2类服务使用两种流控。F端口给发送2类服务N端口发送R_RDY,表明F端口缓冲区可以接收其他帧。N端口给与之相连的F端口发送R_RDY,表明N端口缓冲区可以接收其他帧。使用ACK帧实现端到端流控。7.3 3类服务:数据报3类服务是在两个N端口间不提供交付/未交付通知的无连接服务和两个N端口端到端流控。规则: 接收N端口,发送N端口要完成登录; 目的端

30、口对每个有效数据帧确认ACK。发送方对每个数据帧分配递增的SEQ_CNT,每个帧都包含各自的S_ID、D_ID、OX_ID、RX_ID。交换网不必顺序交付。 N端口与F端口间实行缓冲区到缓冲区流控。R_RDY用于缓冲区到缓冲区的流控。1类SOFc1帧、2类服务帧、3类服务帧都参与BB_Credit控制。 N端口和F端口应可以识别所有服务类的SOF,并给出正确的响应。7.4 混合服务如果使用混合服务,交换网、接收N端口、发送N端口都应支持混合服务。8 登录N端口与交换网或与其他N端口建立操作环境的过程。登录前或登录后使用缺省的服务参数。缺省值如下: 并发序列数为1 并发序列总数为1 EE_Cre

31、dit为1 BB_Credit为1 接收数据字段大小等于128 要求XID互锁 没有XID重新分配 使用ACK_1 丢弃多个序列错误策略 不使用相对偏移 不使用其他可选择支持的特征 可分为交换网登录和目的N端口登录,实现过程一样只是源/目的标识符不同。8.1 交换网登录 确定交换网是否存在,不存在可反馈已连接到一个点到点拓扑结构; 存在则能初始化BB_Credit; 1) 发送FLOGI序列 分配OX_ID ,D_ID目的地址标识符0XFFFFFE,S_ID源地址标识符为0;2) 交换网发送ACC确认序列,分配S_ID,若不支持分配则返回带S_ID无效的F_RJT。3) 发送S_ID 为X的F

32、LOGI序列,若X无效,改变x值,直到收到ACC帧。8.2 N端口登录 初始化目的端口的EE_Credit 初始化BB_Credit1) 发送PLOGI序列 分配OX_ID 目的地址标识符Y 源地址标识符为X;2) 目的N端口发送ACC确认序列,分配RX_ID,目的地址标识符X 源地址标识符为Y。ACC中有效载荷包括N端口服务参数。8.3 N端口服务参数FLOGI 、 PLOGI 、 ACC有效载荷结构16字节8字节8字节16字节16字节16字节16字节16字节通用服务参数端口名每个N端口唯一节点/交换网名每个N端口唯一1类服务参数2类服务参数3类服务参数保留厂商标识符N端口通用服务参数参数字

33、位描述最新版本03124所支持的最新版本最早版本02316所支持的最老版本BB_Credit0150缓冲区到缓冲区信用一般特性13116-连续增加1310表示不支持 连续增加的偏移值1表示支持随机相对偏移1300表示不支持 随机的相对偏移值1表示支持保留1290 表示无效1 表示厂商标识符有效N端口F端口1280表示N端口,1表示F端口缓冲区到缓冲区接收数据字段大小1110小于128 大于2112的值都是无效的,是4的整数倍,至少128,推荐256N端口并发序列总数23116表示N端口作为接收方对所有3种服务所支持的并发序列的总合按信息类别的相对偏移2150表示是否支持相应信息类的相对偏移R_

34、A_TOV2310资源分配超时值 单位1msE_D_TOV3310仅对点到点结构有意义,故障检测超时值 单位1msN端口服务类参数参数字位备注有效性0310不支持的类1支持的类混合服务模式0300不支持混合服务1 支持混合服务堆栈连接请求02938登录时无意义连续发送027登录时无意义X_ID重新分配0151400 不支持X_ID互锁01 支持X_ID互锁11 要求X_ID重新赋值发送方响应过程关联0131200 不支持初始过程关联因子01 支持初始过程关联因子11 需要初始过程关联因子发送方支持ACK_00110表示不支持1表示支持发送方支持ACK_N0100表示不支持1表示支持接收方支持A

35、CK_01310表示不支持1表示支持接收方支持ACK_N1300表示不支持1表示支持X_ID互锁1291表示要求互锁0表示不要求互锁错误策略支持1282700 表示只支持丢弃策略10表示支持丢弃和处理策略每个序列类别1252400 每个序列1种类别01 每个序列2种类别11每个序列多于两种类别交换网特性 保留11916接收数据字段大小1150规定了数据字段大小的最大值并发序列23116N端口EE_Credit2140端到端信用 3类服务无每个交换中开发序列数331168.4 F端口服务参数参见8.39 交换/序列管理序列是一组一个或多个相关数据帧及链路控制帧的集合。序列级的错误恢复应由FC-2

36、层以上各层完成。交换是一个或多个相关序列的集合。交换可以是单向的也可以是双向的,对于一个启动方N端口,在任何一个时刻,一个交换内只能有一个序列活动,即序列发送方在启动另一个序列之前,应完成当前序列的数据帧发送。在每个序列结束后,序列启动方可以把发送下一个序列的主动权转移给其他N端口,或保留发送下一个序列的主动权。9.1 总体规则交换是协调两个N端口或节点之间信息数据相互交换的基本机制。所有数据传输都是交换的组成部分。交换管理规则: 在交换的整个生存期内,序列接收方以序列为基础将数据交付给FC-4层或更高层协议。 在丢弃多个序列错误策略中,序列应按发送顺序交付。如果序列正常完成且之前序列可交付,

37、则当前序列可交付。 在丢弃单个序列错误策略中,如果序列正常完成,则当前序列可交付。 如果序列中所有有效的数据帧都没检测到可拒绝的错误,则该序列的数据内容是完整的。 在无限缓冲区策略中 序列的首帧,尾帧没有检测到可拒绝的错误。该序列可交付。交换产生规则 登录完成前的交换应适用缺省登录参数 要产生新的交换(非扩展链路服务)的条件源N端口已完成到目的N端口的登录源N端口已具有OX_ID和交换资源源N端口可以启动新的序列 交换中第一个序列的每个帧的F_CTL中的第一个序列位应置1 交换中第一个序列的第一个帧应在F_CTL中bit5bit4设定交换错误策略 发送方应发送带指定OX_ID的数据帧,未指定的

38、RX_ID为0xffff。若要求X_ID互锁则需等待带RX_ID的ACK。若不需互锁则可发送序列的其他帧。 在1类2类服务中,发起下个序列前至少收到前一个序列的一个ACK序列定界符 序列应通过发送带有SOFix或SOFc1的第一帧来启动 中间帧使用SOFnx和EOFn 收到EOFt或EOFdt,序列结束。序列启动规则 当满足下列3条件时可以启动新的序列启动N端口具有序列主动权启动N端口有可使用的SEQ_ID启动N端口及接收N端口建立的活动序列总数不超过a) 并发序列总数b) 每种服务的并发序列总数c) 每个交换的开放序列数 序列启动方指定一个唯一的SEQ_ID,不能与上一个序列相同 对于同一交

39、换中的流序列交换启动方应使用X+1个SEQ_ID(X为交换序列总数),这样可使交换状态块中保留最后一个可交付序列的信息序列计数 在一个数据帧序列中,使用SEQ_CNT标识序列的每个帧 交换的第一个帧的SEQ_CNT为0,序列中其它帧随后累计加1。 对于流序列后一序列第一帧SEQ_CNT为前一序列最后帧SEQ_CNT加1。 对于流序列后一序列第一帧SEQ_CNT可为前一序列最后帧SEQ_CNT加1,也可为0。 链路响应帧的序列计数SEQ_CNT应与其响应的序列一致。正常ACK帧规则 ACK_0 优先级大于ACK_N优先级大于ACK_1。同一序列中不可混合使用ACK。 在丢弃策略和错误处理策略中都

40、可使用ACK_0,每个序列都可使用单个ACK_0表示序列发送成功,或把中止序列条件设置为一个不为00的值,请求中止序列。 ACK帧可不按SEQ_CNT顺序而按数据帧的处理顺序发送,但参数地段的历史位应指明当前序列中前一个ACK帧的状态。 每个ACK帧应在E_D_TOV限定的时间内发送。使用ACK_0时应在接收到最后一个数据帧的时限内发送。正常序列完成规则: F_CTL的结束序列位bit19 置1、序列主动权位bit16置1。 若F_CTL中的连续序列位bit7bit6 为11时,序列启动方一直等待最后的ACK帧,收到之后才启动下一序列。 在最后一个数据帧可转移序列主动权。ACK中主动权位为1,

41、则主动权已转移到序列接收方。 1类序列最后一个数据帧的结束连接位为1,表示要结束连接。 在1类2类服务中,收到带EOFt或EOFdt的ACK时则认为序列可交付。 在3类服务中,发送方收到ABTS帧的接受响应或接收到读交换状态块请求的接受响应时,才认为序列是可交付的。 接收方在下列情况,认为一个1类2类序列可交付所有数据帧都被接收没有检测到序列错误除最后一个确认,其他确认都已发送。 接收方在下列情况,认为一个3类序列可交付所有数据帧都被接收没有检测到序列错误最后一个数据帧由EOFt结束 在1类2类中序列启动方发送的最后一个数据帧应以EOFn结束,在3类服务的最后一个数据帧应以EOFt结束。交换终

42、止规则 交换的最后序列的最后一个数据帧中的F_CTL的最后序列位应置为1。也可在最后序列其它帧设置,一旦设置不可改变。 当最后一个序列按正常规则结束时,交换终止。 可以使用ABTX扩展链路服务请求异常中止交换 交换中所涉及的N端口登出,则交换异常中止。9.2 状态块ESB Exchange Status Block项目字节数OX_ID2RX_ID2发送方地址标识符4接收方地址标识符4E_STAT4保留4服务参数112第一个序列状态8中间序列状态8*X最后一个序列状态8接收方:所有序列都应记录 发送方:所有序列都应记录,但无需提供给外部SSB Sequence Status Block项目字节数

43、SEQ_ID1保留1SEQ_CNT的低位2SEQ_CNT的高位2S_STAT2错误SEQ_CNT2OX_ID2RX_ID2保留2接收方:所有序列都应记录 发送方:所有序列都应记录,但无需提供给外部LESB Link Error Status Block项目字节数链路失效计数4同步丢失计数4信号丢失计数4原语序列协议错误计数4无效传输字计数4无效CRC计数49.3 序列错误策略序列接收方和序列启动方应验证收到的帧是否满足规定。在1类2类服务中,如果序列接收方检测到错误,则应发送P_RJT。如果序列启动方检测到错误则应启动中止序列协议。10 流控制管理流控制物理模型流控制是FC-2层的控制过程,用

44、于跟踪N端口之间,N端口与交换网之间帧的传输,以防止接收机过载。流控制通过EE_Credit,EE_Credit_CNT,ACK,BB_Credit,BB_Credit_CNT,R_RDY及其他帧进行管理。流控制适用性流控制方法和机制除SOFc1外1类SOFc12类3类端到端是是是否缓冲区到缓冲区否是是是ACK_1 /ACK_N是是是否ACK_0每个序列一个是每个序列一个否R_RDY否是是是F_BSY否是是否F_RJT否是是否P_BSY否是是否P_RJT是是是否10.1 端到端EE_Credit是N端口在未收到ACK帧或链路响应帧的情况下能发送的数据帧的最大值。EE_Credit的最小值为1。

45、评估EE_Credit过程(新的交换,登录完成后交换发送方启动该序列) 建立流序列ESTS; 评估信用序列ESTC; 建议信用序列ADVC;端到端流控管理收发动作EE_Credit(N端口)N端口发送1类/2类数据帧+1N端口发送LCR初始化到登录时的值N端口接收到F_BSY(DF),F_RJT,P_BSY,P_RJT-1N端口接收到F_BSY(LC)NAN端口接收ACK_1(参数字段历史位为1)-1N端口接收ACK_1(参数字段历史位为0)-1 再减去之前未确认的SEQ_CNT较小的帧N端口接收ACK_N(参数字段历史位为1)-NN端口接收ACK_N(参数字段历史位为0)-N再减去之前未确认

46、的SEQ_CNT较小的帧N端口接收ACK_0NAN端口接收1类/2类/3类数据帧NAN端口接收LCRNAN端口发送3类数据帧NAN端口发送P_BSY,P_RJTNAN端口发送ACKNA10.2 缓冲区到缓冲区BB_Credit在登录时的服务参数中确定。端口把缓冲区全部分配给与之直连的端口。R_RDY是缓冲区到缓冲区的流控机制,接收到2,3类,1类SOFc1都应发送R_RDY。BB_Credit复位 交换网重新登录或链路复位协议执行以后 初始化到登录时的值。LCR只在2类参与缓冲区到缓冲区流控,启动方立即初始化EE_Credit。接收方可发送R_RDY或 RTJ 不可发送BSY缓冲区到缓冲区流控

47、管理收发动作BB_Credit(N端口或F端口)N端口或F端口发送任何2类/3类/SOFc1帧(包含F_BSY,F_RJT,P_BSY,P_RJT,LCR)+1N端口或F端口接收到R_RDY-1N端口或F端口接收任何2类/3类/SOFc1帧(包含F_BSY,F_RJT,P_BSY,P_RJT,LCR)NAN端口或F端口发送到R_RDYNA11 分段和重组分段和重组是FC-2层的功能,它把要发送的应用数据分成许多有效载荷,把每个有效载荷放入一个帧中,通过链路发送这些帧,在接收方按发送方发送顺序对这些数据进行重组。如果只支持递增的相对偏移,那么每个信息类只能作为一个块在序列中传输。如果支持随机的相

48、对偏移一种信息类别可以分成几个子块,随机传输。分段规则: 序列启动方应负责分段,对任何信息类,序列启动方都应满足序列接收方的相对偏移请求。 在发送方,上层协议应为FC-2层指定一个或多个待传输块。这些在同一个序列里传输的块,用于传输每个块指定的信息类,每个信息类指定相对偏移和起始相对偏移。起始相对偏移可以为0,也可以不为0。 序列启动方应使用为每个信息类指定的相对偏移空间来传输单一序列中规定的单个或多个块。 如果对于一个或多个信息类,序列接收方不支持相对偏移,那么序列启动方应把这些信息类的偏移当作连续块来传输。序列启动方置F_CTL中的相对偏移存在位为0,表示该参数字段无意义。 如果对于一个或

49、多个信息类,序列接收方支持相对偏移,且在登录期间规定支持连续递增的相对偏移,那么序列启动方就使用连续递增的相对偏移发送每个信息类。 如果对于一个或多个信息类,序列接收方支持相对偏移,且在登录期间规定了支持随机的相对偏移,这就允许序列启动方使用随机的相对偏移传输每个信息类。重组规则: 序列接收方应负责重组序列中接收到的每个信息类。序列接收方应使用指定的相对偏移或SEQ_CNT来重组这些帧,并形成上层协议可用的块 序列接收方应在发送上层协议指定的相对偏移空间内重组每个信息类 如果对于一个或多个信息类,序列接收方不支持相对偏移,那么序列接收方应验证相对F_CTL偏移存在位是否为0,然后再利用SEQ_

50、CNT来重组每个信息类。如果为1,发送带不支持相对偏移原因码的P_RJT。 如果对于一个或多个信息类,序列接收方支持随即相对偏移,那么序列接收方应确认F_CTL偏移存在位是否为1,为1使用相对偏移重组,为0使用SEQ_CNT重组。 若接收方支持递增的相对偏移但检测到随即相对偏移,则应发送相对偏移出界原因码的P_RJT。12 连接管理建立连接:为建立1类专用连接,源N端口应向目的N端口发送一个带SOFc1的数据帧。当N端口收到一个R_RDY原语信号表明连接请求帧已经被成功接收。发送方只有接收到ACK帧后才能发送其他帧。当发送连接请求的N端口接收到与连接请求帧相应的S_ID/D_ID,并带有SOFc1的ACK帧时,一个专用连接才建立起来。连接建立后EE_Credit初始化到登录值。规则: 如果建立一个双向的连接,则在连接生存期内,应保持双向性。 如果一个单向连接变成双向连接,则在连接生存期内应保持双向性。连接请求响应(SOFc1)事件SOFD_IDS_ID帧类型EOFN端口动作1SOFc1BA数据帧EOFn等待确认帧2SOFn1ABF_BSYEOFdt交换网忙3SOFn1ABP_BSYEOFdtN端口忙4SOFn1ABF_RJTEOFdt交换网拒绝5SOFn1ABP_RJTEOFdtN端口拒绝6SOFn1ABACK_1ACK_NEOFn

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论