|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: new iSCSI draft - 02.txt
: From: Matt Wakeley <matt_wakeley@agilent.com>
:
: David Peterson wrote:
: >
: > I believe there was agreement to remove the Urgent-Pointer framing mechanism
: > but don't recall any agreement to replace it with an in-stream marker. For a
: > software implementation it would be hard to support this type of framing
: > mechanism. I believe a TCP option indicating the message boundry or a
: > fixed-length PDU at a granularity to minimize overhead are much better
: > solutions and are workable for both software and hardware implementations. I
: > have not seen an agenda but I would hope this issue would be discussed at
: > the upcoming meeting in Orlando.
: > Dave
:
: What is so difficult for software to insert a few extra bytes in the byte
: stream? It's simply a layering problem:
:
: iSCSI layer <-> marker layer <-> TCP
:
: Normally, the marker layer simply transfers the bytes from the iSCSI layer to
: the TCP. Every X number of bytes, the marker layer inserts the marker into the
: byte stream.
:
: Since your software will probably not benefit from the receipt of the markers,
: it would negotiate not to receive the markers. It would only send markers
: *IF* the remote node requested them to be sent.
:
: -Matt Wakeley
: Agilent Technologies
I would think that there would have to be a number of changes to existing
TCP implementations to utilize TCP-option-based framing:
* Modification of the transmit request interface to indicate frame
boundaries
* Modification of the TCP transmit segmentation algorithm to recognize
and preserve frame boundaries
* Modification of TCP slow-start window sizing to recognize and preserve
frame boundaries
* Modification of MTU path discovery, with possible rejection of some
frame transmit requests at the transmit request interface if the frame
exceeds allowable boundaries.
* Possible delivery failures if the path is silently changed or
multiplexed after initial discovery?
* Possible failures if "legacy" nodes either preserve option data but
re-segment the traffic, or discard the "new" option information
entirely.
** Firewalls, data-caching nodes, layer-3 routers, and other
store-and-forward nodes would be susceptible.
* Modification of the receive path socket management to preserve frame
boundaries.
* If any node re-transmits any portion of the data stream (due to NAK or
ACK-timeout) then the retransmit logic must be modified to identify the
frame boundaries in the retransmitted portion, recalculate the TCP
options for that retransmitted portion (since the headers may occur at a
new position relative to the datastream), and then perhaps resynchronize
at the original location when the remote ACKs the rest of the previously
transmitted window.
Some or all of the above may not be typical situations, or even generally
"seen", but since we are defining a standard, it's important to define
that standard relative to what the existing standards *allow*, not
relative to how current sw/hw is *implemented*. [Note: I'm not familiar
enough with the details of the standards myself to know if the concerns
above are warranted... I'm trying to point out potential issues here for
consideration by more knowledgeable experts.]
As Matt points out above, in-band markers are unequivocably perserved as a
consequence of being part of the data stream, and can be handled easily by
a layer above the existing TCP management at the endpoints only.
Additionally, an in-band marker can forward reference the id of the next
command in the stream, thereby allowing receive hardware to prefetch DMA
buffer information for that next command. This usage is congruent with
the high-performance considerations of this general effort. Note that
this enhances both loss-less and loss-error transfers, since a marker
allows resynchronization only at the *next* message anyhow.
Regards,
Kevin
Home Last updated: Tue Sep 04 01:05:59 2001 6315 messages in chronological order |