[tcpm] way forward (was Re: ECN++: Whether to allow ECT/CE marking of pure ACKs and what response to recommend to feedback reporting that a pure ACK was CE marked.
marcelo bagnulo braun <marcelo@it.uc3m.es> Fri, 13 October 2017 11:42 UTC
Return-Path: <marcelo@it.uc3m.es>
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 A65B61326FE for <tcpm@ietfa.amsl.com>; Fri, 13 Oct 2017 04:42:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.601
X-Spam-Level:
X-Spam-Status: No, score=-2.601 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=it-uc3m-es.20150623.gappssmtp.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 VYtx0YuyeB4N for <tcpm@ietfa.amsl.com>; Fri, 13 Oct 2017 04:42:18 -0700 (PDT)
Received: from mail-wm0-x230.google.com (mail-wm0-x230.google.com [IPv6:2a00:1450:400c:c09::230]) (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 38CC412EC30 for <tcpm@ietf.org>; Fri, 13 Oct 2017 04:42:18 -0700 (PDT)
Received: by mail-wm0-x230.google.com with SMTP id l68so21015392wmd.5 for <tcpm@ietf.org>; Fri, 13 Oct 2017 04:42:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=it-uc3m-es.20150623.gappssmtp.com; s=20150623; h=subject:to:references:cc:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=dAi1xAiFDNb3/sY8Ruj/ybRK9Ny63WqnHwoWRCFaA30=; b=uSog+sFFCSdLbXMedZSQOqJXVFKbijSjZL+eyUxXKSdcLjotq4c8ADvxRJhrzkAPG9 yhg7j0QFH4SAdgzD38ZU6NrvcZI1Y8duvf/+Y7otzMoFW023w90/QxescTJyv6thIJgD nu+xc6PNEPXl3m3/OUVHWvqKppqN6lC/uP/L0wTQd3iGd3RFQI6tkp8ISSYGBSMdp7ZD X3xOJmXb08kVgtjDBMbCzqFPp5WKwPi2cgdbnHd1UPSCtLg1qZkQkTDxu2Fm+/3Ruq5l 8I3M7eGNptRgCMtjOhi7+ACiJKqBOa+r/rzhFIzQgCCRhJyHwR3tGeRr6CiV7Obyo2Cx GBWQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:cc:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=dAi1xAiFDNb3/sY8Ruj/ybRK9Ny63WqnHwoWRCFaA30=; b=Jzk+NbhWwwUc6Q44GOIeaBMZQpmjixoCp/6+KcPpeyCVpiBI0++rIR/Kg+7p5tJDyr DO2lHocfwILv6+7/gTj5fN6GqZou1jMTtPOjbILvwPJqARgN76OjzcPpajfeup14F/x/ 1Jap3X4jsZMWr+xOWzzzNXVIEZ8IzX+t5bokbCI84B+tQM5YFL2einxY1kgf+wTt4Uhn JEbRJQ3/ih2cxNutvkTudv1tbTHtleQVc41XTt+biFqALU11EmSQVpGMC2d4oGVHHzuj sOMVLwlwakSttJiP/hLKzWWxa9boZesVSi1/Dli8SComk0g4RSyGiNeY+ieQQD7mSwob zTZg==
X-Gm-Message-State: AMCzsaUcxmk7HCAyok8rHedb2nsIh4iCtV344AdeIveBEfDGy+KyjvTK Gy3MwfHmDKkiI98JEGTbVC1CRA==
X-Google-Smtp-Source: ABhQp+Qkgh3RlAHdz1Mp9HQAFuTDwi/SEnS3qWR+Zjdf/Zsa3mzNpwNY3jLH08kDrsiBF1zlAz8lJw==
X-Received: by 10.28.45.5 with SMTP id t5mr1179350wmt.108.1507894936464; Fri, 13 Oct 2017 04:42:16 -0700 (PDT)
Received: from Macintosh-6.local ([2001:720:410:1010:1472:3c39:d26b:5130]) by smtp.gmail.com with ESMTPSA id l73sm1055298wmd.47.2017.10.13.04.42.15 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 13 Oct 2017 04:42:15 -0700 (PDT)
To: Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch>
References: <839cc83c-f060-f812-c8e7-a2530798d6ee@it.uc3m.es> <22CB67D2-B6BE-4AF2-8FBD-68C9F3F91F11@tik.ee.ethz.ch> <76f10b55-0538-0832-3b58-5226ee39959e@it.uc3m.es> <62e06c68-3b97-ce39-558f-20189775b00c@tik.ee.ethz.ch>
Cc: tcpm IETF list <tcpm@ietf.org>, Jana Iyengar <jri@google.com>, Anna Brunstrom <anna.brunstrom@kau.se>
From: marcelo bagnulo braun <marcelo@it.uc3m.es>
Message-ID: <f3419c07-4f0b-c50a-3b2b-8efe4c601c74@it.uc3m.es>
Date: Fri, 13 Oct 2017 13:42:14 +0200
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
MIME-Version: 1.0
In-Reply-To: <62e06c68-3b97-ce39-558f-20189775b00c@tik.ee.ethz.ch>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/4OUKmhCKNyzSDEUOPsTMcSkz_ro>
Subject: [tcpm] way forward (was Re: ECN++: Whether to allow ECT/CE marking of pure ACKs and what response to recommend to feedback reporting that a pure ACK was CE marked.
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: Fri, 13 Oct 2017 11:42:22 -0000
El 13/10/17 a las 12:44, Mirja Kühlewind escribió: > > > Anyway we seem to agree below on using ECN for pure ACKs only with > AccECN, right? > I am ok with that, other peopel feel this is a good way forward? Regards, marcelo > Mirja > > >> In AccECN, the bias can be less, i think, because since the pure ACK has >> not data, the amount of bits that experienced congestion is small, so >> the bias is small. This is the reason why i think it is more acceptable >> to have this behaviour with AccECN than with no AccECN. >> >> So, my understanding is that the options are >> - not ECN marking of pure ACKs, which results in higher loss probability >> - marking pure ACKs but not responding to congestion, bad precedent >> - marking pure ACKs and responding to congestion, bias towards >> decreasing the CWND >> - marking pure ACKs, responding to congestion and adding some way to >> increase the CWND, complicated and inaccurate. >> >> So, from my side, I think your proposal of only supporting ECN marking >> of pure ACK when AccECN is supported seems a good trade-off, while not >> perfect, may be a good way forward >> >>> If there is a congestion marking that means the link is congested >>> and you should react to it. Now the question is what’s the right >>> reaction, and there multiple cases here: >>> >>> 1) You send pure ACKs interleaved with data packets that means your >>> congestion window might be large and any indicate of congestion >>> should trigger a congestion control reaction accordingly. >>> >>> 2) You only send pure ACKs; in this case your congestion window >>> should reduce to min_win sooner or later anyway; if there is >>> congestion this might happen a bit quicker but if there is >>> congestion and you already know about this, you should also not just >>> resume sending with your previous rate. Then if you are at min_cwnd >>> you cannot reduce it any further, therefore you MAY consider using >>> AckCC in this case, or more generally speaking apply some algorithm >>> increase your delayed ack factor. >> >> See above, the concern here is the biased introduced towards reducing >> the CWND. >> >>> I really don’t think that increasing the congestion window based on >>> ACK is even a possible option. You don’t get ACKs for ACKs so you >>> never know if an ACK was successfully received. That means you don’t >>> even have any information that would allow you to react on. >> >> You do get some idea of what ACKs got through, but i agree that given >> the cumulative nature of ACKs, some acks can get lost undetected. >> I agree this is not perfect, but not of the options are. >> That being said, I also think that this option introduces complexity >> with little benefit, so if all solutions are imperfect, we should at >> least choose one that is at least simple. >> >> Regards, marcelo >> >>> Mirja >>> >>>> Am 09.10.2017 um 12:34 schrieb marcelo bagnulo braun >>>> <marcelo@it.uc3m.es>: >>>> >>>> Hi, >>>> >>>> Regarding, draft-ietf-tcpm-generalized-ecn, we still have the open >>>> issue regarding whether to allow ECT/CE marking in pure acks and >>>> what response to reccomend if a pure ack encountered congestion. >>>> >>>> After considering the discussion in the last meeting and in the ml, >>>> we propose the following text in the draft: >>>> >>>> --------------------- >>>> >>>> For the experiments proposed here, the TCP implementation will set >>>> ECT on pure ACKs. It can ignore the requirement in section 6.1.4 of >>>> RFC 3168 to set not-ECT on a pure ACK. >>>> >>>> A host that sets ECT on pure ACKs SHOULD respond to the congestion >>>> signal resulting from pure ACKs being marked with the CE codepoint. >>>> The specific response will need to be defined as an update to each >>>> congestion control specification. Possible responses to congestion >>>> feedback include regulating the pure ACK rate (see AckCC [RFC5690]) >>>> or reducing the congestion window (CWND). >>>> >>>> However, if the congestion response implemented reduces the CWND >>>> upon the report of CE marking of Pure ACKs, then the congestion >>>> control algorithm must also increase the CWND upon delivery of pure >>>> ACKs without a CE mark, to avoid a bias in the congestion control >>>> algorithm. >>>> >>>> (We can also include some of the description of how to do this >>>> based on the text below for RFC3168 and AccECN in an appendix.) >>>> >>>> --------------------- >>>> >>>> Some background about this proposal: >>>> >>>> First of all, it's worth reminding that without ECN++, TCP >>>> currently is not required to detect loss of pure ACKs and is not >>>> required to react to them. >>>> The current draft states that it is allowed to ECT/CE mark the pure >>>> ACKs and that: >>>> " A host that sets ECT on pure ACKs MUST reduce its congestion >>>> window >>>> in response to any congestion feedback, in order to regulate >>>> any data >>>> segments it might be sending amongst the pure ACKs. It MAY also >>>> implement AckCC [RFC5690] to regulate the pure ACK rate, but >>>> this is >>>> not required. " >>>> >>>> The feedback we received in the Prague meeting was: >>>> >>>> - It is valuable to allow ECT/CE marking of pure ACK to avoid high >>>> drop rate when there is congestion. There is a strong case for >>>> ECN-capable pure ACKs as they are critical for connection performance. >>>> >>>> - The sender of the pure acks must respond (somehow) to the >>>> congestion signal resulting from getting CE marks in pure ACKs. >>>> Recommending not to respond to a received congestion signal seem >>>> like a bad recommendation to make in general and setting a bad >>>> precedent. >>>> >>>> There are two possible responses: reduce CWND (somehow) and/or ACK >>>> congestion control (ACK CC) (as defined in RFC5690). >>>> >>>> - The feedback regarding ACK CC is that it is too complex and with >>>> too many corner cases to mandate its implementation, so we should >>>> not mandate it. >>>> >>>> - Regarding reducing the CWND, there were several arguments against >>>> doing this. A very compelling argument is that since we do not >>>> increase the CWND when pure ACKs are successfully delivered, if we >>>> reduce the CWND when they are CE marked, then we have a strong bias >>>> towards reducing the CWND. In particular, in the case the one >>>> endpoint is only sending pure ACKs, the likely result is that the >>>> CWND will be 1 after a while. >>>> >>>> It is possible to address this issue by allowing the increase of >>>> CWND in case there are no CE marks in the pure ACKs. >>>> >>>> A possible approach for this would be the following: >>>> >>>> - if ECN++ is being used with RFC3168 ECN, then we simply do what >>>> is done with data packets, i.e. if during a RTT no ECE is received, >>>> the sender increases its CWND and if the sender receives one or >>>> more ECE marks, then it reduces its CWND. The only difference is >>>> that we include pure ACKs as well. >>>> >>>> - if ECN++ is used with AccECN, the situation is slightly more >>>> complex because the sender of the pure ACKs needs to keep track of >>>> the pure ACKs that got CE marked and those that didnt. But the >>>> sender of the pure ACKs knows how many pure ACKs it has sent. The >>>> other endpoint includes pure ACKs in the packet count of CE marked >>>> packets that is reported using AccECN, then the sender of the pure >>>> ACKs can figure out how many pure ACKs have been CE marked and how >>>> many were not. It then can feed this information to the congestion >>>> control algorithm. >>>> >>>> (The limitation of this approach is that lost pure ACKs are >>>> accounted as delivered pure ACKs without any CE marks, meaning that >>>> in the case of severe congestion, when pure ACKs are being dropped, >>>> the congestion control algorithm will include those lost pure ACK >>>> packets as delivered and increase the CWND the corresponding share. >>>> Since pure ACKs are small packets, it is not clear how much of a >>>> problem is this. Similarly (but worse), with 3168 feedback, even if >>>> detecting CE on pure ACKs, if pure ACKs are lost and there's no CE >>>> on a pure ACK within an RTT, cwnd will continue to increase. >>>> However, in both cases, it is still better with ECN++, because >>>> without ECN++ there was no response to either dropped or CE-marked >>>> pure ACKs.) >>>> >>>> It might be useful for the congestion response to be proportionate >>>> to an estimate of the bytes marked rather than packets marked, by >>>> adding an assumed header size on the wire to the size of every >>>> segment (otherwise pure ACKs would have zero size and not require >>>> any response). This would be up to the implementation. >>>> >>>> >>>> Note that the response to the congestion signal is outside the >>>> scope of draft-ietf-generalized-ecn, because it depends on the >>>> specific CC, e.g. Reno, Cubic, Compound, etc) >>>> >>>> That being said, we should include some guidance of what type of >>>> response is sensible, particularly for the standards track CC >>>> [RFC5681]. >>>> >>>> thoughts? >>>> >>>> Bob & Marcelo >>>> >>> >> >
- [tcpm] ECN++: Whether to allow ECT/CE marking of … marcelo bagnulo braun
- Re: [tcpm] ECN++: Whether to allow ECT/CE marking… Mirja Kühlewind
- Re: [tcpm] ECN++: Whether to allow ECT/CE marking… marcelo bagnulo braun
- Re: [tcpm] ECN++: Whether to allow ECT/CE marking… Jeremy Harris
- Re: [tcpm] ECN++: Whether to allow ECT/CE marking… Mirja Kühlewind
- [tcpm] way forward (was Re: ECN++: Whether to all… marcelo bagnulo braun