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

Network throughput refers to the rate of message delivery over a communication channel, such as Ethernet or packet radio, in a communication network. The data that these messages contain may be delivered over physical or logical links, or through network nodes. Throughput is usually measured in bits per second, and sometimes in data packets per second or data packets per time slot.

A frame is a digital data transmission unit in computer networking and telecommunications. 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.

<span class="mw-page-title-main">Universal asynchronous receiver-transmitter</span> Computer hardware device

A universal asynchronous receiver-transmitter is a peripheral device for asynchronous serial communication in which the data format and transmission speeds are configurable. It sends data bits one by one, from the least significant to the most significant, framed by start and stop bits so that precise timing is handled by the communication channel. The electric signaling levels are handled by a driver circuit external to the UART. Common signal levels are RS-232, RS-485, and raw TTL for short debugging links. Early teletypewriters used current loops.

High-Level Data Link Control (HDLC) is a communication protocol used for transmitting data between devices in telecommunication and networking. Developed by the International Organization for Standardization (ISO), it is defined in the standard ISO/IEC 13239:2002.

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 pulse-code-modulated digital 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.

<span class="mw-page-title-main">Modbus</span> Serial communications protocol mainly developed for programmable logic controllers

Modbus or MODBUS is a client/server data communications protocol in the application layer. It was originally designed for use with its programmable logic controllers (PLCs), but has become a de facto standard communication protocol for communication between industrial electronic devices in a wide range of buses and networks.

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. It may be considered as a specific case of a guard interval.

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 the Flash Communication Server, Adobe has released an incomplete version of the specification of the protocol for public use.

<span class="mw-page-title-main">IEEE 1355</span>

IEEE Standard 1355-1995, IEC 14575, or ISO 14575 is a data communications standard for Heterogeneous Interconnect (HIC).

CANopen is a communication protocol stack 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.

In computer networking, jumbo frames are Ethernet frames with more than 1500 bytes of payload, the limit set by the IEEE 802.3 standard. The payload limit for jumbo frames is variable: while 9000 bytes is the most commonly used limit, smaller and larger limits exist. Many Gigabit Ethernet switches and Gigabit Ethernet network interface controllers and some Fast Ethernet switches and Fast Ethernet network interface cards can support jumbo frames.

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.

<span class="mw-page-title-main">CANaerospace</span>

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.

CAN FD is a data-communication protocol used for broadcasting sensor data and control information on 2 wire interconnections between different parts of electronic instrumentation and control system. This protocol is used in modern high performance vehicles.