Sunteți pe pagina 1din 30

FIBRE CHANNEL

TUTORIAL

21 MADBURY RD, SUITE 100


DURHAM, NH 03824
+1-603-862-0090
WWW.IOL.UNH.EDU

© 2019 UNIVERSITY OF NEW HAMPSHIRE INTEROPERABILITY LABORATORY 


TABLE OF CONTENTS
GENERAL OVERVIEW 3

DETAILED DISCUSSION 5

F​IBRE​ ​C​HANNEL​ L​AYERS 7

O​RGANIZATION​ O​F​ F​IBRE​ ​C​HANNEL ​S​TANDARDS 4

F​IBRE ​C​HANNEL​ T​OPOLOGIES 8

F​IBRE​ C​HANNEL ​P​ORTS 12

M​EDIA​ O​PTIONS 12

F​LOW ​C​ONTROL 13

C​LASSES​ ​O​F​ ​S​ERVICE 14

A​DDRESSING 15

L​OGIN 16

T​RANSMISSION​ H​IERARCHY 17
OTHER STORAGE TECHNOLOGIES 19

GLOSSARY OF FIBRE CHANNEL TERMS 20

ABOUT UNH-IOL 30

UNIVERSITY OF NEW HAMPSHIRE INTEROPERABILITY LABORATORY 1 


  
GENERAL OVERVIEW
Fibre Channel is a computer communications protocol designed to meet the many requirements
related to the ever-increasing demand for high performance information transfer. The goals of
Fibre Channel include:

● ​Developing practical, inexpensive, yet expandable means of quickly transferring data


between workstations, mainframes, supercomputers, storage devices, desktops,
displays and other peripherals.
● Allowing many well-known existing channel and networking protocols to run over the
same physical interface and media
● High bandwidth (128GB/s and beyond)
● Flexible topologies
● Connectivity over several kilometers
● Support for multiple data rates, media types, and connectors

There are two basic types of data communications between processors and between
processors and peripherals: channels and networks.

A channel is a closed, direct, structured, and predictable mechanism for transmitting data
between relatively few entities. It provides a direct or switched point-to-point connection
between the communicating devices. Typically, once a channel is set up, there is very little
decision making needed, thus allowing for a hardware-intensive environment and transports
data at the high speed with low overhead.

Channels are commonly used to connect peripheral devices such as a disk drive, printer, tape
drive, etc. to a workstation. Common channel protocols are NVMe™ (non-volatile memory
express), Small Computer System Interface (SCSI) and High Performance Parallel Interface
(HIPPI). A Fibre Channel fabric that contains NVMe™ and also carry traditional FCP.
In contrast, Networks are aggregations of distributed nodes (like workstations, file servers or
peripherals) with their own protocol that support interaction among these nodes. They are
unstructured and unpredictable. Networks are able to automatically adjust to changing
environments and can support a larger number of connected nodes. These factors require that
much more decision-making take place in order to successfully route data from one point to
another. Networks have relatively high overhead since they are software-intensive where
decision making is done making networks inherently slower than channels. An example of
common networks is Ethernet.
Although it’s called Fibre Channel, its architecture doesn't represent neither a channel nor a real
network topology. It allows for active intelligent interconnection scheme, called a Fabric, to
connect devices. All a Fibre channel port has to do is to manage a simple point-to-point
connection between itself and the fabric. In general, Fibre Channel attempts to combine the best
of these two methods of communication into a new I/O interface that meets the needs of
channel users and also network users.

In 1988, the ​American National Standards Institute (ANSI)​ Task Group X3T11 began work on
the Fibre Channel standards. Currently its standards are being worked on by ​T11​. T11 is a
Technical Committee of the International Committee on Information Technology Standards

UNIVERSITY OF NEW HAMPSHIRE INTEROPERABILITY LABORATORY 2 


(INCITS, pronounced “insights”). INCITS is accredited by, and operates under rules that are
approved by, the American National Standards Institute (ANSI). At this time , at least 20
separate documents, each defining an aspect of Fibre Channel, are either proposed or in draft
form. Although several of the standards are in their early stages, Fibre Channel products are
being shipped today. A list of companies involved in Fibre Channel can be found on the ​Fibre
Channel Industry Association​ website.
Today's data explosion presents unprecedented challenges incorporating data warehousing,
imaging, integrated audio/video, networked storage, real-time computing, collaborative projects
and CAD/CAE. Fibre channel is simply the easiest, most reliable solution for information storage
and retrieval.
Fibre Channel, a powerful ANSI standard, economically and practically meets the challenge with
these advantages:

● Price Performance Leadership​ - Fibre Channel delivers cost-effective solutions for


storage and networks.
● Solutions Leadership​ - Fibre Channel provides versatile connectivity with scalable
performance. A developed market exists for Fibre Channel with over 20 companies,
including well known storage and server suppliers, which supply thousands of products.
This ensures that any investments made into this technology have staying power and will
be safe and secure investments for the future.
● Reliable​ - Fibre Channel, a most reliable form of communications, sustains an enterprise
with assured information delivery.
● Gigabit Bandwidth Now​ - Gigabit solutions are common in modern Fibre Channel
solutions. Speeds up to 128 gigabit are frequently used, and technologies can be seen
supporting higher speeds up to 256 gigabit-per-second in the future.
● Multiple Topologies​ - Dedicated point-to-point, shared loops, and scaled switched
topologies meet application requirements.
● Multiple Protocols​ - Fibre Channel delivers data. ​NVMe™​, FICON, SCSI, TCP/IP,
video, or raw data can all take advantage of high performance, reliable Fibre Channel
technology.
● Scalable - From single point-to-point gigabit links to integrated enterprises with hundreds
of servers, Fibre Channel delivers unmatched performance.
● Congestion Free​ - Fibre Channel's credit-based flow control delivers data as fast as the
destination buffer is able to receive it.
● High Efficiency​ - Real price performance is directly correlated to the efficiency of the
technology. Fibre Channel has very little transmission overhead. Most important, the
Fibre Channel protocol is specifically designed for highly efficient operation using
hardware.

Fibre Channel is making the biggest impact in the storage arena, in particular, using NVMe™ as
an upper layer protocol. Compared with traditional NVMe™, the benefits of mapping the
NVMe™ command set onto Fibre Channel and using NVMe-oF™ include:

● faster speed between devices


● more devices can be connected together
● larger distance allowed between devices
● Fast access to remote storage

UNIVERSITY OF NEW HAMPSHIRE INTEROPERABILITY LABORATORY 3 


Essentially, Fibre Channel, usied the Arbitrated Loop topology, it was simply being used as a
replacement for SCSI. Many companies had shipped SCSI adapter cards for several platforms
and operating systems, as well as disk drives and storage devices with Fibre Channel
interfaces.
In addition to using SCSI, several companies are selling Fibre Channel devices that run Internet
Protocol (IP). Although the ULP is independent of the topology, IP is more commonly found in
switched fabric​ ​environments. At the present time, ​NVMe™​, FICON, SCSI and IP are common
ULPs commercially used on Fibre Channel.

Fibre Channel will most likely continue to expand into the storage markets, which will make use
of its benefits over traditional channel technologies such as SCSI but also take use of the
NVMe™. Being able to access mass storage devices faster and from greater distances is very
attractive to such applications as multimedia, medical imaging, and scientific visualization.
Because of the greater distances allowed, Fibre Channel has advantages in disaster recovery
situations as storage devices can be placed remotely.

 
DETAILED DISCUSSION
The UNH-IOL offers testing in many Fibre Channel areas; you can follow this link to see the
UNH-IOL Fibre Channel test offerings: ​Fibre Channel Test Offerings​. The UNH-IOL also offers
tests for ​NVMe™​ and ​NVMe-oF™​.

Fibre Channel Layers


It is often easier to understand a communications protocol if it is first broken down into parts or
layers. Some people are familiar with the International Standards Organization (ISO) - Open
Systems Interconnect (OSI) model, which breaks the communications puzzle into seven layers:
Physical, Data Link, Network, Transport, Session, Presentation, and Application. Fibre Channel
does not follow this model, but instead, the protocol has been broken into five layers: FC-0,
FC-1, FC-2, FC-3, and FC-4. FC-0 to FC-2 contains the physical description of Fibre Channel
defined in the FC-PH and FC-PI standards, while FC-3 and FC-4 describe the interface with
other applications, as well as some protocol specific information. Each is described below along
with the main functions it defines.
FC-0
The lowest Fibre Channel layer defines the physical media used to link two Fibre Channel ports,
including cabling types, optical and electrical parameters for a variety of data rates, maximum
transfer distances, and noise limits. Fibre Channel supports two types of cables: Copper and
optical. Copper cables are mainly used for interconnecting storage devices over short distances,
while optical cabling is used for all connections over longer distances due to its noise immunity.
Both copper and optical cables come in a variety of flavors including single-mode and
multi-mode fibers for the optical and shielded twisted pair and coaxial for copper. Each link must
connect two Fibre Channel ports, a transmitting port at one end and a receiving port at the other
end.
FC-1

UNIVERSITY OF NEW HAMPSHIRE INTEROPERABILITY LABORATORY 4 


FC-1 defines the transmission protocol including serial encoding and decoding rules, special
characters and error control. The information transmitted over a fibre is encoded dependent on
speed, 16G is encoded with 64/66B, 32G and 64G are encoded with 256/257b. The primary
rationale for use of a transmission code is to improve the transmission characteristics of
information across a fibre. The layer also controls the media access, defining the receiving and
transmitting ports and their operations.
FC-2
The Signaling Protocol (FC-2) layer serves as the transport mechanism of Fibre Channel.The
framing rules of the data to be transferred between ports, the different mechanisms for
controlling the three service classes and the means of managing the sequence of a data
transfer are defined by FC-2. The layer defines most of the Fibre Channel specific handling like
flow control, encapsulation of data into frames and sequence exchanges. The layer provides
Fibre Channel classes of service information, which allows a variety of different connection
types and connection management options. The layer also defines the physical models for the
Fibre Channel components, including the definition of nodes, ports, segmentation and
reassembly, Login/Logout and Fibre Channel topologies.
FC-3
The FC-3 layer is intended to provide the common services required for advanced features such
as:
● Striping-To multiply bandwidth using multiple N_Ports in parallel to transmit a single
information unit across multiple links.
● Hunt groups-The ability for more than one Port to respond to the same alias address.
This improves efficiency by decreasing the chance of reaching a busy N_Port.
● Multicast-Multicast delivers a single transmission to multiple destination ports. This
includes sending to all N_Ports on a Fabric(broadcast) or to only a subset of the N_Ports
on a Fabric.
FC-4
FC-4, the highest level in the FC structure defines the application interfaces that can execute
over Fibre Channel. It specifies the mapping of upper layer protocols using the FC levels below.
Fibre Channel is equally adept at transporting both network and channel information and allows
both protocol types to be concurrently transported over the same physical interface.
The following network and channel Upper Layer Protocols (ULP) mapping are currently
specified or proposed as FC-4s.
● Small Computer System Interface (SCSI)
● NVM Express® (NVMe™)
● Internet Protocol (IP)
● High Performance Parallel Interface (HIPPI)Framing Protocol
● Link Encapsulation (FC-LE)
● IEEE 802.2
● Asynchronous Transfer Mode - Adaptation Layer 5 (ATM-AAL5)
● Intelligent Peripheral Interface - 3 (IPI-3) (disk and tape)
● Single Byte Command Code Sets (SBCCS)
● future ULPs…

UNIVERSITY OF NEW HAMPSHIRE INTEROPERABILITY LABORATORY 5 


FC-0 and FC-1 can be thought of as defining the Physical Layer of the OSI model. FC-2 is
similar to what other protocols define as a Media Access Control (MAC) layer, which is typically
the lower half of the Data Link layer. Fibre Channel, however, does not define the concept of a
MAC. FC-3 is not really a layer at all and was designed in Fibre Channel's early development to
be a placeholder for future functions. It is still a largely undefined set of services for devices
having more than one port. An example is striping, where data is transmitted out of all ports at
the same time in order to increase bandwidth. FC-4 defines how other well-known higher layer
protocols are mapped onto and transmitted over Fibre Channel. Thus, one can roughly think of
the Fibre Channel layers defining up through the Transport layer of the OSI model.

Organization of Fibre Channel Standards


Fibre Channel without a doubt wins the award for the largest and most complex set of standards
documents for a communications protocol. The initial effort was started back in 1988, and
continues to undergo significant development to this day. There are now well over 20 individual
standards documents, some of which have been adopted as standards, but many remain in
draft form.
The main document by which all others are based is FC-PH (ANSI X3.230-1994, Fibre Channel
- Physical and Signaling Interface). It defines the FC-0, FC-1, and FC-2 layers. In addition to
FC-PH, two other Physical and Signaling Interface documents have been developed: FC-PH-2
(ANSI X3.297-1997, Fibre Channel - Physical and Signaling Interface - 2) and FC-PH-3 (INCITS
303-1998 (S2013), Fibre Channel - Physical and Signaling Interface - 3). These add various
functions and features to the original FC-PH. This has since expanded into FC-PI, currently up
to FC-PI-6 (INCITS 512-2015, Physical Interface - 6). This was done to separate and better
define the electrical and optical standards for the physical layer of Fibre Channel technologies.
Future generations are under development for FC-PI to accommodate faster speeds and to
anticipate future technologies.
Several documents exist that describe how ULPs are to be mapped onto Fibre Channel:
● SCSI-FCP ANSI X3.269-1996 Fibre Channel Protocol for SCSI
● FC-LE ANSI X3.287-1996 Fibre Channel - Link Encapsulation
● FC-FP ANSI X3.254-1994 Fibre Channel - Mapping - to HIPPI-FC
● HIPPI-FC ANSI X3.283-1996 HIGH-PERFORMANCE PARALLEL INTERFACE -
Encapsulation of Frames of the Fibre Channel Physical and Signaling Interface (FC-PH
Encapsulation)
● FC-SB ANSI X3.271-1996 Fibre Channel Single-Byte Command Code Sets (SBCCS)
Mapping Protocol
● FC-NVMe T11 540-D/Rev 1.19 Fibre Channel – NVMe

There are many more projects in various stages of completion such as:

● FC-GS-4 Project 1505-D Fibre Channel - Generic Services – 4


● FC-GS-5 Project 1677-D Fibre Channel - Generic Services – 5
● FC-GS-6 Project 1833-D Fibre Channel - Generic Services – 6
● FC-GS-7 Project 2204-D Fibre Channel - Generic Services – 7
● FC-FG ANSI X3.289-1996 Fibre Channel - Fabric Generic Requirements

UNIVERSITY OF NEW HAMPSHIRE INTEROPERABILITY LABORATORY 6 


● FC-AV Project 1237-D Fibre Channel - Audio-Visual (FC-AV)
● FC-AE Project 2009-DT Fibre Channel - Avionics Environment (FC-AE)
● FC-AE-1553 Project 1648-DT Fibre Channel Avionics Environment - Upper Layer
Protocol MIL-STD-1553
● FC-AE-ASM Project 1649-DT Fibre Channel Avionics Environment - Anonymous
Subscriber Messaging
● FC-AE-LP Project 1650-DT Fibre Channel Avionics Environment - SCSI-3 Lightweight
Protocol
● FC-AE-RDMA Project 1651-DT Fibre Channel Avionics Environment - SCSI-3 Remote
Direct Memory Access
● FC-SW Project 959-D FC Switch Fabric and Switch Control Requirements
● FC-SL Project 1232-D Fibre Channel - Slotted Loop
● FC-FLA Project 1235-DT Fibre Channel - Fabric Loop Attachment
● FC-BB Project 1238-D Fibre Channel – Backbone
● FC-PI-7 Project 64GFC - Fibre Channel Physical Interfaces – 7
● FC-PI-6P Project 533-201x Fibre Channel Physical Interfaces - 6P 128 GFC Four Lane
Parallel
● and more…

Fibre Channel Topologies


Fibre Channel defines three topologies, namely Point-to-Point, Arbitrated Loop, and Fabric.
Each of these is described below.
Point-to-Point
A Point-to-Point topology is the simplest of the three. It consists of two and only two Fibre
Channel devices connected directly together. The transmit fibre of one device goes to the
receive fibre of the other device, and vice versa. There is no sharing of the media, which allows
the devices to enjoy the total bandwidth of the link. A simple link initialization is required of the
two devices before communication can begin.
To initialize a link the setup must got through the fibre channel state machine to enter the active
state.
1) A NOS(Non Operational) Primitive Sequence is transmitted to indicate that the FC_Port
transmitting NOS has detected a Link Failure condition or is Offline and waiting.
2) A OLS(Offline) Primitive sequence is then transmitted back to the port that sent NOS to
indicate the the FC_PORT transmitting the OLS is​ ​Initiating the Link Initialization Protocol

a) Receiving and recognizing NOS


b) Entering the Offline State

1) The port that receives the OLS will the transmit a LR (Link Reset) Primitive Sequence to
initiate the Link Reset Protocol or to recover from a Link Timeout
2) The port that receives a LR will transmit a LRR(Link Reset Response) to indicate that it is
receiving and recognizes the LR Primitive Sequence.

UNIVERSITY OF NEW HAMPSHIRE INTEROPERABILITY LABORATORY 7 


A port must transmit a minimum of 6 IDLE primitives once it enters the active state before it may
transmit other Primitive Signals or frames.
Fibre Channel follows a link Recovery state table if a link fails.

Arbitrated Loop
Arbitrated Loop has become a cost-effective way of connecting up to 127 ports in a single
network without the need of a Fabric switch. Unlike the other two topologies, the media is
shared among the devices, limiting each device's access. Not all devices are required to
operate on an Arbitrated Loop; the added functionality is optional. Thus, for a Loop to operate,
all devices must be Loop devices.

Arbitrated Loop is not a token-passing scheme. When a device is ready to transmit data, it first
must arbitrate and gain control of the Loop. It does this by transmitting the Arbitrate (ARBx)
Primitive Signal​, where x = the ​Arbitrated Loop Physical Address (AL_PA)​ of the device. Once a
device receives its own ARBx Primitive Signal, it has gained control of the Loop and can now
communicate with other devices by transmitting an Open (OPN) Primitive Signal to a destination
device. Once this happens, there essentially exists point-to-point communication between the
two devices. All other devices in between simply repeat the data.

If more than one device on the Loop is arbitrating at the same time, the x values of the ARB
Primitive Signals are compared. When an arbitrating device receives another device's ARBx,
the ARBx with the numerically lower AL_PA is forwarded, while the ARBx with the numerically
higher AL_PA is blocked. Thus, the device with the lower AL_PA will gain control of the Loop
first. Once that device relinquishes control of the Loop, the other device can have a chance.
Unlike token-passing schemes, there is no limit on how long a device may retain control of the
Loop. This demonstrates the "channel" aspect of Fibre Channel. There is, however, an Access

UNIVERSITY OF NEW HAMPSHIRE INTEROPERABILITY LABORATORY 8 


Fairness Algorithm, which prohibits a device from arbitrating again until all other devices have
had a chance to arbitrate. The catch is that the Access Fairness Algorithm is optional.
Loop Initialization
Before the Loop is usable, it must be initialized so that each port obtains an Arbitrated Loop
Physical Address (AL_PA), a dynamically assigned value by which the ports communicate. It
maps to the lowest byte of the ​Native Address Identifiers (D_ID and SI_ID)​. Although the AL_PA
is a byte, only 127 values are valid (neutral running disparity). If more than 127 devices are
present on the Loop, some will not be able to select an AL_PA and will be forced into
non-participating mode. Without getting into all the details of Loop initialization, the basics are
as follows.

The LIP ​Primitive Sequence​ begins the process. LIP is transmitted by an ​L_Port​ after it powers
on, or when it detects Loop Failure (loss of synchronization at its receiver). The LIP will
propagate around the Loop, triggering all other L_Ports to transmit LIP as well. At this point, the
Loop is not usable.

The next major step is to select a Loop master that will control the process of AL_PA selection.
This is done by the L_Ports constantly transmitting Loop Initialization Select Master (LISM)
frames. The process is designed so that if an Fabric is present, it will become Loop master (by
receiving back its own LISM frames), otherwise, the port with the numerically lowest Port Name
will win. All other L_Ports propagate the higher priority LISM frames.
The third step is to allow the L_Ports to select an AL_PA. The concept of an AL_PA bitmap is
used, where each L_Port selects (and sets) a single bit in the bitmap of a frame originated by
the Loop master and repeats the frame back on the Loop. There are 127 available bits,
corresponding to the 127 valid AL_PAs. This process is done using four frames, breaking the
selection down according to priority. The following table explains:

Frame reason priority / order


transmitted

LIFA Loop Initialization Fabric a certain AL_PA was assigned by 1


Assigned the Fabric

LIPA Loop Initialization before this initialization, the L_Port 2


Previously Acquired had a valid AL_PA

LIHA Loop Initialization Hard the L_Port has a certain AL_PA it 3


Assigned tries to claim

UNIVERSITY OF NEW HAMPSHIRE INTEROPERABILITY LABORATORY 9 


LISA Loop Initialization Soft the L_Port claims the first available 4
Assigned AL_PA that is left

So for example, if an L_Port had a valid AL_PA before the Loop began this initialization, it will
attempt to reclaim this previously acquired value by looking for that bit to be available in the
LIPA frame. If it is, it will set the bit and repeat the frame. If it is not available (already been
claimed), the L_Port will wait for the LISA frame to come around and claim one there.
Once the LISA frame has come back to the Loop master, all L_Ports (hopefully) have selected
an AL_PA. Two additional frames may be sent by the Loop master, but only if all L_Ports on the
Loop support them. The first is the Loop Initialization Report Position (LIRP). As the frame
traverses the Loop, each port adds its AL_PA to the end of a list. When done, the relative
positions of all L_Ports is known. Finally, the Loop Initialization Loop Position (LILP) frame is
transmitted, which simply allows all L_Ports to look at the finished list.
Whether or not LIRP and LILP are used, the Loop master transmits the CLS Primitive Signal to
let each port know that the process has finished. At this point, the Loop has finished initializing
and ready to be used.
Hubs
Like most ring topologies, life is made easier if the devices can be connected to a central hub or
concentrator. The cabling is easier to deal with, and the hub can usually determine when to
insert or de-insert a device. Thus, a "bad" device or broken fibre won't keep the whole network
down.
Fibre Channel has hubs as well. Most hubs will simply look for valid signal on a port before it will
insert the port in the data path. Some hubs are "smarter" and will provide the user with
information on each of its ports, allow the user to transmit from the ports, and be more selective
as to when ports are inserted.
Fabric
The Fabric topology is used to connect many (2^24) devices in a cross-point switched
configuration. The benefit of this topology is that many devices can communicate at the same
time; the media is not shared. Of course, it also requires the purchase of a switch.
When the N_Ports log into the Fabric, the Fabric will assign Native Address Identifiers (S_ID).
Other functions of the Fabric include a multicast server, broadcast server, alias server, quality of
service facilitator, and directory server. Some Fabrics have FL_Ports, allowing Arbitrated Loops
to be connected to the Fabric.
Fabrics are commonly used due to their resilience. If there are multiple paths from one port to
another and the current link goes down, traffic can be rerouted to the other path to still reach its
end goal. Traffic also only has to flow through the needed switch connections, not other ports
like in a Arbitrated Loop. Also when a failure of a port occurs, one link goes down not the whole
fabric.
Switches

UNIVERSITY OF NEW HAMPSHIRE INTEROPERABILITY LABORATORY 10 


Switches are used in fibre channel fabrics. Fabrics are the easiest scalable fibre channel
topology. One or multiple switches can be added to a fabric. Most fabrics are set up with
redundancy to allow traffic to travel even if a link goes down. Fibre channel switches can
implement zoning, which is a mechanism that can disable unwanted traffic between certain
nodes. Fibre switches are similar to stackable Ethernet switches.

Fibre Channel Ports


Fibre Channel defines several types of ports. They can be grouped a couple of ways. First, any
port on a node device, e.g., a disk, a PC, is an N_Port as compared with a port on a Fabric,
which is an F_Port. At the same time, any port that happens to have Arbitrated Loop
capabilities, it is called an L_Port. Combining these groupings, we also have NL_Ports and
FL_Ports.If a port can support loop and non-loop function it is known as X_port. Meaning you
can have a Fx_Port and a Nx_Port.
Ports that connect switches together are called E_Ports. They generally do not need to follow
Fibre Channel rules and protocols. An EX_Port is a E_Port used to connect to a FC router
fabric. A TE_PORt is a trunking expansion port that expands the functionality of E_Ports to
support VSAN trunking. A port that can act as either an E_Port or an F_Port is called a G_Port.
A G_Port with Loop capabilities, is a GL_Port.
PN_Port is a port that includes a Link_Control_Facility and one or more Nx_Ports. VF_Port is a
virtual F_Port, similar to VN_Port is a virtual N_Port and VE_Port is a virtual E_Port. A VA_Port
is a virtual port that connects to another VA_Port.
A_Port is an Adjacent port which is the combination of PA_Port and a VA_Port operating
together. A B_Port is a bridge port that is a fabric inter-element port used to connect bridge
devices with E_Ports on a Switch.
A D_Port is a Diagnostic Port used to perform diagnostic tests on a link with another D_Port.
A Link Control Facility (LCF) has multiple port types. A PE_Port is a LCF within a Fabric that
attaches to another PE_Port or B_Port. A PF_POrt is a LCF within a Fabric that attaches to a
PN_Port.
A U_Port is a universal port waiting to designated as another port type.
A WEX_Port is similar to a EX_Port but uses the underlying transport of IP instead of FC.

Media Options
Speed
Fibre Channel offers a very wide range of media speeds. For the most current speeds and for
an up to date roadmap visit the ​FCIA​ webpage.

Name Line-rate (gigabaud) Line Coding MB/s Availability


16GFC 14.025 64b66b 3,200 2011
32GFC "Gen 6" 28.05 256b257b 6,400 2016

UNIVERSITY OF NEW HAMPSHIRE INTEROPERABILITY LABORATORY 11 


64GFC "Gen 7" 57.8 256b257b (FC-FS-5) 12,800 2019
128GFC "Gen 6" 4 X 28.05 256b257b 25,600 2016
256GFC "Gen 7" 4X57.8 256b257b 51,200 2019
128GFC "Gen 8" TBD 256b257b 25,600 Market Demand

Media
Despite the name, Fibre Channel can run over both copper and fiber media. The main trade offs
are that although longer distances can be achieved with fiber, it is more expensive. ​For copper,
the following cable types are used: video cable, miniature cable, and shielded twisted pair. The
most common by far is shielded twisted pair, using a DB-9 connector. For fiber, the choices are:
62.5µm multi-mode, 50µm multi-mode, and single-mode. The SC connector is used. Also for
fiber, both longwave and shortwave lasers can be used. Short wave transmitters seem to be
most popular now. The short wave transmitters have the option to implement the open fibre
control (OFC). This is a scheme designed to prevent disconnected fibers from continuously
transmitting light, as a safety precaution. There is a simple protocol where each transmitter on a
link periodically transmits short pulses of light to the other receiver. When the receivers detect
this, the transmitters can operate normally. Most devices however, are non-OFC.

Flow Control
The concept of flow control deals with the problem where a device receives frames faster than it
can process them. When this happens, the result is that the device is forced to drop some of the
frames. Fibre Channel has a built-in flow control solution to this problem.
The idea is simple enough. A device can transmit frames to another device only when the other
device is ready to accept them. Before the devices can send data to each other, they must login
to each other. One of the things accomplished in login is establishing credit. Credit refers to the
number of frames a device can receive at a time. This value is exchanged with another device
during login, so each knows how many frames the other can receive. After enough frames have
been transmitted and credit runs out, no more frames can be transmitted until the destination
device indicates it has processed one or more frames and is ready to receive new ones. Thus,
no device should ever be overrun with frames. Fibre Channel uses two types of flow control,
buffer-to-buffer and end-to-end.
Buffer-to-Buffer
This type of flow control deals only with the link between an N_Port and an F_Port or between
two N_Ports. Both ports on the link exchange values of how many frames it is willing to receive
at a time from the other port. This value becomes the other port's BB_Credit value and remains
constant as long as the ports are logged in. For example, when ports A and B log into each
other, A may report that it is willing to handle 4 frames from B; B might report that it will accept 8
frames from A. Thus, B's BB_Credit is set to 4, and A's is set to 8.
Each port also keeps track of BB_Credit_CNT, which is initialized to 0. For each frame
transmitted, BB_Credit_CNT is incremented by 1. The value is decremented by 1 for each
R_RDY Primitive Signal received from the other port. Transmission of an R_RDY indicates the
port has processed a frame, freed a receive buffer, and is ready for one more. If

UNIVERSITY OF NEW HAMPSHIRE INTEROPERABILITY LABORATORY 12 


BB_Credit_CNT reaches BB_Credit, the port cannot transmit another frame until it receives an
R_RDY.
End-to-End
End-to-End flow control is not concerned with individual links, but rather the source and
destination N_Ports. The concept is very similar to buffer-to-buffer flow control. When the two
N_Ports log into each other, they report how many receive buffers are available for the other
port. This value becomes EE_Credit. EE_Credit_CNT is set to 0 after login and increments by 1
for each frame transmitted to the other port. It is decremented upon reception of an ACK Link
Control frame from that port. ACK frames can indicate the port has received and processed 1
frame, N frames, or an entire Sequence of frames.

Classes of Service
Fibre Channel defines several communication strategies called Classes of service. The Class
used greatly depends on the type of data to be transmitted. The major difference between the
Classes is the types of flow control used. If two N_Ports are to communicate or if an N_Port is to
successfully log into a Fabric, there must be at least 1 common Class of service supported
between them, since Sequences and Exchanges must take place using a single Class of
service. This information is exchanged during Fabric Login and N_Port Login.
Class 1
In Class 1, a dedicated connection is established between two N_Ports. Once established, the
two N_Ports may communicate using the full bandwidth of the connection; no other network
traffic affects this communication. Due to this, frames are guaranteed to arrive in the order in
which they were transmitted. In addition, the media speeds must be the same for all links which
make up the dedicated connection. Because of the nature of the dedicated connection, there is
no need for buffer-to-buffer flow control; the Fabric does not need to buffer the frames as they
are routed. Thus, only end-to-end flow control is used in Class 1. Class 1 would be used when
the data needs to be continuous and time critical, such as voice or video.
Intermix

Intermix is an option of Class 1 whereby Class 2 and Class 3 frames may be transmitted at
times when Class 1 frames are not being transmitted. The Class 2 and Class 3 frames may or
may not be destined to the same N_Port as the Class 1 frames. Both N_Ports as well as the
Fabric must support Intermix for it to be used.
Class 2
Class 2 is referred to as multiplex due to the fact that it is a connectionless Class of service with
notification of delivery and non-delivery of frames. Since no dedicated connection needs to be
established, a port can transmit frames to and receiving frames from more than one N_Port. As
a result, the N_Ports share the bandwidth of the links with other network traffic. Frames are not
guaranteed to arrive in the order in which they were transmitted, except in the point-to-point or
Loop topologies. Also, the media speeds may vary for different links which make up the path.
Both buffer-to-buffer and end-to-end flow control are used in Class 2. Class 2 is more like typical
LAN traffic, such as IP or FTP, where the order and timeliness of delivery is not so important.

UNIVERSITY OF NEW HAMPSHIRE INTEROPERABILITY LABORATORY 13 


Class 3
Class 3 is very similar to Class 2. The only exception is that it only uses buffer-to-buffer flow
control. It is referred to a datagram service. Class 3 would be used when order and timeliness is
not so important, and when the ULP itself handles lost frames efficiently. Class 3 is the choice
for SCSI.
Class 3 is most used in fabrics
Class 4
Class 4 provides fractional bandwidth allocation of the resources of a path through a Fabric that
connects two N_Ports. Class 4 can be used only with the pure Fabric topology. One N_Port will
set up a Virtual Circuit (VC) by sending a request to the Fabric indicating the remote N_Port as
well as quality of service parameters. The resulting Class 4 circuit will consist of two
unidirectional VCs between the two N_Ports. The VCs need not be the same speed.
Like a Class 1 dedicated connection, Class 4 circuits will guarantee that frames arrive in the
order they were transmitted and will provide acknowledgement of delivered frames (Class 4
end-to-end credit). The main difference is that an N_Port may have more than one Class 4
circuit, possibly with more than one other N_Port at the same time. In a Class 1 connection, all
resources are dedicated to the two N_Ports. In Class 4, the resources are divided up into
potentially many circuits. The Fabric regulates traffic and manages buffer-to-buffer flow control
for each VC separately using the FC_RDY Primitive Signal. Intermixing of Class 2 and 3 frames
is mandatory for devices supporting Class 4.
Class 5
The idea for Class 5 involved isochronous, just-in-time service. However, it is still undefined,
and possibly scrapped altogether. It is not mentioned in any of the FC-PH documents.
Class 6
Class 6 provides support for multicast service through a Fabric. Basically, a device wishing to
transmit frames to more than one N_Port at a time sets up a Class 1 dedicated connection with
the multicast server within the Fabric at the well-known address of hex'FFFFF5'. The multicast
server sets up individual dedicated connections between the original N_Port and all the
destination N_Ports. The multicast server is responsible for replicating and forwarding the frame
to all other N_Ports in the multicast group. N_Ports become members of a multicast group by
registering with the Alias Server at the well-known address of hex'FFFFF8'. The Class 6 is very
similar to Class 1; Class 6 SOF delimiters are the same as used in Class 1. Also, end-to end
flow control is used between the N_Ports and the multicast server.

Addressing
Unlike many LAN technologies that use a fixed six-byte Media Access Control (MAC) address,
Fibre Channel uses a three byte address identifier, which is dynamically assigned during Login.
N_Ports transmit frames from their own Source_ID (S_ID) to a Destination_ID (D_ID).
Addresses in the range of hex FFFFF0' to hex FFFFFF' are special, well-known addresses uses
for such things as the Fabric, Alias Server, or the Multicast Server. Before Fabric Login, the
N_Port's S_ID is undefined: hex'000000'. Hex FFFFFF' is reserved for broadcast. In a

UNIVERSITY OF NEW HAMPSHIRE INTEROPERABILITY LABORATORY 14 


point-to-point topology, Fabric Login will fail of course, and the two ports will simply choose two
unique addresses.
Arbitrated Loop devices still use the three byte address identifiers, but also use an Arbitrated
Loop Physical Address (AL_PA). AL_PAs are one byte values dynamically assigned each time
the Loop is initialized. Once the Loop is initialized and (hopefully) each L_Port has selected an
AL_PA, public NL_Ports will attempt Fabric Login. If there is an FL_Port, the Fabric will assign
the upper two bytes of the NL_Port's address identifier and usually allow the low byte to be the
NL_Port's AL_PA. (If not, the Loop will need to be re-initialized so the NL_Port can select the
Fabric assigned AL_PA). If no Fabric exists or if an NL_Port is a private NL_Port (does not login
with the Fabric), the upper two bytes of the address identifier will remain '0000', and the lower
byte will simply be the NL_Port's AL_PA.
But there still needs to be a way of uniquely identifying a port - even for much of the above
initialization to take place. This is accomplished using Name_Identifiers, a fixed 64-bit value.
Name_Identifiers are used to uniquely identify nodes (Node_Name), a Port (Port_Name), and a
Fabric (Fabric_Name). Name Identifiers are not used to route frames but are used in mapping to
upper layer protocols.

Login
Fibre Channel defines two types of login procedures, Fabric and N_Port. With the exception of
private NL_Ports, all other node ports must attempt to log in with the Fabric. This is typically
done right after the link or the Loop has been initialized. It consists of the node port transmitting
a Fabric Login (FLOGI) frame to the well-known Fabric address hex'FFFFFE'. The normal
response is an Accept (ACC) frame from the Fabric back to the node port. Fabric Login
accomplishes the following things:
● It determines the presence or absence of a Fabric.
● If a Fabric is present, it provides a specific set of operating characteristics associated
with the entire Fabric, including which Classes of service are supported.
● If a Fabric is present, it shall optionally assign or shall confirm the native N_Port Identifier
of the N_Port that initiated the Login.
● If a Fabric is not present, an ACC from an N_Port indicates that the requesting N_Port is
attached in a point-to-point topology.
● If a Fabric is present, it initializes the buffer-to-buffer credit.

Before a node port can communicate with another node port, it must first perform N_Port Login
with that node port. Similar to Fabric Login, the process entails transmitting a PLOGI frame to
the destination node port. Again, the normal response is an ACC frame. N_Port Login
accomplishes the following things:
● It provides a specific set of operating characteristics associated with the destination
N_Port, including which Classes of service are supported.
● Initializes the destination end-to-end credit.
● In point-to-point topology, buffer-to-buffer credit is initialized.

UNIVERSITY OF NEW HAMPSHIRE INTEROPERABILITY LABORATORY 15 


Both Fabric Login and N_Port Login are intended to be long-lived. Once logged in, a device can
stay logged in indefinitely, even if it has no further data to transmit at that time.

Transmission Hierarchy
The easiest way to understand the methods by which information is transmitted over Fibre
Channel is by looking at the problem in the form of a hierarchy.
Transmission Codes have greatly improved in fibre channel. From 8G to 16G the overhead has
dropped from 25% to 3.125%.

64/66B Transmission Code


At the 16G, Fibre Channel uses the 64B/66B encoding scheme based of IEEE 802.3-2015. All
64B/66B Transmission Words consist of 66 bits. Transmission Words are either data
Transmission Words or control Transmission Words.

The first two bits of a Transmission Word are the synchronization header, and are set to either
01h or 10h. The remaining 64 bits of the Transmission Word are the output of a scrambler.Due
to the Transmission Word body being passed through a scrambler and not the synchronization
header. The synchronization header is the only position in the Transmission Word that is always
contains a transition. This feature is used to obtain transmission Word Synchronization.

A 64/66B Transmission Word shall be transmitted so that each bit in the Transmission Word is
transmitted before all the more significant bits in the Transmission Word.

Scrambling Process

1. serialize the bits within the Transmission Word body so that bit 0 of the Transmission
Word body is first and each remaining bit of the Transmission Word body follows all less
significant bits of the Transmission Word body;
2. scramble the serialized Transmission Word body as specified in IEEE 802.3-2015
subclause 49.2.6; and
3. place the first bit of the scrambled output into bit 2 of the Transmission Word, and place
each subsequent bit of scrambled output into a more significant bit position in the
Transmission Word than any prior bit of the scrambled output.

The reverse process is used to unscramble the scrambled Transmission Word.

256/257B Transmission Code


For speeds of 32G and 64G fibre channel uses the 256/257B encoding scheme called Reed
Solomon.

For 32G the transcoder constructs a 257B Transmission Word from a group of 4 X66B
Transmission Words to allocate the bandwidth for the parity check symbols added by the
Reed-Solomon encoder. The first 5 bits are not scrambled. Each RS_FEC code word is
scrambled with a known sequence to randomize the 257B Transmission Word headers and to
enable a robust code word synchronization at the receiver.

UNIVERSITY OF NEW HAMPSHIRE INTEROPERABILITY LABORATORY 16 


For 64G a similar setup is used as 32G,but it also adds alignment marker mapping and
insertion. A unique data pattern is inserted into the data stream to provide a framing pattern for
aligning the FEC code words. The first 257B of every 1024TH FEC code word carries Alignment
Marker information. The first 256Bs of the Alignment Marker vector are composed of
AM),AM4,AM8, and AM12 from Table 82-2 of IEEE 802.3-2015. AMx is the marker for PCS lane
number x in Table 82-2. AM0 is the first marker transmitted on the line, followed by AM4, AM8
and AM12. Each octet in the AM vector is transmitted LSB, rightmost bit, to MSB, leftmost bit,
starting from the leftmost octet to the rightmost octet. The last bit is a pad bit that is always
transmitted as zero.

Frame
Fibre Channel defines a variable length frame consisting of 36 bytes of overhead and up to
2112 bytes of payload for a total maximum size of 2148 bytes. The total size of the frame must
be an even multiple of four bytes so that partial Transmission Words are not sent. Between 0
and 3 pad bytes are appended to the end of the payload to satisfy this rule. A Start of Frame
(SOF) delimiter and End of Frame (EOF) delimiter mark the beginning and end of each Fibre
Channel frame. The Cyclic Redundancy Check (CRC) is the same 32-bit CRC used in FDDI.
Sequence
A Fibre Channel Sequence is a series of one or more related frames transmitted unidirectionally
from one port to another. All frames must be part of a Sequence. Frames within the same
Sequence have the same SEQ_ID field in the header. The SEQ_CNT field identifies individual
frames within a Sequence. For each frame transmitted in a Sequence, SEQ_CNT is
incremented by 1. This provides a means for the recipient to arrange the frames in the order in
which they were transmitted and to verify that all expected frames have been received. Multiple
Sequences to multiple ports may be active at a time.
Exchange

A Fibre Channel Exchange is a series or one or more non concurrent Sequences between two
ports. The Sequences may be in either direction. All Sequences (and therefore all frames) must
be part of an Exchange. The originator of the Exchange assigns the OX_ID field. The responder
assigns the RX_ID field. As another perspective, one can use the following analogy:

● frame ~ word
● sequence ~ sentence
● exchange ~ conversation

Of course, one main difference is that a Fibre Channel device can "speak" more than one
sentence and hold more than one "conversation" at a time.

OTHER STORAGE TECHNOLOGIES

UNIVERSITY OF NEW HAMPSHIRE INTEROPERABILITY LABORATORY 17 


If you have questions about storage technologies outside of Fibre Channel, UNH-IOL has other
consortia that can meet your needs:
● iSCSI
● SAS
● SATA
● NVMe™
● NVMe-oF™

GLOSSARY OF FIBRE CHANNEL TERMS

UNIVERSITY OF NEW HAMPSHIRE INTEROPERABILITY LABORATORY 18 


A​ ​B​ ​C​ ​D​ ​E​ ​F​ ​G​ ​H​ ​I​ ​J​ ​K​ ​L​ ​M​ ​N​ ​O​ ​P​ ​Q​ ​R​ ​S​ ​T​ ​U​ ​V​ ​W​ ​X​ ​Y​ ​Z​ ​#
A
A_PORT

Combination of one PA_Port and one VA_Port operating together.


ACC

Accept Link Service reply. Accept is the normal reply to an Extended Link Service request (such
as FLOGI) and indicates that the request has been completed.
ACK

Acknowledgement Frame. An ACK is used for end-to-end flow control. An ACK is sent to verify
receipt of one or more frames in Class 1 and Class 2 Services.
Address Identifier

A 3-byte value typically assigned by the Fabric used to address an N_Port. Used in frames in
the S_ID (source identifier) and D_ID (destination identifier) fields.
AL_PA

Arbitrated Loop Physical Address. A 1-byte value used in the Arbitrated Loop topology used to
identify L_Ports. This value will then also become the last byte of the address identifier for each
public L_Port on the loop.
AL_TIME

Arbitrated Loop Timeout value. Twice the amount of time it would take for a Transmission Word
to propagate around a worst-case Loop, i.e. a Loop with 134 L_Ports and 10 km links between
each L_Port, with a 6 Transmission Word delay through each L_Port. This value is set at 15 ms.
Arbitrated Loop

One of the three Fibre Channel topologies. Up to 126 NL_Ports and 1 FL_Port are configured in
a unidirectional loop. Ports arbitrate for access to the Loop based on their AL_PA. Ports with
lower AL_PA's have higher priority than those with higher AL_PA's.
ARB

Arbitrate Primitive Signal. This Primitive Signal applies only to the Arbitrated Loop topology. It is
transmitted as the Fill Word by an L_Port to indicate that the L_Port is arbitrating to access to
the Loop.
B
B_Port

Fabric inter-element port used to connect bridge devices with E_Ports on a Switch.

UNIVERSITY OF NEW HAMPSHIRE INTEROPERABILITY LABORATORY 19 


BB_Credit

Buffer-to-buffer credit value. Used for buffer-to-buffer flow control, this determines the number of
frame buffers available in the port it is attached to, i.e., the maximum number of frames it may
transmit without receiving an R_RDY.
C
Class 1 Service

A method of communicating between N_Ports in which a dedicated connection is established


between them. The ports are guaranteed the full bandwidth of the connection and frames from
other N_Ports may be blocked while the connection exists. In-order delivery of frames is
guaranteed. Uses end-to-end flow control only.
Class 2 Service

A method of communicating between N_Ports in which no connection is established. Frames


are acknowledged by the receiver. Frames are routed through the Fabric, and each frame may
take a different route. In-order delivery of frames is not guaranteed. Uses both buffer-to-buffer
flow and end-to-end flow control.
Class 3 Service

A method of communicating between N_Ports similar to Class 2 service, except there is no


acknowledgment of received frames. Frames are routed through the Fabric as in Class 2, and
in-order delivery is not guaranteed. Uses only buffer-to-buffer flow control.
CLS

Close Primitive Signal. This Primitive Signal applies only to the Arbitrated Loop topology. It is
Primitive Signal is sent by an L_Port which is currently communicating on the Loop (i.e., it has
won access to the loop or was opened by another L_Port which had won access to the Loop) to
close communication with the other L_Port.
D
D_ID

Destination identifier. A 3-byte field in the frame header used to indicate the address identifier of
the N_Port the frame is to be delivered to.
D_Port
A configured port used to perform diagnostic tests on a link with another D_Port.
Disparity
The difference between the number of 1's and 0's in a Transmission Character. A Transmission
Character with more 1's than 0's is said to have positive running disparity. A Transmission
Character with more 0's than 1's is said to have negative running disparity. A Transmission
Character with an equal number of 1's and 0's is said to have neutral disparity.
E

UNIVERSITY OF NEW HAMPSHIRE INTEROPERABILITY LABORATORY 20 


E_Port

Switch port that attaches to another E_Port to create an Inter-Switch Link.


E_D_TOV

Error Detect Timeout value. A timer used to represent the longest possible time for a frame to
make a round trip through the Fabric. This value is negotiated at N_Port Login and will typically
be on the order of a few seconds. E_D_TOV is used to decide when some particular error
recovery action must be taken.
EE_Credit

End-to-end credit value. Used for end-to-end flow control, determines the maximum number of
frames that may remain unacknowledged.
EOF

End of Frame delimiter. This Ordered Set is always the last Transmission Word of a Frame. It is
used to indicate that a Frame has ended and indicates whether the Frame is valid or invalid.
EX_Port

A type of E_Port used to connect to an FC router fabric.


Exchange

The highest level Fibre Channel mechanism used for communication between N_Ports.
Exchanges are composed of one or more related sequences. Exchanges may be bidirectional
or unidirectional.
F
F_BSY

Fabric Port Busy Frame. This Frame is issued by the Fabric to indicate that a particular cannot
be delivered because the Fabric or the destination N_Port is too busy.
Fabric

One of the three Fibre Channel topologies. In the Fabric topology, N_Ports are connected to
F_Ports on a switch. Depending on vendor support, fabric switches may be interconnected to
support up to 16 million+ N_Ports on a single network.
FC-AL

Fibre Channel Arbitrated Loop. Refers to the ANSI FC-AL document which specifies operation
of the Arbitrated Loop topology.
FC-PH

Fibre Channel Physical and Signaling Interface. Refers to the ANSI FC-PH document which
specifies the FC-0, FC-1, and FC-2 layers of the Fibre Channel protocol. FC-0 Fibre Channel
layer 0. Specifies the physical signalling used in Fibre Channel, as well as cable plants, media
types, and transmission speeds.

UNIVERSITY OF NEW HAMPSHIRE INTEROPERABILITY LABORATORY 21 


FC-1

Fibre Channel layer 1. Specifies the IBM patented 8B/10B data encoding used in Fibre Channel.
FC-2

Fibre Channel layer 2. Specifies the frame format, Sequence/Exchange management, and
Ordered Set usage in Fibre Channel.
FC-3

Fibre Channel layer 3. Specifies services provided for multiple N_Ports in a single node.
FC-4

Fibre Channel layer 4. Specifies mapping of Upper Level Protocols such as SCSI and IP onto
the Fibre Channel Protocol.
Fill Word

The Primitive Signal is used by L_Ports to be transmitted in between Frames. This may be Idle
or ARBx, depending on which, if any, L_Ports are Arbitrating for Loop access, and will not
necessarily be the same for all L_Ports on the Loop at any given time.
FL_Port

Fabric-Loop port. An F_Port which is capable of supporting an attached Arbitrated Loop. An


FL_Port on a Loop will have the AL_PA hex'00', giving the Fabric highest priority access to the
Loop. An FL_Port is the gateway to the Fabric for NL_Ports on a Loop.
F/NL_Port

An NL_Port which is capable of providing certain Fabric services to other NL_Ports on a Loop in
the absence of a Fabric. This NL_Port will respond to requests to open communication with
AL_PA hex'00', even though it may actually have another value for its AL_PA.
F_Port

Fabric port. A port on a fabric switch to which N_Ports may be directly connected. An F_Port is
uses the address identifier hex'FFFFFE'.
Frame

The basic unit of communication between two N_Ports. Frames are composed of a starting
delimiter (SOF), a header, the payload, the Cyclic Redundancy Check (CRC), and an ending
delimiter (EOF). The SOF and EOF contain the Special Character and are used to indicate
where the frame begins and ends. The 24-byte header contains information about the frame,
including the S_ID, D_ID, routing information, the type of data contained in the payload, and
sequence/exchange management information. The payload contains the actual data to be
transmitted and may be 0-2112 bytes in length. The CRC is a 4-byte field used for detecting bit
errors in the received frame.

UNIVERSITY OF NEW HAMPSHIRE INTEROPERABILITY LABORATORY 22 


F_RJT

Fabric Port Reject Frame. This Frame is issued by the Fabric to indicate that delivery of a
particular frame is being denied. Some reasons for issuing an F_RJT include: Class not
supported; invalid header field(s); and N_Port unavailable.
G​ ​H​ ​I
Idle

An Ordered Set transmitted continuously over a link when no data are being transmitted. Idle is
transmitted to maintain an active link over a fibre and lets the receiver and transmitter maintain
bit, byte, and word synchronization.
Intermix

A service in which Class 2 and Class 3 frames may be delivered to an N_Port which has a
Class 1 dedicated connection open. The Class 2 and 3 frames are delivered during times which
no Class 1 frames are being delivered on the connection.
J​ ​K​ ​L
Link Service

Link Services are facilities used between an N_Port and a Fabric or between two N_Ports and
are used to for such purposes as Login, Sequence and Exchange management, and
maintaining connections.
LIP

Loop Initialization Primitive Sequence. This Primitive Sequence applies only to the Arbitrated
Loop topology. It is transmitted by an L_Port to (re)initialize the Loop.
LIFA

Loop Initialization Fabric Assigned Frame. This is the first Frame transmitted in the Loop
initialization process after a temporary Loop master has been selected. L_Ports which have
been assigned their AL_PA by the Fabric will select their AL_PA's in this frame as it makes its
way around the Loop.
LIHA

Loop Initialization Hard Assigned Frame. This is the third Frame transmitted in the Loop
initialization process after a temporary Loop master has been selected. L_Ports which have
been programmed to select a particular AL_PA (if available) by the manufacturer will select their
AL_PA's in this frame as it makes its way around the Loop.
LILP

Loop Initialization Loop Position Frame. This is the second Frame transmitted in the Loop
initialization process after all L_Ports have selected an AL_PA (after LISA has been around the
loop). This Frame is transmitted around the Loop so that all L_Ports may know the relative
position of all other L_Ports around the Loop. Support for this Frame by an L_Port is optional.

UNIVERSITY OF NEW HAMPSHIRE INTEROPERABILITY LABORATORY 23 


LIPA

Loop Initialization Previously Assigned Frame. This is the second Frame transmitted in the Loop
initialization process after a temporary Loop master has been selected. L_Ports which had an
AL_PA prior to the Loop initialization will select their AL_PA's in this frame as it makes its way
around the Loop.
LIRP

Loop Initialization Report Position Frame. This is the first Frame transmitted in the Loop
initialization process after all L_Ports have selected an AL_PA (after LISA has been around the
loop). This Frame is transmitted around the Loop so that all L_Ports report their relative physical
position on the loop. Support for this Frame by an L_Port is optional.
LISA

Loop Initialization Soft Assigned Frame. This is the fourth Frame transmitted in the Loop
initialization process after a temporary Loop master has been selected. L_Ports which did not
select an AL_PA in any of the previous Loop Initialization Frames (LIFA, LIPA, or LIHA) will
select their AL_PA's in this frame as it makes its way around the Loop.
LISM

Loop Initialization Select Master Frame. This Frame applies only to the Arbitrated Loop
topology. It is the first frame transmitted in the initialization process in which L_Ports select an
AL_PA. It is used to select a temporary Loop master, or the L_Port that will subsequently initiate
transmission of the remaining initialization frames (LIFA, LIPA, LIHA, LISA, LIRP, and LILP).
LPB

Loop Port Bypass Primitive Sequence. This Primitive Sequence applies only to the Arbitrated
Loop topology. It is transmitted by an L_Port to bypass the L_Port it is directed to. For example,
if Port A suspects that Port B is malfunctioning, Port A can send an LPB to Port B so that Port B
will only retransmit everything it receives, and will not be active on the Loop.
LPE

Loop Port Enable Primitive Sequence. This Primitive Sequence applies only to the Arbitrated
Loop topology. It is transmitted by an L_Port to enable an L_Port which has been bypassed with
the LPB Primitive Sequence.
L_Port

Loop port. Generic term for an NL_Port or FL_Port, i.e., any Fibre Channel port which supports
the Arbitrated Loop topology.
LPSM

Loop Port State Machine. This is a state machine maintained by an L_Port to track its behavior
through different phases of Loop operation, i.e., how it behaves when it is arbitrating for Loop
access, how it behaves when it has control of the Loop, etc.

UNIVERSITY OF NEW HAMPSHIRE INTEROPERABILITY LABORATORY 24 


LR

Link Reset Primitive Sequence. This Primitive Sequence is used during link initialization
between two N_Ports in the Point-to-point topology or an N_Port and an F_Port in the Fabric
topology. The expected response to a port sending LR is the LRR Primitive Sequence.
LRR

Link Reset Response Primitive Sequence. This Primitive Sequence is used during link
initialization between two N_Ports in the Point-to-point topology or an N_Port and an F_Port in
the Fabric topology. It is sent in response to the LR Primitive Sequence. The expected response
to a port sending LRR is Idle.
M
MRK

Mark Primitive Signal. This Primitive Signal applies only to the Arbitrated Loop topology. It is
transmitted by an L_Port for synchronization purposes and its use is vendor specific.
N
NL_Port

Node-Loop port. An N_Port which can operate on the Arbitrated Loop topology.
Nonparticipating Mode

An L_Port will enter the nonparticipating mode if there are more than 127 devices on a Loop,
and it thus cannot acquire an AL_PA. An L_Port may also voluntarily enter the nonparticipating
mode if it is still physically connected to the Loop, but wishes not to participate. An L_Port in the
nonparticipating mode is not capable of generating Transmission Words on the Loop and may
only retransmit words received on its inbound fibre.
NOS

Not Operational Primitive Sequence. This Primitive Sequence is used during link initialization
between two N_Ports in the Point-to-point topology or an N_Port and an F_Port in the Fabric
topology. It is sent to indicate that that transmitting port has detected a link failure or is offline.
The expected response to a port sending NOS is the OLS Primitive Sequence.
N_Port

Node port. A port on a computer, disk drive, etc. through which the device does its Fibre
Channel communication.
N_Port Name

An 8-byte manufacturer-assigned value which uniquely identifies the N_Port throughout the
world.
O

UNIVERSITY OF NEW HAMPSHIRE INTEROPERABILITY LABORATORY 25 


OLS

Offline Primitive Sequence. This Primitive Sequence is used during link initialization between
two N_Ports in the Point-to-point topology or an N_Port and an F_Port in the Fabric topology. It
is sent to indicate that the transmitting port is attempting to initialize the link, has recognized the
NOS Primitive Sequence, or is going offline. The expected response to a port sending OLS is
the LR Primitive Sequence.
OPN

Open Primitive Signal. This Primitive Signal applies only to the Arbitrated Loop topology. The
OPN Primitive Signal is sent by an L_Port that has won the arbitration process to open
communication with with one or more other ports on the Loop.
Ordered Set

A 4-byte Transmission Word which has the Special Character as its first Transmission
Character. An Ordered Set may be a Frame Delimiter, a Primitive Signal, or a Primitive
Sequence. Ordered Sets are used to distinguish Fibre Channel control information from data.
Originator

The N_Port which originated an Exchange.


OX_ID

Originator Exchange Identifier. A 2-byte field in the frame header used by the originator of an
Exchange to identify frames as being part of a particular Exchange.
P
Participating Mode

The normal operating mode for an L_Port on a Loop. An L_Port in this mode has acquired an
AL_PA and is capable of communicating on the Loop.
Primitive Sequence

An Ordered Set transmitted repeatedly and used to establish and maintain a link. LR, LRR,
NOS, and OLS are Primitive Sequences used to establish an active link in a connection
between two N_Ports or an N_Port and an F_Port. LIP, LPB, and LPE are Primitive Sequences
used in the Arbitrated Loop topology for initializing the Loop and enabling or ​disabling​ an L_Port.
Primitive Signal

An Ordered Set used to indicate an event. Idle and R_RDY are used in all three topologies.
ARB, OPN, CLS, and MRK are used only in the Arbitrated Loop topology.
Private Loop

An Arbitrated Loop which stands on its own, i.e., it is not connected to a Fabric.

UNIVERSITY OF NEW HAMPSHIRE INTEROPERABILITY LABORATORY 26 


Private NL_Port

An NL_Port which only communicates with other ports on the loop, not with the Fabric. Note that
a Private NL_Port may exist on either a Private Loop or a Public Loop.
Public Loop

An Arbitrated Loop which is connected to a Fabric.


Public NL_Port

An NL_Port which may communicate with other ports on the Loop as well as through an
FL_Port to other N_Ports connected to the Fabric.
Q​ ​R
Responder

The N_Port to with which an Exchange originator wishes to communicate.


RX_ID

Responder Exchange Identifier. A 2-byte field in the frame header used by the responder of the
Exchange to identify frames as being part of a particular Exchange.
S
Sequence

A group of related frames transmitted unidirectionally from one N_Port to another.


SEQ_ID

Sequence Identifier. A 1-byte field in the frame header used to identify which Sequence of an
Exchange a particular frame belongs to.
Sequence Initiator

The N_Port which began a new Sequence and transmits frames to another N_Port.
Sequence Recipient

The N_Port to which a particular Sequence of data frames is directed.


S_ID

Source Identifier. A 3-byte field in the frame header used to indicate the address identifier of the
N_Port the frame was sent from.
SOF

Start of Frame delimiter. This Ordered Set is always the first Transmission Word of a Frame. It
is used to indicate that a Frame will immediately follow and indicates which class of service the
Frame will use.

UNIVERSITY OF NEW HAMPSHIRE INTEROPERABILITY LABORATORY 27 


Special Character

A special 10-bit Transmission Character which does not have a corresponding 8-bit value, but is
still considered valid. The Special Character is used to indicate that a particular Transmission
Word is an Ordered Set. The Special Character is the only Transmission Character to have 5
1's or 0's in a row. The Special Character is also referred to as K28.5 when using K/D format.
T
Transmission Character

A (valid or invalid) 10-bit character transmitted serially over the fibre. Valid Transmission
Characters are determined by the 8B/10B encoding specification.
Transmission Word

A string of four consecutive Transmission Characters.


U
ULP

Upper Level Protocol. The protocol which runs on top of Fibre Channel through the FC-4 layer.
Typical ULPs running over Fibre Channel are Small Computer System Interface (SCSI), Internet
Protocol (IP), High Performance Parallel Interface (HIPPI), and Intelligent Peripheral Interface
(IPI).
V​ ​W​ ​X​ ​Y​ ​Z​ ​#
8B/10B

The IBM patented encoding method used for encoding 8-bit data bytes to 10-bit Transmission
Characters. Data bytes are converted to Transmission Characters to improve the physical signal
such that the following benefits are achieved: bit synchronization is more easily achieved,
design of receivers and transmitters is simplified, error detection is improved, and control
characters (i.e., the Special Character) can be distinguished from data characters. 

 
 

UNIVERSITY OF NEW HAMPSHIRE INTEROPERABILITY LABORATORY 28 


About the UNH - IOL

The UNH-IOL is dedicated to being the world's premier data networking resource. Beginning in
1988, the UNH-IOL has built a multimillion dollar testbed and developed testing solutions to help
companies efficiently and cost effectively deliver products to market. UNH-IOL’s services fit the
needs of the market, while maintaining broad, comprehensive interoperability and conformance
testing of networking, data, telecommunications, and storage products. The industry relies on
UNH-IOL’s extensive staff experience, standards-bodies participation, 28,000+ square foot
facility, and 100+ students who represent the future of interoperability testing and verification.

The UNH-IOL hosts multi-vendor group tests (often called “plugfests”) as often as four times a
month. These group test events compliment over 20 year-round standards-based testing
programs that are managed and operated by the UNH-IOL. Each of the testing groups, called
“consortiums”, represents a collaboration of industry forums, service providers, test equipment
vendors and otherwise competing companies who benefit each other by:

● Distributing the cost of testing


● Lowering R&D and QA expenses
● Reducing product time to market
● Obtaining trusted vendor-neutral verification

The laboratory maintains a strong reputation for independent, vendor-neutral testing with a
focus on quality assurance. The confidential test reports the UNH-IOL provides to its members
are recognized throughout the data communications industry as evidence of interoperability and
conformance to technical standards. Please visit​ ​iol.unh.edu​ for more information.

 
 
 

UNIVERSITY OF NEW HAMPSHIRE INTEROPERABILITY LABORATORY 29 

S-ar putea să vă placă și