In my last post of this series, we breached the subject of Fibre Channel. This topic is so critical for us storage types, so we need to delve even deeper. Specifically, this post dissects the architecture of this important protocol.
Fibre Channel Protocol (FCP) is actually serial SCSI-3 run over a Fibre Channel network. Yes, you read that right, it is the Small Computer System Interface that we know and love from decades of computing. In the FCP architecture, all of the external and remote storage devices in the SAN appear as local devices to host operating systems.
Why did Fibre Channel evolve? Advantages of the Fibre Channel Protocol include:
- A transmission bandwidth that is sustainable over longer distances than SCSI ever dreamed of permitting
- Support for a large number of nodes — theoretically over 15 million devices
- Speeds up to 8.5 Gbps
Fibre Channel Addressing
When a port logs into the fabric, it is dynamically assigned a Fibre Channel address. This address has a distinct format based on the type of node port in the fabric. Consider reviewing the different types of node ports that are used in Fibre Channel that we covered in the last post of this blog series.
For an N_port (Node Port), the first field in the address contains an 8-bit Domain ID field. Keep in mind, 239 of the possible Domain IDs are available for corporate use, while the rest are reserved. Following the Domain ID is an 8-bit Area ID, and then an 8-bit Port ID. The area ID is used to identify a group of F_ports (Fabric Ports), while the Port ID is used to identify the F_port within the group.
Perhaps you have heard the term N_port ID Virtualization or NPIV. This Fibre Channel technique allows multiple N_port IDs to share a single physical N_Port. This allows multiple Fibre Channel nodes to occupy a single physical port, easing hardware requirements in the SAN design, especially where virtual SANs are called for.
World Wide Names
While the Fibre Channel address described above is dynamically assigned in the SAN, World Wide Names are a static name for each device on the Fibre Channel network. You can think of these names to be analogous to MAC addresses in the Ethernet LAN. World Wind Names (WWN) are 64-bit identifiers that are “burned” into hardware or assigned through software.
Fibre Channel environments use two types of WWNs: World Wide Node Names (WWNN) and World Wide Port Names (WWPN). Name servers in Fibre Channel environments are used to map these statically assigned names to the dynamic Fibre Channel addresses.
Fibre Channel relies on two flow control mechanisms to ensure “lossless” behavior in the SAN. Remember, while TCP in the LAN environment “expects” loss and is engineered to deal with it, the SAN wants to prevent it at all costs! These lossless flow control mechanisms are buffer-to-buffer credit (BB_Credit) and end-to-end credit (EE_Credit).
BB_Credit is used for hardware-based flow control. It controls the maximum number of frames that can be present on the link at any point in time. In the switched fabric of today, BB_Credit management takes place between two Fibre Channel ports. The transmitting port maintains a count of free receiver buffers and makes “send” decisions based on this value.
EE_Credit is similar in function to BB_Credit. With this system, the initiator and target on the Fibre Channel network exchange EE_Credit parameters in order to ensure the lossless behavior.
Zoning in the Fibre Channel network enables the logical segmenting of nodes into a group. This group of nodes is able to communicate with each other. Zoning is implemented through the name server described above. When a port logs into the fabric, it does device discovery with the other devices registered with the name server. Zoning controls exactly which devices are discovered.
This concept uses what is known as a zone set. A zone set is a collection of zones. Note that a port or node can be a member of multiple zones. Zone sets can be activated or deactivated in the switch fabric, but remember that only one zone set can be active at a time. You will often hear zone sets simply referred to as zone configurations.
There are three types of zoning that can be implemented:
- Port zoning: The Fibre Channel addresses of the physical ports are used to define the zones; this is often referred to as hard zoning
- WWN zoning: The World Wide Names are used to define the zones
- Mixed zoning: This combines the qualities of WWN zoning and port zoning
Note: Do not confuse zoning with Logical Unit Number (LUN) masking. Zoning is often used in conjunction with LUN masking in order to control server access to storage, but you should note that the two are indeed different activities. Zoning is a technical process that occurs at the fabric level, while LUN masking is done at the storage array level.
Until next time, I hope you found this informative, and I’d like to thank you for reading!