Re: [tsvwg] ECN encapsulation draft - proposed resolution

Jonathan Morton <chromatix99@gmail.com> Fri, 11 June 2021 05:48 UTC

Return-Path: <chromatix99@gmail.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 31E5D3A29DE for <tsvwg@ietfa.amsl.com>; Thu, 10 Jun 2021 22:48:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.849
X-Spam-Level:
X-Spam-Status: No, score=-1.849 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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, SPF_HELO_NONE=0.001, 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 K4N1UoFmu5D8 for <tsvwg@ietfa.amsl.com>; Thu, 10 Jun 2021 22:48:27 -0700 (PDT)
Received: from mail-lf1-x133.google.com (mail-lf1-x133.google.com [IPv6:2a00:1450:4864:20::133]) (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 9A9C93A29EB for <tsvwg@ietf.org>; Thu, 10 Jun 2021 22:48:20 -0700 (PDT)
Received: by mail-lf1-x133.google.com with SMTP id x24so1204378lfr.10 for <tsvwg@ietf.org>; Thu, 10 Jun 2021 22:48:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=0V0y2VRVF/Z8eDndlF6VGQK6NCrv46+rk/pWe6FVYNQ=; b=TEkkKZOqMRkf71QztnlMqWPsTK2TU0P3Q4FWtWrMQ9EF3xgjTOYMptzaBcb11FutOD ow+aeMsiIKSeYHBnTG7UeFvxSvDyuYhq/btCxIUw1vqJccBx2tZSCu5Pn30rLD11H8WR HpA4fnFcXXokVgECeHHX2FcURT691IacGGgzpNb7AzJ3qqOad3YWdb5yIVjuyrq0Yh3t EpeqxPogSz83mNkW9NG29cCuP//clby+mbrtqj/JFIdPdiL1nhEyRFxOkZoVEyD79JpF iq4Cp8qNpGqGsaTu+FhglBKXdYsxEohAtZlcNQRDdD7oXP0m3Uo02fTKHBOmc/GreUx+ iqqQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=0V0y2VRVF/Z8eDndlF6VGQK6NCrv46+rk/pWe6FVYNQ=; b=VTpQeGBDjJmobUBSb07aCedVF1fIF0fG84tard1ZdZDo7waQfWvDCPZp0pqCNEchB5 b8opMAjqZ7dZXxI5wNKlXBzbuMx4z0mRYbdgtsgc0cu5a4SCmrgVmFabI9EFJU0JzDFb PLc9zX2C8fV/MuVbZpvQIt3qZxIU8UP1TGSdmj8DXVGZamrtbXw89jIxXvWoSj9eHW0X CI3bSdpu22GFtq1jFnvNYkZbyl8j+AaVfKyhLVxLC6RWAs73mGSP2exec5Nzo827Is0D iyNFGuaV7oDMDspzXs3dqBnW10uOGFtgSU+JDtIXLQOjHqVeE39UUCmZ+PN7PMsb8Gpq VmwA==
X-Gm-Message-State: AOAM532qclmhyVvanh6Z7BDDfZa+OhP4ZWA1oHepEZ5VBxySjq0X2MEW GcN4C5jbola/PniIW6+5SlQ=
X-Google-Smtp-Source: ABdhPJxGLccHJlnPSSiSXqz8CvcjqTQdOPMysmbkcp2ywL0uXtkmcn/BL/VaZfSkGAjf0yRSIrAENg==
X-Received: by 2002:ac2:4850:: with SMTP id 16mr1540316lfy.161.1623390493183; Thu, 10 Jun 2021 22:48:13 -0700 (PDT)
Received: from jonathartonsmbp.lan (178-55-194-130.bb.dnainternet.fi. [178.55.194.130]) by smtp.gmail.com with ESMTPSA id y25sm491487lfe.7.2021.06.10.22.48.12 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 10 Jun 2021 22:48:12 -0700 (PDT)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.7\))
From: Jonathan Morton <chromatix99@gmail.com>
In-Reply-To: <AM9PR07MB731372180EBF5C815A684F3CB9359@AM9PR07MB7313.eurprd07.prod.outlook.com>
Date: Fri, 11 Jun 2021 08:48:10 +0300
Cc: Bob Briscoe <ietf@bobbriscoe.net>, "tsvwg@ietf.org" <tsvwg@ietf.org>, Markku Kojo <kojo@cs.helsinki.fi>
Content-Transfer-Encoding: quoted-printable
Message-Id: <51F33C7C-3323-4ADA-98BB-16A83F763FCE@gmail.com>
References: <MN2PR19MB40454BC50161943BC33AAAD783289@MN2PR19MB4045.namprd19.prod.outlook.com> <43e89761-d168-1eca-20ce-86aa574bd17a@bobbriscoe.net> <de8d355d-08b6-34fb-a6cc-56755c9a11ee@bobbriscoe.net> <MN2PR19MB4045DB9D2C45066AEB0762DB83259@MN2PR19MB4045.namprd19.prod.outlook.com> <alpine.DEB.2.21.2106021717300.4214@hp8x-60.cs.helsinki.fi> <290e1624-fa1e-21d7-95fb-90e284c27dd8@bobbriscoe.net> <C7509065-526C-4712-B6CD-E919910E280E@gmail.com> <AM9PR07MB7313E7797F850B210EC3A799B9369@AM9PR07MB7313.eurprd07.prod.outlook.com> <3009F41B-1D79-4B2D-BC16-8F2049EA4976@gmail.com> <AM9PR07MB731372180EBF5C815A684F3CB9359@AM9PR07MB7313.eurprd07.prod.outlook.com>
To: "De Schepper, Koen (Nokia - BE/Antwerp)" <koen.de_schepper@nokia-bell-labs.com>
X-Mailer: Apple Mail (2.3445.9.7)
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/FVLTEqfG98rJpa7ODxd7SCfX7CI>
Subject: Re: [tsvwg] ECN encapsulation draft - proposed resolution
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.29
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: Fri, 11 Jun 2021 05:48:29 -0000

>>> So for me following simple algorithms would be ok to use:
>>> - only mark if the first (even partial) segment of the reassembled packet is marked (ignore marks on any other segments)
>> 
>> This would mean that any mark applied to a segment that covered only the middle or tail of a packet would reliably have no effect.  I firmly disagree with that approach, due to the possibility of accidentally triggering pathological conditions where a long series of marks is lost.
> 
> It could as well mean that one outer packet marks 2 inner packets. Note that AQMs best apply random marking and that any pathological conditions will be quickly broken by the closed loop.

I would class that as a poor workaround, since you are effectively excluding an entire, successful class of AQM algorithms from use with this approach.

>>> - apply a random probability on the packet based on the ratio of marked bytes in the packet and full packet size
>> 
>> I can see where you're going with that, but I maintain - based on my analysis a couple of posts ago - that maintaining the number of marked bytes is simply the wrong approach.
>> 
>> The interval *between* marks, measured in either bytes or time, is the important property to preserve; this is actually easier to achieve and is natural to perform statelessly.  If the AQM device can rely on that behaviour, it can be designed to perform byte-mode or time-domain marking to match, which dovetails nicely with all existing transport implementations (whether with high-fidelity or conventional congestion control).
> 
> These algorithm preserve the marking probability (whether bytes or packets), which boils down to exactly preserving the interval between marks. Not sure what the difference is?? The interval i=1/p with p the probability. So preserving the probability, preserves the interval... not?

You are (approximately) preserving the number of marked bytes and the interval *in packets* between marks.  That is *not at all* the same thing as preserving the interval *in bytes or in time* between marks, given that the size of each packet changes at reassembly.

To ram this point home - since that is clearly required for understanding - let's take an extreme but realistic example: encapsulating 1500-byte IP packets into 53-byte ATM cells using PPPoA encapsulation (10-byte overhead per IP packet), and transmitting them over a CBR 12Mbps ADSL link (28,300 cells per second).  We will also assume there's a few smaller IP packets mixed in from application-limited flows.  Each ATM cell takes a 48-byte portion of the PPPoA-encapsulated payload, so it requires 32 of them to encapsulate one full-size PPPoA frame, and we can transmit 884 of those per second.  We will further assume, perhaps less realistically, that we have a way to apply congestion signals to individual ATM cells.

In your world, probabilities are sacrosanct.  So at some given AQM state, we apply a 1% marking rate to the ATM cells, and you expect that to be converted into 1% of IP packets being marked.  But that is also converting 283 marked ATM cells per second into just 8.84 marked IP packets per second, and increasing the byte interval between marks from 5300 to 150000.  You can see here that packet intervals are *not* the same as byte or time intervals.

In the world of Reno and CUBIC and Codel that actually makes up much of the Internet today, and even in the world of DCTCP, it is the byte/time interval between marks that is sacrosanct.  Neither of your algorithms above *even approximately* preserves this property in the scenario given (which doesn't even involve frames spanning packets, but the arithmetic is similar).  The RFC-3168 rule, however, *does* preserve it.

 - Jonathan Morton