|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] comments on draft-ietf-ips-fcovertcpip-00.txt
Dear all:
I have finally taken a bit of time to look over this document
and I have some deep concerns in the way this draft attempts
to frame FC messages in TCP.
In particular two sections stand out has problems:
In section 4.2
"
11. The TCP layer in the sending FCIP device shall package each
FC frame handed down by the FC layer into a TCP segment and
set the PSH control flag in the TCP header to ensure that the
entire FC frame is sent in one TCP segment. If the FC frame
cannot be packaged in one TCP segment (e.g. the FC frame size
is greater than TCP MSS), the last part of the FC frame must
occupy one TCP segment and the PSH of that segment must be
set.
"
Ok, here you are attempting to use the PSH bit has a record marker.
This is NOT what is defined in TCP and it is not even required
to support this option. Please see my earlier post of RFC1122.txt.
This explictly states NOT to do what the above section defines.
In section 5.3 it states:
"
5.3 FC frame mapping to TCP Segment
The FC-to-TCP mapping (and reverse mapping) may not necessarily
be one-to-one as the FC frame size may exceed the TCP Maximum
Segment Size (MSS). In this case, the TCP layer in the sending
FCIP device may segment the FC frame into multiple TCP segments.
The sending device must ensure that the last TCP segment contains
only the last part of the encapsulated FC frame and that last TCP
segment does not contain the beginning of another FC frame. The
last TCP segment must also have the PSH flag set so that the
receiving FCIP device knows to send the frame to the FC layer
above it. The fields in the TCP header are explained in the
following paragraphs:
"
The above paragraph puts a constraint on TCP to attempt to constrain
it to send just the partial segment. The above paragraph is in direct
conflict with RFC1122 i.e.:
I quote from RFC1122:
"
The PSH bit is not a record marker and is independent of
segment boundaries. The transmitter SHOULD collapse
successive PSH bits when it packetizes data, to send the
largest possible segment.
"
What this is saying is that in any congestion situation, where you
cannot send the PSH bit's on sucessive sends will be collapsed.
And on top of all that has it further states in RFC1122 under the
PUSH/PSH functionality:
"
| | | | |S| |
| | | | |H| |F
| | | | |O|M|o
| | |S| |U|U|o
| | |H| |L|S|t
| |M|O| |D|T|n
| |U|U|M| | |o
| |S|L|A|N|N|t
| |T|D|Y|O|O|t
FEATURE |SECTION | | | |T|T|e
-------------------------------------------------|--------|-|-|-|-|-|--
| | | | | | |
Push flag | | | | | | |
Aggregate or queue un-pushed data |4.2.2.2 | | |x| | |
Sender collapse successive PSH flags |4.2.2.2 | |x| | | |
SEND call can specify PUSH |4.2.2.2 | | |x| | |
If cannot: sender buffer indefinitely |4.2.2.2 | | | | |x|
If cannot: PSH last segment |4.2.2.2 |x| | | | |
Notify receiving ALP of PSH |4.2.2.2 | | |x| | |1
Send max size segment when possible |4.2.2.2 | |x| | | |
| | | | | | |
"
The only MUST here is that a sender MUST set the PSH bit on the
last segment it has inqueue.
Now this draft will just plain NOT work with standard TCP
implemenations.
What it is requiring is that you modify TCP to make TCP work
for FiberChannel.
Now I know that many of these devices may be custom built but I
do not think this WG has a charter that will include requirments to
change TCP.
You will need to re-address this section in the document. I would
suggest
either writting a 2 byte value down the TCP first containing the size
(in network byte order) followed by the actual FC frame ... or if
there is some size element within the FC header that could be looked
at by the TCP reader this could be used for framing...
Has this draft is currently defined I just can't see it working. If one
were to use a standard TCP that is out there today, oh yes it would
work in many situations.. but the minute you hit a congestion situation
OR some network event, the PSH bit would most likely be collapsed
amongst multiple TCP segements.... and then you would have no
idea where the fiber channel frame is...
The only other alternative I could see you might want to attempt to
use is RFC2960 (as Doug as mentioned).
Regards
R
--
Randall R. Stewart
randall@stewart.chicago.il.us or rrs@cisco.com
815-342-5222 (cell) 815-477-2127 (work)
Home Last updated: Tue Sep 04 01:06:31 2001 6315 messages in chronological order |