One document matched: draft-ietf-ips-fcovertcpip-01.txt
Differences from draft-ietf-ips-fcovertcpip-00.txt
IPS Working Group M. Rajagopal, R. Bhagwat, LightSand Communications
INTERNET-DRAFT E. Rodriguez, Lucent Technologies
<draft-ietf-ips-fcovertcpip-01.txt> V. Chau, Gadzoox Networks
(Expires May 29, 2001) S. Berman, Vixel
S. Wilson, Brocade Communications
M. O'Donnell, McDATA
C. Carlson, QLogic
Fibre Channel Over TCP/IP (FCIP)
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC 2026 [1].
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as Reference
material or to cite them other than as ``work in progress''.
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/lid-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
1. Abstract
Fibre Channel (FC) is a dominant technology used in Storage Area
Networks (SAN). The purpose of this draft is to specify a standard
way of encapsulating FC frames over TCP/IP and to describe mechanisms
that allow islands of FC SANs to be interconnected over IP-based
networks. FC over TCP/IP relies on IP-based network services to
provide the connectivity between the SAN islands over LANs, MANs, or
WANs. The FC over TCP/IP specification relies upon TCP for
congestion control and management and upon both TCP and FC for data
error and data loss recovery. FC over TCP/IP treats all classes of
FC frames the same -- as datagrams.
2. Conventions used in this document
Rajagopal, et al. [Page 1]
Internet-Draft Fibre Channel over TCP/IP November 2000
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 RFC 2119 [2].
3. Motivation and Objectives
Fibre Channel (FC) is a gigabit speed networking technology primarily
used for Storage Area Networking (SAN). FC is standardized under
American National Standard for Information Systems of the National
Committee for Information Technology Standards (ANSI-NCITS) and has
specified a number of documents describing its protocols, operations,
and services [13].
The motivation behind connecting remote sites include disk or tape
backup and live mirroring, or simply distance extension between two
FC devices or FC Switch clusters (SAN islands).
A fundamental assumption made in this specification is that the Fibre
Channel traffic is carried over the IP network in such a manner that
the Fibre Channel fabric and all Fibre Channel devices on the fabric
are unaware of the fact. This means that the FC datagrams must be
delivered in such time as to comply with existing Fibre Channel
specifications. The FC traffic may span LANs, MANs and WANs, so long
as this fundamental assumption is adhered to.
Fibre Channel operates at Gigabit speeds. This specification is
written such that Fibre Channel traffic may be transported over an IP
backbone that has been engineered to have equivalent or better bit-
error-rate (BER) and line speed as the Fibre Channel environments
being bridged. While tunneling of Fibre Channel traffic over other
IP networks not so engineered is not precluded, the above environment
is an important one, and this specification has been written so that
to optimize for such traffic, while not overburdening other
configured IP networks.
The main objectives of this document are to:
1) specify the TCP encapsulation and mapping of FC frames
2) specify a mechanism that delimits each FC frame within the
TCP byte stream.
3) apply the mechanism described in (1) to an FC-switched
backbone network using an IP-based network as a backbone,
or more generally, between any two FC devices.
4) address any FC concerns arising from tunneling FC traffic
over an IP-based network, including security, data
integrity (loss), congestion, and performance. This will
be accomplished, where appropriate, by utilizing the
existing IETF-specified suite of protocols.
Rajagopal, et al. [Page 2]
Internet-Draft Fibre Channel over TCP/IP November 2000
5) be backwards compatible with existing FC specifications.
While new work may be undertaken in T11 [13] to optimize
and enhance the bridging of FC networks/fabrics, this
specification will not require adherence to such future
works.
4. FCIP Protocol
4.1 FCIP Device
In this specification, the term FCIP device generally refers to
any device that encapsulates FC frames into TCP segments and
reassembles TCP segments to regenerate FC frames.
Note: In an actual implementation, the FCIP device may be a
stand-alone box or integrated with an FC device such
as an FC backbone switch (BBW) or integrated with any
TCP/IP device such as an IP switch or an IP router.
The FCIP device is a transparent translation point. The IP
network is not aware of the FC payload that it is carrying.
Likewise, the FC fabric and the FC end nodes are unaware of the
IP-based transport.
4.2 Protocol
The FCIP protocol specifies the TCP/IP encapsulation, mapping and
routing of FC frames and applies these mechanisms to an FC network
utilizing IP for its backbone, or more generally, between any two
FC devices. The FCIP protocol is summarized below:
1. All FCIP protocol devices are peers and communicate using
TCP/IP. Each FCIP device behaves like a TCP end-node from the
perspective of the IP-based network. That is, these devices
do not perform IP routing or IP switching but simply forward
FC frames.
2. There is no requirement for an FCIP device to establish a
login with a peer before communication begins. However, FCIP
devices may authenticate the IP packet before accepting it
using the IPSec protocols. Each IP datagram is treated
independently and an FCIP device receiver simply listens to
the appropriate destination TCP port number (to be assigned)
contained in the TCP header.
3. Each FCIP device may be statically or dynamically configured
with a list of IP addresses corresponding to all the
participating FCIP devices. Dynamic discovery of
Rajagopal, et al. [Page 3]
Internet-Draft Fibre Channel over TCP/IP November 2000
participating FCIP devices may be performed using Internet
protocols such as LDAP, DHCP or other discovery protocols.
It is outside the scope of this specification to describe any
static or dynamic scheme for participating FCIP device IP
address discovery.
4. Discovery of FC addresses (accessible via the FCIP device) is
provided by techniques and protocols within the FC
architecture. These techniques and protocols are described in
Fibre Channel ANSI standards ([3], [7], [15]). The FCIP
device does not participate in the discovery of FC addresses.
Routing in the IP plane and the FC plane are largely
independent.
5. The exact path (route) taken by an FC over TCP/IP
encapsulated packet follows the normal procedures of routing
any IP packet. From the perspective of the FCIP devices this
communication is between only two FCIP devices for any given
packet.
6. An FCIP device may send FC encapsulated TCP/IP packets to
more than one FCIP device. However, these encapsulated
packets are treated as separate instances and are not
correlated in any way by the FCIP protocol devices. The
source FCIP device routes its packets based on the 3-byte FC
destination Address Identifier (D_ID) contained in each
encapsulated FC frame.
7. The IPSec architecture may be used to provide secure
communications for FCIP protocol across the IP-based network.
Other security protocols are not precluded.
8. Any re-ordering of data due to IP MTU fragmentation, TCP MSS
fragmentation, or IP packet re-ordering will be recovered in
accordance with a normal TCP reliable delivery behavior.
9. FCIP relies on both TCP error recovery mechanism and normal
FC recovery mechanisms to detect and recover from data loss.
10. It is recommended that the IP packets carrying TCP
encapsulated FCIP data frames set the DSCP bits
corresponding to the Expedited Forwarding (EF) service which
closely matches the characteristics of the Fibre Channel
protocol.
11. FCIP defines a data framing structure that provides the
encapsulation of FC frames in the TCP data stream and a way
to synchronize the FCIP devices that communicate with one
Rajagopal, et al. [Page 4]
Internet-Draft Fibre Channel over TCP/IP November 2000
another.
4.3 FCIP Header Format
Fig. 1 shows the format of the header for the FCIP adaptation
layer.
|3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 |
|1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 |
+-------+-------+---------------------------+--------------------+
| VER. |HDR Len| Reserved | FCIP Frame Length |
+-------+-------+---------------------------+--------------------+
Fig. 1 FCIP Header Format
FCIP Version Number:
This 4-bit field shall be 0x1 for this version of the FCIP
protocol.
FCIP Header Length:
This 4-bit field contains the number of 32-bit words in the FCIP
header. The current version of the FCIP protocol dictates that
this field shall have a value of 0x1.
FCIP Frame Length:
This 10-bit field contains the length of the entire FCIP frame
including the FCIP header. This length is based on a unit of 32-
bit word. All FC frames are 32-bit-word-aligned and the FCIP
header shall always be defined to be word-aligned; therefore a
32-bit word length is acceptable.
Reserved bits:
These bits do not carry any information; they should be set to 0.
A Receiving FCIP device should use the combination of the FCIP
length value found in the FCIP header and the SOF and EOF byte-
codes to validate its synchronization with the sender.
4.4 Loss of FCIP synchronization
The use of the FCIP length with either or both of the EOF byte-
code immediately preceding the FCIP header and the SOF byte-code
immediately following the FCIP header provides enough verification
Rajagopal, et al. [Page 5]
Internet-Draft Fibre Channel over TCP/IP November 2000
that the FCIP devices communicating over a particular TCP
connection are synchronized with each other.
If a communicating pair of FCIP devices loses synchronization (the
receiving FCIP device cannot find the next FCIP header) due to
data loss, network congestion, or other error conditions in the
TCP byte stream, the receiving FCIP device shall reset the TCP
connection (set the RST bit). <The treatment of FC data and the
aborted TCP connection need additional work to complete.>
4.5 FCIP's Interaction with FC and TCP
The FCIP device always delivers entire FC frames to the FC ports
connected to it. The FC ports must remain unaware of the existence
of the IP network that provides, through the FCIP devices, the
connection for these FC ports.
The FCIP device shall treat all classes of FC frames the same - as
datagrams. Since FC Primitives and Primitive Sequences are not
exchanged between FCIP devices, there may be times when an FC
frame is lost within the IP network. When this event occurs it is
the responsibility of the communicating FC devices to detect and
correct the errors. The FCIP devices may choose not to generate
Fibre Channel's F_BSY or F_RJT frames or otherwise participate in
FC frame recovery. FCIP may not be suitable for the transport of
FC Class 1 traffic since these frames are treated the same way as
any Class 2 or 3 frames by the FCIP devices.
FCIP data frames are built from an FCIP header and the FC frames
that FCIP has to transport. The FCIP data frames are handed in
their entirety to TCP; TCP is responsible for delivering the same
series of FCIP data frames to the receiving side in the same order
as they are transmitted by the sending FCIP device. The FCIP
device must find the FCIP headers and deliver the FC frames
wrapped inside the FCIP data frames to the correct FC ports
connected to the FCIP device.
Note that the order of the FC frames sent by the FCIP device may
not be the same as the order sent by the source FC device. This is
due to the fact that FC frames may be re-ordered in the fibre
channel network/fabric before reaching the ingress FCIP device.
The relationship between FCIP and other protocols is illustrated
in the following diagram:
Rajagopal, et al. [Page 6]
Internet-Draft Fibre Channel over TCP/IP November 2000
FC End node FCIP Device
+--------+ +------------------------+
| ULP | | FC-IP |
+--------+ +------------------------+
| FC-2 | | FC-2 | | TCP |
+--------+ +--------+ +--------+
| FC-1 | | FC-1 | | IP |
+--------+ +--------+ +--------+
| FC-0 | | FC-0 | | PHY |
+--------+ +--------+ +--------+
| | |
| | |
---------------- -------> to the other
FC-IP Devices
Fig. 2 Protocol Stack Diagram
5. FCIP Encapsulation
5.1 FC Frame Format
All FC frames have a standard format much like LAN's 802.x
protocols. However, the exact size of each frame varies depending
on the size of the variable fields. The size of the variable
field ranges from 0 to 2112-bytes as shown in the FC Frame Format
in Fig. 3 resulting in the minimum size FC Frame of 36 bytes and
the maximum size FC frame of 2148 bytes.
+------+--------+-----------+----//-------+------+------+
| SOF |Frame |Optional | Frame | CRC | EOF |
| (4B) |Header |Header | Payload | (4B) | (4B) |
| |(24B) |<----------------------->| | |
| | | Data Field = (0-2112B) | | |
+------+--------+-----------+----//-------+------+------+
Fig. 3 FC Frame Format
SOF and EOF Delimiters:
On an FC link, Start-of-Frame (SOF) and End-Of-Frame (EOF) are
called Ordered Sets and are sent as special words constructed from
the 10-bit comma character (K28.5) followed by three additional
10-bit data characters. On a non-Fibre Channel link, the SOF and
EOF delimiters are both byte-encoded and 4 bytes long.
On an FC link the SOF delimiter serves to identify the beginning
of a frame and prepares the receiver for frame reception. The SOF
Rajagopal, et al. [Page 7]
Internet-Draft Fibre Channel over TCP/IP November 2000
contains information about the frame's Class of Service, position
within a sequence, and in some cases, connection status.
The EOF delimiter identifies the end of the frame and the final
frame of a sequence. In addition, it serves to force the running
disparity to negative. The EOF is used to end the connection in
connection- oriented classes of service.
It is therefore important to preserve the information conveyed by
the delimiters across the IP-based network, so that the receiving
FCIP device can correctly reconstruct the FC frame in its original
SOF and EOF format before forwarding it to its ultimate FC
destination on the FC link.
When an FC frame is encapsulated and sent over a byte-oriented
interface, the byte-encoded frame format is used. This format uses
32- bit Ordered Set Code Words that consists of an Ordered Set
Byte Code and 3 reserved bytes. The Start of Frame (SOF) and End
of Frame (EOF) ordered set byte codes are defined in Annex A. The
three reserved bytes in the Ordered Set Code Word do not
necessarily carry any meaningful information and should be set to
zero.
Frame Header:
The Frame Header is 24 bytes long and has several fields that are
associated with the identification and control of the payload.
Current FC Standards allow up to 3 Optional Header fields [4],
[5]:
- Network_Header (16-bytes)
- Association_Header (32-bytes)
- Device_Header (up to 64-bytes).
Frame Payload:
The FC Frame Payload is transparent to the FCIP device. An FC
application level payload is called an Information Unit at the
FC-4 Level. This is mapped into the Frame Payload of the FC
Frame. A large Information Unit is segmented using a structure
consisting of FC Sequences. Typically, a Sequence consists of
more than one FC frames. FCIP does not maintain any state
information regarding the relationship of frames within a FC
Sequence.
CRC:
The CRC is 4 bytes long and uses the same 32-bit polynomial used
Rajagopal, et al. [Page 8]
Internet-Draft Fibre Channel over TCP/IP November 2000
in FDDI and is specified in ANSI X3.139 Fiber Distributed Data
Interface. This CRC value is calculated over the entire FC header
and the FC payload; it does not include the SOF and EOF
delimiters.
Note: When FC frames are encapsulated into FCIP frames, the CRC is
untouched.
5.2 FC Frame Encapsulation
Fig. 4 shows the mapping of the FC frame into an FCIP data frame
which is then placed inside a TCP byte stream. The FC-to-FCIP
mapping (and the reverse mapping) is one-to-one since the maximum
size of the encapsulated FC Frame, including the FC header fields,
does not exceed 2148 bytes which fits entirely within the range of
the FCIP length field.
+----------------------------+
| Data Link Header |
+----------------------------+
| IP Header |
+----------------------------+
| TCP Header |
+----------------------------+
| FCIP Header |
+----------------------------+
| FC SOF |
+----------------------------+
| FC Header |
+----------------------------+
| FC Payload |
+----------------------------+
| FC CRC |
+----------------------------+
| FC EOF |
+----------------------------+
Fig. 4 FCIP Data Frame
TCP has a Maximum Segment Size (MSS) parameter which may be less
than the maximum FCIP data frame size so it is possible that an
FCIP data frame is divided by TCP into multiple TCP segments.
FCIP always gives TCP contiguous FC frames. TCP is free to
segment its byte stream based on its MSS and operating conditions.
On the receiving side, TCP is responsible for delivering an
ordered byte-stream to the layer above it; FCIP is then
Rajagopal, et al. [Page 9]
Internet-Draft Fibre Channel over TCP/IP November 2000
responsible for assembling the segments into contiguous FC frames
and delivering them to the ultimate destination FC devices.
It is recommended that each FCIP data frame fits entirely within
the TCP MSS to avoid fragmentation. The maximum FCIP data frame
size (2152 bytes) exceeds the MTU of some networks' physical
layers (e.g. Ethernet MTU = 1518 bytes). FCIP devices should
handle the fragmentation and must handle the re-assembly of FCIP
data frames. An FCIP device may use Path MTU Discovery (RFC 1191)
or an equivalent mechanism to adjust FCIP maximum data frame size
to avoid fragmentation; this means that the maximum FC frame size
may be set to match the path MTU of the IP- based network to which
the FC network is connected.
5.3 Values in relevant header fields
IP Header Fields Setting:
DSCP (6 bits): The recommended DSCP field setting is 101110
corresponding to the EF service.
Protocol (8 bits): This 8-bit field defines the higher level
protocol that uses the service of the IP layer. In this case,
this is set to the TCP Protocol Value 6 as defined in [12].
Source IP Address (32 bits): This is the IP address of the
ingress FCIP device that is transmitting the FCIP data frames.
Destination IP Address (32 bits): This is the IP address of the
egress FCIP device that is receiving the FCIP data frames.
TCP Header fields setting:
Source Port: The port number selected by the sending FCIP device.
Destination Port: The well-known port number assigned for FC
encapsulation. This number is <to be assigned>
Sequence Number: The sequence number of the first byte of the
current TCP segment payload.
Acknowledge Number: If the ACK bit is set, this field contains the
sequence number of the next byte that the receiving TCP expects to
receive.
Data Offset: The number of 32-bit words in the TCP header. The
use of TCP options are not precluded for FCIP devices.
Rajagopal, et al. [Page 10]
Internet-Draft Fibre Channel over TCP/IP November 2000
Control (flag) bits: TCP may set these bits according to the
desired effects and to the state of the TCP connection in
compliance to the TCP specifications.
Window: TCP shall operate this field according to the state of the
TCP connection in compliance to the TCP specifications.
Checksum: The FCIP device shall calculate the TCP checksum over
the entire FCIP data frame or the portion of the FCIP data frame
encapsulated inside the current TCP segment. The checksum shall
also include the TCP header and the pseudo IP header as specified
in [16].
Urgent Pointer: The use of this field is not precluded for FCIP
devices.
Options and Padding: FCIP devices are allowed to use TCP options
and padding as specified by the TCP specifications [16].
5.4 Fibre Channel Bit and Byte Ordering
Fibre Channel's FC-1 Level defines the method used to encode data
prior to transmission and subsequently decode the data upon
reception. The method encodes 8-bit bytes into 10-bit
transmission characters to improve the transmission
characteristics of the serial data stream. In Fibre Channel data
fields are aligned on word boundaries. A word in FC is defined as
4 bytes or 32 bits. The resulting transmission word after the 8-
bit to 10-bit encoding consists of 40 bits.
Data words or Ordered Sets (special FC-2 Level control words) from
the FC-2 Level map to the FC-1 Level with no change in order and
the bytes in the word are transmitted in the Most Significant Byte
first to Least Significant Byte order. The transmission order of
bits within each byte is the Least Significant Bit to the Most
Significant Bit.
6. FCIP Network
6.1 FC Backbone Switches
Fibre Channel Standards [3] describe the operation and interaction
of FC Switches. Two distinct levels of switch interconnections
are specified. Autonomous Regions (AR) are defined to allow
clusters of FC Switches to be connected across a backbone network
called an FSPF-backbone. An AR is administratively defined with
each AR encompassing one or more FC Domains. The FSPF-backbone
network is formed from one or more Backbone Switches (BSW) that
Rajagopal, et al. [Page 11]
Internet-Draft Fibre Channel over TCP/IP November 2000
run the FSPF-backbone routing protocol. The FSPF- backbone
routing protocol is based on OSPF and the FSPF backbone may
consist of an arbitrary mesh network. A BSW may communicate with
multiple neighbors. As specified in [3], native FC frames
traverse the FSPF backbone between BSW neighbors. The FSPF-
backbone Routing Protocol messages are exchanged between BSWs on
the FSPF backbone.
An example network consisting of 4 ARs and an FSPF backbone
consisting of 3 links is given in Fig. 5. There is no restriction
in adding other links to this network as needed. The connection
between BSWs below may in fact form a fully connected mesh.
_______ _______
| | | |
| AR #1 |_____ _____| AR #4 |
|_______| | | |_______|
___|___ ___|___
| BSW 1 |---------------------| BSW 4 |
|_______| |_______|
___|___ _______
| BSW 2 |---------------------| BSW 3 |
|_______| |_______|
___ ___ | | _______
| | | | | |
| AR #2 |----- -----| AR #3 |
|_______| |_______|
Note:
BSW 1 knows it is connected to BSWs 2 and 4;
BSW 2 knows it is connected to BSWs 1 and 3;
BSW 4 knows it is connected to BSWs 1.
Fig. 5 Example Network showing FSPF Backbone Switching Architecture
An FCIP device provides a single logical interface to the FSPF-
backbone protocol connecting multiple BSW neighbors on the IP
network. From the FSPF-backbone routing point of view, the
connection to each neighbor on the IP network is treated as a
separate logical FC link.
In FCIP, the native FC frames are first encapsulated in TCP
segments which then traverse the IP-based network. The IP network
provides a new transport path for each emulated FSPF-backbone
link.
Rajagopal, et al. [Page 12]
Internet-Draft Fibre Channel over TCP/IP November 2000
The IP network itself may consist of any number of hops between
two FCIP devices. Also, the route taken by the IP packet between
any two FCIP devices is dictated by normal IP routing.
A functional and logical diagram of an IP-based FSPF-backbone for
the example network given in Fig. 4 is shown in Fig. 6. In this
figure, each BSW is logically connected to other BSWs.
_______ _______
| | | |
| AR #1 |--- | AR #4 |
|_______| | ______ ________ ______ |_______|
__|_ __ | | | | | | ___|___
| BSW 1 |---| FCIP |--| IP |--| FCIP |--| BSW 4 |
|_______| |______| | Network| |______| |_______|
| |
--------
______ | | ______
______ | | | | | | _______
| BSW 2|---| FCIP |-----| |---| FCIP |---| BSW 3 |
|______| |______| |______| |_______|
________ | ___|___
| | | | |
| AR #2 |__| | AR #3 |
|________| |_______|
Fig. 6 Example Network showing an IP-based FC Backbone Switching
Architecture
The IP-based network has transformed the FSPF-backbone into a
fully connected network. From the perspective of each BSW all
remote BSWs therefore appear to be neighbors. The FSPF-backbone
routing protocol computation would make the IP based network
topology appear as a fully connected mesh.
The FSPF-backbone routing protocol exchanges between BSWs occur
transparently to the FCIP devices. Encapsulated FC frames are
routed on the IP network according to the normal IP routing
procedures. In this mode, the FSPF-backbone routing protocol lays
over the IP network and has no knowledge of the underlying IP
protocol and IP routing or the underlying technology that carries
the IP datagram. This concept is shown in Fig. 7.
Rajagopal, et al. [Page 13]
Internet-Draft Fibre Channel over TCP/IP November 2000
________ _______
| AR #1 | | AR #2 |
| |-- | |
|________| | ______ ________ _____ |_______|
__|___ | | | | | | ____|__
| BSW 1|---| FCIP |--| IP |--|FCIP |--| BSW 2 |
| | | | | Network| | | | |
|______| |______| |________| |_____| |_______|
<-------------->
IP Routing
<---------------------------------->
FSPF-backbone Routing Plane
Note: IP Network routing may consist of multiple paths
Fig. 7 FC packet routing over IP based backbone network
6.2 FC Device
The protocol encapsulation and mapping of the FC frame described
in earlier sections applies equally to any pair of FC devices
(e.g. switch-to-switch or host-to-storage subsystem) wishing to
tunnel FC frames across an IP-based network. Any FC routing
protocol exchanges may still occur transparently to the FCIP
devices. It should be noted that Fibre Channel Primitive
Sequences and Primitives are not exchanged between FCIP devices.
7. Security Considerations
Using a wide-area, general purpose network such as an IP internet in
a position normally occupied by physical cabling introduces some
security problems not normally encountered in Fibre Channel storage
networks. Normal media are typically protected physically from
outside access; IP internets typically invite outside access.
The general effect is that the security of the entire Fibre Channel
internetwork is only as good as the security of the entire IP
internet through which it tunnels. The following broad classes of
attacks are possible:
1. Unauthorized Fibre Channel controllers can gain access to
resources through normal Fibre Channel processes.
2. Unauthorized agents can monitor and manipulate Fibre Channel
traffic flowing over physical media used by the IP internet and
under control of the agent.
Rajagopal, et al. [Page 14]
Internet-Draft Fibre Channel over TCP/IP November 2000
To a large extent, these security risks are typical of the risks
facing any other application using an IP internet. They are
mentioned here only because Fibre Channel storage networks are not
normally suspicious of the media. Fibre Channel storage network
administrators will need to be aware of these additional security
risks.
Security protocols and procedures used in other IP applications may
be used for FCIP.
For Virtual Private Networks, both authentication and encryption are
generally desired, because it is important both to (1) assure that
unauthorized users do not penetrate the virtual private network and
(2) assure that eavesdroppers on the network cannot read messages
sent over the network.
Note: Use of the IPSec protocol suite is optional.
8. Data Integrity Considerations
8.1 Loss
Recovery from data loss due to IP datagram loss is provided via
the TCP reliable delivery mechanism. Note: Due to varying TCP
timeouts, competing FC and TCP recovery schemes is a possibility.
This issue is addressed in section 8.4.
8.2 Corruption
Data corruption is detected at two different levels: TCP checksum
and Fibre Channel CRC. Data corruption detected at the TCP level
shall be recovered via TCP reliable data recovery mechanisms.
Data corruption detected at the Fibre Channel level shall be
handled within the Fibre Channel end nodes.
8.3 Timeouts
Fibre Channel has two important timeouts to consider in FCIP.
These are: ED_TOV, and R_A_TOV.
ED_TOV determines the life of an individual Fibre Channel frame in
any particular fabric element. The effects of ED_TOV on the
fabric as a whole are typically cumulative since each fabric
element contains it's own ED_TOV timers for any frame received.
R_A_TOV determines the life of an individual Fibre Channel frame
in the fabric as a whole. For a fabric, R_A_TOV implies that no
particular frame will remain in (and thus be emitted from) the
Rajagopal, et al. [Page 15]
Internet-Draft Fibre Channel over TCP/IP November 2000
fabric after the timer expires.
TCP has a TCP acknowledgement timeout. This is a variable
timeout. <TBD: Need to elaborate on TCP timeouts and define how
Fibre Channel timeouts map to TCP timeouts.>
8.4 Recovery Mechanisms
When an FCIP data frame is transported over an IP network, there
is a possibility of the frame's getting dropped. This can happen
if there is congestion along the path within the IP network or if
there are no empty buffers available on one of the incoming ports,
due to bit errors, etc. When this happens, the TCP acknowledgement
will not be received by the source, and normal TCP retry
mechanisms will be activated.
An issue may arise during these recovery mechanisms, since TCP
timeout is variable, and may exceed Fibre Channel FC
ED_TOV/R_A_TOV timeouts.
<Placeholder: Need to add details on how to handle this here.>
9. Performance Considerations
The FCIP protocol does not crack the FC Frame (except for attaching
the correct byte-encoded SOF and EOF) nor does it do any FC payload
processing. This allows any FC traffic to be tunneled across at high
throughput rates.
In the case where there is no data link fragmentation, each FC frame
has a one-to-one mapping to a TCP segment; the TCP segment has a
one-to-one mapping to an IP datagram; and the IP datagram has a one-
to-one mapping to a data link frame. This has the tendency to further
improve the throughput performance.
Note: Class 1 FC traffic expects dedicated bandwidth. This
specification does not address this requirement.
The Flow Control Protocol (discussed in the next section) provides
the ability to stream gigabit FC data when using a large window size.
9.1 QoS Support
The Differentiated Services Architecture (diffserv) provides a
"Class of Service" to a flow aggregate [6], [17]. At so-called
diffserv boundaries, IP packets are classified and marked. Within
the diffserv domain, resources û bandwidth and buffers û are
allocated for each classification. Packets with the same
Rajagopal, et al. [Page 16]
Internet-Draft Fibre Channel over TCP/IP November 2000
classification use the resources allocated for the classification.
IP packets with the same destination and class marking exit a
diffserv capable router in the same order they arrived. IP with
the same destination but different class markings exit according
to priorities assigned to the different class markings. The
Diffserv has renamed the Ipv4 TOS field as Differentiated Services
Code Point (DSCP). The DSCP indicates the particular behavior a
packet is to receive at each router. How a packet gets marked is
based on a policy administered and configured into the network.
[18] and [19] provide various encodings of the DSCP field to
achieve a specific behavior from the routers. There may be several
ways to administer the policies and the policy definition is up to
the network provider. That is one network provider may choose to
mark all packets going from one source IP address to a specific
destination as "high priority", while another might mark just a
specific traffic type (e,g., HTTP) as "high priority". Thus
packets carry the desired class information and each diffserv-
capable router treats the packet according to the information in
its DSCP field. This is referred to as Per Hop Behavior (PHB).
Currently, the IETF standards define essentially 3 types of
services: Expedited Forwarding (EF) [18], Assured Forwarding (AF)
[19], or Default Forwarding (DF) [6], [17]û that corresponds to
its DSCP.
[17] specifies the AF service AF PHB provides a way to prioritize
best- effort traffic. Currently, 4 AF classes and 3 drop
precedence levels are specified providing 12 different levels of
forwarding assurances. The DSCP value specifies a drop-order in
the event that a packet experiences congestion at a subsequent
diffserv router.
[18] specifies the DSCP code point equal to 101110 EF service
which is also sometimes refereed to as "Premium" service. When
supported, this class behavior has the lowest levels of latency,
packet loss, and delay variation. This service behavior most
closely matches the Fibre Channel characteristics. This is
therefore the recommended DSCP setting in the IP DSCP field.
What resources are not used for EF and AF are left for the DF
services which is really a best-effort service.
Note that if a packet is being forwarded over an underlying
network without diffserv support, then the packet would simply
receive best- effort service regardless of its DSCP field setting.
10. Flow Control and Congestion Management
Rajagopal, et al. [Page 17]
Internet-Draft Fibre Channel over TCP/IP November 2000
<Text to be added>
11. References:
[1] Bradner, S., "The Internet Standards Process -- Revision 3",
BCP 9, RFC 2026, October 1996.
[2] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997
[3] NCITS 321-200x (ANSI) T11/Project 1305-D/Rev 4.9 "Fibre Channel
Switch-Fabric-2", (FC-SW-2) November 14, 2000 (www.t11.org)
[4] Fibre Channel Physical and Signaling Interface-3 (FC-PH-3), Rev.
9.4, ANSI X3.303-1998
[5] The Fibre Channel Consultant: A Comprehensive Introduction,
"Robert W. Kembel", Northwest Learning Associates, 1998
[6] Nichols, K., Blake, S., Baker, F. and D. Black, " Definition
of the Differentiated Services Field (DS Field) in the IPv4 and
Ipv6 Headers", RFC 2474, December 1998.
[7] NCITS T11/Project 1238-D/Rev4.7 "Fibre Channel Backbone", (FC-BB)
June 8, 2000 (www.t11.org)
[8] Kent, S. and Atkinson, R., "Security Architecture for the
Internet Protocol", RFC 2401, Nov 1998
[9] Kent, S. and Atkinson, R., "IP Authentication Header",
RFC 2402, Nov 1998
[10] Kent, S. and Atkinson, R., "IP Encapsulating Security
Payload (ESP)", RFC 2406, Nov 1998
[11] Maughan, D. et all, "Internet Security Association and Key
Management Protocol (ISAKMP)", RFC 2408, Nov 1998
[12] http://www.isi.edu/in-notes/iana/assignments/protocol-numbers
[13] http://www.t11.org
[14] Fibre Channel Physical and Signaling Interface (FC-PH), Rev 4.3,
ANSI X3.230-1994.
[15] Fibre Channel NCITS 321-200x (ANSI) T11/Project 1356-D/Rev4.3 "
Fibre Channel - Generic Services 3", June 2000 (www.t11.org)).
Rajagopal, et al. [Page 18]
Internet-Draft Fibre Channel over TCP/IP November 2000
[16] ISI, "Transmission Control Protocol", RFC 793, Sep 1981
[17] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z.,
Weiss, W., "An Architecture for Differentiated Services",
RFC 2475, Dec 1998
[18] Jacobson, V., Nichols, K., Poduri, K., "An Expedited
Forwarding PHB Group", RFC 2598, June 1999
[19] Heinanen, J., Baker, F., Weiss, W., Wroclawski, J., "An
Assured Forwarding PHB", RFC 2598, June 1999
12. Acknowledgments
13. Authors' Addresses
Murali Rajagopal
LightSand Communications, Inc.
375 Los Coches St.
Milpitas, CA 95035
Phone: +1 408 404 3164
Email: muralir@lightsand.com
Raj Bhagwat
LightSand Communications, Inc.
375 Los Coches St.
Milpitas, CA 95035
Phone: +1 408 404 3194
Email: rajb@lightsand.com
Elizabeth G. Rodriguez
Lucent Technologies
1202 Richardson Drive, Suite 210
Richardson, TX 75080
Phone: +1 972 231 0672
Fax: +1 972 671 5476
Email: egrodriguez@lucent.com
Vi Chau
Gadzoox Networks, Inc.
16241 Laguna Canyon Road, Suite 100
Rajagopal, et al. [Page 19]
Internet-Draft Fibre Channel over TCP/IP November 2000
Irvine, CA 92618
Phone: +1 949 789 4639
Fax: +1 949 453 1271
Email: vchau@gadzoox.com
Stuart Berman
Vixel Corporation
15245 Alton Parkway Suite 100
Irvine, CA 92618
Phone: +1 949 450 6100
Fax: +1 949 753 9500
Email: sberman@vixel.com
Steve Wilson
Brocade Communications Systems, Inc.
1745 Technology Drive
San Jose, CA. 95110
Phone: 408-487-8128
Fax: 408-487-8101
email: swilson@brocade.com
Michael E. O'Donnell
McDATA Corporation
310 Interlocken Parkway
Broomfield, Co. 80021
Phone: +1 303 460 4142
Fax: +1 303 465 4996
Email: modonnell@mcdata.com
Craig W. Carlson
QLogic Corporation
6321 Bury Drive
Eden Prairie, MN 55346
Phone: +1 952 932 4064
Email: craig.carlson@qlogic.com
ANNEX A: Fibre Channel EOF and SOF Byte Encodings
Rajagopal, et al. [Page 20]
Internet-Draft Fibre Channel over TCP/IP November 2000
A.1 Ordered Sets
On a Fibre Channel link, Ordered Sets (OS) are sent as special
out-of- band words constructed of the 10-bit comma character
(K28.5) followed by 3 additional 10-bit data characters. The
Ordered Sets defined by Fibre Channel include the Frame
Delimiters, Start of Frame (SOF) and End of Frame (EOF), other
Primitive Signals (IDLE, R_RDY, ARB, OPN, CLS, MRK), and Primitive
Sequences (OLS,NOS, LR, LRR, LIP, LPB, LPE).
When Fibre Chanel frames are encapsulated in a byte-oriented
transport data packet, the Byte-encoded frame format is used. The
Byte-encoded frame format uses 32-bit Ordered Set (OS) Code Words
to represent valid Fibre channel frame delimiters. This format
uses a single-byte OS Code to represent each FC Ordered Set.
FCIP makes use of the OS Codes defined in Annex A of [7] for the
frame delimiters. SOF and EOF codes defined in the figures (see
below) in this Annex are inserted into the FC frame.
Primitive Signals and Primitive Sequences are stripped at the FCIP
devices and not sent between FCIP devices over the IP network.
The frame delimiters are identified by their position. An
encapsulated Byte-encoded frame must use the corresponding 32-bit
OS Code Word as the first and last words in the encapsulated PDU.
Fibre Channel frame delimiters shall be encoded in the format
shown in table below.
+---+----------------+----------------+----------------+-------------+
|Wrd| <31:24> | <23:16> | <15:08> | <07:00> |
+---+----------------+----------------+----------------+-------------+
|0 | OS Code | Reserved |
+---+----------------+----------------+----------------+-------------+
Table 1. Frame Delimiter Format
A.2 Encoded FC Frame Delimiters
The SOF OS-codes are a single byte encoding of the SOF Ordered
Set. The first word in an encapsulated Byte-encoded FC frame shall
map the SOF Ordered Set to the corresponding 32-bit OS Code Word.
The EOF OS-codes are a single byte encoding of the EOF Ordered
Set. The last word in an encapsulated Byte-encoded FC frame shall
map the the EOF Ordered Set to the corresponding 32-bit OS Code
Rajagopal, et al. [Page 21]
Internet-Draft Fibre Channel over TCP/IP November 2000
Word.
+-----------------+----------------+
| OS-Code | Delimiter Name |
| (hex) | |
+-----------------+----------------+
| 0x28 | SOFf |
+-----------------+----------------+
| 0x3F | SOFc1 |
+-----------------+----------------+
| 0x2F | SOFi1 |
+-----------------+----------------+
| 0x37 | SOFn1 |
+-----------------+----------------+
| 0x3D | SOFc2 |
+-----------------+----------------+
| 0x2D | SOFi2 |
+-----------------+----------------+
| 0x35 | SOFn2 |
+-----------------+----------------+
| 0x3E | SOFc3 |
+-----------------+----------------+
| 0x2E | SOFi3 |
+-----------------+----------------+
| 0x36 | SOFn3 |
+-----------------+----------------+
| 0x39 | SOFc4 |
+-----------------+----------------+
| 0x29 | SOFi4 |
+-----------------+----------------+
| 0x31 | SOFn4 |
+-----------------+----------------+
| 0x38 | SOFcf |
+-----------------+----------------+
| 0x30 | SOFnf |
+-----------------+----------------+
| 0x41 | EOFn |
+-----------------+----------------+
| 0x42 | EOFt |
+-----------------+----------------+
| 0x46 | EOFdt |
+-----------------+----------------+
| 0x44 | EOFrt |
+-----------------+----------------+
| 0x49 | EOFni |
+-----------------+----------------+
| 0x4E | EOFdti |
+-----------------+----------------+
Rajagopal, et al. [Page 22]
Internet-Draft Fibre Channel over TCP/IP November 2000
| 0x4F | EOFrti |
+-----------------+----------------+
| 0x50 | EOFa |
+-----------------+----------------+
Table 2. Delimiter Byte-codes
ANNEX B: Relationship between FCIP and IP over FC (IPFC)
IPFC (RFC 2625) describes the encapsulation of IP packets in FC
frames. It is intended to facilitate IP communication over an FC
network.
FCIP describes the encapsulation of FC frames in TCP segments which
in turn are encapsulated inside IP packets for transporting over an
IP network. It gives no consideration to the type of FC frame that
is being encapsulated. Therefore, the FC frame may actually contain
an IP packet as described in the IP over FC specification (RFC 2625).
In such a case, the data packet would have:
Data Link Header
IP Header
TCP Header
FCIP Header
FC Header
IP Header
Note: The two IP headers would not be identical to each other. One
would have information pertaining to the final destination
while the other would have information pertaining to the FCIP
device.
The two documents focus on different objectives. As mentioned above,
implementation of FCIP will lead to IP encapsulation within IP. While
perhaps inefficient, this should not lead to issues with IP
communication. One caveat: if a Fibre Channel device is
encapsulating IP packets in an FC frame (e.g. an IPFC device), and
that device is communicating with a device running IP over a non-FC
medium, a second IPFC device will need to act as a gateway between
the two networks. This scenario is not specifically addressed by
FCIP.
There is nothing in either of the specifications to prevent a single
device from implementing both FCIP and IP-over-FC (IPFC), but this is
implementation specific, and is beyond the scope of this document.
Full Copyright Statement
Rajagopal, et al. [Page 23]
Internet-Draft Fibre Channel over TCP/IP November 2000
Copyright (C) The Internet Society (1999). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it or
assist in its implementation may be prepared, copied, published and
distributed, in whole or in part, without restriction of any kind,
provided that the above copyright notice and this paragraph are included
on all such copies and derivative works. However, this document itself
may not be modified in any way, such as by removing the copyright notice
or references to the Internet Society or other Internet organizations,
except as needed for the purpose of developing Internet standards in
which case the procedures for copyrights defined in the Internet
Standards process must be followed, or as required to translate it into
languages other than English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an "AS
IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK
FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT
INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR
FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
[draft-ietf-ips-fcovertcpip-01.txt]
[This INTERNET DRAFT expires on May 29, 2001]
Rajagopal, et al. [Page 24]
| PAFTECH AB 2003-2026 | 2026-04-19 20:16:39 |