FC协议读书笔记.docx

上传人:b****0 文档编号:9328540 上传时间:2023-05-18 格式:DOCX 页数:15 大小:241.07KB
下载 相关 举报
FC协议读书笔记.docx_第1页
第1页 / 共15页
FC协议读书笔记.docx_第2页
第2页 / 共15页
FC协议读书笔记.docx_第3页
第3页 / 共15页
FC协议读书笔记.docx_第4页
第4页 / 共15页
FC协议读书笔记.docx_第5页
第5页 / 共15页
FC协议读书笔记.docx_第6页
第6页 / 共15页
FC协议读书笔记.docx_第7页
第7页 / 共15页
FC协议读书笔记.docx_第8页
第8页 / 共15页
FC协议读书笔记.docx_第9页
第9页 / 共15页
FC协议读书笔记.docx_第10页
第10页 / 共15页
FC协议读书笔记.docx_第11页
第11页 / 共15页
FC协议读书笔记.docx_第12页
第12页 / 共15页
FC协议读书笔记.docx_第13页
第13页 / 共15页
FC协议读书笔记.docx_第14页
第14页 / 共15页
FC协议读书笔记.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

FC协议读书笔记.docx

《FC协议读书笔记.docx》由会员分享,可在线阅读,更多相关《FC协议读书笔记.docx(15页珍藏版)》请在冰点文库上搜索。

FC协议读书笔记.docx

FC协议读书笔记

FC协议读书笔记

1、光纤通道的英文拼写是FibreChannel;

2、FC的链路介质可以是光纤、双绞线或同轴电缆;

3、FC系统中设备的连接有三种拓扑方式:

点对点方式(PointtoPoint)、交换方式(Fabric)、仲裁环方式(ArbitratedLoop);

4、FC协议栈模型可以用下图来表示:

FC-0:

物理层,定制了不同介质,传输距离,信号机制标准,也定义了光纤和铜线接口以及电缆指标  

FC-1:

定义编码和解码的标准  

FC-2:

定义了帧、流控制、和服务质量等  

FC-3:

定义了常用服务,如数据加密和压缩  

FC-4:

协议映射层,定义了FC底层协议与高层协议之间的映射,SCSI协议的映射是通过FCP来完成的

5、WWN是一个64位的地址。

WWN对于FC设备就像Ethernet的MAC地址

一样,它们是由电器和电子工程师协会(IEEE)标准委员会指定给制造商,在制

造时被直接内置到设备中去的。

对于光纤交换机,我们使用NodeWWN来标示交换机,它是唯一的;对

于交换机的端口,我们使用PortWWN来标示交换机的端口。

所以一个交换机有

一个NodeWWN和多个PortWWN。

6、每个端口有它独有的24位的地址。

用这种24位地址方案,我们得到了一

个较小的帧头,这能加速路由的处理。

在基于交换的光纤环境中,交换机它本身

负责分配和维持端口地址。

当含有某WWN的装置进入在某一个特定的端口

上登录到交换机时,交换机将会分配端口的地址到那一个端口,而且交换机也将

会维护那个端口地址和在那个端口上的设备的WWN地址之间的关联。

交换机

的这一个功能是使用名字服务器(NAMESERVER)来实现的。

7、一个24个位的端口地址由三个部份所组成:

Domain:

交换机本身的地址。

一个字节最多允许256个可能的地址。

因为有一

些地址被保留(例如广播地址等),实际上只有239个地址可用。

Area:

它提供256个地址。

用于一个交换机的一组端口,而不能跨交换机。

Port:

地址的最后部份提供256个地址,用于识别相连的N_Port和NL_Port。

可用的地址数目:

DomainxAreaxPorts=239x256x256=15,663,104个地址可以用。

二、FC-0层

三、FC-1层

四、FC-2层

1、光纤通道的数据单元叫做帧。

一个光纤通道帧最大是2148字节。

光纤通道封装帧头

负载最多能有537个传输字(2112个字节),数据帧格式如下图所示。

FC-2的帧格式

 

帧内容域的数据长度是4字节的整数倍,当长度不足4字节的整数倍时将采用向内容域中填充1-3个字节,从而使其长度达到4字节的整数倍。

内容域中字段描述如下图所示:

图4-3帧内容

 

帧数据段中的可选报头是提供给FC-4层使用的

一个光纤通道字是4字节。

在2148字节容量下,最多允许537字节。

帧头的组成部分,以及可选部分,列示如下:

SOF(1字):

帧开始.

帧头(24字节):

帧头决定使用何种协议,以及源和目的地址。

可选ESP帧头(8字节):

提供编码;包括SPI和ESP序列号

可选网络帧头(16字节):

这样你可以将FC-SAN连接到非FC网络

可选关联帧头(32字节):

不是光纤通道协议使用的,但可用于确定节点内的流程

可选设备帧头(最多64字节):

不是光纤通道协议使用的,用于特定应用程序

载荷:

数据,最多可达2048字节

可选填写字节(可变):

用于保证数据载荷的大小不超过字节界限

可选ESP尾(可变):

包含ESP检验值

CRC(4字节):

一个帧头CRC(循环冗余校验)和光纤通道数据字段

帧结束(4字节):

帧结束,并且表示是否是序列的最后一位

帧头字段的主要作用是唯一的标识帧。

每个帧是由称为帧ID值的(S_ID,D_ID,OX_ID,RX_ID,SEQ_ID和SEQ_CNT)值来唯一地标识。

?

图2.光纤通道帧头

路由控制(1字节):

起到归类帧的作用,包括两个四位的子字段,即:

路由子字段和信息子字段,路由控制字段R_CTL类别码如下表所示

R_CTL类别码

路由

帧类型

0

设备数据帧

2

扩展链路服务

3

FC-4链路数据

4

视频数据

5

扩展头

8

基本链路服务

c

链路控制帧

f

扩展路由

其他

保留

目的标识符(3字节):

目的地光纤通道地址;

类专用控制/优先级(1字节):

用于与服务类型有关的帧处理。

这个字段只在第1类和第4类帧中才有意义;

源点标识符(3字节):

来源地节点的光纤通道地址

类型(1字节):

该字段和R_CTL字段共同标识出帧的具体类型。

首先通过R_CTL字段标识出该帧是数据帧还是链路控制帧,再通过该字段进一步标识出帧的类型。

例如当R_CTL=0xh,TYPE=0Ah则表示该帧为承载SCSI协议的数据帧;

帧控制(3字节):

控制帧处理的重要字段,对于不同的服务类型来说,相关的控制位有不同的值,同时控制字段的有效性也不同。

F_CTL各字段的详细描述如下表所示:

F_CTL格式

控制字段

描述

交换上下文

23

0交换发起端

1交换响应端

序列上下文

22

0序列发起端

1序列响应端

第一个序列

21

0交换的其它序列

1交换的第一个序列

最后一个序列

20

0交换的其它序列

1交换的最后一个序列

结束序列

19

0序列的其它数据帧

1序列的最后一个数据帧

结束连接

(Class1或Class6)

18

0连接激活

1连接挂起结束

(Class1或Class6中有效,在其它类型中忽略)

CS_CTL/优先级

17

0字1的31~24位表示CS_CTL

1字1的31~24位表示优先级

序列Initiative

16

0保持序列Initiative

1传输序列Initiative

废弃

15

废弃

14

ACK形式

(Class1,Class2,Class6

有效)

13-12

00b不需要额外提供

01b需要Ack_1

10b保留

11b需要Ack_0

数据压缩(废弃)

11

数据加密(废弃)

10

序列重传

(Class1,Class6有效)

9

0初始序列重传

1序列重传

单向传输

(Class1,Class6有效)

8

0双向传输

1单向传输

连续序列条件

(当结束序列=1,序列Initiative=0时有效)

7~6

00b无信息

01b实时序列

10b快速序列

11b延迟序列

终止序列条件

5~4

接收端响应帧

00b连续序列

01b异常终止序列,按异常中止处理

10b停止序列

11b实时序列重传请求

数据帧

00b异常中止,丢弃多个序列

01b异常中止,丢弃一个序列

02b无限缓存处理策略

11b丢弃多个序列,立即重传

相对偏移

3

0一些帧定义的参数字段

1参数字段,相对偏移

交换重组

2

交换重组保留

填充字节

1~0

净荷结束,不满4字节整数倍,填充

00b填充0个字节

01b填充1个字节

10b填充2个字节

11b填充3个字节

序列ID(1字节):

序列号,由序列发起端分配;

数据字段控制(1字节):

表示是否有可选头部,以及其类型、大小。

数据字段中定义的可选报头是:

网络报头(NetworkHeader)、关联报头(AssociationHeader)和设备报头(DeviceHeader)。

对应位与所定义的附加报头如下表所示。

附加报头

字段对应位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=16ByteDevice_Header

10=32ByteDevice_Header

11=64ByteDevice_Header

设备数据和视频数据帧

序列数(2字节):

在一个序列中所传输的帧的数量;

发送端交换ID(2字节):

由发送端进行指定,是除了FFFFh以外的值

回复端交换ID(2字节):

由目标节点所指定

参数(4字节):

此字段与帧类型有关。

对链路控制帧而言,参数字段给出链路控制帧的特定类型。

对数据帧而言,参数字段包含相对偏转值。

这规定从ULP缓冲区与ULP基础地址的偏移。

2、FC-2层定义了4种数据传输单位:

帧、帧序列、帧交换和数据包。

帧序列:

表示一个上层协议数据单元,当上层协议的数据单元长度大于光纤通道数据帧负载的最大长度2112个字节时,则需要被分割成多个数据帧。

序列是从一个节点端口向另外一个节点端口单向发送的一个或多个相关帧,每个帧都根据序列总数(SEQ-CNT)有一个在整个序列中唯一的序列标识(SEQ-ID);

帧交换:

表示上层协议的一个操作。

一个帧交换内只能有一个帧序列处于活动状态。

交换是由一个或多个用作两个节点端口之间单一操作的非并发序列组成的.交换可以是单向的也可是双向的。

不同交换之间可以有多个序列被同时激活;

数据包:

由一个或若干个帧交换组成。

3、所有命令都以专用字符K28.5作为开始。

在FC-2层有帧定界符、原始信号、原始序列三种主要的命令。

●帧定界符(FrameDelimiters)

包括帧开始(SOF)和帧结束(EOF)命令集。

例如:

典型的SOF命令为K28.5D2l.5D23.0D23.0、EOF命令为K28.5D21.4D21.6D21.6。

●原始信号(PrimitiveSignals)

包括空闲{Idle)和接收器准备(ReceiverReady,R-RDY)命令集。

当一个可操作的节点端口准备好发送或接收数据时,一个表示空闲命令的原始信号会被发送;当接口缓冲区准备好接收数据帧时,一个表示接收器准备的原始信号会被发送。

●原始序列(PrimitiveSequence)

是一组被连续地重复发送的命令集,用于表示节点端口特定的状态或端口逻辑状态。

当一个原始序列被节点端口接收或识别,节点端口回复个相应的原始序列或空闲命令。

识别一个原始序列需要连续地检测3个相同命令集的实例。

典型的原始序列有FC-l层的OLS、NOS、LR、LRR状态命令。

4、FC提供不同的服务以满足不同的数据传输要求。

FC一共定义了6种服务类型,基于FC的SCSI协议采用的是类型3的服务。

用户可根据应用的传输特性,如:

数据包的长度,传输持续时间等,选择相应的服务:

(1)服务类型I(ClassI):

面向连接,按序发送,有确认,高带宽、高吞吐量;

接收端对每一个接收到的正确数据帧发一个确认帧给发送端。

对不正确或丢失的数据帧,接收端发一个否认帧给发送端,发送端会重发。

在服务类型I中数据帧是依照原始顺序被发送到目的节点端口的。

下图描述了类型I服务的处理流程。

图4-5类型I服务的处理流程

(2)服务类型Ⅱ(ClassⅡ):

无连接,无序,有确认;

服务类型Ⅱ允许一个或多个通道的带宽被多个源的多个数据帧所共享。

交换拓扑网可能不保证数据帧的传送顺序。

如果数据帧因为拥塞而不能被适当地传送,接收端口会返回一个繁忙信号帧或拒绝信号帧给发送端,数据帧将被重新发送。

类型Ⅱ服务中,数据发送端和接收端没有专用的通道,数据可能经过不同速度的中间连接,中间节点可能需要缓存来保存来不及发给下一个节点的数据。

下图描述了类型Ⅱ服务的处理流程。

图4-6类型Ⅱ服务的处理流程

(3)服务类型Ⅲ(ClassⅢ):

无连接,无确认,用于实时传输;

因为不需要发送确认消息,所以可以提供更快速地传输。

服务类型Ⅲ不关心数据的错误,由更高层负责进行错误回复和重排失序后的数据传输。

下图描述了类型Ⅲ服务的处理流程。

图4-7类型Ⅲ服务的处理流程

(4)服务类型Ⅳ(ClassⅣ):

面向连接,部分带宽,有序;

类型Ⅰ服务中,两个N端口的全部通信带宽都用于类型Ⅰ的服务。

而建立类型4服务时,N端口可以只用一部分带宽建立与另一N端口的专用通信通道。

相对于两个N端口之间建立一个虚拟线路(virtualcircuit)。

实际上是两个单向的虚拟线路,两个方向可能有不同的通信带宽。

一个N端口可与多个N端口间建立多个类型4的服务。

(5)服务类型Ⅴ(ClassⅤ)的服务在光纤通道标准中还没有完全定义好;

(6)服务类型Ⅵ(ClassⅥ):

提供多播的功能

发送端把数据发送到多播服务器(类型Ⅰ的服务),多播服务器再负责把数据帧复制成多份,分别发送给多个接收端口(类型Ⅵ的服务)。

想接收多播数据的端口可以和别名服务器注册,多播服务器就会把数据发送到注册的端口。

5、流控依靠于上层的分类服务,服务类型I的数据帧使用端对端的流控,服务类型Ⅲ使用缓冲对缓冲的流控,服务类型Ⅱ既使用端对端的流控.又使用缓冲对缓冲的流控。

流控是由序列发起者(源)端口和序列接收者(目的)端口使用信任量(Credit)和信任总量(CreditCountCredit_CNT)来进行管理的。

信任量:

分配给发送端口的缓冲区数;

信任总量:

指的是没有被序列接收者确认的数据帧数;

端对端的流控:

用以协调节点端口之间的数据帧流。

序列接收者通过返回一个确认帧给序列发起者,以表示接收到了合法的数据帧;当序列接收者的缓冲区相对于接收的数据帧不够时,也就是端对端信任量(EndtoEndCredit.EE_Credit)小于接收的数据帧数时,序列接收者会返回一个繁忙信号帧给序列发起者;而当序列接收者收到一个错误的数据帧时,序列接收者会返回一个错误信号帧给序列发起者,然后再由序列发起者返回一个端对端的信任总量(EndtoEndCreditCount.EE_Credit_CNT)。

端对端流控的最初信任量是在节点端口登录时分配的;

缓冲对缓冲的流控:

用于控制调节节点端口与交换端口之间或点对点拓扑中两个节点端口之间的的数据帧流。

每个端口有责任管理缓冲对缓冲的信任总量(BuffertoBuffer.CreditCountBB-Credit_CNT)。

缓冲对缓冲的信任量(BuffertoBufferCredit,BB-Credit)在节点端口登录交换网络时分配。

序列接收者通过向序列发起者发送接收器准备(R—RDY)信号帧,以通知序列发起者是否有空闲的缓冲区用于接收数据帧。

——————————————————————————————————

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2