我们在《史上最详细FCOE协议状态协商过程原理剖析》一文已经详细阐述了FCOE协议交付过程,相信大家对FCOE协议已经有了比较清晰的理解。今天就重点介绍FCOE交互过程的主要报文类型的作用及主要字段的作用。
FCOE协议协商过程中几种主要报文介绍:

一、 FIP报文:
FIP报文分为:
(1)sociation报文:这个报文用于发现FCF设备。
(2)Advertisement报文:报文是个jamborm帧,以确认链路是否能支持这样的mtu.其中FC-MAP信息用于提供给主机生成基于VN_Port的MAC地址FPMA地址。如果主机收到多个交换机发出的SUDA报文后,将从此报文中description priority字段获取到优先最高的做为建立虚链路的交换机设备。
(3)vlan发现报文:用于发现当前vsan属于哪个vlan,此后的报文携带什么vlan tag。
二、 FLOGI/FDISC(fabric login)
FLOGI(fabric login els)提供了一种N模式端口向Fabric请求登陆的方式。
FLOGI/FDISC完成如下功能。
(1)N模式接口通过发出FLOGI及收到关于FLOGI的应答,能够确认该N模式接口是点对点拓扑还是Fabric拓扑。
(2)Fabric向N模式接口提供与Fabric相关的工作特性(如是否支持CLASS2/CLASS3的FC帧转发)、F模式接口名称标识和Fabric名称标识。
(3)N模式接口向Fabric提供与该N模式接口相关的工作特性、N模式接口名称和名称标识。
(4)Fabric向发起FLOGI的N模式接口分配或确认地址标识。
(5)初始化N模式接口和F模式接口相关的Buffer-to-Buffer流控。
(6)若N模式接口和Fabric都支持认证,随后N模式接口向Fabric进行认证。
(7)如果N模式接口和Fabric都支持虚拟Fabric,N模式接口和Fabric随后进行虚拟Fabric参数协商。
(8)如果Fabric支持S_ID为0的FDISC,N模式接口和Fabric可能交换潜在用途和可用性的地址标识资源信息。
三、 PLOGI(N_PORT LOGIN)报文
PLOGI提供了一种N模式接口向另一N模式接口请求登陆的方式;该PLOGI应在完成FLOGI过程之后进行的,先于两接口间数据帧的传递。
PLOGI完成如下功能:
(1)两N模式接口间相互提供与各自相关的工作特性(如是否支持收发CLASS2/CLASS3的FC帧)、FC接口名称标识和节点名称标识。
(2)如果不存在Fabric(即拓扑为点对点拓扑),向这两个N模式接口分配地址标识。
(3)若两个N模式接口间支持收发CLASS2的FC帧,则初始化这两个FC接口间的端到端流控。
四、dNS报文:
这个dNS报文并不是我们常见的域名服务,这里指的distribution name service 分布式名称服务,dNS报文类型有很多种,以后会单独一篇文章介绍,这里就不详细说明,主要了解一下这种类型报文:分为两种其中一种是get报文:获取其他节点的FCID,WWPN,WWN等等,还有一种是注册报文,用于注册WWPN,WWN等信息。
五:SCR和RSCN报文:
SCR:主机端口通过SCR向交换机注册所关注特定事件变化通告
RSCN: 当端口通过SCR注册关注特定事件变化通告后,在FC拓扑中出现相应的事件变化时,该事件通告将通告RSCN 送交到已注册的端口;已注册的端口收到这些RSCN后,将依据其中的内容进行相应的处理。
N模式接口通过向Fabric发送SCR注册关注特定事件变化通告后,在Fabric拓扑中出现相应的事件变化时,该事件通告将通过RSCN送交到这些已发送SCR注册的N模式接口;这些N模式接口收到RSCN后,将依据其中的内容进行相应的处理。
SCR/RSCN典型应用场景包括:
1、 如磁盘加入或者退出Fabric。
2、 名称服务器注册发生改变。
3、 对于任何影响主机操作的行为。
六、PRLI:进程登录
作用:获取对端节点是发起端还是存储设备。
七、LOGO报文:LOGO报文分为
FLOGO和PLOGO两种。
FLOGO: 扩展链路服务为移除两个N模式接口间或一个N模式接口和Fabric间的服务提供了一种方法。当FLOGIC完成虚链路建立后,如果不想使用这条链路或是出现故障时主机会发出flogo,退出链路,链路无效。正常情况下要进行后面的
PLOGIC和fc转发都要使用这条链路,正常是不会发flogo.
PLOGO:协议上规定主机在完成name server注册和获取注册信息后,就要发出PLOGO表示完成注册和获取到其他的主机的注册信息。有可能是完成所有ns信息后发一次logo,也有可能每次都发一个logo.主机和交换机都有可能发logo.PLOGO是由N模式接口A向另N模式接口B发起的。
FLOGO可以由N模式接口向Fabric发起(目的地址标识为FFFFFEh),也可以由Fabric向N模式接口发起(源地址标识为FFFFFEh)。
