tech-invite   World Map     

3GPP     Specs     Glossaries     Architecture     IMS     UICC       IETF     RFCs     Groups     SIP     ABNFs       Search

RFC 4172

Proposed STD
Pages: 111
Top     in Index     Prev     Next
in Group Index     Prev in Group     Next in Group     Group: IPS

iFCP - A Protocol for Internet Fibre Channel Storage Networking

Part 1 of 4, p. 1 to 18
None       Next RFC Part

Updated by:    6172    7146


Top       ToC       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       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       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       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       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       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       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       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       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       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       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       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       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       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       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       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       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       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 RFC Part