SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


    [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

    Re: ISCSI: Urgent Flag requirement violates TCP.



    Douglas Otis wrote:
    
    > ISCSI: Urgent Flag requirement violates TCP.
    
    No it doesn't.
    
    > Julian,
    >
    > The result indicated within the iSCSI draft on page 14 will require TCP to
    > be modified for this statement to be true.  By requiring every message to be
    > marked, a continued transparent update of the pointer will obscure the
    > urgent pointer by continued coalescence.  This obscuring coalescence will
    > occur at both the sender and receiver.  Only a state between normal and
    > urgent is signaled at the receiver and not the actual pointer.  Unless there
    > is an intent to modify TCP, this scheme offers no benefit even if offending
    > portions of the urgent proposal is removed.
    
    We don't care if sometimes coalescing happens.  The point is, that somewhere
    down the stream, an urgent pointer will point to the beginning of a new iSCSI
    message and messages after this point can be processed.  All messages between
    the point of the dropped segment and this point will of course have to be
    retransmitted.
    
    
    >    The iSCSI protocol uses the urgent bit in the TCP header to delineate
    >    iSCSI messages. The first byte of every iSCSI message MUST be marked
    >    "urgent".  The result is the TCP urgent pointer will point to the
    >    first byte of the iSCSI message in the TCP segment.
    >
    > This pointer will be skewed by the size of the send buffer (beyond the TCP
    > segment) and prevent normal use unless again TCP is modified to comply with
    > stated expectations.  I would advise complete removal of this Urgent flag
    > requirement if to remain within the WG charter as only a modified TCP could
    > use this feature in the intended manner.  This intended manner is plainly
    > spelled out with concerns about BSD vs. RFC 1122 compliance. There is no
    > benefit from an occasional toggle between normal and urgent mode.  If you
    > wish to use a datagram or record based protocol, you are advised to review
    > RFC 2960.
    
    The intended manner that is to be implemented is this:
    
    1. iSCSI sends the first byte of the iSCSI message to TCP, with the byte marked
    "urgent".  You can do this today using any off the shelf TCP stack, including MS
    windows.
    2. iSCSI sends the rest of the bytes of the iSCSI message to TCP with normal
    delivery.
    
    If TCP coalesces, fine.  But eventually, a TCP segment will be sent that will
    contain a byte referenced by the urgent pointer.  At this point, the remote side
    (and any LAN analyzers on the network) will be able to "sync up" on iSCSI
    messages.
    
    Remember, this "urgent pointer" stuff is *only* to be used in the cases where a
    TCP segment is dropped, not for normal delivery.
    
    So, there is *no* violation of any RFC or WG charter.
    
    >
    >
    > Doug
    
    -Matt Wakeley
    Agilent Technologies
    
    


Home

Last updated: Tue Sep 04 01:06:30 2001
6315 messages in chronological order