Re: [tcpm] AccECN semantics

Brian Trammell <ietf@trammell.ch> Mon, 17 March 2014 09:25 UTC

Return-Path: <ietf@trammell.ch>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 018451A0051 for <tcpm@ietfa.amsl.com>; Mon, 17 Mar 2014 02:25:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level:
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
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 f2p6vt7BfuPa for <tcpm@ietfa.amsl.com>; Mon, 17 Mar 2014 02:25:03 -0700 (PDT)
Received: from trammell.ch (trammell1.nine.ch [5.148.172.66]) by ietfa.amsl.com (Postfix) with ESMTP id 6F15D1A004A for <tcpm@ietf.org>; Mon, 17 Mar 2014 02:25:02 -0700 (PDT)
Received: from [IPv6:2001:67c:10ec:3ec2:8000::56] (unknown [IPv6:2001:67c:10ec:3ec2:8000::56]) by trammell.ch (Postfix) with ESMTPSA id 0A1911A1311; Mon, 17 Mar 2014 10:24:17 +0100 (CET)
Content-Type: multipart/signed; boundary="Apple-Mail=_B30156E2-5395-4320-BAD5-9B2D20188AF4"; protocol="application/pgp-signature"; micalg="pgp-sha512"
Mime-Version: 1.0 (Mac OS X Mail 7.2 \(1874\))
From: Brian Trammell <ietf@trammell.ch>
In-Reply-To: <012C3117EDDB3C4781FD802A8C27DD4F260F5701@SACEXCMBX02-PRD.hq.netapp.com>
Date: Mon, 17 Mar 2014 10:24:15 +0100
Message-Id: <EFA2335D-4D00-4106-89F8-12D0AA904323@trammell.ch>
References: <012C3117EDDB3C4781FD802A8C27DD4F260F5701@SACEXCMBX02-PRD.hq.netapp.com>
To: "Scheffenegger, Richard" <rs@netapp.com>
X-Mailer: Apple Mail (2.1874)
Archived-At: http://mailarchive.ietf.org/arch/msg/tcpm/EV7QjCP9My1H54eqHTaImqNyzlw
Cc: "tcpm (tcpm@ietf.org)" <tcpm@ietf.org>
Subject: Re: [tcpm] AccECN semantics
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.15
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: <http://www.ietf.org/mail-archive/web/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: Mon, 17 Mar 2014 09:25:06 -0000

Hi Richard, all,

On 16 Mar 2014, at 12:17, Scheffenegger, Richard <rs@netapp.com> wrote:

> Hi Mirja, Brian, group,
> 
> I'm currently testing, trying to follow what Mirja and you have described here:
> 
> http://tools.ietf.org/html/draft-kuehlewind-tcpm-ecn-fallback-01
> 
> but extending it a bit into the ambiguous region against a ECN receiver.

Very cool. Backing all this up with information about reality in the network is essential. :)

FWIW, though the draft expired last week, we do intend to develop it further. I have a student project that started last week to revisit the proportion of usable and unusable endpoints among popular servers (the 2013 PAM paper), as well as to catalog ECN failure modes, and to determine the likelihood of mid-flow transition from ECN-usable to ECN-unusable as discussed in Vancouver. We intend to update the draft backed up by data produced by this work.

> RFC3168 stipulates that pure control packets MUST NOT have ECT (thus no CE) (section 6.1.4), but doesn't explicitly specify the receiver reaction, if a control packet is nevertheless received with CE...

It does point (non-normatively) in the direction of "future research":

                                      ... [m]echanisms for responding to
   congestion on the ACK-path are areas for current and future research.
   (One simple possibility would be for the sender to reduce its
   congestion window when it receives a pure ACK packet with the CE
   codepoint set).

> With one ECN TCP stack I happened to have under test, the receiver actually suppresses and conceals the CE information. 

Interesting to see the stack didn't take the hint there. :) "suppresses and conceals" means no ECE, no reduction, and no information to the application layer?

> IMHO, the receiver should not make assumptions or remove information (a path still using TOS rather than DiffServ might be the cause - but it's up to the sender to detect that misbehavior).

Given how many flows we observed on the open Internet that were clearly misusing the ECT bits, the receiver should probably always assume that the sender is broken.

> I think the requirement given in 3168 about control packets MUST NOT carry ECT is sound, it probably would have been better a SHOULD NOT; but IMHO, the receiver MUST reflect the ECT/CE once the session has negotiated ECN support - to allow future extensions without having to modify the receiver again.
> 
> However, this might make the accounting more complex, as CE marks on pure ACKs, while no data is being sent, don't necessarily have to invoke a CC reaction (other than ACK-CC) immediately.
> 
> Perhaps that should go into either AccEcn requirements, or one of the AccECN mechanism drafts?

Well, "mechanisms for responding to congestion on the ACK-path are areas for ... future research" so maybe splitting that work out into another draft might scope the work a bit better. AccECN seems more complete than any of this at the moment...

Cheers,

Brian