Fibre Channel Classes of service
Classes of service
Applications might require different levels of service and guarantees regarding delivery, connectivity and bandwidth.
Some applications need to have bandwidth that is dedicated to them during the data exchange like Tape backup and some applications might be busty in nature and not require a dedicated connection, but they might require an acknowledgement for each packet it sent.
The Fibre Channel standards provide different classes of service to accommodate different application needs.
In fabric terminology if two N Ports are able to communicate or if an N Port is successfully able to log into a Fabric, there must be at least 1 common Class of service supported between them, since Sequences and Exchanges must take place using a single Class of service. This information is exchanged during Fabric Login (F-logi) and N-Port Login.
Fibre channel provides different class of services to make a communication between to devices or N ports. They are
- Class 1
- Class 2
- Class 3
- Class 4
- Class 6
- Class F
A brief description of each class is mentioned in below table
|1||Dedicated connection allocates full bandwidth between ports.||Yes||No|
|2||Connectionless switch to switch communication for frame transfer and delivery||Yes||Yes|
|3||Connectionless switch to switch communication for frame transfer and delivery||No||Yes|
|4||Dedicated connection with a fraction of bandwidth between Ports by using virtual circuits.||Yes||No|
|6||Dedicated connection for multicast.||Yes||No|
|F||Switch to switch communication.||Yes||Yes|
In class 1 service, a dedicated connection between source and destination is established through the fabric during the transmission with acknowledgment.
This class reserves full bandwidth (100%) dedicated connection between the two devices, so it does not need buffer-to-buffer credit flow control. It uses only end-to-end credit flow control.
This class of service ensures that the frames are received by the destination device in the same order in which they are sent. It is called in-order delivery.
Class 1 can be used when the data needs to be continuous and time critical, such as voice or video.
It does not provide for a good utilization of the available bandwidth, since it is restricting bandwidth for one connection. Because of this restriction, class 1 is rarely used.
Class 2 is a connectionless, acknowledged service.
Since no dedicated connection between two N Ports, multiple ports can transmit and receive frames in available bandwidth. As a result, the N Ports share the bandwidth of the links with other network traffic. It makes better use of available bandwidth.
In Class 2 service, frames travel in different routes in fabric. So it does not guarantee in-order delivery. So class 2 relies on upper layer protocols to take care of frame sequence.
Class 2 service uses both buffer-to-buffer and end-to-end credit flow control.
It is used where the order and timeliness of delivery is not so important
The use of acknowledgments reduces available bandwidth, which needs to be considered in large-scale busy networks.
There is no dedicated connection in class 3 and the received frames are not acknowledged.
Class 3 is similar to Class 2. The only exception is that it only uses buffer-to-buffer credit flow control and does not use end-to-end credit flow control.
Class 3 is also called datagram connectionless service. It optimizes the use of fabric resources, but it is now up to the upper layer protocol to ensure that all frames are received in the correct order.
Class 3 is well suited for SCSI and a commonly used class of service in Fibre Channel networks
Class 4 is a connection-oriented service like class 1. The main difference is that class 4 allocates only a fraction of the available bandwidth of path through the fabric that connects two N Ports.
In class 4 Virtual circuits (VCs) are established between two N Ports with guaranteed quality of service (QoS), including bandwidth and latency.
Like class 1, class 4 guarantees in-order delivery of frames and provides acknowledgment of delivered frames. However, now the fabric is responsible for multiplexing frames of different VCs.
Class 4 uses only end-to-end credit flow control.
Class 4 service is intended for multimedia applications such as video and for applications that allocate an established bandwidth by department within the enterprise.
Class 5 is called isochronous service, and is intended for applications that require immediate delivery of the data as it arrives, with no buffering. However, it is still undefined, and possibly scrapped altogether. It is not mentioned in any of the FC-PH documents.
Class 6 is a variant of class 1, and is known as a multicast class of service. It provides dedicated connections for a reliable multicast.
If a N Port requested a class 6 connection for one or more destinations, A multicast server (FFFFF5) in the fabric establishes the connections from source N port to all destination N ports and gets acknowledgment from all the destination Ports, and sends it back to the originator.
When a connection is established, it is retained and guaranteed by the fabric until the initiator ends the connection.
Class 6 was designed for applications like audio and video that require multicast functionality. It is included in the FC-PH-3 standard.
Class 6 service uses end-end-end flow control between N ports.
Class F is used for switch to switch communication through inter-switch links (ISLs).
It is a connectionless service with notification of non-delivery between E Ports that are used for control, coordination, and configuration of the fabric.
Class F is similar to class 2. The main difference is that class 2 deals with N Ports that send data frames, while class F is used by E Ports for control and management of the fabric.
Class F service is defined in the Fibre Channel Switched Fabric (FC-SW) and the FC-SW-2 standard.