深度分析FCOE初始化协议FIP

在前面的文章中我有介绍了FCOE(Fibre Channel Over Ethernet)协议状态协商过程原理,在这篇文章中我详细的解析了整个FCOE的交互过程,而今天要分享的是FCOE协商过程的子过程中初始化协议FIP(Fabric Initialization protocal)。
FIP初始化协议的作用是什么呢?简单的说FCOE协议就是指FC协议承载在以太网上的一种新型的协议,那么要让FC协议正常的在以太网中运行,需要协商一些参数以便更好的在以太网上运行。FIP的作用就是协商这些参数。
FIP初始化协议是FCoE控制平面相对FC控制平面新增的协议,协商过程包含四个阶段:1. vlan发现、2. fcf发现、3. 虚链路建立、 4. 虚链路维护,这四个阶段主要完成以下功能。
第一阶段:vlan发现:在FCOE网络中需要将fcoe的vsan映射到指定一个专用vlan中,而vlan发现阶段就是获取FCoE流量所使用的VLAN。
服务器Node节点发送一个目标mac为组播地址vlan discover request报文,本地所有FCF(FCOE交换机)都会监听到这个MAC地址,并对该FIP VLAN Discovery 进行响应,响应报文中携带了FCOE协议可以使用VLAN信息。获取FCoE流量所使用的VLAN;
第二阶段:FCF发现:这个阶段的作用是发现本地所有的FCF优先级最高的设备并与其建立虚链路。
经过上一阶段vlan发现后,从这个阶段开始,fcoe报文所携带的vlan就是上面协商的vlan id。
服务器Node节点发送一个目标mac为组播地址soliciation 报文,本地所有FCF(FCOE交换机)都会监听到这个报文,并对其回应一个unicast Advertisement报文,这个Advertisement报文中携带了fcf 优先级,fcf mac等信息。node节点收到多个Advertisement报文之后,会选择一个优先级最高的设备与其建立虚链路。
这里要注意的是FCF也可能定期的发送组播Advertisement报文。
第三阶段:虚链路建立:这个阶段是用于建立虚链路vlink。FCOE与fc不同,需要在以太网通道中建立一个虚拟的fc通道用于传输fcoe报文。
这个阶段有两种情况:如果服务器node节点的接口是物理接口就使用FLOGIC报文进行登录,如果是服务器node节点虚拟出的npiv接口就使用fdisc报文进行登录建立虚链路。但是两种情况的作用都是一样的,建立虚链路,他们之间的区别是一个是物理接口使用的注册报文,一个是虚拟接口使用的注册报文。FCF收到node发送的flogic/fdisc报文后,会回复一个确认报文,报文中携带了分配给node节点的FC_ID。
所以实际上这个阶段有两个作用,一个是建立虚链路一个是分配FC_ID。
最后一个阶段:虚链路维护:同其他很多协议一样,FCOE也需要一个机制来保活邻居,这就是这个阶段的作用。
在建立虚链路后,就会启动保活定时器,node节点会定期发送keeplive报文,默认情况下8000ms发送一次keeplive,当2.5倍的keeplive时间内也就是20s内fcf没有收到node节点发出的keeplive报文,fcf认为node已经掉线,会马上发送clear vlink的报文,清除虚链路。
以上就是FIP的四个阶段的分析,希望本文对学习FCOE技术有所帮助。

weinxin
DC Farm小程序二维码
扫一扫添加博客小程序
Jim

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:5   其中:访客  3   博主  2

    • avatar spookzang 1

      学习了~~

      • avatar 蒸汽挂烫机哪个好 1

        朋友,好啊,能换个友情链接吗?

        • avatar capl 0

          hi,可以发个CNA侧抓到的FIP握手报文吗?用于学习.

            • 激劉勇靖 激劉勇靖 Admin

              @capl 谢谢提醒,我再添加一下实际报文的分析,更直观的了解协商过程。