Fibre Channel Layered Model – Cisco Fibre Channel Protocol Fundamentals

Fibre Channel Layered Model

In the networking world, a layered model is often used to describe a complex relationship that affects multiple levels with different functions. One such model is the Open Systems Interconnection (OSI) model, which describes the communications between computing systems. Another layered model that describes the internetworking between computing systems is the 4-layer TCP/IP model.

In the same way, the FCP is described and defined by using a layered model. The FCP consists of five layers, which are illustrated in Figure 11-1:

  

Figure 11-1 FCP Layered Model

  • FC-4 Upper Layer Protocol (ULP) mapping: Responsible for the protocol mapping. Identifies which ULP is encapsulated into a protocol data unit (PDU) for delivery to the FC-2 layer. The major ULP using the FCP is the SCSI protocol. There are others, including the Internet Protocol (IP), that are also defined in the standard.
  • FC-3 Common Services: The common services for the advanced FCP services, such as striping (multiple node ports transmitting), hunt groups (multiple node ports receiving), multicast, encryption, and redundancy algorithms.
  • FC-2 Signaling: This is the layer where the transport mechanism exists. The following functions, defined by the standard, happen at this layer:
    • Ordered Set: A 4-byte transmission word that contains important operations for the frames, such as Start-of-Frame (SOF) and End-of-Frame (EOF), as well as the so-called primitive signals, such as Idle and Receiver Ready (R_RDY), which control when the transmitting side will start to send frames and such.
    • FC Frame: The block of communication in the FCP. There are two types of FC frames: the Data frame and the Link_control frames. The Data frame contains the ULP data blocks that have to be carried to the destination. The Link_control frames are the Acknowledge (ACK) and the Link_response frames. The FC frames start with a 4-byte start of frame (SOF) field, followed by a 24-byte Frame header, the Data field (2112 bytes), and the CRC Error check field, and they end with the 4-byte end of frame (EOF) field.
    • Sequence: A sequence of frames sent in one direction. Each frame in that sequence has a unique sequence number, as the frames have to arrive in the same order in which they were sent. This is because the data is divided into blocks and encapsulated in the FC frames. If the frames arrive out of order, the data will be lost. Besides the data sequences, which exchange the data blocks, there are also the primitive sequences. They are used to indicate the condition of a port. They are supported by the protocol standard Primitive Sequences are Offline (OLS), Not Operational (NOS), Link Reset (LR), and Link Reset Response (LRR).
    • Exchange: All the sequences in one conversation between an initiator and a target.
    • Protocol: The protocols for the FCP services. Here are the protocols running on this layer:
      • Primitive Sequencing Protocol: Responsible for the exchange of primitive sequences.
      • Fabric Login Protocol: How the initiator or the target connect to the switched fabric and what information is exchanged.
      • Port Login Protocol: Responsible for the exchange of the service parameters and capabilities between two ports.
      • Data Transfer Protocol: Used for transferring data to the ULPs.
      • Port Logout Protocol: Used to disconnect a port from another port and to free resources.
    • Flow control: The mechanism at FC-2 responsible for controlling the speed at which the FC frames are exchanged between two ports and for avoiding dropped frames.
    • FC-1 encoding: Defines the rules for the serial encoding and decoding of the data to be transmitted over the fiber. The 8b/10b encoding means that each 8 bits of data are put in a 10-bit transmission character. This is related to how the signals are transmitted over the physical media and the clock synchronization for this serial communication. These details go beyond the scope of the discussion in this chapter. The 8b/10b encoding is used on links with speeds of 1, 2, 4, and 8Gbps. For the faster links, with speeds of 10 and 16Gbps, the encoding used is 64b/66b. The 32, 64, and 128Gbps links use the 256b/257b encoding. The faster links are backward compatible with the slower links with the 8b/10b encoding.
    • FC-0 physical layer: Defines the characteristics of the physical connectivity, including the fiber optics, transceivers, and electrical signals.