Storage Area Networks: Designing and Implementing a Mass Storage System

only for RuBoard - do not distribute or recompile

3.10 FC-2: Framing Protocol

The FC-2 framing protocol manages flow control so data will be delivered with no collisions or loss. This level defines the signaling protocol, including the frame and byte structure, which is the data transport mechanism used by Fibre Channel. The framing protocol is used to break sequences into individual frames for transmission, flow control, 32-bit CRC generation, and various classes of service.

To aid in data transfer, FC-2 provides for the following elements:

3.10.1 Frame Structure

Figure 3-14 demonstrates frame structure.

Figure 3-14. FC-2 Frame Structure

The total length of the frame is 2148 transmission characters or 537 transmission words. The SOF, CRC, and EOF are all one transmission word in length with the frame header being six transmission words in length. The frame is followed by a minimum of 6 idles (or 24 transmission characters ).

3.10.2 Frame Header Structure

The frame header is divided into fields to carry control information. Figure 3-15 shows these fields.

Figure 3-15. Frame Header Structure

Table 3-2 describes each of the fields in the frame header.

Table  3-2. Frame Header Structure Explanations

Routing Control (R_CTL)

Contains IC (Information Category) and RB (Routing Bits) subfields. Routing Bits indicate the frame type. The IC field indicates payload content (for example, SCSI status).

Destination ID (D_ID)

The native address of the destination N_Port, a well-known address, or an alias address.

Source ID (S_ID)

The address identifier of the source N_Port.

Type

The protocol associated with the payload (for example, SCSI-3).

Frame Control (F_CTL)

Bits that identify the transfer of sequence; beginning, middle, or end of sequence; and end of connection.

Data Field Control (DF_CTL)

Indicates the presence of optional headers.

Sequence ID (SEQ_ID)

A unique numeric sequence identifier between two ports.

Sequence Count (SEQ_CNT)

A 16-bit rollover frame counter or frame identifier.

Originator Exchange ID (OX_ID)

A number an exchange originator uses to uniquely identify an exchange.

Responder Exchange ID (RX_ID)

A number like OX_ID, but for the exchange responder.

Parameter

Contents may vary with frame type. Often used as a relative offset of payload contents.

only for RuBoard - do not distribute or recompile

Категории