FCOE笔记.docx_第1页
FCOE笔记.docx_第2页
FCOE笔记.docx_第3页
FCOE笔记.docx_第4页
FCOE笔记.docx_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

FC拥有自己的独立层次结构,FC-0到FC-4对应OSI模型的1-5层,但也并非一一对应,完整协议内容请大家自行查阅标准文档。其中FC-2定义了数据通信的内容,是与网络方面息息相关的,下面介绍的内容也都是以FC-2为主。在FC网络中一共有三种主要的接口角色,NPort,FPort和EPort,其中N是服务器或存储等终端节点连接FC网络的的接口,F是FC交换机设备连接服务器或存储等终端节点的接口,E是FC交换机互联接口。FC设备都拥有2个重要标识:WWN(World Wide Name):64bit,节点和每个接口都有各自固定的WWN且所有的WWN均是唯一的,WWN的作用是为了身份识别和安全控制,有些类似于MAC,但不做转发寻址使用。 FC ID:24bit,由8个bit的Domain ID,8bit的Area ID和8bit的Port ID组成,每个Domain ID代表一台FC Switch(由此可以算出每个FC网络最多支持256个Switch节点,减去部分保留ID,实际能够支持最多239个Switch)。终端节点的FC ID是基于接口的,每个NPort的FC ID是由直连的FC Switch动态分配。FC ID的主要作用就是供数据报文在FC网络中寻址转发。有了标识的Tag,那么就需要个动态协议供FC Switch互相学习了,FC网络使用FSPF(Fabric Shortest Path First)进行FC ID的寻址学习,看名字就知道其协议机制和OSPF没有什么大的区别。FC技术体系还有最重要的一个关键流控技术Buffer to Buffer Credits用来确保无丢包转发。BB Credits和TCP滑动窗口相似,规则很简单,两个相邻FC节点在连接初始化的时候先协商一个度量收包设备Buffer大小的数值N出来,发包设备每发一个数据报文就做N-1,收包设备每收一个报文就回一个R_RDY报文回来,发包设备每收到一个R_RDY就做N+1,当N=0时,发包设备就停止发包。这样当突发拥塞时,上游设备们都把报文存在本地缓存中等着,下游有空间时再发,可以最简单的避免丢包。BB Credits是以报文数目衡量buffer能力,与报文长度无关(FC报文最大长度2112Byte)。 FC设备(一般指服务器,称为Initiator)在传输数据之前需要进行两步注册动作,NPort先通过FLOGI(Fabric Login)注册到最近的Fabric交换机上,获取FC ID及其他一些服务参数并初始化BB Credits。然后再通过PLOGI(Port Login)注册到远端的目的设备(一般指存储,称为Target)的NPort上建立连接,并在P2P直连的拓扑下初始化BB Credits。 FC从标准建立伊始就开始被研究跨传统TCP/IP/Ethernet网络传播,目前主要有iSCSI(IP SAN)、FCIP、iFCP和FCoE四条道路。其中FCIP和iFCP应用最少,iSCSI缓慢增长,FCoE后来居上。SCSI也做过一些研究,后面有专门文章。FCP(Fibre Channel Protocol)是用来协助SCSI进行寻址的协议。iSCSI、FCIP和iFCP都是依靠TCP的可靠连接确保无丢包,但封的报头多了开销很大。iSCSI由于需要全新的存储设备支持,过于激进,目前虽然有发展,但是受传统存储设备厂商制约始终很缓慢。FCIP和iFCP都是支持FC网络跨IP核心网传输时用到的网络协议,由于目前SAN还是本地组网或使用光纤直连方式的远程组网较多,此场景并不多见,因此也应用很少,其中FCIP已经成为RFC,而iFCP止步于Draft。FCoE相比较来说对上层协议改动较少,开销较低,且有利于减少服务器网络接口数量,在传统交换机厂商的大力鼓吹下当前发展最为迅猛,数据中心网络毕竟会是交换机的天下。 FCoE基于FC模型而来,仍然使用FSPF和WWN/FC ID等FC的寻址与封装技术,只是在外层新增加了FCoE报头和Ethernet报头封装和相应的寻址动作,可以理解为类似IP和Ethernet的关系。看一下FCoE的帧结构: 寻址稍微说一下,FCoE使用FIP(FCoE Initialization Protocol)进行初始化连接,FIP运行于VFPort和VNPort之间或VEPort之间,所谓的V就是前面介绍FC的接口角色中的名称前面加了个Virtual。FCoE使用FIP(FCoE Initialization Protocol)进行初始化连接,FIP运行于VFPort和VNPort之间或VEPort之间,所谓的V就是前面介绍FC的接口角色中的名称前面加了个Virtual。FIP在接口使能后一共做了三件事:1.FIP VLAN Discovery 过程FIP VLAN Discovery 过程用于发现 FIP 协议以及后来的 FCoE 中使用的 FCoE VLAN 。ENode 首先向一个所谓的All-FCF-MACs的 MAC 地址发送 FIP VLAN Discovery Request 。本地 VLAN 上的所有的 FCFs (Fibre Channel Forwarder) 都会监听这个 MAC 地址,并对该地址上的 FIP VLAN Discovery 进行响应, 向 ENode 发送 ENode 可以进行 VN_Port Login 的 FCoE VLAN 。FIP VLAN Discovery 是一个可选的步骤,它的作用仅仅是告诉 ENode 可用的 VLAN, 但并不会引发 ENode 对 VLAN 进行选择。2.FIP FCF DiscoveryFIP FCF Discovery 用于发现那些 FCFs 可以接受 ENodes 的 LOGIN。 FCFs 会定时地向 FCoE VLAN 上的 ALL-ENode-MACS 发送 FIP FCF Discovery Advertisement 。All-ENode-MACs与前面的All_FCF-MACs对应,该地址被所有的 ENodes 监听。 这些 Advertisement 中包含了 FCF 的 MAC 地址,以及一些建立链接所需的其他参数。FCF 会定时的发送这些 Advertisement,然而对于新添加的 ENodes 来讲, 这些 ENodes 一般不愿意在启动之后傻等着“收看广告”,对此,ENode 可以向All-FCF-MACs发送 solicit unicast Advertisement 。FCFs 在接收到这个单播之后,会向发送的 ENode 发送一个 unicast FIP FCF Discovery Advertisement。ENode 在收集到了足够的信息之后,就可以决定和哪一个 FCF 建立连接了。3.FIP FLOGI 以及 FDISCENode 在发现了所有的 FCFs 并选了了待 Login 的 FCF 之后, FIP 过程最后的一步就是通知所选择的 FCF: 我要和你的 VF_Port 建立虚拟连接了! 这个过程中可能会涉及到多个 FIP 数据包,并最终为 N_Port 分配 FC_ID。FIP 协议交互和虚拟链接的建立一般来讲,这两个协议的发起者都是 Initiator, 但某些情况下, FCFs 也可能会主动发送一些广播信息。图中,红色部分采用的是 FIP 协议,而绿色部分,则是建立链接以后,使用的是 FCoE 协议。FIP帧格式:FCF(Fibre Channel Forwarder)是FCoE里面重要的角色,可以是软件或者芯片硬件实现,需要占用Domain ID,处理FCoE交换机中所有与FC相关的工作,如封装解封装和FLOGI等。Enode是指网络中所有以FCoE形式转发报文的节点设备,可以是服务器CAN网卡、FCoE交换机和支持FCoE的存储设备。FCoE外层封装的Ethernet报头中MAC地址在Enode间是逐跳的,而FC ID才是端到端的。下图是一个 ENode 的 VN_Port 与 FCFs 的 VF_Port 的链接示意图:FCoE VN_Port to VF_Port Example图中,蓝色的实线表示 Ethernet 连接,绿色的实线表示 Fibre Chanle连接,而红色的虚线则表示虚拟的 VN_Port 和 VF_Port 的连接。每个 ENode 和 FCF 都有唯一的一条网线接入 Ethernet, 而在这些 Ethernet 连接之上,则可以虚拟出多个 VN_Port 与 VF_Port 的连接。VE_Port to VE_Port Virtual Links :图中线条颜色的含义与前面的图类似,不过红色的虚线在这里表示了 VE_Port 和 VE_Port 之间的虚拟链接。 从图中可以看出,每个 FCF 可以拥有多个 VE_Port,通过 Ethernet 连接,实现了多个 VE_Port 的虚拟链接。从前面的两附图可以看出: 一个 ENode 可以通过一个无损 EtherNet 与多个 FCF 建立虚拟链接。 一个 FCF 可以通过一个无损 Ethernet 与多个 Enode 建立虚拟链接。 一个 FCF 可以通过无损 Ethernet 与多个其他的 FCF 建立虚拟链接。ENode 模型如下图所示:ENode Model对于每一个 NIC,都对应惟一的一个 FCoE Controller, Linux 中, 当为指定的网卡创建 FCoE 实例的时候,会自动创建响应的 FCoE Controller 。FCoE Controller 的主要作用包括: 发起 FIP VLAN Discovery 以搜索可用的 VLANs (可选); 对 FCF 发起 FIP discovery 以所搜该 FCF 上可用的 VF_Port。 向 FCF 发起 FIP FLOGI Exchange , 如果该 FLOGI 成功,则还需要 VN_Port/FCoE_LEP 对。 发起 FIP NPIV FDISC Exchange (可选)。 当需要显示的从 FCF 中 Logout 时候,发起 FIP LOGO Exchanges。 当 VN_Port 从 FCF 中 logout 后,反实例化 VN_Port/FCoE_LEP (也就是删除响应的数据

温馨提示

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

评论

0/150

提交评论