|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] FCIP iFCP encapsulation proposal
Dear Colleagues,
I sent out a draft to propose a common encapsulation scheme for
FCIP and iFCP last week; I am afraid I have missed the cut-off time
for new drafts. Here is a summary of the draft to help stimulate
discussion at the upcoming IETF meeting:
The proposed encapsulation scheme allows easy integration of FCIP
and iFCP headers; it provides header integrity which was lacking in
the current FCIP draft. This scheme also provides integrity to the
extended headr and FC SOF and EOF codes in the payload (as the FC
CRC does not cover SOF and EOF.) A time stamp helps solve FC timeout
issues. Fianlly, the header CRC can be used to help with framing.
The draft proposes that FCIP/iFCP encapsulation include a header,
header CRC, extended header(s) for new functions, the payload (which
is an entire FC frame), and a 32-bit CRC that covers the entire
FCIP/iFCP frame. The FCIP/iFCP frame is shown in the diagram below.
+---------------------------------+
| Header (12 bytes) |
+---------------------------------+
| Header CRC (4 Bytes) |
+---------------------------------+
| Extended Header (N Bytes) |
+---------------------------------+
| FC SOF (4 Bytes) (FCIP Only) |
+---------------------------------+
| FC Frame Header (24 bytes) |
+---------------------------------+
| FC Frame Payload (M Bytes) |
+---------------------------------+
| FC Frame CRC (4 Bytes) |
+---------------------------------+
| FC EOF (4 Bytes) (FCIP Only) |
+---------------------------------+
| Frame CRC (4 Bytes) |
+---------------------------------+
The header has the following format:
|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 |
+-------+-------+---------------+--------------------------------+
| P. N. | VER. | Flags | Frame length |
+-------+-------+---------------+--------------------------------+
| Time Stamp (High order) |
+----------------------------------------------------------------+
| Time Stamp (Low order) |
+----------------------------------------------------------------+
| Header CRC |
+----------------------------------------------------------------+
| Extended Header (optional) |
+----------------------------------------------------------------+
Protocol Number field differentiates FCIP from iFCP. Each encapsulated
protocol may have its own version number. There is currently only one
flag defined: if the flag is set to 1, an extended header is present.
The Frame Length field contains the number of 32-bit words in the frame
including the header, payload, and trailer. The time stamp follows the
format defined by SNTP-2 (RFC 2030). The first 3 words of this frame
structure is covered by a 32-bit CRC placed immediately after the time
stamp.
The extended header has the following format:
|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 |
+---------------+---------------+--------------------------------+
| Type | Flags | Extended Header length |
+---------------+---------------+--------------------------------+
| Extended Header Content |
+----------------------------------------------------------------+
The Type field indicates the kind of information carried in this
etended header. There is currently only one flag defined; if the flag
is set to one, another extended header follows this one. The extended
header length field carries the number of 32-bit words in this extended
header, including the first word.
The header CRC not only provides assurance of header integrity, but
also allows an efficient method to re-synchronize to the data stream
when frame synchronization is lost due to errors or other events.
In the event of loss of synchronization, a state machine which normally
checks the FCIP/iFCP header CRC can be continuously enabled on the
data stream which should provide for a "good CRC" compare when an
FCIP/iFCP header arrives.
There is a remote possibility that a false compare could occur
from other data in the stream so it is necessary to continue to
check the "tentative" FCIP/iFCP payload and CRC also before
assuming a correct synchronization. If both CRC checks are good,
this certification should be at least as good as the data
integrity provided by the CRCs in a synchronized stream.
The CRC in the FCIP/iFCP header is important to this method as it
allows a fast and hardware efficient check for a "tentative"
header. The CRCs take less space than delimiter schemes, allow
synchronization using existing hardware state machines, and
provide for addition integrity.
Regards,
Vi Chau
Home Last updated: Tue Sep 04 01:05:26 2001 6315 messages in chronological order |