Re: [tcpm] Long tail of TCP stacks (was: RE: draft-ietf-tcpm-accurate-ecn-24 addressingallWGLCcomments)

Carles Gomez Montenegro <carles.gomez@upc.edu> Wed, 27 September 2023 09:22 UTC

Return-Path: <carles.gomez@upc.edu>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 146C2C151082 for <tcpm@ietfa.amsl.com>; Wed, 27 Sep 2023 02:22:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.906
X-Spam-Level:
X-Spam-Status: No, score=-6.906 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_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=upc-edu.20230601.gappssmtp.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gqsEz2NmAUsk for <tcpm@ietfa.amsl.com>; Wed, 27 Sep 2023 02:22:42 -0700 (PDT)
Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com [IPv6:2a00:1450:4864:20::429]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 690EFC14CE2B for <tcpm@ietf.org>; Wed, 27 Sep 2023 02:22:42 -0700 (PDT)
Received: by mail-wr1-x429.google.com with SMTP id ffacd0b85a97d-317c3ac7339so10239692f8f.0 for <tcpm@ietf.org>; Wed, 27 Sep 2023 02:22:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=upc-edu.20230601.gappssmtp.com; s=20230601; t=1695806560; x=1696411360; darn=ietf.org; h=cc:to:subject:message-id:date:from:reply-to:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=xl4CNFVFJoAeRfAZYA95Q2vNGw5QAn+96YLsCkLofS8=; b=WYBeH9T6ePPD+QkdwoBhvErh8TCI9CJi6M+q1Ru2GjEh8Kk66Hs3ZYVjxYmjrxLkvr 6k86oCmVj28ys4IFSrr+4/hBuxF17JsHE+S7uZCm6d2V3THRmpIVcGD0DAGu8D903Ik9 /xx6XjtMQN4urEMYOuJhxqYNbgs6pi3X17hHX7lsSrZYXZq+iEsvMyku9kqqLYuAYpPm WEZmGeOIGif5HhW8IojfmW1KgNGP+8YnFA94ueV95CJgpmYkTq1KDr59OaRAv4qpmQxt FjSIX0Apbem9QiBLO5tui7Gqf9Xb+MrYRRytiofb2RMQYUrh2nI4Jx8TX5haXD2Fk/OI dUJQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695806560; x=1696411360; h=cc:to:subject:message-id:date:from:reply-to:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=xl4CNFVFJoAeRfAZYA95Q2vNGw5QAn+96YLsCkLofS8=; b=eLkXxtQi6q9Pv1TpIhjf3bbMLj0qfSF95WJaXr+jXcUUgmgxvZImYNLD3iLB9DKHsV /1d0YaxWRUumRoljP7TvBZVlAT5HPGC4MFS+UPTm8ej6sgjvFI6xLnOzznsuHitUlox6 aCqjkWp4flG3zhKrdGhKJx3wIYw4MKZxIOt5zUlJh6z1p2PJ83TEnYCQNU4EZCcXJx02 zCHYATSj35QWSnyaK9hX1jbJcjpdLHbWPPUx9fvzAJ4poUxEzJQzM928IOwWmdIds7Ju Ju9QCYnwzg36iybMZ5MBd4LkPVtVD3UolYV9Q1Xh5VKJHZRO6EBYJVm5SIaPnPbeJgyj RrsA==
X-Gm-Message-State: AOJu0Ywl6kfVcoxwuqTnfDFdL9A3FiApSPcXEJx68Yz27rglvQQkXfbT Efi4BgUIZ9YDVzYZpQkYu4ROzGTbJRv+/6BbSfH6Bw==
X-Google-Smtp-Source: AGHT+IEQAukHgsrhF0wgbUJC2Fh4GK8iRhTKAtahrhMj+tJu1ug2YKmgrUZvfmVkpn5eLhPIFY6j9BSHcuR0knFzhRc=
X-Received: by 2002:a5d:5246:0:b0:315:ad1a:5abc with SMTP id k6-20020a5d5246000000b00315ad1a5abcmr1394708wrc.5.1695806560255; Wed, 27 Sep 2023 02:22:40 -0700 (PDT)
MIME-Version: 1.0
References: <556e9011-df92-c163-26c5-512922148289@cs.helsinki.fi> <ef47249e-ba83-9862-d6f0-5d4fadbed43f@bobbriscoe.net> <9741ae21-b8a1-918c-d77a-c46adcfb55f@cs.helsinki.fi> <EAD0BD56-D347-4309-B974-232A7938A24A@fh-muenster.de> <b6f0aa13-eb91-c4f0-4ad8-9344a5673847@cs.helsinki.fi> <0b7554b6c65e4724ab6bbe04181f8252@hs-esslingen.de> <b09d7cf0-7ba9-b02b-b79e-6fc1d61d9d7c@gmx.at> <d6eba6eb4553464e8bd1e565aa562544@hs-esslingen.de>
In-Reply-To: <d6eba6eb4553464e8bd1e565aa562544@hs-esslingen.de>
Reply-To: carles.gomez@upc.edu
From: Carles Gomez Montenegro <carles.gomez@upc.edu>
Date: Wed, 27 Sep 2023 11:22:30 +0200
Message-ID: <CAAUO2xzpSiD0yFgEHNoXTJeSLqTdDU7-F0cYtZwp2J265r8iDQ@mail.gmail.com>
To: "Scharf, Michael" <Michael.Scharf@hs-esslingen.de>
Cc: "rs.ietf@gmx.at" <rs.ietf@gmx.at>, "tcpm@ietf.org" <tcpm@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000a1e818060653bb8b"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/aPQaOusy3wptB3wymLtTia0rTb8>
Subject: Re: [tcpm] Long tail of TCP stacks (was: RE: draft-ietf-tcpm-accurate-ecn-24 addressingallWGLCcomments)
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tcpm/>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 27 Sep 2023 09:22:44 -0000

Hi,

Just an additional detail beyond what has already been explained: at the
time of writing RFC 9006, none of the 7 considered TCP implementations for
constrained devices supported ECN, while 2 of the implementations supported
SACK.

A summary of these (and other) features is available in Appendix A (section
A.7) of RFC 9006.

Cheers,

Carles

On Wed, 27 Sept 2023 at 11:06, Scharf, Michael <
Michael.Scharf@hs-esslingen.de> wrote:

> Hi Richard,
>
> Yes, I had a look at ECN and SACK. As far as I can tell, a lot of "basic"
> IoT stacks neither support SACK nor ECN (RFC 3168), albeit it is a bit
> difficult to know for sure for some closed-source stacks. I have only found
> ECN support in the well-known "high-end" stacks that are used also for
> desktop and server computers.
>
> SACK seems more prevalent than ECN, since some "basic" stacks such as lwIP
> support SACK (well, at least partly).
>
> However, one interesting insight in my survey was that one open source
> stack has different license conditions for its SACK and its ECN code.
>
> This could imply that some commercial IoT implementations could use the
> open source ECN implementation, but they may not be able to use SACK due to
> formal license problems.  In this specific context, it could indeed be
> possible that ECN (or even AccECN, if available) is supported, but not
> SACK. The root cause would be the difference in license conditions.
>
> Of course, a theoretical work-around in this case would be an entire SACK
> implementation from scratch, but this may not be a low-hanging fruit.
>
> As far as I understand, such a use of "ECN without SACK" would have a
> non-technical root cause. But this could be a real-world issue in running
> code...
>
> Michael
>
>
> > -----Original Message-----
> > From: rs.ietf@gmx.at <rs.ietf@gmx.at>
> > Sent: Wednesday, September 27, 2023 10:18 AM
> > To: tcpm@ietf.org; Scharf, Michael <Michael.Scharf@hs-esslingen.de>
> > Subject: Re: [tcpm] Long tail of TCP stacks (was: RE:
> draft-ietf-tcpm-accurate-
> > ecn-24 addressingallWGLCcomments)
> >
> >
> > Out of curiosity, did you investigate how many of these IoT stacks
> support
> > ECN (negotiation, ECT-marking of sent messages, and RFC3168 ECE/CWR
> > feedback)?
> >
> > WOuld be interesting to see, if SACK or ECN is more prevalent in these
> > implementations...
> >
> > Richard
> >
> >
> >
> > Am 23.09.2023 um 12:01 schrieb Scharf, Michael:
> > > In don't plan to get involved into this WGLC discussion and this
> e-mail is not
> > about AccurateECN.
> > >
> > > Yet, I have a general comment related to the long tail of TCP stacks...
> > >
> > >>> How many stacks are out there not supporting TCP SACK? How many of
> > >> them will implement
> > >>> ECN++?
> > >>
> > >> [MK5] I think tens if not hundreds, when all various devices like
> network
> > >> printers and stacks in various IoT appliances, vehicles, etc are
> counted.
> > >
> > > [...]
> > >
> > > I think this number from Markku is realistic. See also RFC 9006.
> > >
> > > I have recently surveyed some IoT stacks. Well, there is really a
> large number
> > of different TCP/IP stacks out there. Some only support the most basic
> > standard track TCP features (if at all).
> > >
> > > In TCPM (and the IETF as a whole), IMHO we often focus on desktop and
> > server operation systems. Yet, in IoT and some other network domains that
> > increasingly get connected to the Internet, TCP/IP implementations can be
> > different to what is the default in Linux, Windows, BSD, etc. I believe
> that, as of
> > today, one cannot assume that all TCP stacks relevant for the Internet
> indeed
> > support and enable SACK. Of course, the same applies to ECN.
> > >
> > > For what it is worth, one example mentioned in RFC 9006 is lwIP
> > (Leightweight TCP/IP). Recent versions of lwIP support at least sending
> SACK
> > options, but the logic is very simple (as far as I understand). As far
> as I can tell,
> > lwIP is fairly sophisticated as compared to other IoT stacks that are
> much more
> > rudimentary.
> > >
> > > Recently I tried to come up with a simple lwIP example for my
> students. I
> > ended up creating an echo server example that runs in Linux user space:
> > https://github.com/michael-scharf/lwip-echoserver
> > >
> > > If someone else is interested in playing with lwIP, maybe such an
> example
> > can help...
> > >
> > > Michael
> > >
> > > _______________________________________________
> > > tcpm mailing list
> > > tcpm@ietf.org
> > > https://www.ietf.org/mailman/listinfo/tcpm
> _______________________________________________
> tcpm mailing list
> tcpm@ietf.org
> https://www.ietf.org/mailman/listinfo/tcpm
>