fc协议有哪些数据传输服务器,FC协议详解

FC

协议简介

开发于1988年,最早是用来提高硬盘协议的传输带宽,侧重于数据的快速、高效、可靠传输。到上世纪90年代末,

FC

SAN

开始得到大规模的广泛应用。

FC

协议其实并不能翻译成光纤协议,只是FC协议普遍采用光纤作为传输线缆而不是铜缆,因此很多人把FC称为光纤通道协议。在逻辑上,我们可以将FC看作是一种用于构造高性能信息传输的、双向的、点对点的串行数据通道。在物理上,FC是一到多对应的点对点的互连链路,每条链路终结于一个端口或转发器。FC的链路介质可以是光纤、双绞线或同轴电缆。

FC协议栈

41888025_1.jpg

FC-0:连接物理介质的界面、电缆等;定义编码和解码的标准。

FC-1:传输协议层或数据链接层,编码或解码信号。

FC-2:网络层,光纤通道的核心, 定义了帧、流控制、和服务质量等。

FC-3:定义了常用服务,如数据加密和压缩。

FC-4:协议映射层,定义了光纤通道和上层应用之间的接口,上层应用比如:串行

SCSI

协 议,HBA卡的驱动提供了FC-4 的接口函数。FC-4 支持多协议,如:FCP-

SCSI

,FC-IP,FC-VI。

光纤通道的主要部分实际上是FC-2。其中从FC-0到FC-2被称为FC-PH,也就是“物理层”。光纤通道主要通过FC-2来进行传输,因此,光纤通道也常被成为“二层协议”或者“类以太网协议”。

在此重复:光纤通道并不是

SCSI

的替代;一般而言SCSI是光纤通道的上层。光纤通道一 般是指FC-PHY层:FC0-FC2。术语FCP,即光纤通道协议,是指对SCSI的界面协议或FC-4层映射。我们这里讨论的是光纤通道的内在工作原理,而不是指光纤通道协议。

光纤通道的数据单元叫做帧。即使光纤通道本身就有几个层,大部分光纤通道是指第2层协议。一个光纤通道帧最大是2148字节,而且光纤通道帧的头部比起广域网的IP和TCP来说有些奇怪。光线通道只使用一个帧格式来在多个层上完成各种任务。帧的功能决定其格式。相比我们在IP世界中的概念,光纤通道帧格式是奇特而且奇妙的。

光纤通道帧起始于帧开始(SOF)标志,随后是帧头部,这个一会进行描述。数据,或光纤通道内容,紧随其后,然后是帧结束(EOF)。这样封装的目的是让光纤通道可以在需要时被其他类似于TCP的协议所承载。

FC协议交换方式

按照连接和寻址方式的不同,FC支持三种拓扑方式:

1. PTP(点对点):一般用于DAS(直连式存储)设置

41888025_2.jpg

服务器和存储设备在点对点的环境里都是N_PORT. 通过一条上行一条下行两条通道进行数据存储与读取。

2. FC-AL(光纤通道仲裁环路):采用FC-AL仲裁环机制,使用Token(令牌)的方式进行仲裁。光纤环路端口,或交换机上的FL端口,和HBA上的NL端口(节点环)连接,支持环路运行。采用FC-AL架构,当一个设备加入FC-AL的时候,或出现任何错误或需要重新设置的时候,环路就必须重新初始化。在这个过程中,所有的通信都必须暂时中止。由于其寻址机制,FC-AL理论上被限制在了127个节点。

41888025_3.jpg

FC-SW(FC Switchedl 交换式光纤通道):在交换式

SAN

上运行的方式。FC-SW可以按照任意方式进行连接,规避了仲裁环的诸多弊端,但需要购买支持交换架构的交换模块或FC交换机。

光纤信道(FC)中的基本实体是光纤信道网络,与一般分层网络不同的是,一个光纤信道网络很大程度上由功能单元以及各单元间接口所指定,各部分组成如下:

N_PORTs – 光纤信道流量终点;

FC Devices –N_PORT 访问的光纤信道设备;

Fabric Port – 光纤网络接口,连接 N_PORT ;

在 N_PORT 间传输数据帧的网络结构;

交换结构或混合结构下的一组辅助服务器,包括支持设备发现和网络地址解析服务的名称服务器。

主要的光纤信道网络拓扑组成如下所示:

Arbitrated Loop –N_PORTs 以菊花链(daisy-chain)形式连接在一起;

Switched Fabric – 由交换单元组成的网络;

Mixed Fabric – 由交换机和 "fabric-attached" 环路组成的网络。 L_PORT 将 loop-attached N_PORT (NL_PORT)与环路连接起来,并且 NL_PORT 通过 FL_PORT 接入该结构。

光纤通道的寻址方式

在数据中心网络中,光纤通道(FC:Fibre Channel)是通过 World Wide Name (

WWN

)来标识一个唯一的设备。

WWN

是一个 64 位的地址。WWN 对于光纤通道设备就像Ethernet 的MAC 地址一样都是全球唯一的,它们是由电器和电子工程协会(IEEE)标准委员会指定给制造商,在制造时被直接内置到设备中去的。

41888025_4.jpg

通常用 Node WWN 来标示每台不同的FC交换机,它是唯一的;对于FC交换机的端口,则使用Port WWPN 来标示交换机的端口。所以一个交换机只有一个 Node WWN 和多个 Port WWPN。 根据IEEE标准定义,WWN的定义方式有三种,可以见

《深度分析FC/FCOE中WWN的类型定义》

一文所述。

因为WWN的地址太长所以用这个地址来寻址的话会影响到路由的性能。这样光纤通道网络采用了另外一种寻址方案。这种方案是用基于交换光纤网络中的光纤端口来寻址称为FCID。基于交换光纤网络中的每个端口有一个唯一的 24 位的地址,FCID,这种FCID就类似TCP/IP中的IP地址。用这种 24 位地址方案,这样得到了一个较小的帧头,这能加速路由的处理。但是这个 24 位的地址必须通过某种方式连接到与World Wide Name 相关联的 64 位的地址。

在光纤通道(SAN)环境中,FC交换机它本身负责分配和维持端口地址。当有一个WWN 登录到交换机的某一个端口时,交换机将会为其分配一个FCID地址,同时交换机也将会创建FCID和登录的WWN 地址之间的关联关系表并维护他们的关系。交换机的这一个功能是使用名字服务器(NAME SERVER)来实现的。

名字服务器其实是光纤操作系统的一个组件,在交换机内部运行。它本质上是一个对象数据库,光纤设备在连接进来时,向该数据库注册它们的值这是一个动态的过程。动态的寻址方式同时也消除了手工维护地址出错的潜在的可能,而且在移动和改变 SAN 方面也提供了更多的灵活性。

41888025_5.jpg

一个 24 位的FCID地址由三个部份所组成: Domain,Area,Port组成。

Domain ( 从 23 到 16 位)

Area(从 15 到 08 位)

Port 或仲裁环物理地址-AL_PA( 从 07 到 00 位)

Domain

:端口地址中最重要的字节是 Domain。这是标识交换机本身的地址。最多只能达到256个地址。除了一些被保留使用的地址外,实际上只有 239 个地址可用。这意味着在你的 SAN 环境中,所在在一个SAN网络中最多只可能达 239 个交换机。同时Domain 可以用来标识一个san网络一个FC交换机的唯一性。

Area

:它提供 256 个地址。地址的这一个部份被用于识别个别的 FL_Ports 环,或它可能被用于当做一组F_Port 的识别符,例如,多端口的一个光纤卡的识别符。这意谓着每组端口有一个不同的 area 编号,即使对于只有一个端口的组也是如此。

Port

:地址的最后部份提供 256 个地址,用于识别相连的 N_Port 和 NL_Port。

按上面介绍,可以计算出一个SAN网络最大的地址数目: Domain x Area x Ports = 239 x 256 x 256=15,663,104 个地址。

光纤磁盘阵列

采用光纤通道技术的光纤磁盘阵列有两层含义,一层是指其对外即对主机使用光纤通道接口连接方式,一层是指其内部采用光纤通道技术来连接其内部的各个磁盘。

通常意义来说,

光纤磁盘阵列

指的是后一种含义。但在最初光纤磁盘阵列上市的时候,内部往往采用SCSI、SSA 等存储接口,对外才是光纤通道接口。现在越来越多的光纤磁盘阵列逐渐向内外俱是光纤通道接口的方向发展,这里我们想讨论的就是这种磁盘阵列。至于内部使用IDE 、SCSI、SSA 等接口技术、外部使用光纤通道技术,或者内部使用光纤通道技术,外部使用SCSI等其他接口技术的磁盘阵列(尽管这有些违背常识,但这种磁盘阵列的确存在),虽然也是光纤磁盘阵列,但不在我们的讨论范围内。

从光纤磁盘阵列的名词解释我们可以看出,从硬件构成来说它应当是由一堆磁盘和控制器及内外接口组成。一般的中、低端光纤磁盘阵列也正是这种结构:

光纤磁盘阵列

磁盘柜:主要特点是内部一般至少采用冗余的双FC-AL 仲裁环环路结构,内部硬盘实际上同时接在两条仲裁环上。而中端磁盘阵列支持的环路数更多,可以达到4 、8 、16条之多。这种多冗余仲裁环结构最主要的目的就是为了高可用性,它可以防止单个线路、接口的故障导致整个阵列的失效。而且每个环路采用旁路技术来防止无硬盘接入和硬盘故障对环路通信的影响。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/308126.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

51. N 皇后018(回溯法求解)

一&#xff1a;题目 二:思路 思路: 1.这里在选择建树(也就是在选择解的空间上)是 子集树 2.那么在结点上我们选择的是一个二维的矩阵就是将最后的结果落实到一个二维容器里 也就遍历到叶节点时候一种可行解的情况 3.写码思路&#xff1a; <1>:递归函数的参数: backtacki…

小姐姐为你解析马爸爸是怎么用大数据“宰你”的

一、首先大数据杀熟是什么&#xff1f;大数据杀熟本质就是一种数据营销手段&#xff1a;商家为了追求商业目的&#xff0c;利用交易双方信息的不对称性&#xff0c;根据每个用户的身份信息和历史数据表现&#xff0c;或者根据用户当前的需求来调整产品定价的手段 &#xff1b;比…

苹果手机上没有显示订阅服务器,手机里没有订阅的选项,我该怎样取消自动收费项目...

有些应用和服务会在用户订阅后提供内容访问权限。与购买单个项目(例如宝石和金币等游戏币)不同&#xff0c;在您选择结束订阅之前&#xff0c;订阅会自动续订。自动续订的订阅包括&#xff1a;Apple Music 订阅Apple 新闻、报纸和杂志订阅内容或服务的 App 内订阅(HBO NOW、Spo…

7-4 N皇后 (28 分)(思路+详解)

一&#xff1a;题目 Come 宝&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 在N*N的方格棋盘放置了N个皇后&#xff0c;使得它们不相互攻击&#xff08;即任意2个皇后不…

内存不够用还要速度快,终于找到可以基于 File 的 Cache 了

一&#xff1a;背景1. 讲故事18年的时候在做纯内存项目的过程中遇到了这么一个问题&#xff0c;因为一些核心数据都是飘在内存中&#xff0c;所以内存空间对我们来说额外宝贵&#xff0c;但偏偏项目中有些数据需要缓存&#xff0c;比如说需要下钻的报表上的点&#xff0c;基于性…

计算机网络:如何传输一条数据(详解)

一&#xff1a;不同的localhost如何传送信息 1:图示概览图 (1):无注解 (2):有注解 这里我在这个线路层中又连了一些新的 sw 和 router 其实还可以连更多&#xff0c;相当于一个网状的 注意同一个网络中只有一个网关&#xff0c;形象点理解网关就是通往别的网洛的大门 在下方…

为什么我们需要Logstash,Fluentd等日志摄取器?

前文传送门&#xff1a;如何利用NLog输出结构化日志&#xff0c;并在Kibana优雅分析日志&#xff1f;疑问&#xff1a;既然应用能直接向ElasticSearch写日志&#xff0c;为什么我们还需要Logstash,Fluentd等日志摄取器&#xff1f;而且这些日志摄取器组件还成为日志收集的事实标…

7-1 装载问题 (10 分)(思路+详解)

一&#xff1a;题目 Come 宝宝&#xff01;&#xff01; 输出格式: 输出所有可行的方案数量 输入样例1: 3 50 50 10 40 40结尾无空行 输出样例1: 4结尾无空行 输入样例2: 3 50 50 20 40 40结尾无空行 输出样例2: 0二:思路 1.这个解的空间选择的是子集树 2.递归函数参数 b…

程序员是终身学习的职业,应该怎么学习?

在上一篇《一款用了就不想走的工具》中介绍了一款工具 Notion &#xff0c;可以做学习的规划、时间的管理、学习的记录等&#xff0c;但学习本身还是需要一些方法的&#xff0c;本文谈谈我对学习的一些感悟。不管你是刚刚进入职场的新人&#xff0c;还是工作多年的老兵&#xf…

7-2 批处理作业调度 (10 分)(思路+详解)

一&#xff1a;题目:宝宝 你要永远开心&#xff0c;下雪了&#xff0c;多穿点&#xff0c; 输入格式: 第一行输入作业个数n。 第二行输入各任务在机器一上的完成时间。 第三行输入各任务在机器二上的完成时间。 输出格式: 最短完成时间和 输入样例: 3 2 3 2 1 1 3结尾无空…

WindowsSdkDir 从何处来?

缘起 我在《修复被破坏的 vs 工程设置》和《修复被破坏的 vs 工程设置&#xff08;续&#xff09;》这两篇文章中&#xff0c;分享了调查 VS 包含路径错误的问题&#xff0c;感兴趣的小伙伴儿可以查看。依稀记得在 2013 年的时候调查过类似的问题。前一阵子没翻到&#xff0c;这…

7-3 符号三角形 (10 分)(思路+详解)

一&#xff1a;题目 Come 宝 &#xff01;&#xff01;&#xff01; 输入格式: 第一行符号个数n 输出格式: 符合要求的三角形个数 输入样例: 4结尾无空行 输出样例: 6二:思路 思路: 1.如果我们确立的第一行的符号是什么 &#xff0c;那么我们就可以基本上确定我们的符号三…

7-1 内存分区分配--首次适应算法 (100 分)

一&#xff1a;题目7-1 内存分区分配–首次适应算法 (100 分) 宝 今天你看我博客了吗 输入内存的大小和阈值minsize&#xff0c;按照首次适应算法进行连续的分区分配。在划分时&#xff0c;若剩余的内存小于等于minsize&#xff0c;则将整块内存分配给该进程不再进行划分。 根…

如何在生产环境下用好EFCore

原文链接&#xff1a;https://www.thereformedprogrammer.net/handling-entity-framework-core-database-migrations-in-production-part-2/作者&#xff1a;Jon P Smith在生产中运用EFCore的模式实战这是使用EF Core迁移数据库的系列文章中的第二篇。本文着眼于将迁移应用于数…

39. 组合总和020(思路+详解)

一&#xff1a;题目&#xff1a; 给定一个无重复元素的正整数数组 candidates 和一个正整数 target &#xff0c;找出 candidates 中所有可以使数字和为目标数 target 的唯一组合。 candidates 中的数字可以无限制重复被选取。如果至少一个所选数字数量不同&#xff0c;则两种…

8种方法解决vue创建项目报错:command failed: npm install --loglevel error

8种方法解决vue项目创建失败问题1、重建项目2、清除缓存3、重装淘宝源4、修改useTaobaoRegistry5、重装node6、删除npmrc文件7、 node版本问题8、css编辑工具选择9、管理员身份运行踩了这个巨大的坑&#xff01;&#xff01; 试了一个晚上终于找到了创建项目成功了T_T 当报错了…

40. 组合总和 II021(回溯法)

一&#xff1a;题目 给定一个数组 candidates 和一个目标数 target &#xff0c;找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用一次。 注意&#xff1a;解集不能包含重复的组合。 示例 1:输入: candidates [10,1,2,…

.NET Core + Kubernetes:Helm

Helm[1] 作为 Kubernetes 体系的包管理工具&#xff0c;已经逐渐成为了应用分发标准&#xff0c;在 .NET 开发中&#xff0c;可以理解为与 NuGet 包类似。回顾之前文章中的介绍&#xff0c;Kubernetes 中单个服务的部署有时会涉及到多种资源类型&#xff0c;如&#xff1a;Depl…

vue项目中引入阿里图标iconfont

vue如何在创建好的项目中引入阿里图标iconfont呢&#xff0c;涉及到以下几个步骤&#xff1a; 1、首先先到阿里图标官方网站https://www.iconfont.cn/&#xff0c;先对账户进行登录&#xff0c;登录完成后任意选择几个图标加入购物车 2、加入购物车后&#xff0c;点击页面最右…

78. 子集022(回溯法)

一&#xff1a;题目 给你一个整数数组 nums &#xff0c;数组中的元素 互不相同 。返回该数组所有可能的子集&#xff08;幂集&#xff09;。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;…