Re: [tsvwg] Eric Rescorla's No Objection on draft-ietf-tsvwg-sctp-ndata-12: (with COMMENT)
Eric Rescorla <ekr@rtfm.com> Sat, 02 September 2017 13:25 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 ABDCF132EC0 for <tsvwg@ietfa.amsl.com>; Sat, 2 Sep 2017 06:25:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level:
X-Spam-Status: No, score=-2.598 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, URIBL_BLOCKED=0.001] autolearn=unavailable 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 HZFIufjK3aBQ for <tsvwg@ietfa.amsl.com>; Sat, 2 Sep 2017 06:25:12 -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 4E560132E79 for <tsvwg@ietf.org>; Sat, 2 Sep 2017 06:25:06 -0700 (PDT)
Received: by mail-yw0-x230.google.com with SMTP id c85so4927697ywa.0 for <tsvwg@ietf.org>; Sat, 02 Sep 2017 06:25:06 -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=pjjCbHeL5qv2+/PiIgKkQp7g7C78rb/4PpG5V1z9R5c=; b=ykKzxhFw2H8VrU7+AYIdQgTslWEGcv2M8I4d76FyeV0N5do01UqlhifE2xPa4F6udn zvgmhFQSsi5ZWeMsdsPXQKRmHIzlsjfXLA0Clr1nuNAjafI+CfYKLvzCqhwC6S44A1xI mD2Kyka+HA51/MaIzhhXWyt/b9+y473tOZ9BjOJpCaZ5NK1yzAQJTnw1JbpQNUkooYFQ Rzwl3OSSMM+/CmR8Pi6egRM+MnywtjsDelX2nntwVXKFqsnVp8kNtHq/fe8ON0QkzS9U SsmKtqC8osIIp9I9haQxO9WU0ascb/M9BMbKchSk4bELZeQIWHkfajF5f6d3ak3ZrInE wJCQ==
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=pjjCbHeL5qv2+/PiIgKkQp7g7C78rb/4PpG5V1z9R5c=; b=qBynVXPgn1797YSe/6mVWGyZRcRE83LvnDOtC1uetjS1W4UflNgI5T2qF8rMHlBwt4 DkK3YM50XiQaE56CIqcDU644nULUJUSBFNCoFlLWjR9ZobIV2puybI3vGlZ1cF35pr6o IH+n23ddjtB9PpaKoctxbJcWH2bKB8RK1dfgmrZJKqnGmfWHvc2IYEUYyGM2KwTcZt3G H5azAU4tKLQdt7KbXbDg1U3RVRu4t+9xJdvQdozAEPpiCiXb7fm+SpyzBJQ3xRGKuoMw roMvUKldSRPmyBLWPFfeqUBseOV/qy0VOkteWaJ9Tv2GA9MHmZ03Eo3mSBqE6sBjuusW MF1Q==
X-Gm-Message-State: AHPjjUgujzCxxDXiV5x+/IakpWWXvqPFihq0YiHuUqQ/kad0yT56e0C1 cx9Xm6PFMWHmxO44qfvur0eLZ2nrtUCE
X-Google-Smtp-Source: ADKCNb6UgpD0qzDNbOWCFvVvs65lFHuV5kw8nRPzW35+1lT+qo8HbFKXRqTsFmBJ0FgiA9tBvmfCE5SvONeKkiisFvE=
X-Received: by 10.37.4.204 with SMTP id 195mr4517116ybe.289.1504358705551; Sat, 02 Sep 2017 06:25:05 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.13.218.130 with HTTP; Sat, 2 Sep 2017 06:24:24 -0700 (PDT)
In-Reply-To: <CAKKJt-eB5imY7-4yAv4kFkBRgo2NNa7-ZOL_A1+gZpaXGPP4Xw@mail.gmail.com>
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> <CABcZeBP9MxSWxkva1J=KTeH+vJKBxEv4+GxqfWKpKJ3dj+Rprw@mail.gmail.com> <68C4E71D-B044-4DC3-B570-97C0AD0578F6@fh-muenster.de> <CABcZeBMVFLQpzLO0=Og-OumtWfgzKQY4s3jjEj96VyTPjAzZCQ@mail.gmail.com> <EDCC4403-52B3-47AE-A97D-1A1090F52E1A@fh-muenster.de> <CAKKJt-eB5imY7-4yAv4kFkBRgo2NNa7-ZOL_A1+gZpaXGPP4Xw@mail.gmail.com>
From: Eric Rescorla <ekr@rtfm.com>
Date: Sat, 02 Sep 2017 07:24:24 -0600
Message-ID: <CABcZeBP_xNU2eXUp_WZcKqOCuYHXq9eXP5T-HSwr5G+xHNB+ZQ@mail.gmail.com>
To: Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com>
Cc: Michael Tuexen <tuexen@fh-muenster.de>, Gorry Fairhurst <gorry@erg.abdn.ac.uk>, draft-ietf-tsvwg-sctp-ndata@ietf.org, The IESG <iesg@ietf.org>, "tsvwg@ietf.org" <tsvwg@ietf.org>, "tsvwg-chairs@ietf.org" <tsvwg-chairs@ietf.org>
Content-Type: multipart/alternative; boundary="001a11c01966428940055834ce77"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/u9xaHGYjpGctesx6uZw1kfZDOHk>
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: Sat, 02 Sep 2017 13:25:15 -0000
LGTM On Fri, Sep 1, 2017 at 2:22 PM, Spencer Dawkins at IETF < spencerdawkins.ietf@gmail.com> wrote: > Hi, Eric, > > On Wed, Aug 30, 2017 at 8:11 AM, Michael Tuexen <tuexen@fh-muenster.de> > wrote: > >> >> > On 29. Aug 2017, at 15:09, Eric Rescorla <ekr@rtfm.com> wrote: >> > >> > >> > >> > On Tue, Aug 29, 2017 at 12:24 AM, Michael Tuexen <tuexen@fh-muenster.de> >> wrote: >> > > On 29. Aug 2017, at 01:04, Eric Rescorla <ekr@rtfm.com> wrote: >> > > >> > > >> > > >> > > 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/stat >> ement/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. >> > The next sentence in the document states: >> > >> > The sender MUST assign TSNs in a way that the receiver can make >> progress. >> > One way to achieve this is to assign a higher TSN to the later >> fragments of >> > a user message and send out the TSNs in sequence. >> > >> > The reason not to mandate this is that you might you more complex >> schemes >> > in case of load-sharing between multiple paths. >> > >> > That's fine, but I don't find the current text clear and this doesn't >> help. Why don't >> > you try listing the requirements on what appears on the wire from the >> receiver's >> > perspective in response to this message, and then we can discuss how to >> > write it in the doc. >> Let me make another suggestion: >> >> OLD TEXT: >> >> 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. >> >> The sender MUST assign TSNs in a way that the receiver can make >> progress. One way to achieve this is to assign a higher TSN to the >> later fragments of a user message and send out the TSNs in sequence. >> >> >> NEW TEXT: >> >> The sender MUST NOT process (move user data into I-DATA chunks and >> assign >> a TSN to it) for more than one user message in any given stream at any >> time. >> At any time, a sender MAY process multiple user messages, each of them >> on >> different streams. >> >> The sender MUST assign TSNs to I-DATA chunks in a way that the receiver >> can make progress. One way to achieve this is to assign a higher TSN >> to the >> later fragments of a user message and send out the I-DATA chunks such >> that >> the TSNs are in sequence. >> >> Does that address your issue? >> > > Michael has submitted -13 which includes this text. Diff is at > https://tools.ietf.org/rfcdiff?url2=draft-ietf-tsvwg-sctp-ndata-13.txt. > > I'm planning to send an Approved notice for -13. If you see a problem, > please let me know. > > Thanks, > > Spencer > > >> >> Best regards >> Michael >> > >> > -Ekr >> > >> > > >> > > >> > > 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? >> > In most cases, yes. But I need to take into account that the numbers >> can wrap >> > and how this is handled by receivers. That is why the document states >> some >> > limitations you the number of outstanding MIDs and FSNs. >> > >> > Best regards >> > Michael >> > > >> > > -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". >> > > > > >> > > > > >> > > > >> > > > >> > > >> > > >> > >> > >> >> >
- [tsvwg] Eric Rescorla's No Objection on draft-iet… Eric Rescorla
- Re: [tsvwg] Eric Rescorla's No Objection on draft… Michael Tuexen
- Re: [tsvwg] Eric Rescorla's No Objection on draft… Eric Rescorla
- Re: [tsvwg] Eric Rescorla's No Objection on draft… Michael Tuexen
- Re: [tsvwg] Eric Rescorla's No Objection on draft… Eric Rescorla
- Re: [tsvwg] Eric Rescorla's No Objection on draft… Michael Tuexen
- Re: [tsvwg] Eric Rescorla's No Objection on draft… Eric Rescorla
- Re: [tsvwg] Eric Rescorla's No Objection on draft… Michael Tuexen
- Re: [tsvwg] Eric Rescorla's No Objection on draft… Michael Tuexen
- Re: [tsvwg] Eric Rescorla's No Objection on draft… Spencer Dawkins at IETF
- Re: [tsvwg] Eric Rescorla's No Objection on draft… Eric Rescorla