Fibre Channel is the name given to a set of standards that define mechanisms for connecting network nodes using serial communication over copper or optical cable. Fibre Channel standards were developed by the American National Standards Institute (ANSI) to overcome the shortcomings of the current SCSI infrastructure, and are used to provide high-speed connections between servers and storage devices. In current implementations, Fibre Channel is able to provide speeds of up to 2Gbps with 4Gbps on the horizon.
Fibre Channel speeds can be attributed to the fact that it is able to communicate with other network systems using channel technology. This means that using Fibre Channel a point-to-point connection can be established between two devices creating a fast, low overhead connection.
While Fibre Channel is most often associated with fiber optic media, traditional copper media such as twisted pair can be used for smaller network implementations. However, using Fibre Channel over copper introduces the same old shortcomings of the media including short transmission distances (30 meters depending on the exact cable), and susceptibility to EMI.
While copper based media may be suited for some environments, fiber optic cable is the media of choice for larger storage network implementations using Fibre Channel. Fiber optic cable is categorized by its diameter, which is measured in microns, and by its 'mode'. There are two modes of cable; single mode can carry a single signal at a time, while multimode is able to carry more than one signal by bouncing the signal against the sides of the glass core of the cable. The accepted standards and ratings for Fibre Channel over fiber optic cable are 175 meters over Multimode 62.5 micron cable, 500 meters over a multimode 50 micron cable and 10 kilometers over 9 micron single mode cable.
In practical terms, what the fibre channel standards define is a mechanism for the transmission of SCSI, IP and other types of data between two devices. This mechanism allows the data to be transported between two devices without being manipulated or translated between formats.
What about SCSI?
Given that in a networked storage scenario Fibre Channel is used to transport SCSI data, many people question why Fibre Channel is needed. After all, SCSI has served us admirably over the years. The problem with SCSI has always been it its distance limitations. SCSI's 25 meter transmission range is far short of the 10,000 meters offered by Fibre Channel and precludes it from being used in many storage area network applications. In fact, Fibre Channels 10,000 meter limit can be extended to 100 kilometers using special optic transceivers leaving SCSI way behind.
Though the distance capability of Fibre Channel are impressive, Fibre Channel originally operated at speeds no faster than SCSI 3, which meant that the real value of Fibre Channel in storage area networks was the distance benefit, not the speed. Times have changed for Fibre Channel and with speeds now offered in the 2GB range, both the speed and performance of Fibre Channel outstrip SCSI.
If that weren't enough, SCSI 3 is limited to 16 devices per channel, While Fibre Channel can support up to 126 devices per loop, and millions of nodes in a switched fabric. We'll talk more about switched fabrics and loops in Part Two of this article.
The other big difference is the way in which Fibre Channel treats the SCSI data that travels across it. Traditional SCSI is parallel, i.e. data travels in along the cable in parallel wires (that's why SCSI cables have 50 or 68 wires). Fibre Channel transports the data in Series, that is one bit behind the other.
Fibre Channel Standards
There are five layers to the Fibre Channel standard. Each layer is responsible for a certain set of functions or capabilities. In a sense it's a little like the OSI model (except that the OSI model has seven layers, not five) in that each layer in the model is reliant on the layer directly above or below for performing certain functions. The layers are numbered FC-0 to FC-4 from bottom to top. The following is a very brief explanation of the standards and their function.
- FC-0 - Physical Layer : This layer defines cabling, connectors and the signaling that controls the data. Performs a very similar function to the OSI physical layer.
- FC-1 - Transmission Protocol Layer : This layer is responsible for things such as error detection, maintenance of links and data synchronization.
- FC-2 - Framing and Signaling Protocol Layer : This layer is responsible for segmentation and reassembly of data packets that are sent and received by the device. Sequencing and flow control are also performed at this layer.
- FC-3 - Common Services Layer : This layer provides services such as multi-casting and striping.
- FC-4 - Upper Layer Protocol Mapping Layer : This layer provides the communication point between upper layer protocols (such as SCSI) and the lower FC layers. The FC-4 layer makes it possible for more than SCSI data to travel over a Fibre Channel link.
By conforming to the layer format, products and applications that perform at one layer can be automatically compatible with products and applications that reside at another layer.
InfiniBand (IB) has emerged as a formidable contender to Fibre Channel technologies and their associated products. However, IB is a nascent technology, and though it offers increased I/O speeds, the products associated with it are immature. That being said, some companies such as Mellanox Technologies appear to be leading this connectivity paradigm that could significantly cut into the Fibre Channel market in the future.
SCSI 3 has not outlived its usefulness, though, and since it offers considerable cost savings over Fibre Channel, Fibre Channel is only appropriate if SCSI 3 bus storage technologies will not suffice. Today Fibre Channel drives are more expensive than SCSI drives, but as Fibre Channel drives decrease in price, it is expected that the SCSI drive market share to migrate to Fibre Channel drives.
In Part Two....
In the next part of this look at Fibre Channel, we look at Fibre channel implementation considerations such as topologies, switches and port types.