1.Fibre Channel 也就是“网状通道”的意思,简称FC,可以称其为FC协议。FC网络或FC互联。

2.像TCP/IP一样,FC协议集同样具备TCP/IP协议集以及以太网中的概念,比如FC交换、FC交换机、FC路由、FC路由器、SPF路由算法等。完全可以类比的看待TCP/IP协议以及FC协议,他们都遵循OSI模型。

FC协议体系物理层

1)具有比较高的速度,从1Gb/S、2Gb/S、4Gb/S到当前的8Gb/S

2)为了保证传输过程中的电直流平衡、时钟恢复和纠错等特性,其传输编码方式采用NMb编码方式。

3)为了实现远距离传输,传输介质起码要支持光纤。(铜线会受到距离的限制)。

4)FC协议中的物理层的电器子层名为FC0,编码子层名为FC1。

FC协议体系链路层

帧:将上层发来的一定数量的位流打包加头尾在进行传输。

1.字符编码以及FC的帧结构

1)FC协议在链路层也是成帧的。

2)FC协议定义了一系列的帧控制策略及对应字符——有序集(FC协议的字符集)

3)FC协议定义了一个24字节的帧头,其中包含了寻址功能和传输保障功能,网络层和传输层都用这24字节的信息来传递。

2.FC链路层流量控制

1)端到端的流量控制

2)缓存到缓存的流量控制

3.MTU(最大传输单元)

FC链路层的MTU可以到达2112字节

FC协议体系网络层——FC-AL和Fabric

1.FC-AL

1)仲裁环路(类似于以太网共享总线拓扑),一个环路能接入的最多节点是128个,由于专用地址、广播地址对地址的占用,最后只剩下127个实际可用的地址

2)仲裁环:是一个由所有设备“串联”形成的闭合环路,数据包按顺时针方向传输。通过旁路电路(Bypass Circuit)可将环路中故障接口短路,从而使得整个环路将这个故障的设备Bypass掉,不影响其他设备的工作。

3)接入环路的节点不管有多少,其带宽总是恒定的,即共享的环路带宽。

2.Fabric

Fabric拓扑和以太网的交换拓扑类似。

1)Fabric的意思是“网状构造”,这种拓扑其实是一种网状交换矩阵。

2)交换矩阵对于仲裁环路来说,其转发效率大大提高,连入这个矩阵的所有节点之间都可以进行点对点通信,加上包交换方式所带来的并发和资源充分利用的特性,使得交换架构获得的总带宽为所有端口带宽之和。

3)这种矩阵被做成集成芯片集成到专门的交换机上,然后辅以实现FC逻辑的其他芯片或CPU、ROM,就形成了一台用于Fabric交换的交换机。

4)FC交换拓扑寻址容量是2的24次方个地址。

3.寻址

1)WWNN

(1)像以太网端口MAC地址一样,FC网络中的每个设备自身都有一个WWNN,不管这个设备有多少个端口

(2)WWNN一般被写入设备的ROM中不能改变,某些条件下也可以通过运行在设备上的程序动态的改变。

2)WWPN

(1)FC设备的每个端口都有一个WWPN地址

(2)WWPN的地址长度是64位

3)WWPN和三个ID

(1)给每个连接到FC网络的接口分配一个Fabric ID,用这个ID而不是WWPN来嵌入链路帧中做路由。该ID长24位,高8位被定义为Domain区分符,中8位被定义为Area区分符,低8位定义为PORT区分符。这样WWPN被映射到Fabric ID。

(2)Domain ID 用来区分由众多交换机组成的大的FC网络中每个FC交换机本身。

(3)Area ID 用来区分同一台交换机上的不同端口组。

(4)PORT ID 用来区分一个Area中的不同Port

(5)经过这样的3段式寻址体系,可以区分一个大的Fabric中的每个交换机、交换机中的每个端口组及每个端口组中的端口。

4.寻址过程

1)编址过程

(1)当一个接口连接到FC网络中时,如果是Fabric架构,那么这个端口会发起一个登录注册到Fabric网络中的动作,也就是向目的Fabric ID 地址FFFFFE发送一个登录帧。

(2)交换机收到地址为FFFFFE的帧之后,会动态的给这个接口分配一个24位的Fabric ID ,并记录这个端口对应的WWPN,做好映射。

(3)此后这个端口发送的帧中不会携带其WWPN,而是携带其被分配的ID作为源地址。

(4)如果接口是连接到FC仲裁环网络中,那么整个环路上的节点会选出一个临时节点(根据WWPN号的数值,最小的优先级最高)。然后由这个节点发送一系列的初始化帧,给每个节点分配环路ID。这里是选出的临时节点先得到一个ID,然后再由这个临时节点向环路中的其他节点分配ID 。

2)寻址机制

(1)如果将几台交换机连接成一个FC网络,则他们会自动鞋上自己的Domain ID ,这个过程是通过选举出一个WWPN好最小的交换机来充当主交换机,由主交换机来向下给每个交换机分配Domain ID ,以确保不会冲突。

(2)寻址过程中的路由协议——SPF(最短路径优先)协议

(3)每个节点在登录到FC网络并被分配ID之后,会进行一个名称注册过程,也就是接口上的设备会向一个特定的目的ID(名称服务器)发一系列的注册帧,来注册自己,这样FC网络上的每个注册过后的节点信息都会被记录到那个特定的ID(名称服务器)上。节点被注册到名称服务器上之后,服务便会将网络上存在的其他节点信息告诉这个接口上所连接的设备。所以这个接口上的设备就知道了网络上的所有节点和资源。

3)ZONE

(1)为安全性考虑,可以对节点ID进行认为配置,让名称服务器只告诉某个设备特定的节点。这中叫做软ZONE

(2)就算是被隐藏了某个节点的ID,两个互不相识的节点也可以进行通信,是不经过交换机而直接通信,就像两台计算机直接用网线链接通信一样。但是如果两个节点间没有了物理连接,又互相隐藏了ID,则两者之间不可能进行通信了,这叫做硬ZONE。

(3)ZONE,即分区,同一个分区内的节点可以通信,不同分区之间的节点如果相互隐藏了ID则无法进行通信。

5.FC的链路层和传输层被合并成一层,统称为FC2

FC协议体系传输层

1.FC的传输层也与TCP类似,也对上层的数据流进行Segment,而在FC传输层,这种Segement被叫做Iformation Unit,并且通过FC的Exchange ID 来区分上层程序。

2.FC传输层将Unit提交给FC的下层进行传输,下层将每个Unit当作一个Sequence,并给与一个Sequence ID ,然后再讲这个Sequence再次分割成FC所适应的帧,并给每个帧赋予一个Sequence Count,这样便可以保证帧的排列顺序。

3.传输层还有一个重要的角色,即适配上层协议,FC会提供适配上层协议的接口。

4.FC也是通过发送ACK帧来向对方发送确认信息的。

5.FC传输层上定义的几种服务类型

1)Class 1 服务类型:面向连接的服务

2)Class 2 服务类型:端到端确认的保障传输服务

3)Class 3 服务类型:不提供确认

4)Class 4 服务类型:在一条连接上保留一定的带宽资源给上层应用。

FC协议的上三层

表现为各种Login过程、包括名称服务在内的各种服务等

小结

1.FC是一个高速高效,配置简单,不需要太多人为介入的网络。

2.FC协议的大部分逻辑被直接做到一块独立的硬件卡片当中,而不是运行在操作系统中,如果将部分协议逻辑置于主机上运行,会占用主机CPU内存资源

3.FC协议物理层到传输层的逻辑,大部分运行在FC适配卡的芯片中,只有小部分关于上层API的逻辑运行于操作系统FC卡驱动程序中,这样就使得FC协议的速度和效率都较TCP/IP协议高

FC网络学习笔记01的更多相关文章

  1. FC网络学习笔记02 -网络配置方法

    随着新一代飞机的综合化航电系统对通信需求的不断提高,传统的ARINC429.1553B总线的传输速率分别只有100Kbps和1Mbps,其带宽已远远不 论文联盟 http://Www.LWlm.cOm ...

  2. 软件测试之loadrunner学习笔记-01事务

    loadrunner学习笔记-01事务<转载至网络> 事务又称为Transaction,事务是一个点为了衡量某个action的性能,需要在开始和结束位置插入一个范围,定义这样一个事务. 作 ...

  3. Redis:学习笔记-01

    Redis:学习笔记-01 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 1. Redis入门 2.1 ...

  4. C++ GUI Qt4学习笔记01

    C++ GUI Qt4学习笔记01   qtc++signalmakefile文档平台 这一章介绍了如何把基本的C++只是与Qt所提供的功能组合起来创建一些简单的图形用户界面应用程序. 引入两个重要概 ...

  5. SaToken学习笔记-01

    SaToken学习笔记-01 SaToken版本为1.18 如果有排版方面的错误,请查看:传送门 springboot集成 根据官网步骤maven导入依赖 <dependency> < ...

  6. PHP 学习笔记 01

    例子: 为什么要学PHP 主观原因: 前段时间在学校处理了毕业的一些事情,回到上海后开始了找工作的旅程.意向工作是WPF开发或者ASP.NET 作为后端的WEB开发. 陆陆续续一直在面试,其中有一家公 ...

  7. vue.js 2.0 官方文档学习笔记 —— 01. vue 介绍

    这是我的vue.js 2.0的学习笔记,采取了将官方文档中的代码集中到一个文件的形式.目的是保存下来,方便自己查阅. !官方文档:https://cn.vuejs.org/v2/guide/ 01. ...

  8. [原创]java WEB学习笔记01:javaWeb之tomcat的安装和配置

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  9. 学习笔记01:《开放平台产品成长之路-POP》

    当看到一些比较好的书籍和视频内容时,希望自己可以总价归纳下来,一方面是好的东西希望可以分享给大家,另一方面希望自己能很好的吸收并转化成掌握的知识,所以有了这个系列的学习笔记,共勉,今天的你比昨天更博学 ...

随机推荐

  1. linux中轻松使用backspace和上下按键

    linux下使用sqlplus真是太费事儿了,backspace和上下键均出现乱码.在公司服务器上操作时,只能先用delete代替backspace,上下键就直接重新输入代替了,很费时间.今天在自己机 ...

  2. iis post 请求.html文件报405

    其实本地文件默认是不允许post请求的,但是需要配置一下,配置如下: 我的iis版本是8.5             当然默认也是不能post请求  *.html或是*.json的的文件的,这个问题困 ...

  3. ASP.NET State Service服务

    ASP.NET State Service服务是用来管理 Session 的,正常来说,Session 位于IIS进程中(其实可以理解成在服务器的内存中),当IIS重启或程序池回收会自动清空Sessi ...

  4. Sublime Text 3 若干问题解决办法

    1.在高分屏下中文文件夹名显示异常问题解决办法 新买了个2K的屏,有些中文文件夹名全部变成了“口口”. 在“preferences” - "设置-用户" 添加 "dpi_ ...

  5. Python零散收集:

    Python零散收集 转义字符 描述 \(在行尾时) 续行符 \\ 反斜杠符号 \’ 单引号 \” 双引号 \a 响铃 \b 退格(Backspace) \e 转义 \000 空 \n 换行 \v 纵 ...

  6. Android 程序框架设计

    这篇文章主要内容来自于之前我讲的一个PPT文档,现在将其整理如下.欢迎指正.以下的内容都是来自于我自身的经验,欢迎大家多提自己的建议. 1.一些概念 模式的定义: 每个模式都描述了一个在我们的环境中不 ...

  7. java.math.BigInteger使用心得总结(转)

    今天参考课本写了一个关于二进制与十进制转换的程序,程序算法不难,但写完后测试发现不论是二转十还是十转二,对于大于21亿即超过整数范围的数不能很好的转换.都会变成0.参考书籍发现使用使用BigInteg ...

  8. linux命令中,执行一个程序,后面加上&, 代表的意思是什么?

    后台执行.也就是执行这个程序的同时,你的终端同时还能够做其他的事情,如果不加这个符号,那么你执行这个程序后,你的终端只能等这个程序执行完成才能够继续执行其他的操作 . 如:启动etcd: ./etcd ...

  9. 【转】Android源代码编译命令m/mm/mmm/make分析--不错

    原文网址:http://blog.csdn.net/luoshengyang/article/details/19023609 在前文中,我们分析了Android编译环境的初始化过程.Android编 ...

  10. HDU-1874 畅通工程续 (最短路径启蒙题)

    hdu 1874比较基础,拿来练各种刚学会的算法比较好,可以避免好多陷阱,典型的最短路模板题 畅通工程续 Time Limit: 3000/1000 MS (Java/Others)    Memor ...