Re: [quicwg/base-drafts] Proposal for adding ECN support to QUIC. (#1372)
Martin Thomson <notifications@github.com> Tue, 12 June 2018 23:09 UTC
Return-Path: <noreply@github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 62E5A130E75 for <quic-issues@ietfa.amsl.com>; Tue, 12 Jun 2018 16:09:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.009
X-Spam-Level:
X-Spam-Status: No, score=-8.009 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=github.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 1nqEFDIinZ-m for <quic-issues@ietfa.amsl.com>; Tue, 12 Jun 2018 16:09:46 -0700 (PDT)
Received: from out-4.smtp.github.com (out-4.smtp.github.com [192.30.252.195]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E4EE5128CF3 for <quic-issues@ietf.org>; Tue, 12 Jun 2018 16:09:45 -0700 (PDT)
Date: Tue, 12 Jun 2018 16:09:44 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1528844985; bh=AEglGdNo2Eeqpeoc4PnkWi+xSTiAsDSzwmE5xwSWh7A=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=x1+oFsEcX7zHi0xU/2lUzzJqsijQUpC9V4XEhn3lZsjkNgk6W6q9RiwEIvtVHZs5s psnnvRA0+Wbt4eWkLTAfwnDatpV8lf5HZlvwpmb2tVwWXIaz0GrBFrXF6POMdPEKQQ Uy4+svta+YO7IMWRXu7WHfYz/tMXlN3LH1n+67Ok=
From: Martin Thomson <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4abef3261ec607721b99bc981eb085ddc6aff6a55af92cf00000001173814b892a169ce13656182@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/1372/review/128169112@github.com>
In-Reply-To: <quicwg/base-drafts/pull/1372@github.com>
References: <quicwg/base-drafts/pull/1372@github.com>
Subject: Re: [quicwg/base-drafts] Proposal for adding ECN support to QUIC. (#1372)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5b2052b8f162f_7bd12adac5e50f5499415"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: martinthomson
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/sse0KDhxjs4vaLZT5aoweByMThs>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.26
List-Id: Notification list for GitHub issues related to the QUIC WG <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Jun 2018 23:09:50 -0000
martinthomson commented on this pull request. > Details of how TLS is integrated with QUIC is provided in more detail in {{QUIC-TLS}}. ## Transport Parameters -During connection establishment, both endpoints make authenticated declarations -of their transport parameters. These declarations are made unilaterally by each -endpoint. Endpoints are required to comply with the restrictions implied by -these parameters; the description of each parameter includes rules for its -handling. +During connection establishment, both endpoints make authenticated +declarations of their transport parameters. These declarations are made +unilaterally by each endpoint. Endpoints are required to comply with the +restrictions implied by these parameters; the description of each +parameter includes rules for its handling. + Please keep to one blank line between paragraphs. > @@ -1410,6 +1416,68 @@ a single packet. In TLS, the Retry packet type is used to carry the HelloRetryRequest message. +## ECN capability check {#ecn-capability-check} Title Case for Headings > @@ -2882,6 +3020,83 @@ by a client in protected packets, because it is certain that the server is able to decipher the packet. +## ACK_ECN Frame {#frame-ack-ecn} + +A QUIC connection MUST keep counters for each ECN codepoint, recording the +number of packets that were received with the corresponding ECN codepoint in +the IP header. If the header is not readable from the application, the +codepoint 00 (Not-ECT) MUST be assumed. + +ACK_ECN Frame MUST be used when when an endpoint is acknowledging a packet were +the IP header ECN field was marked as ECT(0), ECT(1) or ECN-CE when received. oxford comma > @@ -4196,6 +4410,21 @@ limit mitigates the effect of the stream commitment attack. However, setting the limit too low could affect performance when applications expect to open large number of streams. +## Explicit Congestion Notification Attacks + +An on-path attacker may manipulate the value of the field, affecting the +congestion avoidance behavior of the sender. By clearing any CE marks the +connection can help drive a bottle neck queue into a loss regime. By setting Removing any ECN-CE marking causes senders to maintain or increase their sending rate beyond that the path can sustain, which will eventually result in loss. Adding an ECN-CE marking causes senders to reduce their sending rate. > +| Number of ECT(0) marked packets (i) ... ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| Number of ECT(1) marked packets (i) ... ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| Number of ECN-CE marked packets (i) ... ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +~~~ +{: #ECN-BLOCK-FIG title="ECN Block"} + + +### ECN counters + +The receiver side should implement three 64-bit counters that are copied to the +ECN block when an ACK_ECN frame is generated: + +ECT_0: Please make these match the diagram. "ECT(0) Count" might be more concise. > + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| Number of ECT(0) marked packets (i) ... ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| Number of ECT(1) marked packets (i) ... ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +| Number of ECN-CE marked packets (i) ... ++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +~~~ +{: #ECN-BLOCK-FIG title="ECN Block"} + + +### ECN counters + +The receiver side should implement three 64-bit counters that are copied to the +ECN block when an ACK_ECN frame is generated: Rather than phrase this as "implement these counters" just define the fields in the frame. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/quicwg/base-drafts/pull/1372#pullrequestreview-128169112
- Re: [quicwg/base-drafts] Proposal for adding ECN … Martin Thomson
- Re: [quicwg/base-drafts] Proposal for adding ECN … janaiyengar
- Re: [quicwg/base-drafts] Proposal for adding ECN … Martin Thomson
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Lars Eggert
- Re: [quicwg/base-drafts] Proposal for adding ECN … ianswett
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … ianswett
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Martin Thomson
- Re: [quicwg/base-drafts] Proposal for adding ECN … Kazuho Oku
- Re: [quicwg/base-drafts] Proposal for adding ECN … Martin Thomson
- Re: [quicwg/base-drafts] Proposal for adding ECN … janaiyengar
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … mirjak
- Re: [quicwg/base-drafts] Proposal for adding ECN … ianswett
- Re: [quicwg/base-drafts] Proposal for adding ECN … mirjak
- Re: [quicwg/base-drafts] Proposal for adding ECN … mirjak
- Re: [quicwg/base-drafts] Proposal for adding ECN … ianswett
- Re: [quicwg/base-drafts] Proposal for adding ECN … mirjak
- Re: [quicwg/base-drafts] Proposal for adding ECN … Kazuho Oku
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Kazuho Oku
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … ianswett
- Re: [quicwg/base-drafts] Proposal for adding ECN … mirjak
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … ianswett
- Re: [quicwg/base-drafts] Proposal for adding ECN … Kazuho Oku
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … ianswett
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … ianswett
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Martin Thomson
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Lars Eggert
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … ianswett
- [quicwg/base-drafts] Proposal for adding ECN supp… Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … IngJohEricsson
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Martin Thomson
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Magnus Westerlund
- Re: [quicwg/base-drafts] Proposal for adding ECN … Kazuho Oku
- Re: [quicwg/base-drafts] Proposal for adding ECN … Lars Eggert