[tcpm] Review of draft-ietf-tcpm-alternativebackoff-ecn-05

"Scharf, Michael (Nokia - DE/Stuttgart)" <michael.scharf@nokia.com> Sat, 06 January 2018 23:18 UTC

Return-Path: <michael.scharf@nokia.com>
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 42199127775; Sat, 6 Jan 2018 15:18:51 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 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_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nokia.onmicrosoft.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 eRjuwc3BNKZf; Sat, 6 Jan 2018 15:18:47 -0800 (PST)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on0138.outbound.protection.outlook.com [104.47.1.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 988B312773A; Sat, 6 Jan 2018 15:18:43 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia.onmicrosoft.com; s=selector1-nokia-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=37dD2uXOXZoe4BL8cWkM+CwrzyFgpJl+3AlzfL+K3QQ=; b=VLM5UzAMSDXtsUZa23ir2rpAOjjgg8C2g5G/eU+kVn1AZUSa5v6hdrf/dKsYB+QGz/WtJZWoaet1rkvPWXjtE3/jKVRm0HFEwrww0n6SHobh4DyhMyoBB1iP3Vuq+WEPaejL1FtB5eZ3rwNN6xiWXsuRW5x3rOQssL6QumTW1yk=
Received: from AM5PR0701MB2547.eurprd07.prod.outlook.com (10.173.92.15) by AM5PR0701MB2401.eurprd07.prod.outlook.com (10.169.152.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.407.1; Sat, 6 Jan 2018 23:18:39 +0000
Received: from AM5PR0701MB2547.eurprd07.prod.outlook.com ([fe80::d126:4d5e:5d20:2cd8]) by AM5PR0701MB2547.eurprd07.prod.outlook.com ([fe80::d126:4d5e:5d20:2cd8%7]) with mapi id 15.20.0407.000; Sat, 6 Jan 2018 23:18:39 +0000
From: "Scharf, Michael (Nokia - DE/Stuttgart)" <michael.scharf@nokia.com>
To: "draft-ietf-tcpm-alternativebackoff-ecn@ietf.org" <draft-ietf-tcpm-alternativebackoff-ecn@ietf.org>
CC: "tcpm@ietf.org" <tcpm@ietf.org>
Thread-Topic: Review of draft-ietf-tcpm-alternativebackoff-ecn-05
Thread-Index: AdOHRCmk6LmPog6RT5iBs2Z7tL2zGQ==
Date: Sat, 06 Jan 2018 23:18:39 +0000
Message-ID: <AM5PR0701MB25477DB68DEEDCADECDF4C5D931D0@AM5PR0701MB2547.eurprd07.prod.outlook.com>
Accept-Language: en-US, de-DE
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=michael.scharf@nokia.com;
x-originating-ip: [92.203.227.183]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; AM5PR0701MB2401; 7:xkChnA+nnJ9ydzrFxreb6DYvvUuRo24GgldLZMWHHGcoxKLdakfYC8Ue4ODHpqXIy4h1IOoQNJzu62ZlAD9xvOTZktJjnNEB/2EaFAPlVeCjzlz0vZYD+kVybqQCypvOqwBU5HRlVFAeUn4nNALsMvPXtm8sIowEEXZxphAoVEwkjqycZI17Z4J//8jyvWMm743fY2wKmvhGj84L1IVqrK4YldWFH/9FPTPOaIEcFjKupP08gGfRmm9Xa77lRLHo
x-ms-exchange-antispam-srfa-diagnostics: SSOS;
x-ms-office365-filtering-ht: Tenant
x-ms-office365-filtering-correlation-id: 84264713-f631-4b90-d818-08d5555bd202
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(48565401081)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(3008032)(2017052603307)(7193020); SRVR:AM5PR0701MB2401;
x-ms-traffictypediagnostic: AM5PR0701MB2401:
x-microsoft-antispam-prvs: <AM5PR0701MB24014538E95B54E80169AA96931D0@AM5PR0701MB2401.eurprd07.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(21748063052155)(17755550239193);
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(5005006)(8121501046)(10201501046)(3231023)(11241501184)(806099)(944501075)(3002001)(93006095)(93001095)(6055026)(6041268)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123560045)(20161123564045)(20161123562045)(6072148)(201708071742011); SRVR:AM5PR0701MB2401; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:AM5PR0701MB2401;
x-forefront-prvs: 0544D934E1
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(366004)(396003)(376002)(346002)(39380400002)(39860400002)(199004)(189003)(59450400001)(3280700002)(7736002)(33656002)(68736007)(66066001)(6916009)(105586002)(106356001)(74316002)(8936002)(2900100001)(230783001)(4326008)(450100002)(316002)(3660700001)(14454004)(102836004)(86362001)(6506007)(6436002)(81156014)(7696005)(5630700001)(6306002)(53936002)(2501003)(81166006)(54896002)(2351001)(8676002)(9686003)(5640700003)(478600001)(55016002)(2906002)(790700001)(6116002)(25786009)(99286004)(97736004)(5250100002)(5660300001)(3846002); DIR:OUT; SFP:1102; SCL:1; SRVR:AM5PR0701MB2401; H:AM5PR0701MB2547.eurprd07.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:3; LANG:en;
received-spf: None (protection.outlook.com: nokia.com does not designate permitted sender hosts)
x-microsoft-antispam-message-info: NP5+Ao3a/I6+ajTPy/Visk8OG5K04BBi7ql4yscGUqbmQI3FHllGpUHDTc56jZczdqkKwnuZHy5hSKecZ6FmkQYeghQPVFXcCax10TdrB12fQGRfocqVMe5JHCTWuLce
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_AM5PR0701MB25477DB68DEEDCADECDF4C5D931D0AM5PR0701MB2547_"
MIME-Version: 1.0
X-OriginatorOrg: nokia.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 84264713-f631-4b90-d818-08d5555bd202
X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Jan 2018 23:18:39.5798 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5d471751-9675-428d-917b-70f44f9630b0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0701MB2401
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/NigV6ObKCXoc5e1pycWmHe3a2eg>
Subject: [tcpm] Review of draft-ietf-tcpm-alternativebackoff-ecn-05
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.22
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: Sat, 06 Jan 2018 23:18:51 -0000

Authors, all,

I have read draft-ietf-tcpm-alternativebackoff-ecn-05. I found some minor issues that should be easy to fix; in many cases the issues are editorial. Yet, I believe a document update would be useful. See below [ms].

Thanks

Michael (with no hat on)


*******************************

Abstract

   Recent Active Queue Management (AQM) mechanisms allow for burst
   tolerance while enforcing short queues to minimise the time that
   packets spend enqueued at a bottleneck.

[ms] Nit: I am not sure if the term "recent" is really needed. IMHO any AQM, including old vanilla RED, can have this property, if it is properly configured. As a result, I think the sentence would also be correct without the word "recent". This would somewhat avoid the question (in particular in the abstract) how to handle bottlenecks that use e.g. vanilla RED instead of a "recent" AQM.


1.  Definitions

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].

[ms] Nit: Maybe the new wording in RFC8174 could be used. As an editorial nit, Section 1 and 2 could be swapped, but the order may be a matter of taste.


4.1.  Why Use ECN to Vary the Degree of Backoff?

   When packet
   loss is inferred using the retransmission timer and the given packet
   has not yet been resent by way of the retransmission timer (regarded
   as a notification of congestion), Standard TCP sets the ssthresh to
   the maximum of half of the FlightSize and 2*SMSS [RFC5681], which
   causes the TCP congestion control to go back to allowing only a BDP
   of packets in flight -- just sufficient to maintain 100% utilisation
   of the bottleneck on the network path.

[ms] This reference of RFC5681 and eq. (4) therein only mentions the reaction to RTO (Section 3.1 in RFC5681) but omits the use in Fast Retransmit/Fast Recovery (Section 3.2 in RFC5681). Thus, the reference is a bit misleading, since this section actually seems to be about Fast Retransmit/Fast Recovery. And, as a purely editorial remark, I think the sentence is long and hard to parse. I think an alternative wording would be possible along the lines of:

<ms>
   According to [RFC5681], when a TCP sender detects segment loss
   using the retransmission timer and the given segment has not yet been
   resent by way of the retransmission timer, the value of ssthresh must be
   set to no more of the maximum of half of the FlightSize and 2*SMSS. The
   same equation is also used during Fast Retransmit/Fast Recovery
   [RFC5681]. As a result, the TCP congestion control only allows one BDP
   of packets in flight. This is just sufficient to maintain 100% utilisation
   of the bottleneck on the network path.
</ms>


4.2.  Focus on ECN as Defined in RFC3168

   Some transport protocol mechanisms rely on ECN semantics that differ
   from the original ECN definition [RFC3168] -- for example, Congestion
   Exposure (ConEx) [RFC7713] and Datacenter TCP (DCTCP)
   [I-D.ietf-tcpm-dctcp] need more accurate ECN information than that
   offered by the original feedback method.  Other mechanisms (e.g.,
   [I-D.ietf-tcpm-accurate-ecn]) allow the sender to adjust the rate
   more frequently than once each path RTT.  Use of these mechanisms is
   out of scope for this document.

[ms] I think [I-D.ietf-tcpm-accurate-ecn] specifies a scheme to provide more than one feedback signal per RTT. It is not exactly clear to me what is meant by "adjusting the rate more frequently". Editorial nits: DCTCP is published as RFC 8257. And I think the subsection title could be repeated in the main text ("This specification focuses on...").


4.3.  Choice of ABE Multiplier

   ABE decouples the reaction of a TCP sender to inferred packet loss
   and ECN-signalled congestion when in the congestion avoidance phase
   by differentiating the scaling factor used in Equation 4 in
   Section 3.1 of [RFC5681].

[ms] Editorial nit: This sentence seems somewhat broken ("when"?). Maybe an alternative would be:

<ms>
   ABE decouples the reaction of a TCP sender to inferred packet loss
   and ECN-signalled congestion in the congestion avoidance phase.
   To achieve this, ABE uses different the scaling factor in Equation 4 in
   Section 3.1 of [RFC5681].
</ms>

   beta_{ecn} depends on how the response of a TCP connection to shallow
   AQM marking thresholds is optimised. beta_{loss} reflects the
   preferred response of each congestion control algorithm when faced
   with exhaustion of buffers (of unknown depth) signalled by packet
   loss.  Consequently, for any given TCP congestion control algorithm
   the choice of beta_{ecn} is likely to be algorithm-specific, rather
   than a constant multiple of the algorithm's existing beta_{loss}. The
   recommended beta_{ecn} value in this document is only applicable for
   Standard TCP congestion control.

[ms] In this section one has to reverse-engineer what "recommended beta_{ecn} value in this document" means. Why not make this explicit? In addition, with some editorial reordering this section could be easier to read, e.g., as follows:

<ms>
  The recommendation in Section 3 in this document corresponds to a value
  of beta_{ecn}=0.8. This recommended beta_{ecn} value is only applicable for
  the standard TCP congestion control [RFC5681]. The selection of
  beta_{ecn} enables tuning the response of a TCP connection to shallow
  AQM marking thresholds. beta_{loss} characterizes the response of a
  congestion control algorithm to packet loss, i.e., exhaustion of buffers
  (of unknown depth). Different values for beta_{loss} have been suggested
 for TCP congestion control algorithms.  Consequently, beta_{ecn} is likely
  to be an algorithm-specific parameter rather than a constant multiple
  of the algorithm's existing beta_{loss}.
</ms>


5.  ABE Requirements

[ms] Edorial nit: An alternative title would maybe "ABE Deployment Requirements".

   If the method is only deployed by some senders, and not by others,
   the senders that use this method can gain some advantage, possibly at
   the expense of other flows that do not use this updated method.
   Because this advantage applies only to ECN-marked packets and not to
   packet loss indications, in the worst case (e.g., an ABE-compliant
   TCP sender using beta_{ecn} = 1.0) the ECN-Capable bottleneck will
   still fall back to dropping packets, and the result is no different
   than if the TCP sender was using traditional loss-based congestion
   control.

[ms] beta_{ecn} = 1.0 can imply that a TCP sender does not react *at all* to ECN marks, right? If so, I would suggest to reword this section in order to avoid the expression "ABE-compliant" for the case beta_{ecn} = 1.0. For instance, the second sentence could be reworded to something like  "Because this advantage applies only to ECN-marked packets and not to packet loss indications, an ECN-Capable bottleneck will still fall back to dropping packets if an TCP sender using ABE is too aggressive, and the result is no different..."

   ABE also makes one congestion-response each RTT that congestion is
   signalled, and therefore there is no response to loss within the same
   round-trip time, since ABE has already made a reduction of the
   congestion window. ABE will however respond for each round-trip time
   that congestion continues to be signaled.

[ms] Editorial nit: These sentences are hard to parse.

   The result of this Internet experiment will include an investigation
   of cases such as the ones listed above, and be reported by
   presentation to the TCPM WG (or IESG) or an implementation report at
   the end of the experiment.

[ms] I am not sure if we really need this paragraph on process details, e.g., whether there will be a presentation. To me, it would be sufficient just to identify what cases and issues need to be investigated as part of the experiment. For what it is worth, as individual contributor, I think a TCPM presentation summarizing the outcome of the experiment would be sufficient for such a short document. But unless e.g. the IESG insists in such wording, I don't see a need to specify the process inside the document.