Tech-invite3GPPspaceIETF RFCsSIP
9190898887868584838281807978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111009080706050403020100
in Index   Prev   Next

RFC 4172

iFCP - A Protocol for Internet Fibre Channel Storage Networking

Pages: 111
Proposed Standard
Updated by:  61727146
Part 1 of 4 – Pages 1 to 18
None   None   Next

Top   ToC   RFC4172 - Page 1
Network Working Group                                           C. Monia
Request for Comments: 4172                                    Consultant
Category: Standards Track                                  R. Mullendore
                                                                  McDATA
                                                           F. Travostino
                                                                  Nortel
                                                                W. Jeong
                                                         Troika Networks
                                                              M. Edwards
                                                       Adaptec (UK) Ltd.
                                                          September 2005


    iFCP - A Protocol for Internet Fibre Channel Storage Networking

Status of This Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2005).

Abstract

This document specifies an architecture and a gateway-to-gateway protocol for the implementation of fibre channel fabric functionality over an IP network. This functionality is provided through TCP protocols for fibre channel frame transport and the distributed fabric services specified by the fibre channel standards. The architecture enables internetworking of fibre channel devices through gateway-accessed regions with the fault isolation properties of autonomous systems and the scalability of the IP network.

Table of Contents

1. Introduction.................................................. 4 1.1. Conventions used in This Document....................... 4 1.1.1. Data Structures Internal to an Implementation... 4 1.2. Purpose of This Document................................ 4 2. iFCP Introduction............................................. 4 2.1. Definitions............................................. 5 3. Fibre Channel Communication Concepts.......................... 7 3.1. The Fibre Channel Network............................... 8
Top   ToC   RFC4172 - Page 2
       3.2.  Fibre Channel Network Topologies........................  9
             3.2.1.  Switched Fibre Channel Fabrics.................. 11
             3.2.2.  Mixed Fibre Channel Fabric...................... 12
       3.3.  Fibre Channel Layers and Link Services.................. 12
             3.3.1.  Fabric-Supplied Link Services................... 13
       3.4.  Fibre Channel Nodes..................................... 14
       3.5.  Fibre Channel Device Discovery.......................... 14
       3.6.  Fibre Channel Information Elements...................... 15
       3.7.  Fibre Channel Frame Format.............................. 15
             3.7.1.  N_PORT Address Model............................ 16
       3.8.  Fibre Channel Transport Services........................ 17
       3.9.  Login Processes......................................... 18
   4.  The iFCP Network Model........................................ 18
       4.1.  iFCP Transport Services................................. 21
             4.1.1.  Fibre Channel Transport Services Supported by
                     iFCP............................................ 21
       4.2.  iFCP Device Discovery and Configuration Management...... 21
       4.3.  iFCP Fabric Properties.................................. 22
             4.3.1.  Address Transparency............................ 22
             4.3.2.  Configuration Scalability....................... 23
             4.3.3.  Fault Tolerance................................. 23
       4.4.  The iFCP N_PORT Address Model........................... 24
       4.5.  Operation in Address Transparent Mode................... 25
             4.5.1.  Transparent Mode Domain ID Management........... 26
             4.5.2.  Incompatibility with Address Translation Mode... 26
       4.6.  Operation in Address Translation Mode................... 27
             4.6.1.  Inbound Frame Address Translation............... 28
             4.6.2.  Incompatibility with Address Transparent Mode... 29
   5.  iFCP Protocol................................................. 29
       5.1.  Overview ............................................... 29
             5.1.1.  iFCP Transport Services......................... 29
             5.1.2.  iFCP Support for Link Services.................. 30
       5.2.  TCP Stream Transport of iFCP Frames..................... 30
             5.2.1.  iFCP Session Model.............................. 30
             5.2.2.  iFCP Session Management......................... 31
             5.2.3.  Terminating iFCP Sessions....................... 39
       5.3.  Fibre Channel Frame Encapsulation....................... 40
             5.3.1.  Encapsulation Header Format..................... 41
             5.3.2.  SOF and EOF Delimiter Fields.................... 44
             5.3.3.  Frame Encapsulation............................. 45
             5.3.4.  Frame De-encapsulation.......................... 46
   6.  TCP Session Control Messages.................................. 47
       6.1.  Connection Bind (CBIND)................................. 50
       6.2.  Unbind Connection (UNBIND).............................. 52
       6.3.  LTEST -- Test Connection Liveness....................... 54
   7.  Fibre Channel Link Services................................... 55
       7.1.  Special Link Service Messages........................... 56
       7.2.  Link Services Requiring Payload Address Translation..... 58
Top   ToC   RFC4172 - Page 3
       7.3.  Fibre Channel Link Services Processed by iFCP........... 61
             7.3.1.  Special Extended Link Services.................. 63
             7.3.2.  Special FC-4 Link Services...................... 83
       7.4.  FLOGI Service Parameters Supported by an iFCP Gateway... 84
   8.  iFCP Error Detection.......................................... 86
       8.1.  Overview................................................ 86
       8.2.  Stale Frame Prevention.................................. 86
             8.2.1.  Enforcing R_A_TOV Limits........................ 86
   9.  Fabric Services Supported by an iFCP Implementation........... 88
       9.1.  F_PORT Server........................................... 88
       9.2.  Fabric Controller....................................... 89
       9.3.  Directory/Name Server................................... 89
       9.4.  Broadcast Server........................................ 89
             9.4.1.  Establishing the Broadcast Configuration........ 90
             9.4.2.  Broadcast Session Management.................... 91
             9.4.3.  Standby Global Broadcast Server................. 91
   10. iFCP Security................................................. 91
       10.1. Overview................................................ 91
       10.2. iFCP Security Threats and Scope......................... 92
             10.2.1. Context......................................... 92
             10.2.2. Security Threats................................ 92
             10.2.3. Interoperability with Security Gateways......... 93
             10.2.4. Authentication.................................. 93
             10.2.5. Confidentiality................................. 93
             10.2.6. Rekeying........................................ 93
             10.2.7. Authorization................................... 94
             10.2.8. Policy Control.................................. 94
             10.2.9. iSNS Role....................................... 94
       10.3. iFCP Security Design.................................... 94
             10.3.1. Enabling Technologies........................... 94
             10.3.2. Use of IKE and IPsec............................ 96
             10.3.3. Signatures and Certificate-Based Authentication. 98
       10.4. iSNS and iFCP Security.................................. 99
       10.5. Use of iSNS to Distribute Security Policy............... 99
       10.6. Minimal Security Policy for an iFCP Gateway............. 99
   11. Quality of Service Considerations.............................100
       11.1. Minimal Requirements....................................100
       11.2. High Assurance..........................................100
   12. IANA Considerations...........................................101
   13. Normative References..........................................101
   14. Informative References........................................103
   Appendix A.  iFCP Support for Fibre Channel Link Services.........105
       A.1.  Basic Link Services.....................................105
       A.2.  Pass-Through Link Services..............................105
       A.3.  Special Link Services...................................107
   Appendix B.  Supporting the Fibre Channel Loop Topology...........108
       B.1.  Remote Control of a Public Loop.........................108
   Acknowledgements..................................................109
Top   ToC   RFC4172 - Page 4

1. Introduction

1.1. Conventions Used in This Document

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14, RFC 2119 [RFC2119]. Unless specified otherwise, numeric quantities are given as decimal values. All diagrams that portray bit and byte ordering, including the depiction of structures defined by fibre channel standards, adhere to the IETF conventions whereby bit 0 is the most significant bit and the first addressable byte is in the upper left corner. This IETF convention differs from that used for INCITS T11 fibre channel standards, in which bit 0 is the least significant bit.

1.1.1. Data Structures Internal to an Implementation

To facilitate the specification of required behavior, this document may define and refer to internal data structures within an iFCP implementation. Such structures are intended for explanatory purposes only and need not be instantiated within an implementation as described in this specification.

1.2. Purpose of This Document

This is a standards-track document that specifies a protocol for the implementation of fibre channel transport services on a TCP/IP network. Some portions of this document contain material from standards controlled by INCITS T10 and T11. This material is included here for informational purposes only. The authoritative information is given in the appropriate NCITS standards document. The authoritative portions of this document specify the mapping of standards-compliant fibre channel protocol implementations to TCP/IP. This mapping includes sections of this document that describe the "iFCP Protocol" (see Section 5).

2. iFCP Introduction

iFCP is a gateway-to-gateway protocol that provides fibre channel fabric services to fibre channel devices over a TCP/IP network. iFCP uses TCP to provide congestion control, error detection, and recovery. iFCP's primary objective is to allow interconnection and
Top   ToC   RFC4172 - Page 5
   networking of existing fibre channel devices at wire speeds over an
   IP network.

   The protocol and method of frame address translation described in
   this document permit the attachment of fibre channel storage devices
   to an IP-based fabric by means of transparent gateways.

   The protocol achieves this transparency by allowing normal fibre
   channel frame traffic to pass through the gateway directly, with
   provisions, where necessary, for intercepting and emulating the
   fabric services required by a fibre channel device.

2.1. Definitions

Terms needed to describe the concepts presented in this document are presented here. Address-translation mode -- A mode of gateway operation in which the scope of N_PORT fabric addresses, for locally attached devices, are local to the iFCP gateway region in which the devices reside. Address-transparent mode -- A mode of gateway operation in which the scope of N_PORT fabric addresses, for all fibre channel devices, are unique to the bounded iFCP fabric to which the gateway belongs. Bounded iFCP Fabric -- The union of two or more gateway regions configured to interoperate in address-transparent mode. DOMAIN_ID -- The value contained in the high-order byte of a 24-bit N_PORT fibre channel address. F_PORT -- The interface used by an N_PORT to access fibre channel switched-fabric functionality. Fabric -- From [FC-FS]: "The entity that interconnects N_PORTs attached to it and is capable of routing frames by using only the address information in the fibre channel frame." Fabric Port -- The interface through which an N_PORT accesses a fibre channel fabric. The type of fabric port depends on the fibre channel fabric topology. In this specification, all fabric port interfaces are considered functionally equivalent. FC-2 -- The fibre channel transport services layer, described in [FC-FS].
Top   ToC   RFC4172 - Page 6
   FC-4 -- The fibre channel mapping of an upper-layer protocol, such as
      [FCP-2], the fibre channel to SCSI mapping.

   Fibre Channel Device -- An entity implementing the functionality
      accessed through an FC-4 application protocol.

   Fibre Channel Network -- A native fibre channel fabric and all
      attached fibre channel nodes.

   Fibre Channel Node -- A collection of one or more N_PORTs controlled
      by a level above the FC-2 layer.  A node is attached to a fibre
      channel fabric by means of the N_PORT interface, described in
      [FC-FS].

   Gateway Region -- The portion of an iFCP fabric accessed through an
      iFCP gateway by a remotely attached N_PORT.  Fibre channel devices
      in the region consist of all those locally attached to the
      gateway.

   iFCP -- The protocol discussed in this document.

   iFCP Frame -- A fibre channel frame encapsulated in accordance with
      the FC Frame Encapsulation Specification [ENCAP] and this
      specification.

   iFCP Portal -- An entity representing the point at which a logical or
      physical iFCP device is attached to the IP network.  The network
      address of the iFCP portal consists of the IP address and TCP port
      number to which a request is sent when the TCP connection is
      created for an iFCP session (see Section 5.2.1).

   iFCP Session -- An association comprised of a pair of N_PORTs and a
      TCP connection that carries traffic between them.  An iFCP session
      may be created as the result of a PLOGI fibre channel login
      operation.

   iSNS -- The server functionality and IP protocol that provide storage
      name services in an iFCP network.  Fibre channel name services are
      implemented by an iSNS name server, as described in [ISNS].

   Locally Attached Device -- With respect to a gateway, a fibre channel
      device accessed through the fibre channel fabric to which the
      gateway is attached.

   Logical iFCP Device -- The abstraction representing a single fibre
      channel device as it appears on an iFCP network.
Top   ToC   RFC4172 - Page 7
   N_PORT -- An iFCP or fibre channel entity representing the interface
      to fibre channel device functionality.  This interface implements
      the fibre channel N_PORT semantics, specified in [FC-FS].  Fibre
      channel defines several variants of this interface that depend on
      the fibre channel fabric topology.  As used in this document, the
      term applies equally to all variants.

   N_PORT Alias --  The N_PORT address assigned by a gateway to
      represent a remote N_PORT accessed via the iFCP protocol.

   N_PORT fabric address -- The address of an N_PORT within the fibre
      channel fabric.

   N_PORT ID -- The address of a locally attached N_PORT within a
      gateway region.  N_PORT IDs are assigned in accordance with the
      fibre channel rules for address assignment, specified in [FC-FS].

   N_PORT Network Address -- The address of an N_PORT in the iFCP
      fabric.  This address consists of the IP address and TCP port
      number of the iFCP Portal and the N_PORT ID of the locally
      attached fibre channel device.

   Port Login (PLOGI) -- The fibre channel Extended Link Service (ELS)
      that establishes an iFCP session through the exchange of
      identification and operation parameters between an originating
      N_PORT and a responding N_PORT.

   Remotely Attached Device -- With respect to a gateway, a fibre
      channel device accessed from the gateway by means of the iFCP
      protocol.

   Unbounded iFCP Fabric -- The union of two or more gateway regions
      configured to interoperate in address-translation mode.

3. Fibre Channel Communication Concepts

Fibre channel is a frame-based, serial technology designed for peer- to-peer communication between devices at gigabit speeds and with low overhead and latency. This section contains a discussion of the fibre channel concepts that form the basis for the iFCP network architecture and protocol described in this document. Readers familiar with this material may skip to Section 4.
Top   ToC   RFC4172 - Page 8
   Material presented in this section is drawn from the following T11
   specifications:

   -- The Fibre Channel Framing and Signaling Interface, [FC-FS]

   -- Fibre Channel Switch Fabric -2, [FC-SW2]

   -- Fibre Channel Generic Services, [FC-GS3]

   -- Fibre Channel Fabric Loop Attachment, [FC-FLA]

   The reader will find an in-depth treatment of the technology in
   [KEMCMP] and [KEMALP].

3.1. The Fibre Channel Network

The fundamental entity in fibre channel is the fibre channel network. Unlike a layered network architecture, a fibre channel network is largely specified by functional elements and the interfaces between them. As shown in Figure 1, these consist, in part, of the following: a) N_PORTs -- The end points for fibre channel traffic. In the FC standards, N_PORT interfaces have several variants, depending on the topology of the fabric to which they are attached. As used in this specification, the term applies to any one of the variants. b) FC Devices -- The fibre channel devices to which the N_PORTs provide access. c) Fabric Ports -- The interfaces within a fibre channel network that provide attachment for an N_PORT. The types of fabric port depend on the fabric topology and are discussed in Section 3.2. d) The network infrastructure for carrying frame traffic between N_PORTs. e) Within a switched or mixed fabric (see Section 3.2), a set of auxiliary servers, including a name server for device discovery and network address resolution. The types of service depend on the network topology.
Top   ToC   RFC4172 - Page 9
         +--------+   +--------+          +--------+  +--------+
         |  FC    |   |  FC    |          |  FC    |  |  FC    |
         | Device |   | Device |<-------->| Device |  | Device |
         |........|   |........|          |........|  |........|
         | N_PORT |   | N_PORT |          | N_PORT |  | N_PORT |
         +---+----+   +----+---+          +----+---+  +----+---+
             |             |                   |           |
         +---+----+   +----+---+          +----+---+  +----+---+
         | Fabric |   | Fabric |          | Fabric |  | Fabric |
         | Port   |   | Port   |          | Port   |  | Port   |
         +========+===+========+==========+========+==+========+
         |                        Fabric                       |
         |                          &                          |
         |                     Fabric Services                 |
         +-----------------------------------------------------+

                   Figure 1. A Fibre Channel Network

   The following sections describe fibre channel network topologies and
   give an overview of the fibre channel communications model.

3.2. Fibre Channel Network Topologies

The principal fibre channel network topologies consist of the following: a) Arbitrated Loop -- A series of N_PORTs connected together in daisy-chain fashion. In [FC-FS], loop-connected N_PORTs are referred to as NL_PORTs. Data transmission between NL_PORTs requires arbitration for control of the loop in a manner similar to that of a token ring network. b) Switched Fabric -- A network consisting of switching elements, as described in Section 3.2.1. c) Mixed Fabric -- A network consisting of switches and "fabric- attached" loops. A description can be found in [FC-FLA]. A loop-attached N_PORT (NL_PORT) is connected to the loop through an L_PORT and accesses the fabric by way of an FL_PORT.
Top   ToC   RFC4172 - Page 10
   Depending on the topology, the N_PORT and its means of network
   attachment may be one of the following:

         FC Network
         Topology         Network Interface   N_PORT Variant
         ---------------  -----------------   --------------
         Loop             L_PORT              NL_PORT

         Switched         F_PORT              N_PORT

         Mixed            FL_PORT via L_PORT  NL_PORT

                          F_PORT              N_PORT

   The differences in each N_PORT variant and its corresponding fabric
   port are confined to the interactions between them.  To an external
   N_PORT, all fabric ports are transparent, and all remote N_PORTs are
   functionally identical.
Top   ToC   RFC4172 - Page 11

3.2.1. Switched Fibre Channel Fabrics

An example of a multi-switch fibre channel fabric is shown in Figure 2. +----------+ +----------+ | FC | | FC | | Device | | Device | |..........| |..........| | N_PORT |<........>| N_PORT | +----+-----+ +-----+----+ | | +----+-----+ +-----+----+ | F_PORT | | F_PORT | ==========+==========+==========+==========+============== | FC | | FC | | Switch | | Switch | +----------+ +----------+ Fibre Channel |Inter- | |Inter- | Fabric |Switch | |Switch | |Interface | |Interface | +-----+----+ +-----+----+ | | | | +-----+----+----------+-----+----+ |Inter- | |Inter- | |Switch | |Switch | |Interface | |Interface | +----------+ +----------+ | FC Switch | | | +--------------------------------+ Figure 2. Multi-Switch Fibre Channel Fabric The interface between switch elements is either a proprietary interface or the standards-compliant E_PORT interface, which is described by the FC-SW2 specification, [FC-SW2].
Top   ToC   RFC4172 - Page 12

3.2.2. Mixed Fibre Channel Fabric

A mixed fabric contains one or more arbitrated loops connected to a switched fabric as shown in Figure 3. +----------+ +----------+ +---------+ | FC | | FC | | FC | | Device | | Device | | Device | |..........| FC |..........| |.........| | N_PORT |<........>| NL_PORT +---+ NL_PORT | +----+-----+ Traffic +-----+----+ +----+----+ | | FC Loop | +----+-----+ +-----+----+ | | F_PORT | | FL_PORT +--------+ | | | | ==========+==========+==========+==========+============== | FC | | FC | | Switch | | Switch | +----------+ +----------+ |Inter- | |Inter- | |Switch | |Switch | |Interface | |Interface | +-----+----+ +-----+----+ | | | | +-----+----+----------+-----+----+ |Inter- | |Inter- | |Switch | |Switch | |Interface | |Interface | +----------+ +----------+ | FC Switch | | | +--------------------------------+ Figure 3. Mixed Fibre Channel Fabric As noted previously, the protocol for communications between peer N_PORTs is independent of the fabric topology, N_PORT variant, and type of fabric port to which an N_PORT is attached.

3.3. Fibre Channel Layers and Link Services

A fibre channel consists of the following layers: FC-0 -- The interface to the physical media. FC-1 -- The encoding and decoding of data and out-of-band physical link control information for transmission over the physical media.
Top   ToC   RFC4172 - Page 13
      FC-2 -- The transfer of frames, sequences, and Exchanges
      comprising protocol information units.

      FC-3 -- Common Services.

      FC-4 -- Application protocols such as the fibre channel protocol
      for SCSI (FCP).

   In addition to the layers defined above, a fibre channel defines a
   set of auxiliary operations, some of which are implemented within the
   transport layer fabric, called link services.  These are required in
   order to manage the fibre channel environment, establish
   communications with other devices, retrieve error information,
   perform error recovery, and provide other similar services.  Some
   link services are executed by the N_PORT.  Others are implemented
   internally within the fabric.  These internal services are described
   in the next section.

3.3.1. Fabric-Supplied Link Services

Servers that are internal to a switched fabric handle certain classes of Link Service requests and service-specific commands. The servers appear as N_PORTs located at the 'well-known' N_PORT fabric addresses specified in [FC-FS]. Service requests use the standard fibre channel mechanisms for N_PORT-to-N_PORT communications. All switched fabrics must provide the following services: Fabric F_PORT server -- Services N_PORT requests to access the fabric for communications. Fabric Controller -- Provides state change information to inform other FC devices when an N_PORT exits or enters the fabric (see Section 3.5). Directory/Name Server - Allows N_PORTs to register information in a database, retrieve information about other N_PORTs, and to discover other devices as described in Section 3.5. A switched fabric may also implement the following optional services: Broadcast Address/Server -- Transmits single-frame, class 3 sequences to all N_PORTs. Time Server -- Intended for the management of fabric-wide expiration timers or elapsed time values; not intended for precise time synchronization.
Top   ToC   RFC4172 - Page 14
      Management Server - Collects and reports management information,
      such as link usage, error statistics, link quality, and similar
      items.

      Quality of Service Facilitator - Performs fabric-wide bandwidth
      and latency management.

3.4. Fibre Channel Nodes

A fibre channel node has one or more fabric-attached N_PORTs. The node and its N_PORTs have the following associated identifiers: a) A worldwide-unique identifier for the node. b) A worldwide-unique identifier for each N_PORT associated with the node. c) For each N_PORT attached to a fabric, a 24-bit fabric-unique address with the properties defined in Section 3.7.1. The fabric address is the address to which frames are sent. Each worldwide-unique identifier is a 64-bit binary quantity with the format defined in [FC-FS].

3.5. Fibre Channel Device Discovery

In a switched or mixed fabric, fibre channel devices and changes in the device configuration may be discovered by means of services provided by the fibre channel Name Server and Fabric Controller. The Name Server provides registration and query services that allow a fibre channel device to register its presence on the fabric and to discover the existence of other devices. For example, one type of query obtains the fabric address of an N_PORT from its 64-bit worldwide-unique name. The full set of supported fibre channel name server queries is specified in [FC-GS3]. The Fabric Controller complements the static discovery capabilities provided by the Name Server through a service that dynamically alerts a fibre channel device whenever an N_PORT is added or removed from the configuration. A fibre channel device receives these notifications by subscribing to the service as specified in [FC-FS].
Top   ToC   RFC4172 - Page 15

3.6. Fibre Channel Information Elements

The fundamental element of information in fibre channel is the frame. A frame consists of a fixed header and up to 2112 bytes of payload with the structure described in Section 3.7. The maximum frame size that may be transmitted between a pair of fibre channel devices is negotiable up to the payload limit, based on the size of the frame buffers in each fibre channel device and the path maximum transmission unit (MTU) supported by the fabric. Operations involving the transfer of information between N_PORT pairs are performed through 'Exchanges'. In an Exchange, information is transferred in one or more ordered series of frames, referred to as Sequences. Within this framework, an upper layer protocol is defined in terms of transactions carried by Exchanges. In turn, each transaction consists of protocol information units, each of which is carried by an individual Sequence within an Exchange.

3.7. Fibre Channel Frame Format

A fibre channel frame consists of a header, payload and 32-bit CRC bracketed by SOF and EOF delimiters. The header contains the control information necessary to route frames between N_PORTs and manage Exchanges and Sequences. The following diagram gives a schematic view of the frame.
Top   ToC   RFC4172 - Page 16
               Bit  0                          31
                   +-----------------------------+
            Word 0 |   Start-of-frame Delimiter  |
                   +-----+-----------------------+<----+
                   |     | Destination N_PORT    |     |
                 1 |     | Fabric Address (D_ID) |     |
                   |     |  (24 bits)            |     |
                   +-----+-----------------------+   24-byte
                   |     | Source N_PORT         |   Frame
                 2 |     | Fabric Address (S_ID) |   Header
                   |     | (24 bits)             |     |
                   +-----+-----------------------+     |
                 3 |    Control information for  |     |
                 . |    frame type, Exchange     |     |
                 . |    management, IU           |     |
                 . |    segmentation and         |     |
                 6 |    re-assembly              |     |
                   +-----------------------------+<----+
                 7 |                             |
                 . |        Frame payload        |
                 . |       (0 - 2112 bytes)      |
                 . |                             |
                 . |                             |
                 . |                             |
                   +-----------------------------+
                 . |            CRC              |
                   +-----------------------------+
                 n |    End-of-Frame Delimiter   |
                   +-----------------------------+

                Figure 4. Fibre Channel Frame Format

   The source and destination N_PORT fabric addresses embedded in the
   S_ID and D_ID fields represent the physical addresses of originating
   and receiving N_PORTs, respectively.

3.7.1. N_PORT Address Model

N_PORT fabric addresses are 24-bit values with the following format, defined by the fibre channel specification [FC-FS]: Bit 0 7 8 15 16 23 +-----------+------------+----------+ | Domain ID | Area ID | Port ID | +-----------+------------+----------+ Figure 5. Fibre Channel Address Format
Top   ToC   RFC4172 - Page 17
   A fibre channel device acquires an address when it logs into the
   fabric.  Such addresses are volatile and subject to change based on
   modifications in the fabric configuration.

   In a fibre channel fabric, each switch element has a unique Domain ID
   assigned by the principal switch.  The value of the Domain ID ranges
   from 1 to 239 (0xEF).  Each switch element, in turn, administers a
   block of addresses divided into area and port IDs.  An N_PORT
   connected to an F_PORT receives a unique fabric address, consisting
   of the switch's Domain ID concatenated with switch-assigned area and
   port IDs.

   A loop-attached NL_PORT (see Figure 3) obtains the Port ID component
   of its address during the loop initialization process described in
   [FC-AL2].  The area and domain IDs are supplied by the fabric when
   the fabric login (FLOGI) is executed.

3.8. Fibre Channel Transport Services

N_PORTs communicate by means of the following classes of service, which are specified in the fibre channel standard ([FC-FS]): Class 1 - A dedicated physical circuit connecting two N_PORTs. Class 2 - A frame-multiplexed connection with end-to-end flow control and delivery confirmation. Class 3 - A frame-multiplexed connection with no provisions for end-to-end flow control or delivery confirmation. Class 4 -- A connection-oriented service, based on a virtual circuit model, providing confirmed delivery with bandwidth and latency guarantees. Class 6 -- A reliable multicast service derived from class 1. Classes 2 and 3 are the predominant services supported by deployed fibre channel storage and clustering systems. Class 3 service is similar to UDP or IP datagram service. Fibre channel storage devices using this class of service rely on the ULP implementation to detect and recover from transient device and transport errors. For class 2 and class 3 service, the fibre channel fabric is not required to provide in-order delivery of frames unless it is explicitly requested by the frame originator (and supported by the fabric). If ordered delivery is not in effect, it is the
Top   ToC   RFC4172 - Page 18
   responsibility of the frame recipient to reconstruct the order in
   which frames were sent, based on information in the frame header.

3.9. Login Processes

The Login processes are FC-2 operations that allow an N_PORT to establish the operating environment necessary to communicate with the fabric, other N_PORTs, and ULP implementations accessed via the N_PORT. Three login operations are supported: a) Fabric Login (FLOGI) -- An operation whereby the N_PORT registers its presence on the fabric, obtains fabric parameters, such as classes of service supported, and receives its N_PORT address, b) Port Login (PLOGI) -- An operation by which an N_PORT establishes communication with another N_PORT. c) Process Login (PRLOGI) -- An operation that establishes the process-to-process communications associated with a specific FC-4 ULP, such as FCP-2, the fibre channel SCSI mapping. Since N_PORT addresses are volatile, an N_PORT originating a login (PLOGI) operation executes a Name Server query to discover the fibre channel address of the remote device. A common query type involves use of the worldwide-unique name of an N_PORT to obtain the 24-bit N_PORT fibre channel address to which the PLOGI request is sent.


(page 18 continued on part 2)

Next Section