Fibre Channel network protocols

Last updated

Communication between devices in a fibre channel network uses different elements of Fibre Channel standards.

Contents

Transmission words and ordered sets

All Fibre Channel communication is done in units of four 10-bit codes. This group of 4 codes is called a transmission word.

An ordered set is a transmission word that includes some combination of control (K) codes and data (D) codes.

AL_PAs

Each device has an Arbitrated Loop Physical Address (AL_PA). These addresses are defined by an 8-bit field but must have neutral disparity as defined in the 8b/10b coding scheme. That reduces the number of possible values from 256 to 134. The 134 possible values have been divided between the fabric, FC_AL ports, and other special purposes as follows:

AL_PAQuantityPurpose
001FL (fabric) port
01-7E126NL (normal) ports
F01Used during LIP and ARB
F71Used during LIP
F81Used during LIP
F9-FE3Reserved
FF1Used for broadcasts

Meta-data

In addition to the transfer of data, it is necessary for Fibre Channel communication to include some metadata. This allows for the setting up of links, sequence management, and other control functions. The meta-data falls into two types, primitives which consist of a 4 character transmission word and non-data frames which are more complex structures.

Primitives

All primitives are four characters in length. They begin with the control character K28.5, followed by three data characters. In some primitives the three data characters are fixed, in others they can be varied to change the meaning or to act as parameters for the primitive. In some cases the last two parameter characters are identical.

Parameters are shown in the table below in the form of their hexadecimal 8-bit values. This is clearer than their full 10-bit (Dxx.x) form as shown in the Fibre Channel standards:

MnemonicMeaningParametersComments

ARB

Arbitrate

94F0F0Request fairness
94FFFFFill word
94yyyyRequest arbitration for AL_PA=yy
CLSClose85B5B5Ends communication, cancelling previous OPN commands.
DHDDynamic Half-Duplex8AB5B5
EOFEnd of frameSee note 1
IDLEIdle95B5B5

LIP

Loop Initialization

15F7F7Request AL_PA
15F7xxReinitialise AL_PA=xx
15F8F7Loop failure at unknown AL_PA
15F8xxLoop failure at AL_PA=xx
15FFxxReset all, originating AL_PA=xx
15yyxxReset AL_PA=yy, originating AL_PA=xx

LPB

Loop Port Bypass

09yyxxBypass AL_PA=yy, originating AL_PA=xx
09FFxxBypass all, originating AL_PA=xx

LPE

Loop Port Enable

05yyxxEnable AL_PA=yy, originating AL_PA=xx
05FFxxEnable all, originating AL_PA=xx
LRLink Reset49BF49
LRRLink Reset Response35BF49
MRKMark5FxxxxVendor unique - clock sync, spindle sync etc.
NOSNot Operational55BF45Link has failed
OLSOffline358A55Going offline (due to received NOS or other event)

OPN

Open

91FFFFOpen broadcast replicate (see note 2)
91yyFFOpen selective replicate (see note 2)
91yyxxOpen full duplex between AL_PA=xx and AL_PA=yy
91yyyyOpen half duplex to AL_PA=yy
R_RDYReceiver_Ready954949
SOFStart of frameB5ccccSee note 3

SYN

Synchronise

7FxxxxClock Synchronization word X
BFyyyyClock Synchronization word Y
DFzzzzClock Synchronization word Z
VC_RDYVirtual Circuit ReadyF5vvvvWhere vv is the virtual circuit ID

Note 1: The first parameter byte of the EOF primitive can have one of four different values (8A, 95, AA, or B5). This is done so that the EOF primitive can rebalance the disparity of the whole frame. The remaining two parameter bytes define whether the frame is ending normally, terminating the transfer, or is to be aborted due to an error.

Note 2: The Open selective replicate variant can be repeated a number of times in order to communicate with more than one destination port simultaneously. The Open broadcast replicate variant will allow communication with all ports simultaneously.

Note 3: The SOF primitive contains a pair of control bytes (shown as cccc in the table) to designate the type of frame.

Frames

The Fibre Channel protocol transmits data in frames each of which can contain up to 2112 bytes of payload data. The structure of a frame is shown in this table:

FieldLength
SOF - Start Of Frame4
Extended header(s)0 or more
Routing Control1
Destination ID3
Class-Specific Control / Priority1
Source ID3
Data Structure Type1
Frame Control3
Sequence ID1
Data Field Control1
Sequence Count2
Originator Exchange ID2
Responder Exchange ID2
Parameter4
Data field0 to 2112
CRC - Cyclic redundancy Check 4
EOF - End of Frame4

In addition to data frames, there are non-data frames that are used for setup and messaging purposes. These fall into three categories: link control frames, link service frames, and extended link service frames. The following table lists the most common ones:

MnemonicFrame typeMeaning
ABTSLink serviceAbort Sequence
ACKLink controlAcknowledge data frame (success)
BA_ACCLink serviceBasic accept
BA_RJTLink serviceBasic reject
F_BSYLink controlFabric busy
F_RJTLink controlFabric frame reject
FLOGIExtended link serviceFabric login
NOPLink serviceNo Operation
P_BSYLink controlPort busy
P_RJTLink controlPort frame reject
PLOGIExtended link servicePort login
PRLIExtended link serviceProcess login
PRLOExtended link serviceProcess logout
PRMTLink serviceDedicated connection preempted
RMCLink serviceRemove connection
RSIExtended link serviceRequest sequence initiative

Related Research Articles

The Transmission Control Protocol (TCP) is one of the main protocols of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, the entire suite is commonly referred to as TCP/IP. TCP provides reliable, ordered, and error-checked delivery of a stream of octets (bytes) between applications running on hosts communicating via an IP network. Major internet applications such as the World Wide Web, email, remote administration, and file transfer rely on TCP, which is part of the Transport Layer of the TCP/IP suite. SSL/TLS often runs on top of TCP.

In general terms, throughput is the rate of production or the rate at which something is processed.

A frame is a digital data transmission unit in computer networking and telecommunication. In packet switched systems, a frame is a simple container for a single network packet. In other telecommunications systems, a frame is a repeating structure supporting time-division multiplexing.

Time-division multiplexing multiplexing technique for digital signals

Time-division multiplexing (TDM) is a method of transmitting and receiving independent signals over a common signal path by means of synchronized switches at each end of the transmission line so that each signal appears on the line only a fraction of time in an alternating pattern. This method transmits two or more digital signals or analog signals over a common channel. It can be used when the bit rate of the transmission medium exceeds that of the signal to be transmitted. This form of signal multiplexing was developed in telecommunications for telegraphy systems in the late 19th century, but found its most common application in digital telephony in the second half of the 20th century.

High-Level Data Link Control (HDLC) is a bit-oriented code-transparent synchronous data link layer protocol developed by the International Organization for Standardization (ISO). The standard for HDLC is ISO/IEC 13239:2002.

Transport layer Layer in the OSI and TCP/IP models providing host-to-host communication services for applications

In computer networking, the transport layer is a conceptual division of methods in the layered architecture of protocols in the network stack in the Internet protocol suite and the OSI model. The protocols of this layer provide end-to-end communication services for applications. It provides services such as connection-oriented communication, reliability, flow control, and multiplexing.

The data link layer, or layer 2, is the second layer of the seven-layer OSI model of computer networking. This layer is the protocol layer that transfers data between nodes on a network segment across the physical layer. The data link layer provides the functional and procedural means to transfer data between network entities and may also provide the means to detect and possibly correct errors that can occur in the physical layer.

AES3 is a standard for the exchange of digital audio signals between professional audio devices. An AES3 signal can carry two channels of PCM audio over several transmission media including balanced lines, unbalanced lines, and optical fiber.

In telecommunications, 8b/10b is a line code that maps 8-bit words to 10-bit symbols to achieve DC balance and bounded disparity, and at the same time provide enough state changes to allow reasonable clock recovery. This means that the difference between the counts of ones and zeros in a string of at least 20 bits is no more than two, and that there are not more than five ones or zeros in a row. This helps to reduce the demand for the lower bandwidth limit of the channel necessary to transfer the signal.

Modbus is a data communications protocol originally published by Modicon in 1979 for use with its programmable logic controllers (PLCs). Modbus has become a de facto standard communication protocol and is now a commonly available means of connecting industrial electronic devices.

EIA-608 Analog television closed captioning standard

EIA-608, also known as "line 21 captions" and "CEA-608", was once the standard for closed captioning for NTSC TV broadcasts in the United States, Canada and Mexico. It also specifies an "Extended Data Service", which is a means for including a VCR control service with an electronic program guide for NTSC transmissions that operates on the even line 21 field, similar to the TeleText based VPS that operates on line 16 which is used in PAL countries.

In computer networking, the interpacket gap (IPG), also known as interframe spacing, or interframe gap (IFG), is a pause which may be required between network packets or network frames. Depending on the physical layer protocol or encoding used, the pause may be necessary to allow for receiver clock recovery, permitting the receiver to prepare for another packet or another purpose.

Real-Time Messaging Protocol (RTMP) is a communication protocol for streaming audio, video, and data over the Internet. Originally developed as a proprietary protocol by Macromedia for streaming between Flash Player and a server, Adobe has released an incomplete version of the specification of the protocol for public use.

CANopen is a communication protocol and device profile specification for embedded systems used in automation. In terms of the OSI model, CANopen implements the layers above and including the network layer. The CANopen standard consists of an addressing scheme, several small communication protocols and an application layer defined by a device profile. The communication protocols have support for network management, device monitoring and communication between nodes, including a simple transport layer for message segmentation/desegmentation. The lower level protocol implementing the data link and physical layers is usually Controller Area Network (CAN), although devices using some other means of communication can also implement the CANopen device profile.

OBD-II PIDs are codes used to request data from a vehicle, used as a diagnostic tool.

In computer networking, a Fibre Channel frame is the frame of the Fibre Channel protocol. The basic building blocks of an FC connection are the frames. They contain the information to be transmitted (payload), the address of the source and destination ports and link control information. Frames are broadly categorized as

The Serial Low-power Inter-chip Media Bus (SLIMbus) is a standard interface between baseband or application processors and peripheral components in mobile terminals. It was developed within the MIPI Alliance, founded by ARM, Nokia, STMicroelectronics and Texas Instruments. The interface supports many digital audio components simultaneously, and carries multiple digital audio data streams at differing sample rates and bit widths.

ARINC 818: Avionics Digital Video Bus (ADVB) is a video interface and protocol standard developed for high bandwidth, low-latency, uncompressed digital video transmission in avionics systems. The standard, which was released in January 2007, has been advanced by ARINC and the aerospace community to meet the stringent needs of high performance digital video. The specification was updated and ARINC 818-2 was released in December 2013, adding a number of new features, including link rates up to 32X fibre channel rates, channel-bonding, switching, field sequential color, bi-directional control and data-only links.

CANaerospace

CANaerospace is a higher layer protocol based on Controller Area Network (CAN) which has been developed by Stock Flight Systems in 1998 for aeronautical applications.

Time-Sensitive Networking (TSN) is a set of standards under development by the Time-Sensitive Networking task group of the IEEE 802.1 working group. The TSN task group was formed in November 2012 by renaming the existing Audio Video Bridging Task Group and continuing its work. The name changed as a result of the extension of the working area of the standardization group. The standards define mechanisms for the time-sensitive transmission of data over deterministic Ethernet networks.