[Lwip] Constrained TCP draft

Rahul Jadhav <rahul.ietf@gmail.com> Sun, 16 July 2017 12:17 UTC

Return-Path: <rahul.ietf@gmail.com>
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 A683812EC06; Sun, 16 Jul 2017 05:17:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 9eWeQN6Pvepz; Sun, 16 Jul 2017 05:17:51 -0700 (PDT)
Received: from mail-ua0-x22d.google.com (mail-ua0-x22d.google.com [IPv6:2607:f8b0:400c:c08::22d]) (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 CB66112EBF4; Sun, 16 Jul 2017 05:17:47 -0700 (PDT)
Received: by mail-ua0-x22d.google.com with SMTP id 35so25084907uax.3; Sun, 16 Jul 2017 05:17:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=ITWeXOwgFtN6xnOj01aZjj6vGHNz6y6jKF0xOLo7gDQ=; b=qk6ilZLSMkvKCFy1P16no8ZisZ8FHIs7ymw4ySclh8XgsJCHx4v8TZlmg3aG1q0zhS 22ErJW2EtC/XEzE82HQR7As9maKSrrVQ73jE3+acpO+8VqysY4BZjymZ/qw6MKSbz+Ku j7uhzRhxITq1YcLkcLuIbFG8QhcFSeuuBxNiB/V7PGvYSNoCgTNQ72V7KQ1ccg5fX/On B9x3cGKMhEwQPrtxcOo5Od9K1oRrMuPrHdUnbeS2KJBqV7YX816bSbJeQWCv3iuQwkxV 1ZLK/dhB+1Hk7xjun+OC3jprUdwFXdhHEB/JV3mGOeGc0dSUSWmQvktimI4ePiLbnQmP WD0g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=ITWeXOwgFtN6xnOj01aZjj6vGHNz6y6jKF0xOLo7gDQ=; b=hutrtU5yxWsmYqJeGyDc2EmezRxUIkKcQD6r5w10YuA87OzULqJA+TZpmDAn/6tS9f o1Eu3UWhh3KsSX1BRkba5NoK/C60cGaOtg2vZlOddlq/3MCAdLsn+lAlpnNqT3Kk/oLP vrfoWPnINu50StR3pnyOeoJUuqiHLsXVOX9CczI48IY3OxJgfx3xb2fun2gO4yE88jVw 0vOZ/6ODqzwVvbPU5eQxCgax+hbUhiwXEg4WLLmqveMKoVwykUcaWrwzNeKHZEvj6XFK spK/2MGMw5Pv0Dg/PGkRjYJiFNbIm97F4Er3MWGefYwipJKi16z4OtBEBISw+ZKsh9ON BK2Q==
X-Gm-Message-State: AIVw111vJOyXCii1LE4eVNtNzeNw3e4DaGbOiWCgAd8EIHGpwXQ8PW73 cxCRftlkBrGhcrYZVcXH3Q5A8SxIiRB4
X-Received: by 10.159.33.66 with SMTP id 60mr10818713uab.50.1500207466797; Sun, 16 Jul 2017 05:17:46 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.103.90.71 with HTTP; Sun, 16 Jul 2017 05:17:46 -0700 (PDT)
From: Rahul Jadhav <rahul.ietf@gmail.com>
Date: Sun, 16 Jul 2017 14:17:46 +0200
Message-ID: <CAO0Djp0H_UFNrV+=-EHdvPXbA=f5AxDwUPCciSoHR=pbaZhNoA@mail.gmail.com>
To: lwip@ietf.org, draft-gomez-lwig-tcp-constrained-node-networks@ietf.org
Content-Type: multipart/alternative; boundary="94eb2c07e10225f0cf05546e45ca"
Archived-At: <https://mailarchive.ietf.org/arch/msg/lwip/kc1jlFnRgZtzlKL8PdGB6PuoXJw>
Subject: [Lwip] Constrained TCP draft
X-BeenThere: lwip@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Lightweight IP stack <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, 16 Jul 2017 12:17:52 -0000

Hi Carles & co-authors,

Foll are my comments for the
draft-gomez-lwig-tcp-constrained-node-networks-03:

1.  Section 4.3 Window Size
[RJ] A single MSS implies max one in-flight segment ... While such a
mechanism sure will help reduce implementation complexity and the buffer
requirement on the sender, but it has a major problem with delayed ACKs
mechanism on the receiver. There is a hack (
http://contiki.sourceforge.net/docs/2.6/a01696.html) implemented in UIP
which circumvents this issue.

2. Section 3 Scenarios
[RJ] I feel the doc need not talk about unconstrained scenarios ... For the
constrained environment, the doc can classify between different types of
devices ... For example, a class A/B device with possibly single and same
send/recv buffer, a class B device with possibly a separate send and recv
buffer and a class C device with multiple say 5 send/recv buffers (pooled
for either send/recv). Note that in case of uIP the send/recv buffers are
same not only for TCP but they are shared for other protocols as well ...

3. Section 4.3 "it may be useful to allow window sizes of at least five MSSs
"
[RJ] I tried checking RFC5681, but could not relate to 5 MSSs for fast
transmit/recovery...

4. Section 4.7
[RJ] There is a redundant stmt ,, "Other TCP options should not be used, in
keeping with the principle of lightweight operation" ... repeated on
subsequent line.

5. Section 7.1 uIP
[RJ] May be this section can mention the Contiki "split hack" technique
(link ref'd above) to avoid delayed ACKs in case of sender using single
MSS. This helps because receivers now need not change to disable delayed
ACKs and in most deployment such kind of control on the server/receiver is
usually not possible.

6. Section 7.1 uIP "A buffer for outgoing data is not provided"
[RJ] The same buffer is used for both incoming and outgoing traffic.

7. Section 7.1 uIP "an application must be able to reproduce the same
packet that had been transmitted"
[RJ] Application cannot reproduce the same packet because application does
not control the tcp header values and thus additional buffer space per
connection is warranted (and is indeed used) in case of TCP in uIP.

8. Section 7.3 RiOT
[RJ] Unlike uIP/lwip, the TCP numbers (prog mem) for RIOT-TCP aren't
mentioned ! Would be nice to know this difference.

Regards,
Rahul