Re: [Lwip] Last Call: <draft-ietf-lwig-tcp-constrained-node-networks-10.txt> (TCP Usage Guidance in the Internet of Things (IoT)) to Informational RFC

Carles Gomez Montenegro <carlesgo@entel.upc.edu> Sun, 20 September 2020 06:28 UTC

Return-Path: <carlesgo@entel.upc.edu>
X-Original-To: lwip@ietfa.amsl.com
Delivered-To: lwip@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B4E3E3A08C6; Sat, 19 Sep 2020 23:28:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.917
X-Spam-Level:
X-Spam-Status: No, score=-1.917 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=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 xsrn231JXm2L; Sat, 19 Sep 2020 23:28:36 -0700 (PDT)
Received: from violet.upc.es (violet.upc.es [147.83.2.51]) (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 27DA43A1085; Sat, 19 Sep 2020 23:28:35 -0700 (PDT)
Received: from entelserver.upc.edu (entelserver.upc.es [147.83.39.4]) by violet.upc.es (8.14.4/8.14.4/Debian-4.1ubuntu1) with ESMTP id 08K6SUGL017425; Sun, 20 Sep 2020 08:28:31 +0200
Received: from webmail.entel.upc.edu (webmail.entel.upc.edu [147.83.39.6]) by entelserver.upc.edu (Postfix) with ESMTP id 8C13F1D53C1; Sun, 20 Sep 2020 08:28:29 +0200 (CEST)
Received: from 95.124.44.230 by webmail.entel.upc.edu with HTTP; Sun, 20 Sep 2020 08:28:30 +0200
Message-ID: <aadcf3efabd9598e17433348ebf5ece9.squirrel@webmail.entel.upc.edu>
In-Reply-To: <8BDF59D7-8451-46DA-A0AD-2AA1EDB59943@fugue.com>
References: <160026450341.4741.15386274889650653489@ietfa.amsl.com> <157F51F5-28D9-46BE-A408-D79D647AE495@fugue.com> <A4BB6B20-87EA-4F54-B35F-89FD7CBF9C80@fugue.com> <a7d33f0bd4f5491be1affd868fb7144b.squirrel@webmail.entel.upc.edu> <8BDF59D7-8451-46DA-A0AD-2AA1EDB59943@fugue.com>
Date: Sun, 20 Sep 2020 08:28:30 +0200
From: Carles Gomez Montenegro <carlesgo@entel.upc.edu>
To: Ted Lemon <mellon@fugue.com>
Cc: last-call@ietf.org, draft-ietf-lwig-tcp-constrained-node-networks@ietf.org, lwig-chairs@ietf.org, lwip@ietf.org
User-Agent: SquirrelMail/1.4.21-1.fc14
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
X-Priority: 3 (Normal)
Importance: Normal
X-Virus-Scanned: clamav-milter 0.100.3 at violet
X-Virus-Status: Clean
X-Greylist: Delayed for 42:13:35 by milter-greylist-4.3.9 (violet.upc.es [147.83.2.51]); Sun, 20 Sep 2020 08:28:32 +0200 (CEST)
Archived-At: <https://mailarchive.ietf.org/arch/msg/lwip/10Obh-JzfVaTIO7Iyb8JlIT4f2s>
Subject: Re: [Lwip] Last Call: <draft-ietf-lwig-tcp-constrained-node-networks-10.txt> (TCP Usage Guidance in the Internet of Things (IoT)) to Informational RFC
X-BeenThere: lwip@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Lightweight IP stack. Official mailing list for IETF LWIG Working Group." <lwip.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/lwip>, <mailto:lwip-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/lwip/>
List-Post: <mailto:lwip@ietf.org>
List-Help: <mailto:lwip-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/lwip>, <mailto:lwip-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 20 Sep 2020 06:28:39 -0000

Hi Ted,

Thanks for your response. Please find below my inline responses:

> On Sep 18, 2020, at 8:14 AM, Carles Gomez Montenegro
> <carlesgo@entel.upc.edu> wrote:
>> Could you please provide any pointers to "existing research that
>> shows that MSS of greater than perhaps five lowpan frames is quite
>> harmful.”
>> ?
>
> So, first of all, I really owe you an apology for both comments—this is
> just great evidence for why we should never say something about someone
> else’s work that we are not prepared for them to read. My reaction was
> the result of going to the thing I cared most about in the document,
> finding what it said to be incorrect based on what I think is true, and
> assuming that this would be representative of the rest of the document.
> There was actually no reason for me to make this assumption; what I was
> actually looking for from the person to whom I intended to send the
> message was reassurance that this wasn’t as bad as it seemed. My
> subsequent comment on the list acknowledging this faux pas actually made
> it worse because I was embarrassed and hadn’t gotten past the
> self-justification stage to the simple retraction stage. Sigh.

No worries, and thanks for your detailed response.

> The specific paper I am thinking of is one titled Performant TCP for
> Low-Power Wireless Networks, by Sam Kumar, Michael P Andersen, Hyung-Sin
> Kim, and David E. Culler at UC Berkeley
> (https://www.usenix.org/conference/nsdi20/presentation/kumar
> <https://www.usenix.org/conference/nsdi20/presentation/kumar>). Reviewing
> the paper, what it says is not inconsistent with what you’ve said. It
> appears to be the case that an mss of five frames tends to perform better
> than an mss of fewer frames, and that for example an mss of one frame
> performs poorly. Performance appears to increase up to five frames. So in
> a sense this is supporting the notion that even more frames would be
> better, but this was not studied.

Thanks for the insight on the paper you mention. It offers interesting
details, and also experimental results consistent with our text, at least
for some MSS range. It would have been great to see results for even
greater MSS than the ones considered in the paper.

> The reason I’m concerned about this is that it’s my understanding that
> generally on LLNs fragments are acknowledged at the packet level, not at
> the fragment level. This means that if five fragments are transmitted and
> one dropped, all five have to be retransmitted. This assumption may
> actually not be true—I haven’t tested it. It’s based on what others
> have told me about how this works. If this assumption isn’t true, then
> my primary concern goes away. The concern I have is that as packet loss
> rates rise, the likelihood of any given IP packet making it across an
> 802.15.4 mesh intact (with no fragments lost) drops. Because every
> fragment has to be retransmitted, this can result in a lot of extra
> traffic being sent, which can further increase packet loss.
>
>
> So if that’s true, it makes sense to keep the mss short, preferably
> shorter than 1280. 1280 would be thirteen fragments on 802.15.4, if my
> math is right. I think ideally we’d want to keep the MSS down nearer to
> 500 bytes.

In the document, our aim is to be comprehensive regarding underlying IoT
technologies. Some of these support a sufficiently large L2 MTU, and
therefore fragmentation is not needed. Many other IoT technologies support
their own (ARQ-enhanced) fragmentation mechanism at the link layer.
However, there are indeed examples where fragmentation does not support
additional functionality for reliable fragment delivery, such as the
original 6LoWPAN fragmentation defined in RFC 4944 over IEEE 802.15.4. In
such cases, a relatively large MSS may certainly create the issue that you
mentioned.

Would the following proposed new text (that would replace the last
paragraph of 4.1.1) address your concern?

PROPOSED:

   Using larger MSS (to a suitable extent) may be beneficial in some
   scenarios, especially when transferring large payloads, as it reduces the
   number of packets (and packet headers) required for a given payload.
   However, the characteristics of the constrained network need to be
   considered. In particular, in a network where unreliable fragment
   delivery is used, the amount of data that TCP unnecessarily
   retransmits due to fragment loss increases with the MSS. This happens
   because the loss of a fragment leads to the loss of the whole fragmented
   packet being transmitted. Unnecessary data retransmission is particularly
   harmful in CNNs due to the resource constraints of such environments.
   Note that, while the original 6LoWPAN fragmentation mechanism [RFC 4944]
   does not offer reliable fragment delivery, fragment recovery
   functionality for 6LoWPAN or 6Lo environments is being standardized as of
   the writing [draft-ietf-6lo-fragment-recovery].

> It may be that my reasoning is completely wrong here, but the reason for
> my reaction to this document is that this is my present understanding of
> the problem, and hence the recommendation of a 1280 byte mss seems wrong.
> If I misread that, I apologize. As I said, I need to give the document a
> closer read.  Generally speaking I would really like to see the old canard
> that TCP can’t work on LLNs put to pasture, so I want this work to
> succeed. Again, I’m sorry for the unkind comment.

Thanks for your words. Yes, breaking the myth that 'TCP is not suitable
for IoT' is one of the main objectives of this document. Let's hope we can
contribute to that!

Cheers,

Carles