The unique identity of participants in a Fibre Channel environment is maintained through a hierarchy of fixed names and assigned address identifiers. In Fibre Channel terminology, a communicating device is a node. A host bus adapter in a server, for example, constitutes a Fibre Channel node. Normally, the node has only one physical interface, known as a node port, or N_Port. If an HBA or controller is multiported (some have as many as four physical ports per card), it is possible for a single node to have multiple N_Ports.
Each node has a fixed 8-byte node name assigned by the manufacturer. If the manufacturer has registered with the Institute of Electrical and Electronics Engineers (IEEE) for a range of addresses, the node name will be globally unique and so is normally referred to as a World-Wide Name (WWN). An N_Port within a parent node is also assigned a unique 8-byte port name that typically follows the IEEE format. This naming convention allows each node and its associated N_Ports to be unique and accessible, even in complex SANs. Standards allow for several IEEE formats, as well as 64-bit formats for IP and locally administered names.
Like the 48-bit MAC address scheme in Ethernet and Token Ring, the Fibre Channel naming convention allows either global or locally administered uniqueness to be assigned to a device. Unlike the LAN MAC address, however, the administered name or WWN is not used for transporting frames across the network. In addition to a Fibre Channel name, a communicating device is dynamically assigned a 24-bit port address, or N_Port ID, that is used for frame routing. The 24-bit addresses of two communicating partners are embedded in the frame header for both the destination identifier (D_ID) and source identifier (S_ID).
This dual name and network address system has several benefits. The 64-bit name provides a unique identity throughout the SAN. Using 64-bit identifiers for routing data, however, would fatten the frame header and incur more processing overhead. By using a shorter, 24-bit port address, this arrangement optimizes the frame header and routing logic for high-speed switching of frames. The 24-bit format still allows for more than 16 million addresses, an address space far larger than any practical SAN design.
In addition to optimizing frame routing, the 24-bit port address strategy allows the topology itself to assign addresses and thereby removes the need for manual administration of addresses. In fabric environments, the switch is responsible for assigning a 24-bit address to each device as it logs on. The switch maintains a table of the device's WWN and the assigned 24-bit address in the Simple Name Server (SNS). In arbitrated loop, the ioop devices themselves perform an address selection routine that ensures that every device on the loop has a unique address. Dynamic addressing removes the element of human error in address maintenance and provides flexibility for adds, mo~e~, and changes in the SAN. At the same time, Fibre Channel's self-addressing mechanism places additional burdens on fabric switch design, particularly as SANs scale to large sizes or are extended over distance.
An N_Port can be attached directly to another N_Port, as in a point-to- point topology. In a fabric, the N_Port is attached to a fabric port, or F_Port. Each switch port also has a 64-hit port name, and the switch itself, like a node, has a 64-bit fabric name. The unique identity of each switch and switch port, as well as each attached node port, is thus established for the entire SAN.
Connections between fabric switches are maintained by expansion ports, or E_Ports. If the switch vendor provides ports that can be used for either node attachment or expansion, a generic port, or G_Port, definition is used. If in addition the G_Port can support loop devices, it is referred to as a GL_Port.
Finally, a switch can also allow attachment of public arbitrated loop devices on fabric loop ports, or FL_Ports. The attached arbitrated loop ports are referred to as node ioop ports, or NL_Ports. The connection between the NL_Port and the FL_Port requires higher functionality and protocol support on the part of the NL_Port, including logon facilities and registration with the switch's SNS. These fabric services can also he provided by a special NL_Port on an arbitrated loop if no fabric switch is present. This special port is defined as a fabric/node loop port, or F/NL_Port.
A freestanding arbitrated loop is configured with multiple NL_Porrs on a shared medium. If the N[._Ports are connected through an arbitrated loop huh, the huh plays no active role in frame routing decisions. Hub ports therefore have no particular designation because the hub's existence is transparent to the attached devices. The trend in huh design is toward adding intelligence, particularly in loop management and automatic recovery features. If for management purposes a vendor engineers a Fibre Channel controller in the huh architecture, it appears as an additional NL_Port to the topology.
For native Fibre Channel extension over distance, a bridge can he connected to a fabric switch to translate between Fibre Channel and a LAN or WAN. A bridge port, or B_Port, designation is used to refer to the bridge interface to the fabric and, as with F_ Port connections, Class F traffic is used for communications between the fabric switch and the bridge.
Thanks to Tom Clark and to Addison-Wesley for permission to quote from ' Designing Storage Area Networks', ISBN 0-321-13650-0