Flylib.com

Books Software

 
 
 

3.10 FC-2: Framing Protocol

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:

  • Frames ”   basic units of information transfer. The maximum payload of a frame is 2112 bytes.

  • Sequences ”   are made up of one or more frames. FC-2 names each sequence and tracks it to completion.

  • Exchanges ”   are the largest construct understood by FC-2. An exchange is a unidirectional or bidirectional set of nonconcurrent sequences. SCSI-3 FCP uses bidirectional exchanges, with information passing in one direction at a time. To send data in the opposite direction, sequence initiative is passed from one port to another and back again. Each port generates one or more sequences within the exchange.

  • Packets ”   are made up of one or more exchanges.

3.10.1 Frame Structure

Figure 3-14 demonstrates frame structure.

Figure 3-14. FC-2 Frame Structure
graphics/03fig14.gif

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
graphics/03fig15.gif

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
only for RuBoard - do not distribute or recompile

3.11 FC-3: Common Services

The FC-3 level, located at the center of the functional levels, concerns itself with functions spanning multiple N_Ports. The FC-3 level is the single point in the architecture through which all traffic must flow in both directions. The FC-3 level will contain services common (available) to all ports on a node.

A node may have several ports. A node may also have several ULPs and FC-4 level mappings. However, there is only one FC-3 Common Services level per node. The FC-3 level can manage a set of tables holding the login information for other active ports. Each port on the FC-3 level knows which ports are busy and which exchanges they are busy with.

Figure 3-9 on page 57 shows where the FC-3 level fits into the overall scheme of all the Fibre Channel levels.

Currently there are three functions defined within the FC-3 level standard:

  • Striping ”   Used to achieve higher bandwidth. Striping allows multiple links simultaneously and transmits a single information unit across multiple links employing multiple N_Ports in parallel.

  • Hunt Groups ”   Are a group of N_Ports associated with a single node. They permit any N_Port on the node to receive information containing the correct alias identifier.

  • Multicast ”   This can be compared to a broadcast message. It allows a single information unit to be transmitted to multiple N_Ports on a node.

The FC-3 level knows nothing about the topology of Fibre Channel or the physical signaling at the lower levels. This is handled by FC-1 and FC-2 levels. FC-3 understands if there are multiple ports attached to a node and if they may participate in multiport operations like multicasting.

Knowing which ports are busy allows the FC-3 level to route exchanges between two N*_Ports and FC-4s.

only for RuBoard - do not distribute or recompile