|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: TCP limitations (was Re: ISCSI: Urgent Flag requirement violates TCP.)Jim, I think that Matt is approaching the problem correctly. In a world of interoperable devices you can't require this type of alignment for implementations that are neither bound nor willing to use it. Moreover outboard machines, proxies, caching devices can do havoc to your initial alignment since they are neither aware and/or willing to use them. Your stuff can work only as an option or at least an initially negotiated option and as such it is out-of-bounds for this WG. Regards, Julo "Jim Williams" <jimw@giganet.com> on 29/11/2000 19:00:32 Please respond to "Jim Williams" <jimw@giganet.com> To: ips@ece.cmu.edu cc: Subject: Re: TCP limitations (was Re: ISCSI: Urgent Flag requirement violates TCP.) I think Matt is approaching the problem with a different mind set than I am. (I am saying this for clarity, not to argue that mine is correct. In fact I am quite open minded.) My approach was that framing recovery is something that that can be accomplished by two protocol specific TCP implementations without violating the TCP spec or breaking backward compatability. It is certainly not a violation of TCP if a particular implementation aligns iSCSI headers with TCP segment boundaries. It would be a violation to REQUIRE that endpoints do that. Matt is I believe arguing that a standard TCP implementation should be able to mark iSCSI header alignment in a manner that allows an iSCSI specific implementation to exploit it. This narrows down the potential methods considerably. If the urgent pointer mechanism turns out not to work, the only alternative may be to use each N'th byte in the TCP stream as alignment point. | | <-- N'th byte points -------------------------------------------------------- | block | block | pad | block | block | ... -------------------------------------------------------- If the objective is to enable two specifically enabled TCP implementations to recover alignement, then the technically cleanest method would be to modify TCP. Although this group is not the place to do that, this does not change the fact that it can be done, and is the best technical solution. The draft below demonstrates that it can be done without modifying TCP. The arguments for doing that are more political and procedural than technical. (Yes ... SCTP is an alternative, but is not the subject of this note. :) ----- Original Message ----- From: Matt Wakeley <matt_wakeley@agilent.com> To: <ips@ece.cmu.edu> Sent: Tuesday, November 28, 2000 2:14 PM Subject: Re: TCP limitations (was Re: ISCSI: Urgent Flag requirement violates TCP.) > Jim Williams wrote: > > > http://www.ietf.org/internet-drafts/draft-williams-rdmatcp-00.txt > > > > is an example of a shim layer that provides a mechanism > > to recover framing upon loss of TCP segments. > > This draft has the following text for recovering framing on packet loss: > > "The recommended method for doing this is to assume that the RDMA > segment is aligned with a TCP segment, and verify the correctness of > the header fields of the RDMA segment." > > Aligning the iSCSI headers to begin in a new TCP segment is exactly what we > want. But that "would require changes to TCP blah blah blah" which is what we > can't do. > > "If these header fields are not correct, then the NIC should fall back to > buffering the packet until it can be processed in order." > > This then requires buffering on the NIC (store and forward) or data copies in > the host, which we are trying to avoid. > > -Matt >
Home Last updated: Tue Sep 04 01:06:15 2001 6315 messages in chronological order |