Re: [tsvwg] Eric Rescorla's No Objection on draft-ietf-tsvwg-sctp-ndata-12: (with COMMENT)

Eric Rescorla <ekr@rtfm.com> Mon, 28 August 2017 23:04 UTC

Return-Path: <ekr@rtfm.com>
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 D4445132961 for <tsvwg@ietfa.amsl.com>; Mon, 28 Aug 2017 16:04:45 -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, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=rtfm-com.20150623.gappssmtp.com
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 upv1uBjkWDdl for <tsvwg@ietfa.amsl.com>; Mon, 28 Aug 2017 16:04:43 -0700 (PDT)
Received: from mail-yw0-x230.google.com (mail-yw0-x230.google.com [IPv6:2607:f8b0:4002:c05::230]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8983713219F for <tsvwg@ietf.org>; Mon, 28 Aug 2017 16:04:43 -0700 (PDT)
Received: by mail-yw0-x230.google.com with SMTP id s187so9543638ywf.2 for <tsvwg@ietf.org>; Mon, 28 Aug 2017 16:04:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rtfm-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=eKn14+AqqOwHBIhcuzMCDyfjwmN7Z5ZCJlrNfKOVlBQ=; b=E2mF/ZjdUl2VMAO21HRE2hMecNYrfwB64IWKxiRlMTUOUDJQ89xxFuUnpLzSqxzmfI LciCEJYl4xyJJ+Z+x1DpdVwkdcJqMW22eL+mE97hs8GwMorIhVqjtq+AkMXGInTjsdnh cPcINSYRUpBsPVu5jh3IB0f/SHXgUmNQwRyEQKpn+itNBmaFOqQk6oGk7VLdfZwwJHqB VOFN410W88Nq5X3GEcA56VbkVM9kgm8TyAvryOD14Sof+K+uiqlNj4k1+J03PeB9WsLD Xls2EJ6xTid6XbVJE1ufcCtbAlmrSZ9dFiJ4i29u1Rm74UloJy3cXmPJfVLDdObiBzKy tAFA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=eKn14+AqqOwHBIhcuzMCDyfjwmN7Z5ZCJlrNfKOVlBQ=; b=B0uyNbMDKZogBjDKRqOr6dld+oDNfGlvrf5BvGZzOuJcbicRULbTdqxrMjjdsMbF8F rvhvOMS9GEzI/KuyiB86twoYYwzkr/iytlD+Iq8AvoJLFtVtUwjHEQgahChBahI3x0Jy Btw1m1G4kMK8YIhJuSuLH5MQKsralQHkeTSEJzIY8gE44UwW7epJ+BnU6MtHhdfxLtcT 7caY2ZwmM0q4hOFNg69KBPQWWdrvnvVPJFZ5RilIxFI+Ubg3/ns6E9FWgM/tDEm8AHSI q/F2r+SCa2Cl2NM82b0zRSLTMLkZb0+4rIYESuJKd1UOYWqUdTPDwXWycNi8vQhOdP7x I0Qg==
X-Gm-Message-State: AHYfb5jrgAgRxyn1A/P7xChnmUeKyQjYMcTnhFnjJs+fkHeQXIGLqem/ h/tnY61EmbnVemld0x3VWioEwgQa6b0k
X-Received: by 10.129.87.79 with SMTP id l76mr2027265ywb.222.1503961482803; Mon, 28 Aug 2017 16:04:42 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.13.218.130 with HTTP; Mon, 28 Aug 2017 16:04:02 -0700 (PDT)
In-Reply-To: <7C366691-31F9-44B3-AF7A-F877B13EF27A@fh-muenster.de>
References: <150377526319.25828.13085691478621902018.idtracker@ietfa.amsl.com> <6B8221AA-0A42-4409-BDA9-63215B0789F2@fh-muenster.de> <CABcZeBM+-vkO_-Q4NZp7g8tKG6SfS4KLqaf2SHWmLxkDHYcTOg@mail.gmail.com> <7C366691-31F9-44B3-AF7A-F877B13EF27A@fh-muenster.de>
From: Eric Rescorla <ekr@rtfm.com>
Date: Mon, 28 Aug 2017 16:04:02 -0700
Message-ID: <CABcZeBP9MxSWxkva1J=KTeH+vJKBxEv4+GxqfWKpKJ3dj+Rprw@mail.gmail.com>
To: Michael Tuexen <tuexen@fh-muenster.de>
Cc: The IESG <iesg@ietf.org>, draft-ietf-tsvwg-sctp-ndata@ietf.org, Gorry Fairhurst <gorry@erg.abdn.ac.uk>, tsvwg-chairs@ietf.org, "tsvwg@ietf.org" <tsvwg@ietf.org>
Content-Type: multipart/alternative; boundary="001a1149d326f055e70557d851c6"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/0S-YD7sS0VN9AL1tXZqVOcL2oxo>
Subject: Re: [tsvwg] Eric Rescorla's No Objection on draft-ietf-tsvwg-sctp-ndata-12: (with COMMENT)
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: Mon, 28 Aug 2017 23:04:46 -0000

On Mon, Aug 28, 2017 at 3:39 PM, Michael Tuexen <tuexen@fh-muenster.de>
wrote:

> > On 28. Aug 2017, at 22:56, Eric Rescorla <ekr@rtfm.com> wrote:
> >
> >
> >
> > On Mon, Aug 28, 2017 at 1:42 PM, Michael Tuexen <tuexen@fh-muenster.de>
> wrote:
> > > On 26. Aug 2017, at 21:21, Eric Rescorla <ekr@rtfm.com> wrote:
> > >
> > > Eric Rescorla has entered the following ballot position for
> > > draft-ietf-tsvwg-sctp-ndata-12: No Objection
> > >
> > > When responding, please keep the subject line intact and reply to all
> > > email addresses included in the To and CC lines. (Feel free to cut this
> > > introductory paragraph, however.)
> > >
> > >
> > > Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.
> html
> > > for more information about IESG DISCUSS and COMMENT positions.
> > >
> > >
> > > The document, along with other ballot positions, can be found here:
> > > https://datatracker.ietf.org/doc/draft-ietf-tsvwg-sctp-ndata/
> > >
> > >
> > >
> > > ----------------------------------------------------------------------
> > > COMMENT:
> > > ----------------------------------------------------------------------
> > >
> > Hi Eric,
> >
> > thanks for the review. See my responses in-line.
> >
> > Best regards
> > Michael
> > > TECHNICAL
> > > I'm not sure I am following the rules about interleaving multiple
> > > messages in the same flight.
> > >
> > >   The sender MUST NOT fragment more than one user message in any given
> > >   stream at any time.  At any time, a sender MAY fragment multiple user
> > >   messages, each of them on different streams.
> > >
> > > So, say I have one stream and the application sends M1 and M2 and both
> > > need to be fragmented, so I have M1a, M1b and M2a and M2b. Does this
> > > mean that I can't send M2a until M1{a,b} has been acknowledged?
> > No, that is not what is meant.
> >
> > Assume M1 is sent before M2 and you end up in M1a (first fragment),
> > M1b (second fragment), M2a (first fragment) and M2b (second fragment).
> > You would assign the TSNs in a way that they are increasing for
> > M1a, M1b, M2a, and M2b. So you are not interleaving messages on
> > the same stream. That is the point. So you would not send them as
> > M1a, M2a, M2b, M1b. You should also not send M1a, M2, M1b (assuming
> > that M2 doesn't need to be fragmented).
> >
> > I agree, the above text is not as clear as possible. So what about
> stating
> > it as:
> >
> >   The sender MUST NOT assign TSNs to more than one user message in any
> given
> >   stream at any time.  At any time, a sender MAY assign TSNs to multiple
> user
> >   messages, each of them on different streams.
> >
> > Perhaps you might instead say:
> >
> > The user messages within a given stream must have strictly increasing
> TSNs
> Not sure what you are suggesting, since TSN are assigned to chunks, not
> user messages.


The problem here is that  your text focuses on TSN *assignment* which is not
really the relevant property (it's an implementation artifact) rather what
appears
on the wire is. So, the requirement here seems to be that you allocate TSNs
to fragments of user messages in order.


Just considering the simple case of non-fragmented user
> messages, you can't guarantee that user messages of a particular stream
> have increasing TSNs, since there can be wrap arounds due to chunks
> belonging to other streams. The TSN are 32-bit numbers with serial
> arithmetic...
>

Hmm... You don't think of these as being infinite precision but taken mod
2^32?

-Ekr




> Best regards
> Michael
> >
> >
> >
> > > use MID to reassemble correctly. And given this requirement, why do
> > > you need MID?
> > You need some id to know which fragments belong to the same
> > user message. You can't derive that from the TSN.
> >
> > Yeah, I thought you could but after some thought I see you cannot.
> >
> >
> > -Ekr
> >
> > > Because fragementation is indicated by index, not range,
> > > what happens if you have to reduce MTU? So, say I have a message of
> > > size 2K which I fragment into 1K/1K and then I have to decrease
> > > my MTU to 512 bytes?
> > SCTP can't adopt, so IP fragmentation will be used.
> >
> > The reason is that once you sent a DATA chunk or an I-DATA chunk
> > you assigned a TSN will is used for reliable transfer. So you
> > have to retransmit it and you can't change the user data contained
> > in it. This has not changed from the base spec.
> >
> > Changing the information from index to range for handling reassembly
> > would not really help, since you still do reliable transfer by using the
> > TSN assigned to the DATA or I-DATA chunk and you need to retransmit it.
> > >
> > >
> > > EDITORIAL
> > > I think it would be helpful to indicate that B has to be
> > > set for the first chunk in S 2.1. Or perhaps move the overview of
> > > how the sender behaves in S 2.2.2 up in the document?
> > Considering this comment and the ones I got from other people
> > it seems like referring to RFC 4960 and RFC 7053 for the fields
> > which haven't changed and only describing the new fields doesn't
> > seem to work well.
> >
> > I'll add text describing the "old fields".
> > >
> > >
> >
> >
>
>