Fibre channel is a communications protocol widely used in storage area networks (SANs).
The protocol itself is used to communicate storage commands and data flow (typically SCSI) between a particular storage controller and a host to which the storage is exposed. It has a number of different speed variants, most commonly seen are 2G, 4G and 8G with bandwidth limitations of 2Gbit, 4Gbit and 8Gbit respectively. 16Gbit has recently been introduced.
A fibre channel network can have a number of topologies. This can be a loop (called FCAL - Fibre Channel Arbitrated Loop) where a single host bus adaptor is connected to a single loop with one or more devices on it. FCAL is normally used to connect a controller to a disk array as fibre channel disks typically don't directly support switched fabrics.
A fabric is a switched network using one or more switches to connect hosts to controllers1 in a M:M relationship. Fibre channel supports multiple paths between hosts and controllers, and fibre channel disks actually support two loop interfaces through a SCA-40 plug. This allows the implementation of architectures with no single point of failure. Controller pairs can synchronise caches and a host with multi-pathing support can use both controllers in a pair or fail over from one to the other.
Fibre channel is most widely deployed in enterprise SAN environments where a large amount of storage must be shared amongst different hosts. Single mode fibre connections allow storage area networks to cover campus or metropolitan areas tens of kilometres. Replication over wider areas typically requires the controllers to be connected through another WAN protocol such as ATM.
Native Fibre Channel can be run over copper or fibre optic interconnects, although a protocol known as Fibre Channel Over Ethernet (FCoE) encodes the payload over Ethernet frames, allowing the use of cheaper Ethernet cabling and switches.
1 A controller is something like a SAN controller that presents one or more volumes to the SAN through Logical Unit Numbers (LUNs). A SAN can have more than one controller.