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

"Scharf, Michael" <Michael.Scharf@hs-esslingen.de> Wed, 27 September 2023 09:06 UTC

Return-Path: <Michael.Scharf@hs-esslingen.de>
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 2FFE7C151082 for <tcpm@ietfa.amsl.com>; Wed, 27 Sep 2023 02:06:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.105
X-Spam-Level:
X-Spam-Status: No, score=-7.105 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_NONE=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 (1024-bit key) header.d=hs-esslingen.de
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 NrBPVCbwy9cW for <tcpm@ietfa.amsl.com>; Wed, 27 Sep 2023 02:06:32 -0700 (PDT)
Received: from mail.hs-esslingen.de (mail.hs-esslingen.de [134.108.32.78]) (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 D9232C16B5AD for <tcpm@ietf.org>; Wed, 27 Sep 2023 02:06:09 -0700 (PDT)
Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.hs-esslingen.de (Postfix) with ESMTP id D359E25A30; Wed, 27 Sep 2023 11:06:06 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=hs-esslingen.de; s=mail; t=1695805566; bh=lvBmGykzGBGBlS2p7vUc1hxiuw9iMlNnxvZBu6lFYo4=; h=From:To:Subject:Date:References:In-Reply-To:From; b=m1MgIJOsMsD7JmaLEZyi29KHSZz/85SNBvmdGWKornme/zv4ZSaE1/hVsbCClj0Bw CHtqG+3t95I7Gz8gtoOnQ7ssdx5uFt3S6xSOKokAyHOXvrdG2h4aEPTTC5gsOPGPIl XPPU6SyEdJDMvR9W3MyAa243EimWs0KQbnVjIl94=
X-Virus-Scanned: by amavisd-new-2.7.1 (20120429) (Debian) at hs-esslingen.de
Received: from mail.hs-esslingen.de ([127.0.0.1]) by localhost (hs-esslingen.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SbTRukUW2FU6; Wed, 27 Sep 2023 11:06:05 +0200 (CEST)
Received: from rznt8201.rznt.rzdir.fht-esslingen.de (rznt8201.hs-esslingen.de [134.108.48.164]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.hs-esslingen.de (Postfix) with ESMTPS; Wed, 27 Sep 2023 11:06:05 +0200 (CEST)
Received: from rznt8202.rznt.rzdir.fht-esslingen.de (134.108.48.165) by rznt8201.rznt.rzdir.fht-esslingen.de (134.108.48.164) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32; Wed, 27 Sep 2023 11:06:05 +0200
Received: from rznt8202.rznt.rzdir.fht-esslingen.de ([fe80::aca4:171a:3ee1:57e0]) by rznt8202.rznt.rzdir.fht-esslingen.de ([fe80::aca4:171a:3ee1:57e0%3]) with mapi id 15.01.2507.032; Wed, 27 Sep 2023 11:06:05 +0200
From: "Scharf, Michael" <Michael.Scharf@hs-esslingen.de>
To: "rs.ietf@gmx.at" <rs.ietf@gmx.at>, "tcpm@ietf.org" <tcpm@ietf.org>
Thread-Topic: [tcpm] Long tail of TCP stacks (was: RE: draft-ietf-tcpm-accurate-ecn-24 addressingallWGLCcomments)
Thread-Index: AQHZ8RsfDg2YtvNYe0+gykv4tcoB4bAuWFfg
Date: Wed, 27 Sep 2023 09:06:05 +0000
Message-ID: <d6eba6eb4553464e8bd1e565aa562544@hs-esslingen.de>
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>
In-Reply-To: <b09d7cf0-7ba9-b02b-b79e-6fc1d61d9d7c@gmx.at>
Accept-Language: de-DE, en-US
Content-Language: de-DE
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [134.108.140.249]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/oseXhCR67Mo2Fcup9ciU6cczSgo>
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:06:37 -0000

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