fc协议栈分析报告

上传人:jun****875 文档编号:23648216 上传时间:2021-06-10 格式:DOC 页数:52 大小:1.33MB
收藏 版权申诉 举报 下载
fc协议栈分析报告_第1页
第1页 / 共52页
fc协议栈分析报告_第2页
第2页 / 共52页
fc协议栈分析报告_第3页
第3页 / 共52页
资源描述:

《fc协议栈分析报告》由会员分享,可在线阅读,更多相关《fc协议栈分析报告(52页珍藏版)》请在装配图网上搜索。

1、FC 协议栈分析报告 项目名称: 编 写: 审 核: 批 准: 日 期: 修订记录 版本状态 作者 参与者 起始日期 备注 目录 1 FC 概述 .4 2 FC-0(PHYSICA1)层 .6 3 FC-1(CODE)编码层 .7 3.1 8 B10 B 编码 .8 3.2 链路维护 .9 4 FC-2(PROTOCOL)层 .11 4.1 帧(FRAME )结构 .11 4.2 命令集(O RDERED SET).17 4.3 序列与交换 .18 4.4 协议 .18 4.5 分类服务和流控制 .19 4.6 登录和服务参数 .22 5 FC-3 层 .23 6 FC-4(MAPPING)层

2、 .23 7 FC 拓扑结构 .24 7.1 交换拓扑 .24 7.2 点对点拓扑 .26 7.3 仲裁环拓扑 .26 8 FC 服务与管理 .29 8.1 名称服务(NAME SERVER) .29 8.2 管理服务(MANAGEMENT SERVER ) .30 8.3 时间和别名服务 .31 9 FCP-4 协议映射 .32 9.1FCP I/O 操作 .32 9.2FCP 信息单元(FCP IU) .33 9.3 FCP I/O 操作流程 .43 9.4 差错检测与恢复 .46 参考文献 .52 1 FC 概述 光纤通道(Fiber Channel ,FC)技术是一种能够为存储设备、

3、IP 数据网、音 频流等应用提供高速数据传输的骨干网络技术。早在 1988 年,惠普(HP) , SUN 和 IBM 等公司就开始了对这项技术进行实验和开发、经过多年的发展, 光纤通道技术已经发展成为一项完备的,高速的和高扩展性的网络技术,现在 的光纤通道技术主要应用在网络数据存储、高速 IP 数据网、音视频流等多种领 域。 目前,光纤通道技术可以广泛提供1 Gb/s速率的设备,价格有所降低,设 备的端口密度可以达到数十个甚至上百个。2 Gb/s设备已经实用化,标准化和 互操作性等都有所提高。 FC是由美国工业标准协会(ANSI)提出的通道标准,其目的是适应快速增 长的高速数据传输的需求。为了

4、能够适应可能出现的技术变革,提供更快更好 的性能,光纤通道技术被设计为具有下面的这些要素: 为可扩展性、小型光纤,连接器和距离扩展能力准备的串行传输; 最大规模网络应用中的异步通信; 交互通信能力和连接新的传输介质的能力; 低延迟的交换网络互联; 为开发和配置复杂性准备的模块化和层次化结构; 高带宽、低延迟的最低错误率和轻量级错误; 我们可以认为光纤通道是一种通用的传输通道,它能够为多种高层协议 (Upper Level Protocols,ULP)提供高性能的传输通道,这些协议包括智能外设接 口(Intelligent Peripheral Interface,IPI) 命令集、小型计算机系

5、统接口(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.5 133

7、 1/8 25 166 1/4 50 531 1/2 100 1063 1 200 2126 2 400 4252 4 FC系统中设备的连接有三种拓扑方式:点对点方式(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 等等。

9、2 FC-0(Physica1)层 FC-0层定义了 FC中的物理部分,包括光纤、连接器以及不同传输介质和传 输速率所对应的光学和电器特性参数。另外,在FC-0 层中还详细说明了各种介 质以及相应的驱动和可能的接收速度。FC-0层又分为 介质子层和接口子层,介 质子层描述了不同传输介质的光学和电器特性,以及相应的传输速率和距离范 围。目前支持的传输介质主要有单模光纤(Single mode,SM)、多模光纤(Multi mode, Mm)、视频电缆(Video Cable,VC)和微型电缆(Miniature Cable,MI) 以 及屏蔽双绞线(Twisted Pair ,TP)等。接口子层

10、描述了不同传输介质的接口规范, 及其接口插座的光信号特性,其中包括发送接口(TX)和接收接口(RX),如: SC、 SG、LC 、MT-RJ 等。另外,在FC-0层中还定义了发送状态、接收状态、 输人数据相位跳转的回应、不可用码的限制、接收初始化时间等内容。 发送状态 发送状态由FC-l 层控制,状态值由从FC-l 层接收的串行数据信号转换为与 传输介质相适合的信号类型。FC-0层共有3种状态: 不可发送状态(Transmitter NotEnable State),表示光发送器的光源输出 关闭,或者是电路发送器的输出电平小于最小限制或为零。在电源打开时,FC- 0层将置于不可发送状态,直到F

11、C-1发出信号。 可发送状态(Transmitter Enable State),表示发送器能发送数据比特序列。 发送失败状态(Transmitter Failure State),有些发送器能够监控自己内部发 生的错误,当其发现错误后将自己置于发送失败状态,另外有些发送器不能够 监控自己内部发生的错误,所以也就不具备发送失败状态。 接收状态 接收器从传输介质中接收数据比特序列,然后放大数据信号并且联合时钟 一起送给FC-1 层进行处理。 FC-0层中没有接收状态。 输入数据相位跳转的回应 有些支持链路控制功能(Link Control-Facilities)的FC 物理设备可以检测到输 入串

12、行比特数据流的相位不连续,并且提供相应的恢复特性。 不可用码的限制 FC-0层并不检测传输编码中不合规则的比特流,如:非法的命令集等, FC-0层总是希望将比特流传输到能够提供码流校验的更高层去处理。而 FC-0层 只是尽可能地提供码流传输的同步和提供误码率(Bit Error Rate,BER) 小于10 -12等必须条件。 接收初始化时间 FC-0层接收器的初始化时间指的是,从初始接收有效输入数据开始到对 输入比特流同步并以保证的误码率放大和转发的时间。整个接收器的初始化时 间应当不大干1 ms。 3 FC-1(Code)编码层 FC-1层中定义了 FC的底层传输协议,包括串行编码、解码和

13、链路状态维护。 在FC 中,数据的传输采用 8 B10 B编码,用以限制最大运行编码长度维护数据 比特流电位的平衡并且提供信息数据的编码对齐。经编码处理后的字符共有两 类,一类是数据字符,一类是专用字符。在FC-1层中由几个专用字符组合在一 起,并通过字符命令集来表示一定的特殊含义,如:帧边界、简单传输请求或 通过周期性的交互维持链路传输状态。 3.1 8 B10 B 编码 在FC-1层中,信息数据的传送编码是将1个字节8比特转换成10比特的传输 字符,然后再将比特流进行串行传输的。在接收端如果是数据字符,则将10比 特的传输字符转换为8比特的标准字节,FC支持所有 0-255的8比特标准字节

14、,如 果是保留的专用字符将不被转换,而直接进行功能处理。 FC-1使用字母符号表示数据信息比特和控制变量。对于上层FC-2 层的1个 数据字节,在FC-1 层中由 A,B,C ,D,E ,F ,G ,H 表示,同时由z表示控制 变量( 如图 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是未编码的传输字符的控制变量,如果传输字符是有效数据字符

15、,则 Z=D;如果传输字符表示专用字符,则Z=K 。小数点前面的xx表示比特符号 E,D, C,B和A的二进制值,小数点后的Y表示比特符号H,G 和F的二进制值。 经过Zxx.Y 命名转换后的传输字符可以通过编码表获得l0 比特的传输编码(参见 FC-FS 标准中的10比特编码表 )。下图示例了FC-2层十六进制字节0 xBC分别作 为有效数据字符和专用字符在FC-1层中的字符编码命名和10比特转换过程。 符号 十六进制 位 传输顺序 8 B / 1 0 B B C H G F E D C B A 1 0 1 1 1 1 0 0 E D C B A H G F 1 1 1 0 0 1 0 1

16、K 2 8 5 A B C D E F G H a b c d e i f g h j 0 0 1 1 1 1 1 0 1 0 ( R D - ) 1 1 0 0 0 0 0 1 0 1 ( R D + ) 图3-1 光纤通道编码 3.2 链路维护 FC-1层的链路维护是通过系统对发送器和接收器的逻辑状态进行控制来完 成的。发送器和接收器的逻辑状态大致可以分为操作状态和非操作状态两种。 接收器状态转换见下图。当接收器检测到一个信号,而且接收器又不在回 路模式时,接收器将尝试进行接收器收到的传输字边界字符的编码比特流之间 的同步。如果没有边界分隔字符发现,接收器将返回同步丢失的错误。 接收器的操

17、作状态包括同步获得状态(SynchronizationAcquired)和同步丢 失状态(Loss-Of Synchronization)。当接收器收到的传输字边界字符与发送器产 生的边界字符相同时,接收器进入到同步获得状态,同时接收器开始接收比特 信息流,并开始进行解码。当接收器收到的传输词边界字符与发送器产生的边 界字符不相同时,接收器进入到同步丢失状态。接收器在进入到同步丢失状态 以后,仍然保持可操作状态,但是不再接收比特信息流和相应的解码。 接收器的非操作状态只有重置状态(Reset) 一种,当内部或外部的重置条件 被强加给接收器时,接收器将成为非操作状态,并随之进入重置状态。 正常情

18、况下,接收器的初始状态为同步丢失状态,此时的接收器会尝试进 行同步,一旦和发送器建立了同步,接收器就进入同步获得状态进行比特信息 流的接收和解码,如果接收器检测到信号丢失条件,那么就从同步获得状态转 O p e r a t i o n a l ? r e s e t 状态 失步状态 同步状态 P o w e r o n 或端口变为不可 d i s o p e r a t i o n a l N o Y e s 退出 r e s e t 状态 经过 b i t 同步 , t r a n s m i s s i o n _ w o r d 同 步 满足失步程序 或进入 l o o p b a c

19、k 模式 无错误发生 P o w e r o n 或端口 变为不可 d i s o p e r a t i o n a l 图 3-2 接收器状态转换 入同步丢失状态,一般信号丢失条件为连续收到5个非法传输词字符,无论接收 器是在同步获得状态还是在同步丢失状态,当内部或外部的重置条件被强加给 接收器时,接收器将转入重置状态FC),而当内部或外部的重置退出条件被强加 给接收器时,接收器由重置状态转入同步丢失状态,在FC标准之中没有明确地 定义重置条件和重置退出条件,具体实现由厂商完成,最典型的重置条件和重 置退出条件是电位重置。 当发送器处于操作状态,发送器将持续尝试向所连接的光纤发送经过编码

20、的比特信息流有些发送器能够监视发送信号和校验其有效性,如果发现错误, 发送器会转入非操作状态。 FC-1层发送器的操作状态包括工作状态(Working) 、不可用状态 (Not Enabled)和开放光路状态(OpenFiber)。当发送器积极地尝试向所连接的光纤发 送经过编码的比特信息流时,发送器处于工作状态。当一个发送器端口请求或 被外部事件所初始化,发送器将进入不可用状态,而当发送器检测到一个激光 安全条件,发送器将进入开放光路状态。发送器在进入到不可用状态和开放光 路状态,将保持操作状态。激光安全条件的检测是由FC-0层的链路控制功能 (LinkControlFacilities)来完

21、成的,旦发送器进八开放光路状态,不管是否接 收到可用或不可用的端口请求,发送器都将一直保持开放光路状态,直到发送 器检测不到激光安全条件。 发送器的非操作状态只有失败状态(Fai1ure)一种,当发送器检测到一个失 败条件后,发送器将成为非操作状态,并随之进入失败状态。失败条件的检测, 是由各个生产厂商定义的单一信号的检测,FC标准没有作明确规定。 正常情况下,发送器的初始状态为不可用状态,如果发送器收到端口可用 的请求,而且又没有检测到激光安全的条件,那么发送器就会进入工作状态, 然后开始向所连接的光纤发送编码比特信息流如果处于开放光路状态的发送器 检测到激光安全条件不存在了,而且又没有明显

22、的禁用请求,那么发送器就会 转入到工作状态。如果处于工作状态的发送器收到一个禁用请求,而且又没有 检测到激光安全的条件,那么发送器就会回到不可用状态。无论发送器是处于 工作状态,还是处于不可用状态,只要是发送器检测到了激光安装条件,那么 发送器就会转入到开放光路状态。如果处于工作状态的发送器在向所连接的光 纤发送编码比特信息流时检测到了一个失败条件,那么发送器就会转入到失败 状态。如果处于开放光路状态的发送器检测到激光安全条件不存在了,而且收 到明显的禁用请求,那幺发送器就会转入到不可用状态。发送器只有在工作状 态下,才会向所连接的光纤发送编码比特信息流,而当处于不可用状态或开放 光路状态时,

23、将停止向所连接的光纤发送编码比特信息流,但是仍保持操作状 态。如下图所示: 4 FC-2(Protocol)层 数据帧及数据包的发送和接收是在FC-2(Protocol) 层实现的, FC-2层定义了 帧结构、命令集、序列、交换、分类服务等内容。FC-2层定义了4种数据传输单 位:帧、帧序列、帧交换和数据包。当上层协议的数据单元长度大于光纤通道 数据帧负载的最大长度2112个字节时,则需要被分割成多个数据帧,这些数据 帧就被称为帧序列。一个帧序列表示一个上层协议数据单元,而上层应用程序 对数据的操作通常基于一个个操作,一个操作包括双向的几个数据单元交换, 因此,用帧交换来表示上层协议的一个操作

24、,一个帧交换内只能有一个帧序列 处于活动状态。数据包是由一个或若干个帧交换组成。 不可用状态 工作状态 开放光路状态 失败状态 初始化完 成 E n a b l e D i s a b l e 存在 L a s e r s a f e t y c o n d i t i o n 无 L a s e r s a f e t y c o n d i t i o n , 且 无 d i s a b l e F a i l u r e 命令 E n a b l e 或 d i s a b l e 命令 无 L a s e r s a f e t y c o n d i t i o n , 有 d i

25、s a b l e 命令 存在 L a s e r s a f e t y c o n d i t i o n 图 3-3 发送器状态转换图 4.1 帧 (Frame)结构 数据帧由帧起始(SOF) 、帧报头(frame header) 、数据字段、冗余校验码 (CRC )和帧结束(EOF )组成。帧起始、冗余校验码和帧结束都是由一个传 输字组成。帧报头由 6 个传输字组成。负载最多能有 537 个传输字(2112 个字 节) ,数据帧格式如下图所示。 帧报头格式 每个帧含有一个 24 字节的帧头,它包括字段描述内容和帧处理。帧头格式 包括下列字段: R_CTL:路由控制。D_ID:目的标识符

26、。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,SEQ_ID 和 SEQ_CNT)值来唯一地标识。帧报头 格式如下图所示: 图 4-1 FC-2 的帧格式 图 4-2 帧报头格式 路由控制字段:R_CTL 提供不同类型帧之间第一层的区别,起到归类帧的作用,路由控制(

27、R_CTL) 是 1 个字节字段,它包括两个四位的子字段,即:路由子字段和信息子字段,路 由控制字段 R_CTL 类别码如下表所示。 表 4-1 R_CTL 类别码 路由 帧类型 0 设备数据帧 2 扩展链路服务 3 FC-4 链路数据 4 视频数据 5 扩展头 8 基本链路服务 c 链路控制帧 f 扩展路由 其他 保留 地址标识符:S_ID 和 D_ID 每个 N 端口有一个 3 字节 N 端口标识符,在交换结构地址域内是唯一的。 F 端口像 N 端口一样都具有唯一的本地地址标识符,它可以用于将帧连接到交 换结构上的端口。 等级特别控制:CS_CTL 用于与服务类型有关的帧处理。这个字段只在

28、第 1 类和第 4 类帧中才有意 义。 数据结构类型:TYPE 一个可进一步标识帧种类的字段。最常见的用法是在数据帧中来区别 FC-4 ULP 接口。该字段和 R_CTL 字段共同标识出帧的具体类型。首先通过 R_CTL 字 段标识出该帧是数据帧还是链路控制帧,再通过该字段进一步标识出帧的类型。 例如当 R_CTL0 xh, TYPE=0Ah 则表示该帧为承载 SCSI 协议的数据帧。 帧控制:F_CTL 一个含有与帧内容有关的控制信息,一个 3 字节字段,大多数其他帧头字 段基本上是用于帧标识,F_CTL 是控制帧处理的重要字段,对于不同的服务类 型来说,相关的控制位有不同的值,同时控制字段

29、的有效性也不同。F_CTL 各字 段的详细描述如下表所示: 表 4-2F_CTL 格式 控制字段 位 描述 交换上下文 23 0 交换发起端1 交换响应端 序列上下文 22 0 序列发起端1 序列响应端 第一个序列 21 0 交换的其它序列 1 交换的第一个序 列 最后一个序列 20 0 交换的其它序列 1 交换的最后一个 序列 结束序列 19 0 序列的其它数据 帧 1 序列的最后一个 数据帧 结束连接 (Class 1 或 Class 6) 18 0 连接激活 1 连接挂起结束 (Class 1 或 Class 6 中有效,在其它类型 中忽略) CS_CTL/优先级 17 0 字 1 的

30、3124 位表示 CS_CTL 1 字 1 的 3124 位 表示优先级 序列 Initiative 16 0 保持序列 Initiative 1 传输序列 Initiative 废弃 15 废弃 14 ACK 形式 (Class1,Class2,Class6 有效) 13-12 00b 不需要额外提 供 01b 需要 Ack_1 10b 保留 11b 需要 Ack_0 数据压缩(废弃) 11 数据加密(废弃) 10 序列重传 9 0 初始序列重传 (Class1,Class6 有效) 1 序列重传 单向传输 (Class1,Class6 有效) 8 0 双向传输 1 单向传输 连续序列条件

31、(当结束序列=1, 序列 Initiative=0 时有效) 76 00b 无信息 01b 实时序列 10b 快速序列 11b 延迟序列 终止序列条件 54 接收端响应帧 00b 连续序列 01b 异常终止序列, 按异常中止处理 10b 停止序列 11b 实时序列重传 请求 数据帧 00b 异常中止,丢 弃多个序列 01b 异常中止,丢 弃一个序列 02b 无限缓存处理 策略 11b 丢弃多个序列, 立即重传 相对偏移 3 0 一些帧定义的参 数字段 1 参数字段,相对 偏移 交换重组 2 交换重组保留 填充字节 10 净荷结束,不满 4 字节整数倍,填充 00b 填充 0 个字节 01b 填

32、充 1 个字节 10b 填充 2 个字节 11b 填充 3 个字节 序列 ID:SEQ_ID 用来唯一标识交换内的序列,由序列发起端分配。 数据字段控制:DF_CTL 规定帧头和帧净荷之间任选头标所包含内容的说明。数据字段中定义的可 选报头是:网络报头(Network Header)、关联报头(Association Header)和设 备报头(Device Header)。 序列计数:SEQ_CNT 用来唯一地识别出一序列的帧,保证帧接收的连续性并使链路控制帧与它 们相关的数据帧具有唯一的关系。 发送端交换标识符:OX_ID 发起端交换标识,是除了 FFFFh 以外的值。 响应端交换标识符:

33、RX_ID 接收端交换标识,是除了 FFFFh 以外的值。 参数字段: 此字段与帧类型有关。对链路控制帧而言,参数字段给出链路控制帧的特 定类型。对数据帧而言,参数字段包含相对偏转值。这规定从 ULP 缓冲区与 ULP 基础地址的偏移。 参数字段的定义: 对请求数据类(FCP_DATA IU),参数字段应该包含一个相对的偏移, F_CTL的相对偏移位应该置为1,表明参数字段的值是一个相对偏移。相对偏移 是个4的整数倍。 对非请求控制类(FCP_CMND IU),参数字段依赖任务重试标志是否激活, 如果发送和接收的FCP_PORT在任务重试上达成一致,参数字段应该置为任务 重试标志,如果发送和接

34、收的FCP_PORT在任务重试上没有达成一致,参数字 段应该置为0。不管哪种情况,F_CTL字段的相对偏移位都应该置为0。 对其他的FCP类型的Device_data帧,F_CTL字段应该置为0,相对偏移字段 包含0。 帧的内容域 帧内容域的数据长度是 4 字节的整数倍,当长度不足 4 字节的整数倍时将 采用向内容域中填充 1-3 个字节,从而使其长度达到 4 字节的整数倍。内容域 中字段描述如下图所示: 图 4-3 帧内容 帧数据段中的可选报头是提供给 FC-4 层使用的,可选报头头的类型是由帧 报头的 DF_CTL 字段决定的。DF_CTL 字段的长度是一个字,对应位与所定义 的附加报头如

35、下表所示。 表 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 = Association_Header 设备数据和视频 数据帧 19-18 保留 所有帧 17-16 00 = 无 Device_Header 01 = 16 Byte Device_Heade

36、r 10 = 32 Byte Device_Header 11 = 64 Byte Device_Header 设备数据和视频 数据帧 可选报头的长度和类型如下图所示: 图 4-4 FC-2 帧的内容域中可选报头和负载 4.2 命令集(Ordered Set) 在FC-2命令集中的每条命令均由表示数据或专用符号的4个字符组成,每条 命令均表示一定的含义。命令集提供有效性使获得的比特或字同步,同时命令 集也用于建立字边界对齐。所有命令都以专用字符K28.5 作为开始。在FC-2层有 帧定界符、原始信号、原始序列三种主要的命令。 帧定界符(Frame Delimiters) 包括帧开始(SOF)和

37、帧结束(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)命令集。当一个可操 作的节点端口准备好发送或接收数据时,一个表示空闲命令的原始信号会被发 送;当接口缓冲区准备好接收数据帧时,一个表示接收器准备的原始信号会被 发送。 原始序列(Primitive Sequence) 是一

38、组被连续地重复发送的命令集用于表示节点端口特定的状态或端口逻 辑状态。当一个原始序列被节点端口接收或识别节点端口恢复个相应的原始 序列或空闲命令。识别一个原始序列需要连续地检测3个相同命令集的实例典型 的原始序列有FC-l 层的OLS 、NOS 、LR、LRR状态命令。 4.3 序列与交换 序列(Sequence) 序列是从一个节点端口向另外一个节点端口单向发送的一个或多个相关帧, 每个帧都根据序列总数(SEQ-CNT)有一个在整个序列中唯一的序列标识 (SEQ-ID)。 通常序列边界的错误恢复与控制由上层协议完成。 交换(Exchange) 交换是由一个或多个用作两个节点端口之间单一操作的非

39、并发序列组成 的交换可以是单向的也可是双向的。在单一交换中只能有一个序列在一个时 间内被激活但是在不同交换之间可以有多个序列被同时激活。 4.4 协议 FC一 2层中还定义了一些协议 (Protocols)用于上层服务: 原始序列协议基于原始序列,用于链路失败; 交换网登录协议 在交换网络拓扑中,当一个节点端口登录交换网络时, 节点端口与交换端口之间相互交换服务参数; 节点端口登录协议 在点对点拓扑中,在传输数据之前,两个节点端口 之间相互交换服务参数; 数据传输协议表述使用流控管理传输上层协议数据的方法; 节点端口注销协议 一个节点端口请求撤消与另外一个节点端口的连接服务参数, 断开与另外一

40、个节点端口的连接。 4.5 分类服务和流控制 分类服务(Service Classes) FC的服务类型是指FC提供不同的服务以满足不同的数据传输要求。 FC一共 定义了6种服务类型,基于FC的SCSI 协议采用的是类型 3的服务。用户可根据所 作应用的传输特性,如:数据包的长度,传输持续时间等,选择相应的服务: (1) 服务类型I(Class I)可提供专用的连接,即有效的专用物理连接。一旦连 接建立,交换拓扑网会维持和保证整个服务的连接这种服务能够保证两个节点 端口之间的最大带宽的使用以及提供最高的吞吐量。接收端对每一个接收到的 正确数据帧发一个确认帧给发送端。对不正确或丢失的数据帧,接收

41、端发一个 否认帧给发送端,发送端会重发。在服务类型I中数据帧是依照原始顺序被发送 到目的节点端口的。下图描述了类型I服务的处理流程。 发起端 接收端 F a b r i c 数据帧 数据帧 数据帧 R _ R e a d y A C K A C K A C K A C K 图4-5 类型I 服务的处理流程 (2)服务类型 (Class)是一种基于帧的交换,无连接的服务。服务类型 允许一个或多个通道的带宽被多个源的多个数据帧所共享。交换拓扑网可能不 保证数据帧的传送顺序。服务类型可用于连接建立时间大于等待时间的短时 间数据流。服务类型I和服务类型都会发送确认消息(ACK), 确认数据帧的 传送。

42、如果数据帧因为拥塞而不能被适当地传送,接收端口会返回一个繁忙信 号帧或拒绝信号帧给发送端数据帧将被重新发送。类型服务中,数据发送 端和接收端没有专用的通道,数据可能经过不同速度的中间连接,中间节点可 能需要缓存来保存来不及发给下一个节点的数据。下图描述了类型服务的处 理流程。 发起端 接收端 F a b r i c 数据帧 数据帧 R _ R e a d y A C K A C K A C K 数据帧 图4-6 类型服务的处理流程 (3)服务类型 (Class) 类似于服务类型,也是一种基于帧交换,无连接 的服务,但是服务类型并不发送确认消息,这种类型的传输也称为数据报 (Datagram),

43、因为不需要发送确认消息,所以可以提供更快速地传输。服务类 型不关心数据的错误,由更高层负责进行错误回复和重排失序后的数据传输。 服务类型可用于实时的数据传输。下图描述了类型服务的处理流程。 发起端 接收端 F a b r i c 数据帧 数据帧 数据帧 R _ R e a d y 图4-7 类型服务的处理流程 (4)服务类型 (Class) 类似于服务类型,也是提供两个N端口之间专用 的通信通道,保证数据传输固定的带宽,而且保证接收端接收的数据帧次序和 发送端发出的次序一样,它与类型服务的不同之处是专用通信通道的带宽。 类型服务中,两个N端口的全部通信带宽都用于类型 的服务。例如100MB/s

44、 的N端口如果建立类型的服务,全部100MB/s带宽都会用于服务,也就是说类 型服务建立的专用通道就是100MB/s 的速度。而建立类型 4服务时,N端口可 以只用一部分带宽建立与另一N端口的专用通信通道。相对于两个 N端口之间建 立一个虚拟线路(virtual circuit)。实际上是两个单向的虚拟线路,两个方向可 能有不同的通信带宽。一个N端口可与多个N端口间建立多个类型4的服务。 (5)服务类型 (Class)的服务在光纤通道标准中还没有完全定义好。 (6)服务类型 (Class)的服务提供多播的功能。如果一个N端口想发数据 给其他多个端口,它可以与多播服务器建立类型的服务。多播服务器

45、再再这 个发生数据的N端口和接收数据的多个N端口之间建立类型的服务。发送端把 数据发送到多播服务器,多播服务器再负责把数据帧复制成多份,分别发送给 多个接收端口。想接收多播数据的端口可以和别名服务器注册,多播服务器就 会把数据发送到注册的端口。 流控制(Flow Control) 流控指的是FC-2 层控制协调节点端口之间和节点端口与交换端口之间的接 收帧数据流泛滥溢出。流控依靠于上层的分类服务,服务类型I的数据帧使用端 对端的流控,服务类型使用缓冲对缓冲的流控,服务类型既使用端对端的 流控又使用缓冲对缓冲的流控。 流控是由序列发起者(源) 端口和序列接收者(目的) 端口使用信任量(Credi

46、t)和 信任总量(Credit Count Credit_ CNT)来进行管理的。 信任量指的是分配给发送端 口的缓冲区数,信任总量指的是没有被序列接收者确认的数据帧数。 端对端的流控用以协调节点端口之间的数据帧流,在这种情况下序列接收 者通过返回一个确认帧给序列发起者,以表示接收到了合法的数据帧,当序列 接收者的缓冲区相对于接收的数据帧不够时,也就是端对端信任量(End to End CreditEE_ Credit)小于接收的数据帧数时序列接收者会返回一个繁忙信号帧 给序列发起者,而当序列接收者收到一个错误的数据帧时序列接收者会返回 一个错误信号帧给序列发起者,然后再由序列发起者返回一个端

47、对端的信任总 量(End to End Credit Count. EE_ Credit_ CNT)。端对端流控的最初信任量是在节 点端口登录时分配的。 缓冲对缓冲的流控用于控制调节节点端口与交换端口之问或点对点拓扑中 两个节点端口之间的的数据帧流。每个端口有责任管理缓冲对缓冲的信任总量 (Buffer to Buffer . Credit Count BB - Credit_ CNT)。缓冲对缓冲的信任量(Buffer to Buffer Credit,BB-Credit)在节点端口登录交换网络时分配序列接收者通过向 序列发起者发送接收器准备(RRDY)信号帧,以通知序列发起者是否有空闲的

48、缓冲区用于接收数据帧。 4.6 登录和服务参数 登录程序是一个节点端口和另外一个节点端口或交换端口之间建立操作环 境的一种方法。一个节点端口登录到另外一个节点端口,称为目的节点端口登 录;一个节点端口登录到交换端口,称为交换网络登录。交换网络登录和目的 节点端口登录都采用相似的程序,不同的目的标识(Destination-Identifiers,D- IDs)和尽可能不同的源标识(SourceIdentifiers,S-IDs)。当节点端口请求登录 其他节点端口或交换端口时,首先停止发送空闲帧(IDLE),而改为发送一系列 表明其登录及开始网络通信意图的帧,并通过登录建立端口地址,服务类型等

49、参数。一旦登录成功,节点端口与交换端口之间或两个节点端口之间将保持长 时间的连接。一个节点端口能和多少个其他节点端口建立登录连接,是由节点 端口的功能和性能决定的。登录连接与服务类别 I 的专用连接之间没有直接的 关系。 5 FC-3 层 FC-3层中定义了一组服务用于公共的单一节点中的多个端口交叉其中包括 组搜寻(Hunt Groups)和分组广播(Multicast) 。 组搜寻 组搜寻指的是由多个节点端口(N- Port)回复同一个别名地址请求的能力。 这能略降低节点端口繁忙的机会,从而有效地提高整个系统的效能。 分组广播 分组广播指的是将一个传输信息发送到多个节点端口(NPort)这些

50、节点 端口可以是整个交换拓扑中所有的节点端口,也可以是整个交换拓扑中的部分 节点端口,此时也称为广播(Broadcast)。 6 FC-4(Mapping)层 FC-4(Mapping)层是FC体系结构中的最高层,在 FC-4层中定义了FC底层协 议与高层协议之间的映射。 小型计算机系统接口(SCSI) 互联网协议(IP) 高性能并行接口(HIPPI) 异步传输模式(ATM) 智能外设接口-3(IPI-3) 单字节指令码集(SBCCS) 由FC-4层是针对不同应用层协议的映射,因此具体的应用将具有具体的映 射,存储系统将使用SCSI 应用层协议,SCSI 协议的映射是通过 FCP来完成的, 我

51、们将在第九章分析对SCSI 的FCP 映射协议FCP。 7 FC 拓扑结构 7.1 交换拓扑 在交换网络拓扑中,节点之间的通信是通过交换网络登录、节点登录、地 址分配、会话、登录注销五个阶段完成的,节点的加入和离开对网络中的其它 通讯设备几乎没有影响。 交换网络登录(Fabric Login) 交换网络登录完成5个功能: 检测交换网络的存在或不存在: 如果交换网络存在,交换网络将提供一个专用的操作字符集; 如果交换网络存在,交换网络将分配或确认初始登录的本地节点端口标识; 如果交换网络不存在,节点端口将尝试进行点对点拓扑连接; 如果交换网络存在,交换网络将初始化缓冲对缓冲的信任量(BB_Cre

52、dit)。 明显的交换网登录(Explicit Fabric Login) 明显的交换网络登录,需要登录请求节点端口传输一个交换网络登录 (FLOGI)链路服务序列,其中包含一个由节点端口分配的源交换标识(OX_ID)和 目的标识(D_ID),源标识、目的标识采用公认的交换端口地址FFFFFE,源标识 采用0或0000yy。如果源标识S_ID=0,交换端口将在接受(ACC) 回复序列中分配 一个交换网络中唯一的节点端口标识给登录请求节点端口;如果源标识 S_ID=0000yy,交换端口同样会在接受(ACC)回复序列中分配一个交换网络中唯 一的节点端口标识给登录请求节点端口,但是只使用823比特

53、位,07比特位用 于校验数据;如果源标识是非法的S_ID,交换端口将返回一个错误代码标识的 交换端口拒绝(Fabric_Port_Reject,F_RJT)。登录请求节点端口在接收到交换端 口的ACC回复序列后,向交换端口发送服务类别请求参数序列以结束交换网络 登录过程。 节点登录(N Port Login) 交换网络中的节点登录是在交换网络登录完成后,紧接着进行的。如果一 个状态正常的节点端口在登录前已经和其他节点端口建立了登录连接,那么首 先必须要注销先前的登录连接。在登录处理过程中目的节点端口与其他节点端 口之间的通信不再被接受。一旦登录成功,两个节点端口之间的通信即可开始。 节点登录须

54、完成的2个功能: 由目的节点端口提供一个专用的操作字符集: 初始化目的节点端口端对端信任量(EE-Credit)。 源节点端口发送一个节点登录(PLOGJ)链路服务序列,其中包含一个由节 点端口分配的源交换标识(OX_ID)、目的端口标识(D_ID=Y),源端口标识 (s_ID=X)和服务类型参数,X和Y在进行交换网络登录时获得。目的节点端口在 收到登录链路服务序列后,回复一个包含目的交换标识(RX_ID) 、目的端口标 识(D_ID=X)、源端口标识(S_ID=Y) 和服务类型参数为 ACC的序列;登录请求节 点端口在接收到交换端口的ACC回复序列后,向交换端口发送服务类别请求参 数序列,以

55、结束交换网络登录过程。 地址分配 在交换网络拓扑中,节点端口的地址是由FC交换机负责分配的 ,每个节点 端口地址在网络中都是唯一的。节点端口地址长度为3个字节,在一个交换网络 中最多可以包含1677万72l5个节点端口。 会话 在交换网络拓扑中节点端口之间的会话,在节点端口完成交换网络登录和 节点登录后开始,节点端口之间的会话可以采用服务类型1、服务类型2和服务 类型3中的任何一种。 登录注销(Logout) 登录注销用于释放两个节点端口之间用于维护会话服务的资源。源节点端 口发送一个节点登录注销(LOGO)链路服务序列,其中包含一个由节点端口分配 的源交换标识(OX_ID)、目的端El标识(DID=Y1、源端口标识(S_ID=X) 和服务 类型参数目的节点端口在收到登录链路服务序列后回复一个包

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!