Fibre Channel, or FC, is a high-speed network technology (commonly running at 1, 2, 4, 8, 16, 32, and 128 gigabit per second rates) primarily used to connect computer data storage to servers. Fibre Channel is mainly used in storage area networks (SAN) in commercial data centers. Fibre Channel networks form a switched fabric because they operate in unison as one big switch. Fibre Channel typically runs on optical fiber cables within and between data centers.
Most block storage runs over Fibre Channel Fabrics and supports many upper level protocols. Fibre Channel Protocol (FCP) is a transport protocol that predominantly transports SCSI commands over Fibre Channel networks. Mainframe computers run the FICON command set over Fibre Channel because of its high reliability and throughput. Fibre Channel can be used for flash memory being transported over the NVMe interface protocol.
Fibre Channel is standardized in the T11 Technical Committee of the International Committee for Information Technology Standards (INCITS), an American National Standards Institute (ANSI)-accredited standards committee. Fibre Channel started in 1988, with ANSI standard approval in 1994, to merge the benefits of multiple physical layer implementations including SCSI, HIPPI and ESCON.
Fibre Channel was designed as a serial interface to overcome limitations of the SCSI and HIPPI interfaces. FC was developed with leading edge multi-mode fiber technologies that overcame the speed limitations of the ESCON protocol. By appealing to the large base of SCSI disk drives and leveraging mainframe technologies, Fibre Channel developed economies of scale for advanced technologies and deployments became economical and widespread.
Initially, the standard also ratified lower speed Fibre Channel versions with 132.8125 Mbit/s ("12,5 MB/s"), 265.625 Mbit/s ("25 MB/s"), and 531.25 Mbit/s ("50 MB/s") that were already growing out of use at the time. Fibre Channel saw adoption at 1 Gigabit/s Fibre Channel (1GFC) and its success grew with each successive speed. Fibre Channel has doubled in speed every few years since 1996.
Fibre channel has seen active development since its inception, with numerous speed improvements on a variety of underlying transport media. For example, the following table shows native Fibre Channel speeds:
|NAME||Line-rate (gigabaud)||Line coding||Nominal throughput
per direction; MB/s
per direction; MB/s[v 1][v 2]
|16GFC "Gen 5"||14.025||64b66b||1,600||1,652||2011|
|32GFC "Gen 6"||28.05||64b66b||3,200||3,303||2016|
|128GFC "Gen 6"||4×28.05||64b66b||12,800||13,210||2016|
- 1 MB = 10002 Byte
- taking into account line coding (L1), interframe gap (6×4 byte), and frame header (L2) overhead (36 byte)
There are three major Fibre Channel topologies, describing how a number of ports are connected together. A port in Fibre Channel terminology is any entity that actively communicates over the network, not necessarily a hardware port. This port is usually implemented in a device such as disk storage, an HBA on a server or a Fibre Channel switch.
- Point-to-point (see FC-FS-3). Two devices are connected directly to each other. This is the simplest topology, with limited connectivity.
- Arbitrated Loop (see FC-AL-2). In this design, all devices are in a loop or ring, similar to token ring networking. Adding or removing a device from the loop causes all activity on the loop to be interrupted. The failure of one device causes a break in the ring. Fibre Channel hubs exist to connect multiple devices together and may bypass failed ports. A loop may also be made by cabling each port to the next in a ring.
- A minimal loop containing only two ports, while appearing to be similar to point-to-point, differs considerably in terms of the protocol.
- Only one pair of ports can communicate concurrently on a loop.
- Maximum speed of 8GFC.
- Arbitrated Loop has been rarely used after 2010.
- Switched Fabric (see FC-SW-6). In this design, all devices are connected to Fibre Channel switches, similar conceptually to modern Ethernet implementations. Advantages of this topology over point-to-point or Arbitrated Loop include:
- The Fabric can scale to tens of thousands of ports.
- The switches manage the state of the Fabric, providing optimized paths via Fabric Shortest Path First (FSPF).
- The traffic between two ports flows through the switches and not through any other ports like in Arbitrated Loop.
- Failure of a port is isolated to a link and should not affect operation of other ports.
- Multiple pairs of ports may communicate simultaneously in a Fabric.
|Attribute||Point-to-Point||Arbitrated Loop||Switched Fabric|
|Max ports||2||127||~16777216 (224)|
|Address size||N/A||8-bit ALPA||24-bit port ID|
|Side effect of port failure||Link fails||Loop fails (until port bypassed)||N/A|
|Access to medium||Dedicated||Arbitrated||Dedicated|
- FC-4 – Protocol-mapping layer, in which upper level protocols such as SCSI, IP or FICON, are encapsulated into Information Units (IUs) for delivery to FC-2. Current FC-4s include FCP-4, FC-SB-5, and FC-NVMe.
- FC-3 – Common services layer, a thin layer that could eventually implement functions like encryption or RAID redundancy algorithms; multiport connections;
- FC-2 – Signaling Protocol, defined by the Fibre Channel Framing and Signaling 4 (FC-FS-4) standard, consists of the low level Fibre Channel protocols; port to port connections;
- FC-1 – Transmission Protocol, which implements line coding of signals;
- FC-0 – PHY, includes cabling, connectors etc.;
This diagram from FC-FS-4 defines the layers.
Layers FC-0 are defined in Fibre Channel Physical Interfaces (FC-PI-6), the physical layers of Fibre Channel.
Fibre Channel products are available at 1, 2, 4, 8, 10, 16 and 32 and 128 Gbit/s; these protocol flavors are called accordingly 1GFC, 2GFC, 4GFC, 8GFC, 10GFC, 16GFC, 32GFC or 128GFC. The 32GFC standard was approved by the INCITS T11 committee in 2013, and those products became available in 2016. The 1GFC, 2GFC, 4GFC, 8GFC designs all use 8b/10b encoding, while the 10GFC and 16GFC standard uses 64b/66b encoding. Unlike the 10GFC standards, 16GFC provides backward compatibility with 4GFC and 8GFC since it provides exactly twice the throughput of 8GFC or four times that of 4GFC.
Fibre Channel ports come in a variety of logical configurations. The most common types of ports are:
- N_Port (Node port) An N_Port is typically an HBA port that connects to a switch's F_Port or another N_Port. Nx_Port communicating through a PN_Port that is not operating a Loop Port State Machine.
- F_Port (Fabric port) An F_Port is a switch port that is connected to an N_Port.
- E_Port (Expansion port) Switch port that attaches to another E_Port to create an Inter-Switch Link.
Fibre Channel Loop protocols create multiple types of Loop Ports:
- L_Port (Loop port) FC_Port that contains Arbitrated Loop functions associated with the Arbitrated Loop topology.
- FL_Port (Fabric Loop port) L_Port that is able to perform the function of an F_Port, attached via a link to one or more NL_Ports in an Arbitrated Loop topology.
- NL_Port (Node Loop port) PN_Port that is operating a Loop port state machine.
If a port can support loop and non-loop functionality, the port is known as:
- Fx_Port switch port capable of operating as an F_Port or FL_Port.
- Nx_Port end point for Fibre Channel frame communication, having a distinct address identifier and Name_Identifier,providing an independent set of FC-2V functions to higher levels, and having the ability to act as an Originator, a Responder, or both.
Ports have virtual components and physical components and are described as:
- PN_Port entity that includes a Link_Control_Facility and one or more Nx_Ports.
- VF_Port (Virtual F_Port) instance of the FC-2V sublevel that connects to one or more VN_Ports.
- VN_Port (Virtual N_Port) instance of the FC-2V sublevel. VN_Port is used when it is desired to emphasize support for multiple Nx_Ports on a single Multiplexer (e.g., via a single PN_Port).
- VE_Port (Virtual E_Port) instance of the FC-2V sublevel that connects to another VE_Port or to a B_Port to create an Inter-Switch Link.
The following types of ports are also used in Fibre Channel:
- A_Port (Adjacent port) combination of one PA_Port and one VA_Port operating together.
- B_Port (Bridge Port) Fabric inter-element port used to connect bridge devices with E_Ports on a Switch.
- D_Port (Diagnostic Port) A configured port used to perform diagnostic tests on a link with another D_Port.
- EX_Port A type of E_Port used to connect to an FC router fabric.
- G_Port (Generic Fabric port) Switch port that may function either as an E_Port, A_Port, or as an F_Port.
- GL_Port (Generic Fabric Loop port) Switch port that may function either as an E_Port, A_Port, or as an Fx_Port.
- PE_Port LCF within the Fabric that attaches to another PE_Port or to a B_Port through a link.
- PF_Port LCF within a Fabric that attaches to a PN_Port through a link.
- TE_Port (Trunking E_Port) A trunking expansion port that expands the functionality of E ports to support VSAN trunking, Transport quality of service (QoS) parameters, and Fibre Channel trace (fctrace) feature.
- U_Port (Universal port) A port waiting to become another port type
- VA_Port (Virtual A_Port) instance of the FC-2V sublevel of Fibre Channel that connects to another VA_Port.
- VEX_Port VEX_Ports are no different from EX_Ports, except underlying transport is IP rather than FC.
Media and modules
The Fibre Channel physical layer is based on serial connections that use corresponding modules. The small form-factor pluggable transceiver (SFP) module and its enhanced version SFP+ are common form factors for ports, supporting a variety of distances via multi-mode and single-mode fiber as shown in the table below. The SFP module uses duplex fiber cabling that has LC connectors.
The quad small form-factor pluggable (QSFP) module began being used for 4-lane implementations of 128GFC. The QSFP uses either the LC connector for 128GFC-CWDM4 or an MPO connector for 128GFC-SW4 or 128GFC-PSM4. The MPO cabling uses 8- or 12-fiber cabling infrastructure that connects to another 128GFC port or may be broken out into four duplex LC connections to 32GFC SFP+ ports. Fibre Channel switches use either SFP or QSFP modules.
|Speed (MB/s)||Transmitter||Medium variant||Distance|
|12,800||1,310 nm longwave light||128GFC-PSM4||0.5m - 0.5 km|
|1,270, 1,290, 1,310 and 1,330 nm longwave light||128GFC-CWDM4||0.5 m – 2 km|
|3,200||1,310 nm longwave light||3200-SM-LC-L||0.5 m - 10 km|
|1,600||1,310 nm longwave light[ITS 1]||1600-SM-LC-L[ITS 2]||0.5 m – 10 km|
|1,490 nm longwave light[ITS 1]||1600-SM-LZ-I[ITS 2]||0.5 m – 2 km|
|800||1,310 nm longwave light[ITS 3]||800-SM-LC-L[ITS 4]||2 m – 10 km|
|800-SM-LC-I[ITS 4]||2 m – 1.4 km|
|400||1,310 nm longwave light[ITS 3][ITS 5]||400-SM-LC-L[ITS 6]||2 m – 10 km|
|400-SM-LC-M[ITS 4]||2 m – 4 km|
|400-SM-LL-I[ITS 7]||2 m – 2 km|
|200||1,550 nm longwave light[ITS 8]||200-SM-LL-V[ITS 8]||2 m – 50 km|
|1,310 nm longwave light[ITS 5][ITS 3]||200-SM-LC-L[ITS 6]||2 m – 10 km|
|200-SM-LL-I[ITS 7]||2 m – 2 km|
|100||1,550 nm longwave light[ITS 8]||100-SM-LL-V[ITS 8]||2 m – 50 km|
|1,310 nm longwave light[ITS 9][ITS 3]||100-SM-LL-L[ITS 10]
|2 m – 10 km|
|100-SM-LL-I[ITS 10]||2 m – 2 km|
|12,800||850 nm shortwave light[ITS 11][ITS 12][ITS 13]||128GFC-SW4||0 – 100 m|
|3,200||3200-SN||0 – 100 m|
|1,600||1600-M5F-SN-I[ITS 14]||0.5 m – 125 m|
|1600-M5E-SN-I[ITS 14]||0.5–100 m|
|1600-M5-SN-S[ITS 14]||0.5–35 m|
|1600-M6-SN-S[ITS 15]||0.5–15 m|
|800||800-M5F-SN-I[ITS 14]||0.5–190 m|
|800-M5E-SN-I[ITS 16]||0.5–150 m|
|800-M5-SN-S[ITS 16]||0.5–50 m|
|800-M6-SN-S[ITS 16]||0.5–21 m|
|400||400-M5F-SN-I[ITS 14]||0.5–400 m|
|400-M5E-SN-I[ITS 16]||0.5–380 m|
|400-M5-SN-I[ITS 17]||0.5–150 m|
|400-M6-SN-I[ITS 17]||0.5–70 m|
|200||200-M5E-SN-I[ITS 16]||0.5–500 m|
|200-M5-SN-I[ITS 17]||0.5–300 m|
|200-M6-SN-I[ITS 17]||0.5–150 m|
|100||100-M5E-SN-I[ITS 18]||0.5–860 m|
|100-M5-SN-I[ITS 19]||0.5–500 m|
|100-M6-SN-I[ITS 20]||0.5–300 m|
|100-M5-SL-I[ITS 20]||2–500 m|
|100-M6-SL-I[ITS 21]||2–175 m|
|Multimode fiber||Fiber diameter||FC media designation|
Modern Fibre Channel devices support SFP transceiver, mainly with LC (Lucent Connector) fiber connector. Older 1GFC devices used GBIC transceiver, mainly with SC (Subscriber Connector) fiber connector.
Fibre Channel Storage Area Networks
The goal of Fibre Channel is to create a storage area network (SAN) to connect servers to storage.
The SAN is a dedicated network that enables multiple servers to access the same storage. Enterprise storage uses the SAN to backup to tape libraries while the storage is still accessible to the server. Servers may access storage from multiple storage devices over the network as well.
SANs are often designed with dual fabrics to increase fault tolerance. Two completely separate fabrics are operational and if the primary fabric fails, then the second fabric becomes the primary.
Fibre Channel Switches
Fibre Channel switches can be divided into two classes. These classes are not part of the standard, and the classification of every switch is a marketing decision of the manufacturer:
- Directors offer a high port-count in a modular (slot-based) chassis with no single point of failure (high availability).
- Switches are typically smaller, fixed-configuration (sometimes semi-modular), less redundant devices.
A fabric consisting entirely of one vendors products is considered to be homogeneous. This is often referred to as operating in its "native mode" and allows the vendor to add proprietary features which may not be compliant with the Fibre Channel standard.
If multiple switch vendors are used within the same fabric it is heterogeneous, the switches may only achieve adjacency if all switches are placed into their interoperability modes. This is called the "open fabric" mode as each vendor's switch may have to disable its proprietary features to comply with the Fibre Channel standard.
Some switch manufacturers offer a variety of interoperability modes above and beyond the "native" and "open fabric" states. These "native interoperability" modes allow switches to operate in the native mode of another vendor and still maintain some of the proprietary behaviors of both. However, running in native interoperability mode may still disable some proprietary features and can produce fabrics of questionable stability.
Fibre Channel Host Bus Adapters
Fibre Channel HBAs, as well as CNAs, are available for all major open systems, computer architectures, and buses, including PCI and SBus. Some are OS dependent. Each HBA has a unique World Wide Name (WWN), which is similar to an Ethernet MAC address in that it uses an Organizationally Unique Identifier (OUI) assigned by the IEEE. However, WWNs are longer (8 bytes). There are two types of WWNs on a HBA; a node WWN (WWNN), which can be shared by some or all ports of a device, and a port WWN (WWPN), which is necessarily unique to each port.
- Arbitrated loop
- 8b/10b encoding, 64b/66b encoding
- Converged network adapter (CNA)
- Fibre Channel electrical interface
- Fibre Channel fabric
- Fibre Channel frame
- Fibre Channel Logins (FLOGI)
- Fibre Channel network protocols
- Fibre Channel over Ethernet (FCoE)
- Fibre Channel over IP (FCIP), contrast with Internet Fibre Channel Protocol (iFCP)
- Fibre Channel switch
- Fibre Channel time-out values
- Gen 5 Fibre Channel
- Host Bus Adapter (HBA)
- Interconnect bottleneck
- IDE, ATA, SATA, SAS, AoE, SCSI, iSCSI, PCI Express
- IP over Fibre Channel (IPFC)
- List of Fibre Channel standards
- List of device bandwidths
- N_Port ID Virtualization
- Optical communication
- Optical fiber cable
- Optical interconnect
- Parallel optical interface
- Serial Storage Architecture (SSA)
- Storage Area Network
- Storage Hypervisor
- World Wide Name
- Preston, W. Curtis (2002). "Fibre Channel Architecture". Using SANs and NAS. Sebastopol, CA: O'Reilly Media. pp. 19–39. ISBN 978-0-596-00153-7. OCLC 472853124.
- Riabov, Vladmir V. (2004). "Storage Area Networks (SANs)". In Bidgoli, Hossein. The Internet Encyclopedia. Volume 3, P-Z. Hoboken, NJ: John Wiley & Sons. pp. 329–338. ISBN 978-0-471-68997-3. OCLC 55610291.
- Fibre Channel Physical and Signaling Interface (FC-PH) Rev 4.3, June 1, 1994
- "Roadmaps". Fibre Channel Industry Association. Retrieved 2013-01-06.
- Brocade 32Gb platform released, Storagereview.com http://www.storagereview.com/brocade_g620_gen_6_fibre_channel_switch_released
- Fibre Channel - Framing and Signaling - 4 (FC-FS-4)
- Fibre Channel - Switch Fabric 6 (FC-SW-6)
- "BCFA in a Nutshell Study Guide for Exam" (PDF). Brocade Communications, Inc. February 2014. Retrieved June 28, 2016.
- "Cisco MDS 9000 Family Fabric Manager Configuration Guide, Release 4.x". Cisco Systems, Inc. November 11, 2013. Retrieved June 28, 2016.
- Transmitter values listed are the currently specified values for the variant listed. Some older versions of the FC standards listed slightly different values (however, the values listed here fall within the +/- variance allowed). Individual variations for each specification are listed in the references associated with those entries in this table. FC-PH = X3T11 Project 755D; FC-PH-2 = X3T11 Project 901D; FC-PI-4 = INCITS Project 1647-D; FC-PI-5 = INCITS Project 2118D. Copies are available from INCITS.
INCITS Fibre Channel standards
- FC-PI-5 Clause 6.3
- FC-PI-5 Clause 8.1
- FC-PI-4 Clause 6.3
- FC-PI-4 Clause 8.1
- FC-PH-2 lists 1300nm (see clause 6.1 and 8.1)
- FC-PI clause 8.1
- FC-PH-2 clause 8.1
- FC-PI-4 Clause 11
- FC-PH lists 1300nm (see clause 6.1 and 8.1)
- FC-PH Clause 8.1
- FC-PI-5 Clause 6.4
- FC-PI-4 Clause 6.4
- The older FC-PH and FC-PH-2 list 850nm (for 62.5µm cables) and 780nm (for 50µm cables)(see clause 6.2, 8.2, and 8.3)
- FC-PI-5 Clause 8.2
- FC-PI-5 Annex A
- FC-PI-4 Clause 8.2
- FC-PI Clause 8.2
- PC-PI-4 Clause 8.2
- PC-PI Clause 8.2
- PC-PI Clause 8.2
- FC-PH Annex C and Annex E
- Clark, T. Designing Storage Area Networks, Addison-Wesley, 1999. ISBN 0-201-61584-3
- RFC 2625 – IP and ARP over Fibre Channel
- RFC 2837 – Definitions of Managed Objects for the Fabric Element in Fibre Channel Standard
- RFC 3723 – Securing Block Storage Protocols over IP
- RFC 4044 – Fibre Channel Management MIB
- RFC 4625 – Fibre Channel Routing Information MIB
- RFC 4626 – MIB for Fibre Channel's Fabric Shortest Path First (FSPF) Protocol