Subject: Re: [tcpm] New Version Notification for draft-ietf-tcpm-accurate-ecn-11.txt

From: Bob Briscoe <[email-masked]>
Date: Fri, 6 Mar 2020 03:33:50 +0000

tcpm,

You will have seen draft-10 then draft-11 in quick succession, as 
already explained.
The diffs from draft-09 to -10 were those that had built up since Jul'19.
The diffs from draft-10 to -11 were solely those for the change from EXP 
track to STD track.
Draft-10 doesn't seem to display in the list of links to each version, 
but you can manually write the URL.

The main technical changes in draft-10 were numerous - many will be 
recognized from list discussion since Jul'19.
Particular thanks to Ilpo Järvinen who identified many niggles (and 
their solutions) while writing and testing a full Linux implementation 
(based on Olivier Tilmans's, in turn based on Mirja's).

  * Allowed 2 different orders of the fields in the AccECN Option
  * Reflect IP-ECN field of SYN/ACK only on ACK of SYN/ACK, not also on
    first data packet
      o greatly simplifies implementation, esp with TFO.
      o repeating on first data packet was for reliable delivery, which
        is now achieved with ACE counter (see next bullet)
  * Increment the ACE counter if CE on SYN/ACK (but still not if CE on SYN)
      o Reliable delivery of feedback of CE on SYN/ACK
  * Redefine 'first packet' as first to arrive, not first in sequence in
    2 cases:
      o Handshake reflection on the ACK of the SYN/ACK
      o In the test for zeroing of ACE
      o Reason: greatly simplifies implementation
  * if ACE could have wrapped more than once, SHOULD assume “safest
    likely case”
    not "conservatively assume" it did cycle
      o Reason: avoid unnecessary hit on performance
  * More robustness (with flexibility) in rules for when to include an
    AccECN Option
      o Change-triggered AccECN Option as SHOULD, not MUST
      o SHOULD follow change-triggered AccECN Option with another
        (removes ambiguity if ACK thinning or loss)
      o when same counter continues to increment, SHOULD consistently
        include it every n ACKs
      o Made rule about precedence of SACK conditional (max 2 SACK blocks)
      o MAY exclude counters that have not changed for the whole connection
  * Allowed an AccECN server not to implement RFC3168 ECN (all clients
    still have to)
  * Precluded mixed capability negotiation from either end
      o reduces freedom to choose SYN & SYN/ACK fall-back strategies
      o to prevent cases where each end's outcome after handshake could
        be inconsistent (in reordering corner-cases)
  * Reserved the codepoint combination used by the historic nonce case
  * Merged in a number of points from RFC3168 that we hadn't covered
      o (a whole new subsection about obligations to do with ECN)
  * Explicit about checking "acceptable packets"
      o before counting their ECN markings or before counting the ECN
        feedback they carry
  * Required retransmitted Fallback SYN to use same ISN
      o allows servers to detect ECN downgrade SYN attacks
  * Handled corner cases like In-window SYN during TIME-WAIT

Bob

On 06/03/2020 02:24, [email-masked] wrote:
> A new version of I-D, draft-ietf-tcpm-accurate-ecn-11.txt
> has been successfully submitted by Bob Briscoe and posted to the
> IETF repository.
>
> Name:		draft-ietf-tcpm-accurate-ecn
> Revision:	11
> Title:		More Accurate ECN Feedback in TCP
> Document date:	2020-03-05
> Group:		tcpm
> Pages:		58
> URL:            https://www.ietf.org/internet-drafts/draft-ietf-tcpm-accurate-ecn-11.txt
> Status:         https://datatracker.ietf.org/doc/draft-ietf-tcpm-accurate-ecn/
> Htmlized:       https://tools.ietf.org/html/draft-ietf-tcpm-accurate-ecn-11
> Htmlized:       https://datatracker.ietf.org/doc/html/draft-ietf-tcpm-accurate-ecn
> Diff:           https://www.ietf.org/rfcdiff?url2=draft-ietf-tcpm-accurate-ecn-11
>
> Abstract:
>     Explicit Congestion Notification (ECN) is a mechanism where network
>     nodes can mark IP packets instead of dropping them to indicate
>     incipient congestion to the end-points.  Receivers with an ECN-
>     capable transport protocol feed back this information to the sender.
>     ECN is specified for TCP in such a way that only one feedback signal
>     can be transmitted per Round-Trip Time (RTT).  Recent new TCP
>     mechanisms like Congestion Exposure (ConEx), Data Center TCP (DCTCP)
>     or Low Latency Low Loss Scalable Throughput (L4S) need more accurate
>     ECN feedback information whenever more than one marking is received
>     in one RTT.  This document specifies a scheme to provide more than
>     one feedback signal per RTT in the TCP header.  Given TCP header
>     space is scarce, it allocates a reserved header bit, that was
>     previously used for the ECN-Nonce which has now been declared
>     historic.  It also overloads the two existing ECN flags in the TCP
>     header.  The resulting extra space is exploited to feed back the IP-
>     ECN field received during the 3-way handshake as well.  Supplementary
>     feedback information can optionally be provided in a new TCP option,
>     which is never used on the TCP SYN.
>
>                                                                                    
>
>
> Please note that it may take a couple of minutes from the time of submission
> until the htmlized version and diff are available at tools.ietf.org.
>
> The IETF Secretariat
>
>

-- 
________________________________________________________________
Bob Briscoe                               http://bobbriscoe.net/