FC网络学习笔记01
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的更多相关文章
- FC网络学习笔记02 -网络配置方法
随着新一代飞机的综合化航电系统对通信需求的不断提高,传统的ARINC429.1553B总线的传输速率分别只有100Kbps和1Mbps,其带宽已远远不 论文联盟 http://Www.LWlm.cOm ...
- 软件测试之loadrunner学习笔记-01事务
loadrunner学习笔记-01事务<转载至网络> 事务又称为Transaction,事务是一个点为了衡量某个action的性能,需要在开始和结束位置插入一个范围,定义这样一个事务. 作 ...
- Redis:学习笔记-01
Redis:学习笔记-01 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 1. Redis入门 2.1 ...
- C++ GUI Qt4学习笔记01
C++ GUI Qt4学习笔记01 qtc++signalmakefile文档平台 这一章介绍了如何把基本的C++只是与Qt所提供的功能组合起来创建一些简单的图形用户界面应用程序. 引入两个重要概 ...
- SaToken学习笔记-01
SaToken学习笔记-01 SaToken版本为1.18 如果有排版方面的错误,请查看:传送门 springboot集成 根据官网步骤maven导入依赖 <dependency> < ...
- PHP 学习笔记 01
例子: 为什么要学PHP 主观原因: 前段时间在学校处理了毕业的一些事情,回到上海后开始了找工作的旅程.意向工作是WPF开发或者ASP.NET 作为后端的WEB开发. 陆陆续续一直在面试,其中有一家公 ...
- vue.js 2.0 官方文档学习笔记 —— 01. vue 介绍
这是我的vue.js 2.0的学习笔记,采取了将官方文档中的代码集中到一个文件的形式.目的是保存下来,方便自己查阅. !官方文档:https://cn.vuejs.org/v2/guide/ 01. ...
- [原创]java WEB学习笔记01:javaWeb之tomcat的安装和配置
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- 学习笔记01:《开放平台产品成长之路-POP》
当看到一些比较好的书籍和视频内容时,希望自己可以总价归纳下来,一方面是好的东西希望可以分享给大家,另一方面希望自己能很好的吸收并转化成掌握的知识,所以有了这个系列的学习笔记,共勉,今天的你比昨天更博学 ...
随机推荐
- Inspiron 14 7000 系列 (7447) 游匣14 拆机图
Inspiron 14 7000 系列 (7447) 游匣14 拆机图 游匣配置不多说,i5起步,标配4G GTX850M显卡,这么霸道的配置给我玩扫雷肯定不卡.配置高功耗就大,不过游匣的散热 ...
- POJ 3687 Labeling Balls 逆向建图,拓扑排序
题目链接: http://poj.org/problem?id=3687 要逆向建图,输入的时候要判重边,找入度为0的点的时候要从大到小循环,尽量让编号大的先入栈,输出的时候注意按编号的顺序输出重量, ...
- 转:Redis Geo: Redis新增位置查询功能
原文来自于:http://www.infoq.com/cn/news/2015/07/redis-geo 移动互联网增进了人与人之间的联系,其中基于位置信息的服务(Location Based Ser ...
- String的一些细节
String 常量池问题 (1) 字符串常量的"+"号连接,在编译期字符串常量的值就确定下来, 拿"a" + 1来说,编译器优化后在class中就已经是a1. ...
- 【Xamarin挖墙脚系列:配置Mac之间的连接问题】
原文:[Xamarin挖墙脚系列:配置Mac之间的连接问题] 首先建议把MAC的防火墙关掉,呵呵, 其次,去设置里,允许所有用户远程登录连接MAC
- Java+JQuery实现网页显示本地文件目录(含源码)
原文地址:http://www.cnblogs.com/liaoyu/p/uudisk.html 源码地址:https://github.com/liaoyu/uudisk 前段时间为是练习JQuer ...
- Wide character in print at a2.pl line 返回json 需要encode_utf8
centos6.5:/root/test#cat a2.pl use Net::SMTP; use LWP::UserAgent; use HTTP::Cookies; use HTTP::Heade ...
- FindBugs
FindBugs是一个能静态分析源代码中可能会出现Bug的Eclipse插件工具. 可以从http://sourceforge.net/project/showfiles.php?group_id=9 ...
- Oracle core03_ACID
ACID特性 oracle如何使用undo和redo来保证了关系数据库的ACID特性. ACID的特性简单描述为: Atomic:以事务为单位的原子性 Consistency:保证数据一致性 Isol ...
- HDU 5963 朋友 【博弈论】 (2016年中国大学生程序设计竞赛(合肥))
朋友 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Problem Descr ...