Re: [tsvwg] [OPS-DIR] Opsdir last call review of draft-ietf-tsvwg-sctp-ndata-12

Michael Tuexen <tuexen@fh-muenster.de> Wed, 30 August 2017 11:45 UTC

Return-Path: <tuexen@fh-muenster.de>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1230913301D; Wed, 30 Aug 2017 04:45:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, WEIRD_PORT=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yhSC_DY9RqIz; Wed, 30 Aug 2017 04:45:07 -0700 (PDT)
Received: from drew.franken.de (mail-n.franken.de [193.175.24.27]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2D044132E94; Wed, 30 Aug 2017 04:45:07 -0700 (PDT)
Received: from [IPv6:2003:cd:6bcc:5600:855c:fc83:a144:ed84] (p200300CD6BCC5600855CFC83A144ED84.dip0.t-ipconnect.de [IPv6:2003:cd:6bcc:5600:855c:fc83:a144:ed84]) (Authenticated sender: macmic) by mail-n.franken.de (Postfix) with ESMTPSA id 09004721BBD31; Wed, 30 Aug 2017 13:45:02 +0200 (CEST)
From: Michael Tuexen <tuexen@fh-muenster.de>
Message-Id: <F05D0F1F-47E2-4477-BFD9-F0119A4609FC@fh-muenster.de>
Content-Type: multipart/signed; boundary="Apple-Mail=_FF631798-8A71-4239-A470-995FA44C095B"; protocol="application/pkcs7-signature"; micalg="sha1"
Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\))
Date: Wed, 30 Aug 2017 13:45:01 +0200
In-Reply-To: <1a39dff3-55a9-fe1d-7e19-a0fbd0b2751b@restena.lu>
Cc: ops-dir@ietf.org, tsvwg@ietf.org, ietf@ietf.org, draft-ietf-tsvwg-sctp-ndata.all@ietf.org
To: Stefan Winter <stefan.winter@restena.lu>
References: <150287547583.12471.9085655210334710687@ietfa.amsl.com> <FDCFFA8C-8828-4578-A66E-A1AD7FF9BDC9@fh-muenster.de> <1a39dff3-55a9-fe1d-7e19-a0fbd0b2751b@restena.lu>
X-Mailer: Apple Mail (2.3273)
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/Ztxu-i2qOth3QyHpPuye0W01rNI>
Subject: Re: [tsvwg] [OPS-DIR] Opsdir last call review of draft-ietf-tsvwg-sctp-ndata-12
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg/>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 30 Aug 2017 11:45:10 -0000

On 30. Aug 2017, at 12:55, Stefan Winter <stefan.winter@restena.lu> wrote:
> 
> Hi,
> 
>>> The chapter IANA considerations mentions four bits to be registered: E,B,U,I.
>>> In the main body, only three of those are actually defined and used (End of
>>> fragmented message, Beginning of fragmented message, Unordered/Ordered
>>> message). Please add a definition of the I bit or remove the IANA registration
>>> request for that bit.
>> The I bit is defined in RFC 7053 and that is the reason why we state
>> "DATA chunk defined in [RFC4960]and [RFC7053]". In addition to that it is
>> not mentioned (in contrast to the U, B and E bit), since the delaying of the
>> SACK is not specific to the I-DATA chunk.
>> 
>> I have added the following text to the body of Section 2.2:
>> 
>> <t>The handling of the I bit for the I-DATA chunk corresponds to the handling
>> of the I bit for the DATA chunk described in <xref target='RFC7053'/>.</t>
>> 
>> to improve the description of the I bit. See
>> https://github.com/sctplab/sctp-idata/commit/f16308ffe0e67ce5deb957bd40c25c5a0e691b82
>> Does that address your issue?
> 
> Yes, thank you.
There has also been added a description of all fields, since this issue came
up multiple times. See
https://xml2rfc.tools.ietf.org/cgi-bin/xml2rfc.cgi?input=&url=https%3A%2F%2Fraw.githubusercontent.com%2Fsctplab%2Fsctp-idata%2Fmaster%2Fdraft-ietf-tsvwg-sctp-ndata.xml&modeAsFormat=html%2Fascii&type=towindow&Submit=Submit
> 
> 
>>> And the rest are only musings not needing any action if the authors don't want
>>> to action on them:
>>> 
>>> The introduction presents a good use case, quoting: "e.g., when the
>>> transmission of an urgent
>>>  message is blocked from transmission because the sender has started
>>>  the transmission of another, possibly large, message".
>>> 
>>> The later queueing example in figure 1 has three SIDs being queued
>>> simultanseously. It is not clear which of those "has already started" and which
>> There is actually one message queued for stream 0, three messages for stream 1,
>> and one message for stream 2.
>>> are the important ones being delayed. For a better understanding of the reader,
>> The figure is about in which sequence they are put on the wire. So no
>> transmission has startet. This examples also does not deal with the case
>> of one stream having a higher priority than another. That would be an
>> example using a priority scheduler. This examples illustrates the round
>> robin scheduler.
>> The point here is that a single scheduler (the round robin scheduler, for
>> example) behaves differently when user message interleaving is used or not.
>> That is an important point: You can even use the schedulers with regular
>> DATA chunk, i.e. with user message interleaving being negotiated.
>>> it might be useful to revise the figure so that the head-of-line blocking
>>> happens for SID 1 because transmission of  0 and 2 has already started (and
>>> declare SID 1 to be the "important" message). The ASCII art would just have to
>>> indent SID 1 content a bit (placing 0 and 2 earlier in time), and the resulting
>>> serialisation would then put all the SID 1 messages at the very end, when 0 and
>>> 2 have been completely submitted (right?).
>> One could think about adding another example based on the priority scheduler
>> and giving stream 1 a higher priority. But for illustrating the point of
>> schedulers behaving differently depending on the negotiation of user message
>> interleaving this seems not necessary.
> 
> That second example might indeed be useful.
> 
> It's simply a bit strange that in the introduction you speak about an
> "urgent" message (something deserving a higher-priority sending) and
> that another transmission has already started - but then the example has
> none of those two.
What about removing the word "urgent" from that sentence.
> 
> In fact I wonder why you speak about urgent things in the introduction
> at all. Neither the scheduler nor the interleaving are designed to help
> urgent things to be sent earlier.
> 
> All they do is make the transmission fairer so that *all* chunks get a
> more even serialised distribution on the wire.
That is not true in general. If you use the priority scheduler, one
stream gets preferred treatment. It also makes sure that the time
of a message spent in the stream queue is shorter. So these messages
get sent earlier.
In the case of the round robin scheduler, you are right that this is
about getting fairer treatment. If you take the WFQ scheduler, the
streams don't get the same treatment, but it depends on the weight
given to the stream.
> 
> So, rather than saying that the spec helps urgent things to be sent
> earlier, it should maybe rather state that the spec helps every message
> getting an equal, and equally distributed, share of the medium.
It is not meant that the spec does this. It was one example, what
a particular stream scheduler does. But there are multiple schedulers
defined in the document.

The RR scheduler example is not intended to illustrate what you can do
with all the schedulers, but that using message interleaving or not
has an impact on the scheduler. That is meant by stating:

This document also defines several stream schedulers for general SCTP associations.
The stream schedulers may behave differently depending on whether user message
interleaving has been negotiated for the association or not.

This is followed by illustrating this using the RR scheduler.

Best regards
Michael
> 
>>> In 2.2.3, is there any particular reason why the "protocol violation" error
>>> cause is only a MAY? As it enables debugging on the remote end, a SHOULD seems
>>> useful.
>> This is for consistency with other SCTP specifications. There is always the balance
>> between providing more information to help diagnosing the problem and providing more
>> information to an attacker. This allows implementers to do what they prefer.
>> For interoperability it is not important if the error cause is included or not.
> 
> That's fine, thanks.
> 
> Greetings,
> 
> Stefan
> 
> -- 
> Stefan WINTER
> Ingenieur de Recherche
> Fondation RESTENA - Réseau Téléinformatique de l'Education Nationale et de la Recherche
> 2, avenue de l'Université
> L-4365 Esch-sur-Alzette
> 
> Tel: +352 424409 1
> Fax: +352 422473
> 
> PGP key updated to 4096 Bit RSA - I will encrypt all mails if the recipient's key is known to me
> 
> http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xC0DE6A358A39DC66
> 
> <0x8A39DC66.asc>