Make your own free website on

CS 635 Lecture 6, Part 2

Fibre Channel

Frames, Sequences, Exchanges


All traffic between N_Ports is in the form of a stream of frames. There are two categories of frames: Three types of data frame have been defined: Three types of link frames are:


Fibre Channel places no limits on the size of transfers between applications. Frame sizes are transparent to software using Fibre Channel because a buffer, called a sequence, is the unit of transfer. A sequence is composed of one ore more related frames for a single operation, flowing in the same direction on the link. It is the FC-2 layer's responsibility to break a sequence into the frame size that has been negotiated between the communicating ports and between the ports and the fabric.

A sequence is also the recovery boundary in Fibre Channel. When an error is detected Fibre Channel identifies the sequence in error and allows that sequence to be retransmitted. Each sequence is uniquely identified by the initiator of the sequence via  the Sequence Identifier (SEQ_ID) field within the frame header. Additionally, each frame within the sequence is uniquely numbered with a  Sequence Count (SEQ_CNT).


An exchange is composed of one or more non-concurrent sequences for a single operation. For example, an operation may consist of several phases: a command to read some data, followed by the data, followed by the completion status of the operation. Each phase of command, data, and status is a separate sequence, but they can form a single exchange. Within a single exchange, only a single sequence may be active at any one time, although sequences for different exchanges may be concurrently active. THis is one form of multiplexing supported by Fibre Channel. The exchange is uniquely identified by each participating N_Port.

An Originator Exchange ID (OX_ID) is assigned, in an implementation-dependent manner, by the originating N_Port, and a Responder Exchange ID (RX_ID) is assigned, in an implementation-dependent manner, by the responding N_Port. The exchange IDs are contained within the frame header and are used locally by the N_Ports to manage the exchange.


Fibre Channel services provide a set of functions, some of which are required by Fibre Channel protocols and some of which provide optional enhancements to Fibre Channel's basic protocols.

Fibre Channel management functions are handled by special servers within the switch and do not have to be handled at each node, resulting in a simpler and less costly system.

Multiple switches linked together form a fabric. SOme server functions may be attached to a single switch but are made available to all switches in the fabric.

Login Server (Mandatory) : Helps discover operating characteristics; Provides N_Port address assignment
Fabric/Switch Controller (Mandatory): Assists initialization connection; Routing management; Optional fabric-assisted services.

Flow Control

Two categories of flow control are supported:
End-to-End flow control
Can only be used for Class 1 and class 2 since it requires acknowledgments.  Flow control is activated by the flow of class 1 or class 2 data frames from the initiator of a sequence of frames to the sequence recipient.  The available Credit_Count begins at 0 and is incremented by one for each transmission. Three types of ACK frames can be returned: The acknowledgment types cannot be mixed.
In addition, busy and reject control frames are used to regulate flow. The F_BSY control frame indicates that the fabric is unable to deliver a frame. The P_BSY control frame indicates the destination port is temporarily unable to accept a frame.  When an N_Port receives a busy response, it retransmits the data frame up to a predefined retry limit. An F_BSY can also be issued by an F_Port in response to a link control frame.
The F_RJT and P_RJT reject control frames indicate that delivery of a data frame is being denied. In the case of a reject, however, the entire sequence containing the rejected frame is aborted. Depending on the reason for the reject, the sequence initiator may or may not be able to try to resent the entire sequence.
Buffer-to-Buffer  flow control
Local link control mechanism between ports connected by a point-to-point link. Applicable to class 2 and class 3 service. It is also applicable to the initial frame used in setting up a connection for class 1 service (SOFc1 frame). Otherwise, buffer-to-buffer flow control is not used for class 1 service , since class 1 service provides a transparent circuit switched type of connection between N_PORTs.

R_RDY primitive signal is used for buffer-to-buffer flow control.

 TOP  Prev