Subject: [rddp] RE: Data Digests (was RE: One vs Two CRCs)

From: "Mukund, Shridhar" <[email-masked]>
Date: Fri, 13 Dec 2002 11:08:09 -0800

Caitlin,

> There is a problem with providing ULP level data digests on
> Tagged messages -- the receiving side cannot distinquish
> between A 2K tagged message that was segmented into two 1K
> segments, and two 1K tagged messages that happen to be
> adjacent.

Yes, I can see that. But then, it is just an artifact of
*a* design choice. For instance consider the following two
arguments:

A. Use CRC-Chaining (for lack of another known term)
   * Assume you split header and data CRC.
   * Say the *data* (ABC) is split into three segments A,B,C
   * CRC(ABC) = CRC(CRC(CRC(A),B),C). Check it out. If you
     are not convinced, I will give you a mathematical proof.
   * The ULP is only interested in CRC(ABC) which is 
     the same as the CRC of the last segment, as long as
     you chain them.
   * This is fairly simple to incorporate.

B. On the other hand, my take is that DDP-SAR is a mistake.
   * DDP-SAR is nice and natural for SCTP.
   * What is natural to TCP is periodic synchronization. 
     There is no need to SAR.
   * See David Black's email where he saves the
     damsel(iSCSI like markers) from distress(MPA):-)
   * ...

-Shridhar Mukund
   
_______________________________________________
rddp mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/rddp

---

From: Caitlin Bestler <[email-masked]>
Date: Fri, 13 Dec 2002 18:28:07 -0600

On 12/13/02, Mukund, Shridhar wrote:

>
>Caitlin,
>
>
>> There is a problem with providing ULP level data digests
>> on Tagged messages -- the receiving side cannot
>> distinquish between A 2K tagged message that was
>> segmented into two 1K segments, and two 1K tagged
>> messages that happen to be adjacent.
>

That still assumes that the receiver knows what set of
receives to compare the digest against. That would involve
some sort of state tracking. The wonderful thing about
tagged segments currently is that they can be placed and
simply forgotten.

You cannot assume that the tagged messages received between
two untagged messages constitute a whole. Consider the
following totally legitimate sequence:

    Client                      Server
    ------                      ------
    Untagged Request A----->
        <----- Tagged Put in response to A - 1
    Untagged Request B ----->
        <----- Tagged Put in response to A - 2
        <----- Tagged Put in response to B - 1
        <----- Tagged Put in response to A -3
        <----- Untagged Response to A
        <----- Tagged Put in response to B - 2
        <----- Untagged Response to B
        
Unless the Tagged Puts are somehow labeled as being a group
there is no way for the receiver to know what set of data to
apply the data digest against.

The fundamental problem is that the DDP layer simply does
not know which Tagged messages are correlated with each
other or with which untagged messages.

Caitlin Bestler
http://asomi.com/CaitlinBestler/
_______________________________________________
rddp mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/rddp

---

From: Caitlin Bestler <[email-masked]>
Date: Fri, 13 Dec 2002 18:52:13 -0600

>tagged segments currently is that they can be placed and

To clarify, the DDP layer can place a tagged message and
simply forget it. The LLP must track what it has already
delivered to filter duplicates. 

Caitlin Bestler