Professional Documents
Culture Documents
Kumar Malavalli
kumar@brocadecomm.com
www.brocadecomm.com
Abstract
The Fibre Channel ANSI Standard defines multiple classes of service to provide different
modes of data transport within a Fibre Channel system. These Classes are independent of
topology. In this document, only Fibre Channel Class-1,-2, and -3 service are discussed. Each
service meets different data transfer and delivery requirements and suits various user
application environments. The choice of a particular class of service depends on user traffic
patterns and loads, the transport protocol used by the application, and performance and
configuration requirements. Brocade Communications Systems, Inc. (Brocade), designed
the SilkWorm switch based on Fibre Channel Class-2 and -3 service to build Fibre Channel
Fabrics. Influential factors in selecting these classes are the requirements for applications and
the data transport protocols used in todays server-storage network.
The Brocade logotype design is registered with the U.S. Patent and Trademark Office as a trademark of Brocade
Communications Systems, Incorporated. Brocade and SilkWorm are registered with the U.S. Patent and
Trademark Office as trademarks of Brocade Communications Systems, Incorporated.
All other brands, products, or service names are or may be trademarks or service marks of, and are used to
identify, products or services of their respective owners.
Notice: This document is for informational purposes only, and does not set forth any warranty, express or implied,
concerning any equipment, equipment feature, or service offered or to be offered by Brocade. Brocade reserves the
right to make changes to this document at any time, without notice, and assumes no responsibility for its use. This
informational document describes features that may not be currently available. Contact a Brocade sales office for
information on feature and product availability.
Export of technical data contained in this document may require an export license from the United States
Government.
T 408.487.8000
F 408.487.8101
info@brocadecomm.com
http://www.brocadecomm.com
Class-1 Service
Fibre Channel Class-1 service is connection-oriented and based on a circuit-switched mode of
operation, where switching is performed between connections. Class-1 provides a dedicated connection
with the full bandwidth guaranteed between two communicating devices (Figure 1).
A B C
D E
G H
Device 1
Device 3
D E
A B C
G H
Device 2
Device 4
DATA
DATA
FABRIC
FABRIC
Acknowledge
Source
Destination
Source
Reject or
Busy
Acknowledge: Flow
control between the devices
In Class-1 service, connection management within the switch must prevent a deadlock that might be
caused by a third device requesting connection with one of the two devices already in a connection. A
three-way unidirectional connection among three devices is thereby created. This is achieved by
ensuring that the connection is not confirmed until the originating device that requested the connection
receives an acknowledgement from the destination device on the return path, signifying connection
acceptance. Thus, every time a Class-1 connection is established, there is a penalty of round-trip
connect latency.
Brocade Communications Systems, Inc.
When a device sends a connection request to the Fabric, there is no guarantee that the connection will
be granted if the destination device is busy communicating with another device. The connection request
may be stacked (queued) within the Fabric until the destination device has terminated the connection
with the previous device and is free for a new connection. There may be other devices waiting in the
queue ahead of this device. Once a connection is established between two devices, no other device can
communicate with either of them.
In Class-1 there is a possibility of one device monopolizing a connection, thereby reducing the
bandwidth available to other devices. Hence, this class of service is not suitable if multiple devices
need to communicate with multiple other devices, such as in client-server configurations or when
storage is shared by multiple servers.
Class-1 builds a bidirectional circuit between two ports. Data frames and acknowledgement frames can
flow in both directions simultaneously. The ability to transmit multiple frames is controlled by the endto-end flow control rules. The higher the end-to-end credit, the more work can be done and better
utilization of the dedicated bandwidth. However with credit of one, normally each frame must be
acknowledged before sending the next frame.
The main problem with the Class-1 service is that a source device, with no Class-1 data ready wastes
the bandwidth on the dedicated connection with the destination device. To overcome this deficiency,
Class-1 service needs the assistance of the Intermix option. Intermix is a special feature of Class-1
service that allows interleaving of possible Class-2 or -3 data frames or high priority Class-2 and -3
control frames on an established Class-1 connection, one frame at a time, when the connection is idle.
To take advantage of this function, both source and destination devices engaged in the dedicated
connection, and the intervening Fabric must support the Intermix feature. However, implementation of
Intermix requires extra switch resources. In a Fabric of cascaded switches, tracking and managing the
Intermix frames at different switch stages is very difficult.
Class-2 Service
This service is connectionless and based on a frame-switched mode of operation where switching is
performed for each frame. In Class-2, frames can be multiplexed between a source device and one or
more destination devices (Figure 3).
A B
1 2 3
4B
2
4
Device 3
3
A
Device 1
# 2
A 5
FABRIC
4 5
B 4
1 3
Device 4
Device 2
Bidirectional multiplexed frame streams with no dedicated
connection in Class-2 and -3 Fabric
Figure 3. A Class-2 and -3 Fibre Channel system
The Fabric examines the destination address of each frame before forwarding the frame on a path
toward the destination device. Flow-control support is provided for both end-to-end, between the
communicating devices, and at link level between the Fabric and communicating devices. Individual
frames or group of frames are acknowledged for successful delivery by the destination devices (Figure
4a). Also, to facilitate error handling, there is support for messaging to indicate whether a frame has
been busied or rejected, with reason, either by the Fabric or the destination device (Figure 4b). This
low-level flow-control and error-handling tools of Class-2 service offer high data reliability and
integrity, which is mandatory in business-critical applications.
DATA
Ready
DATA
FABRIC
Ready
Ready
Acknowledge Destination
Source
Ready
Ready
Reject or
Busy
Ready
Source
FABRIC
Ready
Reject or
Busy
Ready
Multiplexing data to several destinations allows very efficient use of the link and Fabric bandwidth. In
server-storage network environments, the existing applications require multiplexing large amounts of
data with many small control (handshake) frames. The frame-switched communication that is offered
by Class-2 service facilitates this multiplexing very efficiently. The ability to multiplex a large number
of frames between the devices through the Fabric yields high bandwidth utilization. As a result, large
systems need fewer components, such as servers, to run the user applications leading to lower system
cost.
In a connectionless Fabric with a mesh topology of cascaded switches, each frame may be forwarded
via a different path. Hence, frame delivery to the destination device may not be in the same order as
transmitted by the source device (Figure 5a). The Brocade Fabric, on the other hand, guarantees inorder delivery of frames by assigning a single path between the communicating devices during the pathselection phase of the Fabric initialization (Figure 5b). In many large systems, the benefits of
multiplexing in realizing increased bandwidth utilization can occur only if in-order delivery by the
Fabric is guaranteed. This is because many large systems use virtual memory and a scatter-and-gather
mechanism to find out where the data payload can be placed in main storage. Without in-order delivery,
the scatter-and-gather list must be scanned for every frame, which is detrimental to performance.
FABRIC
1 2
Switch
FABRIC
Switch
1 2 3
Switch
Switch
1
2
1
3
3
Switch
Sitch
1
3
Another advantage of the connectionless communication mode is the support for speed matching
between devices with different transmission speeds. By utilizing switch buffers, communication is
possible between todays 1-gigabit-per-sec (Gb/s) device ports and future 2-Gb/s and 4-Gb/s device
ports. This feature protects todays investment by establishing a good migration path.
Class-3 Service
Class-3 service is also a connectionless service based on frame switching. Unlike Class-2, it is a
datagram service, which does not provide confirmation of delivery or nondelivery of the frames at the
destination devices. The confirmation of delivery is delegated to the upper-level protocol, such as TCP
(Transmission Control Protocol), which manages its own end-to-end flow control and data integrity.
Only link-level flow control exists between the Fabric and each connected device (Figure 6). There is
no acknowledgment of a frame or notification that a frame has been rejected or busied by the Fabric or
by the destination device.
DATA
FABRIC
Source
Ready
Ready
Destination
During heavy congestion in Class 3, the Fabric may occasionally discard some frames. However, the
lost frames can be recovered by retransmission of the sequence in which one or more frames have been
lost. The upper-level protocol (such as TCP) is responsible for this type of recovery. The prime
advantage of Class 3 for Multicast Service is precisely the absence of frame-delivery
acknowledgements, rejects, and busy indications from the destination devices. When the source device
sends frames to the members of a multicast group during a multicast transmission, confusion would
result if all the members were to send back acknowledgment frames. In this scenario, the bandwidth
available for transmission of user data would also decrease, resulting in reduction of the Fabrics
aggregate throughput. The absence of acknowledgement frames in Class-3 also eliminates round-trip
delays during information transfers between devices.
Source
Device
CR
Connection
set-up time within
the switch
Information Block
Source
Switch
CR
FC
CC
Intermediate
Switch
Destination
Device
CR: Connection
Requests
CC: Connection
Confirmation (Ack)
CA: Connection
Acceptance
CR
Destination
Switch
Frames
FC: Final
Confirmation (Ack)
CA
TIME
Transmission Delay
Total Delay
In the absence of connection set up in Class-2 and -3, each frame is examined within each switch in the
data path between the communicating devices, for the address information for routing between the inbound port and the out-bound port of each switch. (Figure 8). The latency incurred due to this routing
decision time can be small if the cut-through routing method is employed, such as in the Brocade
Fabric. Cut-through routing allows routing of a frame to occur from the in-bound port of a switch to
the out-bound port of a switch as soon as the frame header with the address information becomes
available. The absence of connections in Class-2 and -3 Fabrics will eliminate the extra overhead for
connection set-up time thus increasing the bandwidth utilization and decreasing the total delay.
Source
Device
Information Block
Source
Switch
2 3
Frames
Intermediate
Switch
2 3
4
FC
FC: Final
Confirmation (ACK)
Destination
Switch
Cut-Through
Frame Routing
Destination
Device
2 3
4
TIME
Ded
icat
Connectio
nless
When a Class-2 or -3 switch is used with a mesh Fabric of cascaded switches, the ISLs are not a part of
any dedicated connection between the devices. Although the ISLs may experience some congestion, as
shown in Figure 10, there is no blockage of information flow to the free devices. Information from
Devices 1 and 2 can be multiplexed on the ISLs for delivery to Devices 3 and respectively 4, and vice
versa.
Brocade further reduces congestion on the ISLs by deploying a technique where the frames can be
segregated into separate frame flows or virtual channels (VCs) with a priority scheme. On a single ISL,
there are eight virtual channels available, with four priority levels and individual queuing mechanisms
for each VC. These virtual channels can be used to tune the Fabric for different applications by
prioritizing frame traffic and reducing congestion on the ISLs. Virtual Channels can separate data flow
between the following types of frames:
Class-2 or -3 frames
The frames on the ISLs are subject to independent flow control between the adjacent switches per VC.
ISL
VC 1
VC 2
VC 3
VC 4
Brocade
VC 5
Brocade Switch
VC 6
Brocade
Brocade Switch
VC 7
VC 8
8 Virtual Channels (VCs) with 4 priority levels
Class-1 Service
Class-2 Service
Class 3 Service
Communication mode
Connection-oriented,
circuit-switched
Acknowledge:
ACK-1 each frame
Acknowledge:
ACK-1 each frame
Not provided
Receiver Ready:
th
R_RDY
R_RDY
Not provided
th
Not supported
Not supported
Supported
Guaranteed
Fabric-implementation
dependent
Fabric-implementation
dependent
10
Not provided
Not provided
Advantage
Disadvantage
Fabric configuration
11
Class-2 and 3
Advantage
Disadvantage
No error control at the link level or end-toend in Class 3 results in dropping frames
without notification when the Fabric becomes
highly congested. An upper-level protocol
must get involved to handle retransmission,
thus resulting in degradation of device and
Fabric throughput.
12