Title: Spring 2001
1Fiber Channel
- Spring 2001
- Prof. Choong Seon HONG
2Introduction
- I/O channel transfers data between a buffer at
the source device and a buffer at the destination
device, moving only the user contents from one
devices to another, without regard to the format
or meaning of the data - I/O channels typically manage transfers between
processors and peripheral devices, such as disks,
graphics equipment, CD-ROMs, and video devices. - Fibre channel is designed to combine the best
features of both technologies, simplicity and
speed of channel communications with flexibility
and interconnectivity that characterize
protocol-based network communications
3Introduction (contd)
- Fiber channel allows system designers to combine
traditional peripheral connection, host-to-host
interworking, loosely coupled processor
clustering, and multimedia applications in a
single multiprotocol interface. - The types of channel-oriented facilities
incorporated into the Fiber Channel protocol
architecture - Data type qualifiers for routing frame payload
into particular interface buffers - Link-level constructs associated with individual
I/O operations - Protocol interface specifications to allow
support of existing I/O channel architectures
such as SCSI
4Introduction (contd)
- LAN Technology comparison
5Fibre Channel Architecture
- Designed to provide a common, efficient
transport system so that a variety of devices and
applications can be supported through a single
port type. - The ambitious requirements of Fiber Channel
Association - Full-duplex links with two fibers per link
- Performance from 100 Mbps to 3.2 Gbps on a
single link (200 Mbps to 6.4 Gbps per link) - Support for distance up to 10Km
- Small connectors
- High-capacity utilization with distance
insensitivity - Greater connectivity than existing multidrop
channels - Broad availability (i.e., standard components)
- Support for multiple cost/performance levels,
from small systems to super-computers - Ability to carry multiple existing interface
command sets for existing channel and network
protocols
6Fibre Channel Architecture (contd)
- The solution about requirements
- developing a simple generic transport mechanism
based on point-to-point links and a switching - supporting a simple encoding and framing scheme
that support a variety of channel and network
protocols
7Fibre Channel Architecture (contd)
8Fibre Channel Architecture (contd)
- Fibre Channel Elements
- Nodes
- Fabric
9Fibre Channel Architecture (contd)
- Fibre Channel Elements (contd)
- Frames may be buffered within the fabric, making
it possible for different nodes to connect to the
fabric at different data rates. - a more general network of fabric element
10Fibre Channel Architecture (contd)
- Fibre Channel Elements (contd)
- Fabric is responsible for buffering and routing
frames between source and destinations nodes. - Fibre channel is more like a traditional
circuit-switched or packet-switched network. - not concerned with medium access control (MAC)
issues - Fibre channel can readily accommodate new
transmission media and data rates by adding new
switches and F_Ports to an existing fabric.
11Fibre Channel Architecture (contd)
- Fibre Channel Protocol Architecture
12Fibre Channel Architecture (contd)
13Fibre Channel Architecture (contd)
- Fibre Channel Protocol Architecture (contd)
- Physical interface and media
- allowing a variety of physical media and data
rates - physical media are optical fiber, coaxial cable,
and shielded twisted pair. - Transmission protocol
- dealing with the transmission of data between
N-Ports in the form of frames - Framing protocol
- related concepts
- Node and N_Port and their identifiers
- Topologies
- Class of services provided by the fabric
- Segmentation of data into frames and reassembly
- Grouping of frames into logical entities called
sequences - Sequencing, flow control, and error control
14Fibre Channel Architecture (contd)
- Fibre Channel Protocol Architecture (contd)
- Common services
- Stripping Making use of multiple N_Ports in
parallel to transmit a single information unit
across multiple links simultaneously. - Hunt Group a set of associated N_Ports at a
single node - Multicast delivering to all N_Ports on a
fabric (broadcast) or to a subset of the N_Ports
on a fabric - Mapping FC-4
- Defining the mapping of various channel and
network protocol to FC-CH - I/O channel interfaces
- SCSI (simple computer system interface) used to
support high-capacity and high-data-rate devices,
such as disks and graphics and video equipment - HIPPI (high-performance parallel interface)
used for mainframe/super computer environments
15Fibre Channel Architecture (contd)
- Network interfaces
- IEEE 802 802 MAC frames map onto Fibre Channel
frames - Asynchronous Transfer Mode (ATM)
- Internet Protocol
- FC-4 mapping protocols make use of the FC-PH
capabilities to transfer upper-layer protocol
(ULP) information. - Each FC-4 specification defines the formats and
procedures for ULP.
169.2 Physical Media and Topologies
- Major strengths of Fibre Channel
- Providing a range of options for the physical
medium, data rate on that medium, and the
topology of the network. - Transmission media
17Physical Media and Topologies (contd)
- Two most common implementations
- 110-TW-S-EL and 100-M5-I-SL
- FC-0 Nomenclature
18Physical Media and Topologies (contd)
- Topologies
- Fabric (switched)
- Fabric is responsible for routing between
N_Ports and error detection - Point-to-point topology
- Arbitrated loop topology
- low cost topology for connecting up to 126 nodes
in a loop - containing the functions of both both N_Ports
and F_Ports (NL_Ports) - operating in a manner roughly equivalent to the
token ring protocols
19Physical Media and Topologies (contd)
- Topologies (contd)
- Five applications of Fibre Channel
209.3 Framing protocols
- Defining the rules for the exchange of
higher-layer information between nodes - Specifying types of frames, procedures for their
exchange, and formats - Similar to the data link layer function
- Class of Service
- Class 1 Acknowledged Connection Service
- providing a guaranteed data rate through a
dedicated path - containing a special start-of-frame delimiter
referred to as SOFc1 - alerting the fabric that a connection is
requested. - the fabric allocates a circuit between N_Ports
- the destination N_Port can then transmit an ACK
indicating its acceptance
21Framing protocols (contd)
- Class 2 Acknowledged Connectionless Service
- analogous to the acknowledged connectionless LLC
service - no dedicated physical or logical connection
- useful for data transfers to and from a
mass-storage system shared system among a number
of workstations - used for a storage area network (SAN)
configuration - Class 3 Unacknowledged Connectionless Service
- Allowing data to be sent rapidly to multiple
devices attached to the fabric - useful for interworking ad for multicast and
broadcast transmission
22Framing protocols (contd)
- Class 4 Fractional Bandwidth Connection-Oriented
Service - providing acknowledged connection-oriented
service - enabling establishment of virtual connections
with bandwidth reservation for predictable QoS
including guaranteed throughput and bounded
end-to-end delay - appropriate for time-critical and real-time
applications, including audio and video - Class 6 Unidirectional Connection Service
- providing the reliable unicast delivery of Class
1 - supporting reliable multicast and preemption
23Framing protocols (contd)
24Framing protocols (contd)
- Frames
- Three types of data frames
- FC-4 Device Data used to transfer higher-layer
data units from supported FC-4 protocols, such as
IEEE 802, SCSI, and IP - FC-4 Video Data transferred by an N-Port
directly to or from a video buffer without first
directing them to an intermediate storage
location - Link data used to transfer link application
information between N_Ports. - Three types of link control frames for
sliding-window flow control mechanism - Link Continue (acknowledge)
- Link Response
- Link Command
- Sequences
- FC-2 places no limit on the size of the unit,
called a sequence - Each data frame includes a sequence ID in its
header - When error is detected, FC-2 identifies the
sequence containing error is retransmitted.
25Framing protocols (contd)
- Exchanges
- a mechanism for organizing multiple sequences
into a higher-level construct for the convenience
of applications - For example, in Fibre Channel standard for SCSI
support, the various command, data transfer, and
response sequences assoiciated with an individual
disk operation are grouped into a single exchange - Allowing SCSI logic to treat all transport
functions of the operation as a single atomic
unit for tracking and error recovery.
26Framing protocols (contd)
- Example of Exchange Usage
27Framing protocols (contd)
- Flow Control
- End-to-End Flow control
- used between two communicating N_Ports
- Each of the two N_Ports in a communication
provides credit for a certain number of frames - Used mechanism is a Credit_Count number of
outstanding unacknowledged frames to the
allocated credit of each type - requiring some form of acknowledgment
- just used in Class 1 and Class 2
- Buffer-to-Buffer Flow Control
- used between two ports connected by a single
point-to-pint link - regulating traffic between an N_Port and the
F_Port to which it is attached
28Framing protocols (contd)
- Flow Control (contd)
- The concept of credit
- Prior to communication between two N_Ports
(end-to-end) and between adjacent ports
(buffer-to-buffer), each communicating port is
allocated a credit during the initialization
procedure. - The transmitting port limits the number of
outstanding unacknowledged frames to the
allocated credit of each type and adjusts the
credit according to the responses received. - Used mechanism Credit_Count
- Initially 0
- Increased by 1 for each transmitted data frame
and decreased by 1 for each acknowledgement of a
data frame - Count represents the number of outstanding data
frames that have not been acknowledged and is
not permitted to exceed the corresponding maximum
credit negotiated at login
29Framing protocols (contd)
- Flow Control Model end-to-end flow control
30Framing protocols (contd)
- Flow Control Model Buffer-to-Buffer flow
control
- The upper part of the figure indicating the use
of R_RDY to regulate the flow of data frames - The lower part indicating that R_RDY is also
used to acknowledge receipt of control frames
across the link
31Framing protocols (contd)
32Framing protocols (contd)
- Frame Format (contd)
- Start of Frame Delimiter
- Including nondata symbols to assure recognition
of the beginning of a new frame - A number of different SOF delimiters, depending
on the class of service and type of frame
33Framing protocols (contd)
- Frame Format (contd)
- Frame Header
- Containing the bulk of the control information
needed to manage the FC-2 protocol - Routing Control (R_CTL)
- routing subfield (4 bits) indicating the type
of frame (e.g., device data, video data, link
control) - information category subfield indicating the
type of data contained in the frame (e.g.,
solicited/unsolicited data, solicited/unsolicited
control) - Destination ID the address of destination
N_Port or F_Port - Source ID The address of the source N_Port or
F_Port - Type when R_CTL indicates the this is an FC-4
frame, identifying the specific FC-4 frame type
(e.g., SCSI, IEEE 802, IP) - Frame Control containing control information
relating to frame content - Sequence ID
34Framing protocols (contd)
- Frame Format (contd)
- Frame Header (contd)
- Data Field Control (DF_CTL) specifying the
presence or absence of each of the four optional
headers at the beginning of the data field for
device data or video data frames - Sequence Count the first frame of a sequence
has sequence count 0 - Originator Exchange Identifier A unique ID
assigned by the originator of an exchange. - Responder Exchange Identifier A unique ID
assigned by the responder of an exchange. - Parameter For link control frames, the
parameter field carries information specific to
the individual link control frame - Fibre channel uses a 24-bit address to uniquely
identify each port This address has three
components (e.g., domain, area, and port) - Enabling an easily managed hierarchical address
structure for use by the fabric.
35Framing protocols (contd)
- Frame Format (contd)
- Data field
- A maximum of 2112 bytes
- Including an optional payload and zero or more
of the following optional headers - Expiration Security Header including an
expiration time and security-related information
that is beyond the scope of the FC-PH standard - Network Header May be used by a bridge or
gateway node that interfaces to an external
network 8-byte network destination address and
an 8-byte network source address - Association Header May be to identify a
specific process or group of processes within a
node associated with an exchange - Device Header determined by a level above FC-2
36Framing protocols (contd)
- Frame Format (contd)
- CRC Field
- 32-bit cyclic redundancy check (CRC)
- End of Delimiter
- Indicating the end of the frame transmission
- EOF may be modified by an intervening fabric
element to indicate that the frame is invalid or
the frame content was corrupted and this
transmission truncated. - EOFt
- EOFdt
- EOFn
- EOFni
- EOFdti
- EOFa terminating a frame that is partial due to
a malfunction in a link facility during
transmission