简介

中文名:网状信道

外文名:Fibre Channel

简    称:FC

  光纤信道是一种高速网络技术标准(T11),主要应用于SAN(存储局域网)。其拓扑结构分为三种,点到点、仲裁循环、交换结构,分为FC-5、4、3、2、1共5层,具有多种适配端口。

定义

光纤信道

  光纤信道或FC是一种高速网络技术(通常以1,2,4,8,16,32和128千兆位/秒速率运行),采用NMb的编码方式,同步串行方式传输。主要用于将计算机数据存储连接到服务器。
  光纤信道主要用于商用数据中心的存储区域网络(SAN)。 光纤通道网络形成交换结构,因为它们作为一个大交换机协调工作。 光纤通道通常在数据中心内部和之间的光纤电缆上运行。

传输介质

  它的传输介质可以是光纤也可以用铜制电缆,一般情况下用光纤,用光纤的话还要在接收端加GBIC设备 转换成电信号。

光纤信道协议

  大多数块存储通过光纤通道结构运行,并支持许多上层协议。 从分层协议栈的角度看,FC仅仅包含了从物理层到传输层的规范。它的上层定义了把其他协议作为应用层协议进行封装的接口,如SCSI或IP协议。而将SCSI3封装起来后整个协议,就是FCP(FC Protocol)。
  光纤通道协议(FCP)是一种主要通过光纤通道网络传输SCSI命令的传输协议。主机计算机由于其高可靠性和吞吐量而运行通过光纤通道设置的FICON命令。 光纤通道可用于通过NVMe接口协议传输的闪存。

发展历史

  光纤通道在国际信息技术标准委员会(INCITS)的T11技术委员会中标准化,该委员会是美国国家标准协会(ANSI)认可的标准委员会。光纤通道于1988年开始,在1994年获得ANSI标准认证,以合并多物理层实现优势,包括SCSI,HIPPI和ESCON。
  光纤通道被设计为串行接口,以克服SCSI和HIPPI接口的限制。 FC采用领先的多模光纤技术开发,克服了ESCON协议的速度限制。通过吸引大量的SCSI磁盘驱动器和利用大型机技术,光纤通道的先进技术和部署的规模经济发展变得经济和广泛。
最初,标准还批准了具有132.8125Mbit / s(“12.5MB / s”),265.625Mbit / s(“25MB / s”)和531.25Mbit / s(“50MB / s” s“),现在已经不再使用。自1996年以来,光纤通道的速度每隔几年翻一番。
  光纤通道自成立以来已经看到积极的发展,在各种底层传输介质上进行了无数的速度改进。下图显示了本机光纤通道速度发展。
 

拓扑结构

  有三种主要的光纤通道拓扑,描述了多个端口如何连接在一起。

  光纤通道术语中的端口是通过网络主动通信的任何实体,不一定是硬件端口。此端口通常在磁盘存储,服务器上的HBA或光纤通道交换机的设备中实现。

  点到点

  两个设备彼此直接连接。这是最简单的拓扑,但是具有有限的连接。

  仲裁循环

  在此结构中,所有设备都处于环路或环路中,类似于令牌环网络。从环路中添加或删除设备会导致环路上的所有活动中断。一个设备的故障会导致环路中断。存在光纤通道集线器以将多个设备连接在一起并且可以绕过故障端口。也可以通过将每个端口布线到环中的下一个来实现环路。

  包含仅两个端口的最小环路与点对点类似,在协议方面显着不同。只有一对端口可以在环路上同时通信。最大速度为8GFC。

但是仲裁环路在2010年后很少使用。

  交换结构

  在此结构中,所有设备都连接到光纤通道交换机,在概念上类似于现代以太网实现。该拓扑相对于点对点或仲裁环的优点包括:
1、该结构可以扩展到数万个端口。
2、交换机管理状态,通过最短路径优先(FSPF)提供优化的路径。
3、两个端口之间的流量通过交换机,而不是通过任何其他端口。
4、端口的故障与链路隔离,不应影响其他端口的操作。
5、多对端口可以在结构中同时通信。

分层

  光纤通道不遵循OSI模型分层,需要分为五层:
FC-4-协议映射层,其中诸如SCSI,IP或FICON的高层协议被封装到信息单元(IU)中传送到FC-2。 现在的的FC-4包括FCP-4,FC-SB-5和FC-NVMe。
FC-3 - 公共服务层,一个可以实现加密或RAID冗余算法等功能的层; 多端口连接;
FC-2 - 由光纤通道帧和信令4(FC-FS-4)标准定义的信令协议由低级光纤通道协议组成; 端口到端口连接;
FC-1 - 传输协议,实现信号的线路编码;
FC-0 - PHY,包括电缆,连接器等;

端口

  光纤通道端口有各种逻辑配置。最常见的端口类型有:
N_Port(节点端口)N_Port通常是连接到交换机的F_Port或另一个N_Port的HBA端口。 Nx_Port通过不操作环路端口状态机的PN_Port进行通信
F_Port(Fabric端口)F_Port是连接到N_Port的交换机端口。
E_Port(扩展端口)连接到另一个E_Port以创建交换机间链路的交换机端口
以下类型的端口也用于光纤通道:
A_Port(相邻端口)组合PA_Port和VA_Port一起工作。
B_Port(桥接端口)用于在交换机上连接具有E_Port的桥接设备的结构元件间端口
D_Port(诊断端口)用于对与另一个D_Port的链路执行诊断测试的已配置端口。
EX_Port用于连接到FC路由器结构的E_Port类型
G_Port(通用Fabric端口)可以作为E_Port,A_Port或F_Port工作的交换机端口
GL_Port(通用结构环路端口)可以作为E_Port,A_Port或Fx_Port工作的交换机端口
PE_Port在Fabric中连接到另一个PE_Port或通过链路到一个B_Port的LCF
PF_Port通过链路连接到PN_Port的Fabric中的LCF
TE_Port(Trunking E_Port)中继扩展端口,扩展E端口的功能以支持VSAN中继,传输服务质量(QoS)参数和光纤通道跟踪(fctrace)功能。
U_Port(通用端口)等待成为另一个端口类型的端口 
 

FC switch Log analysis

用supportShow命令来提供所有重要信息

version

uptime

tempShow

psShow

licenseShow

diagShow

errDump

switchShow

portFlagsShow

portErrShow

mqShow

portSemShow

portShow

portRegShow

portRouteShow

portStructShow

bloomDataShow

trunkShow

fabricShow

topologyShow

qlShow

nsShow

nsAllShow

nscamShow

cfgShow

configShow

faultShow

traceShow

portLogDump

memShow

mellocShow

fastCheckHeap

Brocade交换机License激活步骤

1:打开:www.brocade.com 主页,在 Service & Support 下点击 Software License Keys.

2: 点击 http://swportal.brocade.com

3:要求登陆网站,输入用户名和口令,点击 login

4:点击 brocade FOS---License Generation With Transaction Key

5: 项目必填,customer email ID 需要填自己的 email,方便接受激活信息,unique ID Type 里 选择LID一项,相当于之前的WWN,也可以使用serial number。输入WWN和Transaction Key,点击ADD,可以添加多组交换机的信息,一起生成激活码。

6: 最后点击 Generate 就可以收到 brocade 发给你的激活码

参考资料

1.  Preston, W. Curtis. "Fibre Channel Architecture". Using SANs and NAS.:Sebastopol,2002

2.  Riabov, Vladmir V.."Storage Area Networks (SANs)". The Internet Encyclopedia.. In Bidgoli, Hossein. :Hoboken, NJ,2004

3.BCFA in a Nutshell Study Guide for Exam .brocade[引用日期2016-11-21]

Firbe Channel光纤信道的更多相关文章

  1. Windows台的FailOver群集简介

    首先,您需要有一些服务器硬件方面知识. 我们介绍Windows平台的FailOver群集,以多个站点场景为例,如下图示: 八个结点NODE,Windows的FailOver群集,依赖SAN存储同步各个 ...

  2. intel 82599网卡(ixgbe系列)术语表

    Intel® 82599 10 GbE Controller Datasheet 15.0 Glossary and Acronyms 术语表 缩写 英文解释 中文解释 1 KB A value of ...

  3. Golang, 以17个简短代码片段,切底弄懂 channel 基础

    (原创出处为本博客:http://www.cnblogs.com/linguanh/) 前序: 因为打算自己搞个基于Golang的IM服务器,所以复习了下之前一直没怎么使用的协程.管道等高并发编程知识 ...

  4. TODO:Go语言goroutine和channel使用

    TODO:Go语言goroutine和channel使用 goroutine是Go语言中的轻量级线程实现,由Go语言运行时(runtime)管理.使用的时候在函数前面加"go"这个 ...

  5. GO语言之channel

    前言: 初识go语言不到半年,我是一次偶然的机会认识了golang这门语言,看到他简洁的语法风格和强大的语言特性,瞬间有了学习他的兴趣.我是很看好go这样的语言的,一方面因为他有谷歌主推,另一方面他确 ...

  6. Critical: Update Your Windows Secure Channel (cve-2014-6321,MS14-066)

    前言:风雨欲来山满楼,下半年开始各种凶猛的漏洞层出不穷,天下已经不太平,互联网已经进入一个新的台阶 0x01 cve-2014-6321 11月的补丁月,微软请windows的用户吃了顿大餐,发布了1 ...

  7. JAVA NIO Channel

    Basic:   多数通道都是链接到开发的文件描述符的.Channel类提供维持平台独立性的抽象过程.   通道是一种途径,访问和操作操作系统,缓冲区是数据操作点: Channel类继承结构图: 通过 ...

  8. channel Golang

    Golang, 以17个简短代码片段,切底弄懂 channel 基础 (原创出处为本博客:http://www.cnblogs.com/linguanh/) 前序: 因为打算自己搞个基于Golang的 ...

  9. go channel

    channel 是go语言中不同goroutine之间通信一种方法 //定义一个channel c := make(chan bool) //向channel中写入 c <- true //读取 ...

随机推荐

  1. Linux 操作日志

    这里: /var/log/messages

  2. docker registry push错误“server gave HTTP response to HTTPS client”

    系统环境:centos7 docker版本: 1.12.3(注意版本,可能存在不同版本设置不同的情况) docker registry版本:2.4.1 问题: 成功安装docker registry, ...

  3. Centos 7 安装 Visual stdio Code

    最近微软正式发布了.net code 和asp.net code.尝试了下在linux下.net code和asp.net code使用. 具体怎么使用.net code 和asp.net code ...

  4. Java之集合(十二)TreeMap

    转载请注明源出处:http://www.cnblogs.com/lighten/p/7411935.html 1.前言 本章介绍Map体系中的TreeMap,顾名思义,这个是一个树结构的Map.Tre ...

  5. Karatsuba乘法--实现大数相乘

    Karatsuba乘法 Karatsuba乘法是一种快速乘法.此算法在1960年由Anatolii Alexeevitch Karatsuba 提出,并于1962年得以发表.此算法主要用于两个大数相乘 ...

  6. 【Java并发编程】:多线程环境中安全使用集合API

    在集合API中,最初设计的Vector和Hashtable是多线程安全的.例如:对于Vector来说,用来添加和删除元素的方法是同步的.如果只有一个线程与Vector的实例交互,那么,要求获取和释放对 ...

  7. JVM-调优命令

    jps JVM Process Status Tool,显示指定系统内所有的HotSpot虚拟机进程. 命令格式:   jps [options] [hostid] option参数: -l : 输出 ...

  8. Android Studio打开项目提示找不到sdk路径的问题。

    问题如图: 这是由于所打开的项目不是本机创建的,所使用的sdk路径不一致所导致. 解决方案: 打开项目所在目录,找到local.properties文件并打开,发现sdk.dir=D\:\\Andro ...

  9. 广州.NET俱乐部简介

    广州.NET俱乐部 简介 广州 .NET 俱乐部自2018年底重新在广州地区活跃. 目前已经成功在广州.深圳.苏州和东莞组织并参与了多长线下技术交流活动. 已经有超过1200+人加入了俱乐部线上社区. ...

  10. python mysql uitl

    from traceback import format_exc import pymysql as MySQLdb class MySQLUtils(object): def get_db_conn ...