fc光纤通道 协议总结.docx

上传人:b****4 文档编号:5369407 上传时间:2023-05-08 格式:DOCX 页数:50 大小:270.73KB
下载 相关 举报
fc光纤通道 协议总结.docx_第1页
第1页 / 共50页
fc光纤通道 协议总结.docx_第2页
第2页 / 共50页
fc光纤通道 协议总结.docx_第3页
第3页 / 共50页
fc光纤通道 协议总结.docx_第4页
第4页 / 共50页
fc光纤通道 协议总结.docx_第5页
第5页 / 共50页
fc光纤通道 协议总结.docx_第6页
第6页 / 共50页
fc光纤通道 协议总结.docx_第7页
第7页 / 共50页
fc光纤通道 协议总结.docx_第8页
第8页 / 共50页
fc光纤通道 协议总结.docx_第9页
第9页 / 共50页
fc光纤通道 协议总结.docx_第10页
第10页 / 共50页
fc光纤通道 协议总结.docx_第11页
第11页 / 共50页
fc光纤通道 协议总结.docx_第12页
第12页 / 共50页
fc光纤通道 协议总结.docx_第13页
第13页 / 共50页
fc光纤通道 协议总结.docx_第14页
第14页 / 共50页
fc光纤通道 协议总结.docx_第15页
第15页 / 共50页
fc光纤通道 协议总结.docx_第16页
第16页 / 共50页
fc光纤通道 协议总结.docx_第17页
第17页 / 共50页
fc光纤通道 协议总结.docx_第18页
第18页 / 共50页
fc光纤通道 协议总结.docx_第19页
第19页 / 共50页
fc光纤通道 协议总结.docx_第20页
第20页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

fc光纤通道 协议总结.docx

《fc光纤通道 协议总结.docx》由会员分享,可在线阅读,更多相关《fc光纤通道 协议总结.docx(50页珍藏版)》请在冰点文库上搜索。

fc光纤通道 协议总结.docx

fc光纤通道协议总结

1FC结构和概念

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)分段和重组

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交换网

交换网的主要功能是从源N端口中接收帧,并按帧中给出的地址标识符寻找目的N端口。

每个N端口通过链路连接到交换网上。

每个N端口都有一个唯一的N端口地址标识符。

FC-2层定义了交换网与所连接的N端口间的协议。

交换网包括两个或更多的F端口,每个F端口可连接到一个N端口上。

连接交换子网用于在F端口间和F端口与N端口间建立专用连接。

无连接交换子网用于在F端口间和F端口与N端口间进行多路复用。

1.4构造块

FC-2层中定义的构造块有:

帧,序列,交换,协议。

序列由一个或多个数据帧及其响应组成。

交换由一个或多个序列组成。

交换可以单向的,也可以是双向的。

ULP使用FC进行数据交换之前须完成登录,登录完成后,ULP就可以使用FC直到登录实效为止。

Ø帧:

分为数据帧和链路控制帧

Ø序列:

由一组数据帧和链路控制帧组成,序列单向发送。

序列级的错误恢复由FC-2层以上的层完成。

每个序列都分配了一个SEQ_ID。

Ø交换:

由一个或多个非并发序列组成。

交换可以在一个1类专用连接中完成,也可以跨多个1类连接。

交换的双方都分配了一个交换标识符OX_ID,RX_ID。

Ø协议:

提供的协议如下

a)原语序列协议

b)交换网登录协议

c)N端口登录协议

d)数据传输协议

e)N端口登出协议

2FC-0/FC-1层

2.1FC-0

FC-0层包括多种介质及能以不同速度工作的发送机和接收机。

FC-0层发送机接口

FC-0层接收机接口

2.2FC-1

FC-1层为编码层,FC采用8b10b编码,编码后产生传输字符。

数据流转换示意图

3有序集

FC-1层使用8b10b编码,通过光纤发送的信息应把一组8位数据转换为10位传输字符。

数据值可以统一的表示为DX.Y或KX.Y,其中D表示为数据代码,K表示为特殊的命令代码。

传输字由4个连续传输字符组成,这四个字符传输前和接收后应视为一个整体。

把4个特定的传输字符进行组合形成有序集,有序集由4个专用字符和数据字符组成,FC-PH定义了如下有特殊意义的有序集:

RD初始值RunningDisparity

有序集

定界符

SOFc1

K28.5

D21.5

D23.0

D23.0

SOFi1

K28.5

D21.5

D23.2

D23.2

SOFn1

K28.5

D21.5

D23.1

D23.1

SOFi2

K28.5

D21.5

D21.2

D21.2

SOFn2

K28.5

D21.5

D21.1

D21.1

SOFi3

K28.5

D21.5

D22.2

D22.2

SOFn3

K28.5

D21.5

D22.1

D22.1

SOFf

K28.5

D21.5

D24.2

D24.2

EOFt

K28.5

D21.4

D21.3

D21.3

K28.5

D21.5

D21.3

D21.3

EOFdt

K28.5

D21.4

D21.4

D21.4

K28.5

D21.5

D21.4

D21.4

EOFa

K28.5

D21.4

D21.7

D21.7

K28.5

D21.5

D21.7

D21.7

EOFn

K28.5

D21.4

D21.6

D21.6

K28.5

D21.5

D21.6

D21.6

EOFdti

K28.5

D10.4

D21.4

D21.4

K28.5

D10.5

D21.4

D21.4

EOFni

K28.5

D10.4

D21.6

D21.6

K28.5

D10.5

D21.6

D21.6

原语信号

Idle

K28.5

D21.4

D21.5

D21.5

R_RDY

K28.5

D21.4

D10.2

D10.2

原语序列

OLS无操作

K28.5

D21.1

D10.4

D21.2

NOS离线序列

K28.5

D21.2

D31.5

D5.2

LR链路复位

K28.5

D9.2

D31.5

D9.2

LRR链路复位响应

K28.5

D21.1

D31.5

D9.2

Ø帧定界符:

放在帧内容之前或之后的有序集。

SOF是放在帧内容之前的有序集;EOF是放在CRC之后的有序集,表示序列内容的结束。

Ø原语信号:

Idle表示端口已做好帧传输和接收的准备。

在没有发送数据帧、R_RDY或原语序列是应发送Idle。

R_RDY:

表示收到一个1类服务请求帧、2类或3类帧,而且还可以接收更多的帧。

R_RDY之前和之后应至少有2两个Idle,帧之间应至少有6个原语信号。

Ø原语序列:

原语序列是一个连续重复发送的序列集,当端口或一个端口的接收机逻辑遇到了特殊情况,应发送原语序列。

当条件存在,原语序列应不断地发送。

当收到一组原语序列,应根据端口的状态,回送相应的原语或Idle。

原语序列识别需要连续检测3个同样的原语序列,原语序列之间不能有其他数据。

原语序列协议规定如下:

a)链路初始化

b)在线到离线转换

c)链路失效

d)链路复位

发送原语序列

发送条件

响应

NOS无操作

检测到链路失效:

1)不在离线状态时同步丢失超时

2)不在离线状态时信号丢失

3)链路复位期间超时

OLS

OLS离线序列

启动链路初始化

接收到NOS

进入离线状态

LR

LR链路复位

启动链路复位

启动链路超时恢复

不能确认连接状态和恢复连接过程(1类N)

LRR

LRR链路复位响应

接收到LR

Idle

4帧

帧分类

帧格式

链路控制帧

FC-0型帧

R_CTL31~28为

1100

确认帧

ACK_0

ACK_1

ACK_N

链路响应帧

忙F_BSYP_BSY

拒绝F_RJTP_RJT

链路命令帧

LCR

数据帧

FC-1型帧

R_CTL31~28不为

1100

FC-4层设备数据帧

FC-4层设备类型

IP、IPI-3、SCSI、SB

FC-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、TEST

FC-4链路服务

4.1帧格式

N端口发送机发送帧之间最少有6个原语信号,接收机接收帧之前需接收到2个Idle,交换网可以插入或除去Idle。

ØSOF:

SOF是帧内容之前的一个有序集。

SOF类别

描述

SOFc1

用于请求一个1类连接

SOFi1

1类服务序列的第一帧

SOFn1

1类服务正常帧起始

SOFi2

2类服务序列的第一帧

SOFn2

2类服务正常帧起始

SOFi3

3类服务序列的第一帧

SOFn3

3类服务正常帧起始

SOFf

交换网起始帧

Ø帧头:

是帧内容的第一个字段,24个字节,紧跟着SOF。

帧头用于控制链路操作、控制设备传输协议和检测丢失或无序的帧。

Ø数据字段:

数据字段在帧头之后。

长度等于四字节的倍数。

FC-0型帧数据段长度为零,FC-1型帧长度等于四字节的倍数,范围为0字节到2112个字节。

ULP的有效载荷不能被4整除,应进行填充。

ØCRC:

为紧跟着数据字段的四个字节字段,用于检测帧头和数据字段的数据完整性。

CRC校验中不包括SOF,EOF

ØEOF:

为紧跟着CRC后的一个有序集。

指明了帧内容的结束。

EOF类别

描述

帧内容有效

EOFn

帧内容结束

EOFdt

撤销1类专用连接

EOFt

表明该序列结束

帧内容无效

EOFni

交换网检测出错误,用其替代EOFn或EOFt表明帧内容无效

EOFdti

交换网检测出错误,用其替代EOFdt表明帧内容无效

帧内容遭破坏

EOFa

N端口/F端口用于表明内部故障

4.2帧头

帧头

ØR_CTL路由控制

R_CRL是一个对帧功能进行分类的一个单字节字段,包括路由选择字段和信息字段。

Bit31~bit28路由选择字段

帧类型

Bit31~bit28信息字段

描述

备注

0000

FC4层设备数据帧

0000

未分类信息

0001

请求数据SolicitedData

0010

自发控制UnsolicitedControl

0011

请求控制SolicitedControl

0100

自发数据UnsolicitedData

0101

数据描述符DataDescriptor

0110

自发命令UnsolicitedCommand

0111

命令状态CommandStatus

其他

未指定

0100

视频数据帧

同上

同上

0011

FC4层链路数据帧

同上

同上

0010

扩展链路数据帧

(TPYE应为

00000001)

同上

同上

1000

基本链路数据帧

(TPYE应为

00000000)

0000

NOP无操作

基本链路服务命令

0001

ABTS中止序列

0010

RMC结束连接

0011

保留

0100

BA_ACC基本接受

0101

BA_RJC基本拒绝

其他

保留

1100

链路控制帧

出F_BSY外

TPYE保留

0000

ACK_1

链路控制码

0001

ACK_0/ACK_N

0010

P_RTJ

0011

F_RTJ

0100

P_BSY

0101

F_BSY对数据帧忙

0110

F_BSY对链路控制帧忙

0111

LCR链路信用复位

其他

保留

ØF_CTL字段

F_CTL字段是一个与帧内容相关的包含控制信息的3字节字段

F_CTL字段格式

控制字段

位置bit

描述

交换前后关系

23

0:

表示交换启动方

1:

表示交换接收方

序列前后关系

22

0:

表示序列启动方

1:

表示序列接收方

第一个序列

21

0:

交换的其他序列

1:

交换的第一个序列

最后一个序列

20

0:

交换的其他序列

1:

交换的最后一个序列

结束序列

19

0:

序列的其他数据帧

1:

序列的最后一个数据帧

结束连接

18

0:

连接

1:

将结束连接

链序列

17

0:

无链序列

1:

表示链序列激活

序列主动权

16

0:

保持序列主动权

1:

转换序列主动权

X_ID重新分配

15

1:

表示重新分配

X_ID无效

14

1:

表示无效

保留

13~10

保留

重传序列

9

0:

表示原始序列

1:

表示重传序列

单向传输

8

0:

双向传输

1:

单向传输

后续序列

7~6

剩下的数据帧:

00:

无信息

01:

立即

10:

不久

11:

延迟

序列中止

5~4

00:

异常中止,丢弃多个序列

01:

异常中止,丢弃单个序列

10:

带无限缓冲的处理策略

11:

表示丢弃多个序列,并且立即重传

序列接收方ACK

00:

继续序列

01:

终止序列请求

10:

停止序列(正常停止无需ABTS)

11:

请求立即重传序列

相对偏移

3

0:

参数字段无意义

1:

参数字段为相对偏移

交换重组

2

为交换重组保留

填充数据字节

1~0

00:

表示填充0个字节

01:

表示填充1个字节

10:

表示填充2个字节

11:

表示填充3个字节

ØD_ID是目的N端口或F端口内的包含地址标识符的3个字节字段

ØS_ID是源N端口或F端口内的包含地址标识符的3个字节字段

ØTYPE字段是一个单字节字段,表示了数据帧的帧内容类型。

在F_BSY帧中TYPE字段表示原因码。

ØSEQ_ID是一个由序列启动方分配的一个单字节字段。

当序列开放时,每对D_IDS_ID都由唯一的SEQ_ID。

ØDF_CTL是一个单字节字段,该字段规定了在设备数据帧或视频数据帧的数据帧的开始部分是否有可选帧头。

ØSEQ_CNT是一个两个字节字段,表示在同一个交换中的一个序列或多个连续序列中数据帧的传输顺序。

ØOX_ID由交换启动方分配的交换标识符,两个字节。

ØRX_ID由交换接收放分配的交换标识符,两个字节。

Ø参数字段是一个四字节字段,对于链路控制帧,参数字段表示特定信息。

对于数据帧,参数字段用来规定相对偏移。

5链路响应

链路控制帧提供如下功能:

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类和1类连接请求帧端口间应发送R_RDY,R_RDY无响应。

ACK帧:

ACK_0优先于ACK_N优先于ACK_1

1)ACK_1帧所有N端口都支持ACK_1,ACK_1的SEQ_CNT应与确认帧的相匹配,参数字段ACK_CNT为1R_CTL信息字段为0;

2)ACK_0帧表示序列中的所有数据帧都已经确认。

参数字段ACK_CNT为0R_CTL信息字段为1,ACK_0不参与EE_Credit控制

3)ACK_N接收方确认N个连续数据帧,参数字段ACK_CNT为所确认数据帧的个数,SEQ_CNT为确认的最后一个数据帧的SEQ_CNT。

F_BSY:

Ø1类服务中F_BSY只能响应1类SOFc1帧,在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_RJT\F_RJT:

Ø表示帧的交付被拒绝,参数字段包含4个字节的拒绝动作码和原因码。

Ø在1类2类服务中,端口检测到数据帧错误,则应发送一个拒绝帧。

交换网在下列情况下可以发送拒绝帧:

a)服务类不支持

b)无效的S_ID或D_ID

c)N端口临时或永久不可用

ØN端口只有在收不到期望的ACK时才拒绝链路控制帧;在有效交换中检测到链路控制帧错误,则应启动中止序列协议;对无效交换忽略错误。

6链路服务(FC-3层)

6.1基本链路服务

基本链路服务命令有单个基本链路数据帧组成,使用基本链路服务命令之前不需要登录

ABTS:

Ø用于序列启动方请求序列接收方中止一个或多个序列

Ø序列启动方或序列接收方请求ABTS接收方中止交换,SEQ_ID,X_ID与最后一个序列的相同,该命令无有效载荷。

Ø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可传送给ULP

1

OX_ID

2

RX_ID

2

SEQ_CNT高位

2

等于ABTS的SEQ_CNT

SEQ_CNT低位

2

最后一可交付序列数据帧的SEQ_CNT

BA_RJT:

通知链路服务请求方请求被拒绝,SEQ_ID重新分配,X_ID与ABTS匹配。

有效载荷的前4个字节标示了拒绝原因码。

NOP:

可以代替正常数据帧启动1类连接,启动序列,中止序列,结束1类连接。

无确认序列。

RMC:

用于请求立即撤销一个1类连接。

响应时请发送由EOFdt结束的ACK帧。

使用RMC撤销连接,所有的开放的序列都异常终止,因此不能把该方法当作撤销连接的正常方式。

无确认序列。

6.2扩展链路服务

扩展链路服务要求目的端口实现一个功能或服务。

每个请求或确认都由单独的序列构成。

有效载荷的前4个字节表示了LS命令码

扩展链路服务帧LS命令代码

00000001--

LS_RTJ

链路服务拒绝

扩展链路服务应答序列

00000010--

ACC

接受

00000011--

PLOGI

N端口登录

00000100--

FLOGI

F端口登录

00000101--

LOGO

登出

00000110--

ABTX

中止交换

中止正在进行的交换

00000111--

RCS

读当前专用连接状态

了解其他N端口连接状态

00001000--

RES

读交换状态

00001001--

RSS

读序列状态

00001010--

RSI

请求序列主动权

转换交换双方序列主动权

00001011--

ESTS

建立流

用于EE_Credit信用评估

00001100--

ESTC

评估信用

00001101--

ADVC

建议信用

00001110--

RTV

读超时值

返回R-A-TOVE-D-TOV

00001111--

RLS

读链路状态

返回链路错误状态块

00010000--

ECHO

回送

应答有效载荷与ECHO相同

00010001--

TEST

测试

无确认序列

00010010--

RRQ

复位恢复限定符

恢复S_ID,D_ID,OX_ID,RX_ID,

SEQ_CNT低位和高位之间的SEQ_CNT

其他

--

保留

6.3总结

Ø基本链路服务命名由单个基本链路数据帧组成,作为交换的一部分。

Ø扩展链路服务仅在单个交换内部执行。

大多数扩展服务协议都是两个序列的交换。

Ø基本和扩展确认帧和确认序列应按与请求一样的服务类。

Ø如果登录不成功,因并发序列限制为1,所以不能发起第二个交换来执行扩展的链路服务。

因此中止序列协议时恢复动作的首选。

Ø如果登录不成功,则不能尝试ESTC,ESTS,ADVC(EE_Credit评估)。

Ø如果登录成功,则对所有的扩展链路服务交换,交换发送方应使用丢失多个序列错误处理策略。

Ø如果扩展链路服务交换发送方检测到交换的错误,那么就应中止该交换,同时使用另一个交换重试被中止的交换协议。

7服务类

交换网和N端口提供3种服务类,交换网和N端口可以选择支持一种或多种服务类。

交换网收到的每个帧,应完成下列各项中的一项:

a)交付帧

b)发送一个FBSY

c)发送一个FRJT

d)不发送任何响应丢弃帧

7.11类服务:

专用连接

要建立1类连接需N端口向另一个N端口发送连接请求,另一个N端口回送ACK。

交换网给两个N端口间分配回路。

一旦建立连接,在撤销连接之前交换网应保持两个N端口间的回路。

规则:

Ø建立连接前应先登录,撤销连接前需一直保持连接,撤销连接前只能与连接的N端口通信;

Ø发送方对每个数据帧分配递增的SEQ_CNT,每个帧都包含各自的S_ID、D_ID、OX_ID、RX_ID。

交换网顺序交付;

Ø已建立连接的两个N端口可发起多个交换,启动多个序列。

ØN端口负责端到端流控制,目的端口对每个有效数据帧确认ACK。

除SOFc1外,1类服务帧只有端到端流控制,SOFc1既参与端到端流控制,又参与缓冲区到缓冲区流控制。

Ø交换网可拒绝1类连接请求或发送带原因的F_BSY。

建立专用连接后,交换网不再干涉连接,目的N端口不能发送忙帧,但可发送拒绝帧。

当第三个N端口把2类服务帧或3类服务帧发送到已经建立连接的N端口,交换网给2类服务帧回送一个FBSY,对3类服务帧丢弃。

Ø1类帧、1类SOFc1帧与2类服务帧都参与EE_Credit控制。

ØN端口和F端口应可以识别所有服务类的SOF,并给出正确的响应。

7.22类服务:

多路复用

2类服务是在两个N端口间提供带有未交付通知的无连接服务。

规则:

Ø接收N端口,发送N端口要完成登录;

Ø目的端口对每个有效数据帧确认ACK。

发送方对每个数据帧分配递增的SEQ_CNT,每个帧都包含各自的S_ID、D_ID、O

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

当前位置:首页 > 经管营销 > 经济市场

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

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