SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


    [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