Re: ECN in QUIC connection migration

Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com> Mon, 12 February 2018 15:54 UTC

Return-Path: <mikkelfj@gmail.com>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 89B6312D838 for <quic@ietfa.amsl.com>; Mon, 12 Feb 2018 07:54:59 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.698
X-Spam-Level:
X-Spam-Status: No, score=-2.698 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, UNPARSEABLE_RELAY=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 xs7J9hdFthPT for <quic@ietfa.amsl.com>; Mon, 12 Feb 2018 07:54:55 -0800 (PST)
Received: from mail-io0-x22e.google.com (mail-io0-x22e.google.com [IPv6:2607:f8b0:4001:c06::22e]) (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 4730E12D830 for <quic@ietf.org>; Mon, 12 Feb 2018 07:54:55 -0800 (PST)
Received: by mail-io0-x22e.google.com with SMTP id k80so6385373ioe.13 for <quic@ietf.org>; Mon, 12 Feb 2018 07:54:55 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:in-reply-to:references:mime-version:date:message-id:subject:to :cc; bh=SMVBz35ouAIIn8YBKg8L+5JyEIrF3NC9LrmJsAo5q8g=; b=lHEYB9fm6sQjv8Mx+VnSMfJPQJFejjRie5hfWXwtS0/dut1Rcke3uymNzoDF6ZptZC 8qG8OcE+iqDoghJRH6RuVxqPtbLOiXjoEkjDttFfEvLVLGzNfRoAvGw0iHywNEl/nFa0 +1YaGS5BzG3PbJNvRFCZuP3zaSsLe/7TWftta3IYmj3IL7mb6x8YnzNXQx4hOOECUs0w xdnqsPaptiBsbHQ0ZpZAk4AJO5iJnkb4SaUVed0JRVMnTWDdiZhWn46ZPMYuDdufzRoE UKNz5eFe3cAc47iL5zIHcMLUwRUW3W2xY8d1B7BZMlXDWEe4pP8K77+27CKuljwEfBs7 l9kA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:in-reply-to:references:mime-version:date :message-id:subject:to:cc; bh=SMVBz35ouAIIn8YBKg8L+5JyEIrF3NC9LrmJsAo5q8g=; b=kS97KAsJTlYKQffBDIHNat+G5cUm/rdLUPwZeEIf21qr9XG5/B+I16dVBZDqxD3Tjr DPopoSfQYbmjZfoLvxXtiXwueR6i/XNCYGX16moFc6/a5LfA+JrJocWQSa1KHjgPRlq+ /o+lzkIGU4pMbu8zKTeEC5PWwWFxG6+LsSZtVkVFYCt67y+5FkwyMu+XEg9uaNO1gTNm EpBb2nLA9L2DzVVB++FL2HKT0NOuYuEonq3cMMNuDJnjYbnMhrEZpiQeiEnHW+CgA20A sJwWICGY2CgfjwgMGtviPjlSxXG+6/1jwh5OI2twyB4VsMmWKEhR7zRV0QRPg9sEKqfu zing==
X-Gm-Message-State: APf1xPCUUqbuM6ZAWLaC7tbIABFGkBpm+zfVALzPjMbdi1xGcK68EH7O ThNQi2R9Ih8ocO3eGtz/esHvUHtJntvjJEW+cSc=
X-Google-Smtp-Source: AH8x225f+oBUJd2gcfhT893P6p9AYJCLUxnYumiatj72au6OKuhRhcXXFooqE19sZayqveyICWd6Uhz9EtMTPYxjTsM=
X-Received: by 10.107.34.199 with SMTP id i190mr14189294ioi.297.1518450894275; Mon, 12 Feb 2018 07:54:54 -0800 (PST)
Received: from 1058052472880 named unknown by gmailapi.google.com with HTTPREST; Mon, 12 Feb 2018 07:54:53 -0800
From: Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com>
In-Reply-To: <79E89348-6C18-42A7-B378-487E84E7FF31@tik.ee.ethz.ch>
References: <HE1PR0702MB36252D61A7A51B848B5DA9E7C2FA0@HE1PR0702MB3625.eurprd07.prod.outlook.com> <639A6936-34F2-4C27-973A-EEAE878677FA@apple.com> <VI1PR0701MB2126E79A17DB715F6C91EA05B9F90@VI1PR0701MB2126.eurprd07.prod.outlook.com> <HE1PR0702MB36256D92C008302CBD908DE9C2F20@HE1PR0702MB3625.eurprd07.prod.outlook.com> <EFA61DBC-1F6F-49C2-906C-D0054F2341C7@tik.ee.ethz.ch> <CAN1APdcLO8HsT5cbbzHSvYBbBzz=3pfXLqm_2gLhZN-TiWVCbw@mail.gmail.com> <79E89348-6C18-42A7-B378-487E84E7FF31@tik.ee.ethz.ch>
X-Mailer: Airmail (420)
MIME-Version: 1.0
Date: Mon, 12 Feb 2018 07:54:53 -0800
Message-ID: <CAN1APdcCWhz3nZ9M-TLqCV7oJ0oT_nSHDOuq2cD5txoguRAXZA@mail.gmail.com>
Subject: Re: ECN in QUIC connection migration
To: Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch>
Cc: "ekinnear@apple.com" <ekinnear@apple.com>, QUIC WG <quic@ietf.org>, Ian Swett <ianswett@google.com>, Ingemar Johansson S <ingemar.s.johansson@ericsson.com>, Christian Huitema <huitema@huitema.net>, "De Schepper, Koen (Nokia - BE/Antwerp)" <koen.de_schepper@nokia-bell-labs.com>, "Lubashev, Igor" <ilubashe@akamai.com>
Content-Type: multipart/alternative; boundary="001a1140d94429bd04056505e633"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/3uAF4ly-Nj_4IiYwzRcdsJ9i1BY>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Feb 2018 15:55:00 -0000

I don’t know enough about ECN to have a qualified opinion, but I mean that,
for example, someone on the path might make a false impression of the
available bandwidth. It may be a general ECN discussion but I’d like to
know how it affects security of QUIC if made mandatory, just like there are
other sections in QUIC transport on potential attacks to be aware of.

http://web.cs.ucla.edu/~todd/research/sigcomm11.pdf
http://ieeexplore.ieee.org/document/6993126/


Kind Regards,
Mikkel Fahnøe Jørgensen


On 12 February 2018 at 16.43.43, Mirja Kühlewind (
mirja.kuehlewind@tik.ee.ethz.ch) wrote:

What do you mean by abuse scenarios? However, I would guess again that this
is not a quic specific discussion and should probably rather happen in
tsvwg which is the group that is maintain ECN in general.

Mirja


> Am 12.02.2018 um 16:42 schrieb Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com>:

>
> I haven’t followed the ECN discussion very closely, but I miss a
discussion of possible abuse scenarios and how to avoid them.
>
> On 12 February 2018 at 16.26.32, Mirja Kühlewind (
mirja.kuehlewind@tik.ee.ethz.ch) wrote:
>
>> Hi Ingemar,
>>
>> two points.
>>
>> I think it would be good to be as explicit as possible here, therefore I
would prefer if an endpoint that knows that it can not access the ECN IP
bits indicates this directly in the handshake. In this case no further
testing is needed.
>>
>> Further, the path testing itself is independent of QUIC and can be used
for any protocol. Moreover, it’s more complicated than just testing ECT. I
guess the general advice here is to remember which codepoints were send and
compare this to the feedback provided. If discrepancies are observed that
indicate that a middlebox has changed these bits, all packets should be
marked as no-ECT (while additional testing MAY be performed at any later
point in time). However, how exactly this testing should look like, should
not be specified in this doc (but more generally).
>>
>> Mirja
>>
>>
>> > Am 09.02.2018 um 08:34 schrieb Ingemar Johansson S <
ingemar.s.johansson@ericsson.com>:
>> >
>> > Hi Eric, Koen + others
>> >
>> > Thanks for the comments and the update. A question to the rest of the
audience, does the presented text explain sufficiently enough how ECN works
with connection migration ?
>> >
https://github.com/quicwg/base-drafts/wiki/ECN-in-QUIC#transport-draft-connection-migration
>> >
>> >
>> > /Ingemar
>> >
>> >
>> > From: De Schepper, Koen (Nokia - BE/Antwerp) [mailto:
koen.de_schepper@nokia-bell-labs.com]
>> > Sent: den 2 februari 2018 15:44
>> > To: ekinnear@apple.com; Ingemar Johansson S <
ingemar.s.johansson@ericsson.com>
>> > Cc: QUIC WG <quic@ietf.org>; Ian Swett <ianswett@google.com>;
Lubashev, Igor <ilubashe@akamai.com>; Christian Huitema <huitema@huitema.net>

>> > Subject: RE: ECN in QUIC connection migration
>> >
>> > Hi Ingemar,
>> >
>> > I also read again through the document, and had following comments:
>> >
>> > I replaced:
>> > “The ACK_ECN frame is used to convey ACKs when the ECN capability
exchange concludes that ECN should be used for the given connection.”
>> > Originally it sounds as if the counters are not echoed anymore if the
ECN capability check fails. I assume this was not the intention, but if it
is: First, we don’t have a protocol or decision point defined when that
condition is met (sender should let the receiver know in the next packet),
and second, I would always send the echo, as we might “try again later
(with another ECT?)”, or might decide to use the ECN bits differently
later.
>> >
>> > I also changed the text around the connection migration, I think
before Eric reviewed it. I made it such that every new path creates a new
connection state with an initialized congestion control state and ECN
counters (at least ECN counters reset to 0s). Not sure if this matches with
the other sections in the QUIC draft.
>> >
>> > I also had the thought whether it was really needed to have the 2
cases. I agree we should simplify, by just starting over and doing the
check unconditionally whether it was successful or not in a previous path.
>> >
>> > Regards,
>> > Koen.
>> >
>> > From: ekinnear@apple.com [mailto:ekinnear@apple.com]
>> > Sent: Friday, February 2, 2018 12:02 AM
>> > To: Ingemar Johansson S <ingemar.s.johansson@ericsson.com>
>> > Cc: QUIC WG <quic@ietf.org>; Ian Swett <ianswett@google.com>;
Lubashev, Igor <ilubashe@akamai.com>; Christian Huitema <huitema@huitema.net>;
De Schepper, Koen (Nokia - BE/Antwerp) <koen.de_schepper@nokia-bell-labs.com>

>> > Subject: Re: ECN in QUIC connection migration
>> >
>> > Hi Ingemar,
>> >
>> > This generally looks good to me!
>> > A few questions and observations:
>> >
>> > There are two unique cases:
>> >
>> > • ECN capability check successful at initial connection setup
>> > • ECN capability check failed at initial connection setup
>> >
>> > Are these actually any different in terms of action taken by an
endpoint?
>> > It seems like on the new network path the endpoint would go through
the same process of: (a) verify ECN capability and if successful to
whatever degree then (b) run the rest of the ECN machinery as appropriate.
>> >
>> > In other words, as long as you allow people to start using ECN upon
migration (in other words, to allow starting it after the initial
connection establishment), then the specifics for ECN with migration is
essentially one statement, which is “do the ECN process on each new network
path that you use”.
>> >
>> > Connection migration has impact on the number of reported CE marked
packets. A new connection state with new congestion control state and ECN
counters is instantiated at the sender and receiver. The ECN counters MUST
start from zero again.
>> >
>> > This seems fine to me, it’s inline with the rest of the congestion
control/loss recovery state that also needs to be reset for the new path.
>> >
>> > Given that each migration requires at least one exchange of packets at
the beginning (at the very least for address validation from the side of
the endpoint that didn’t migrate), it seems like that’s an excellent moment
to mark the packets and perform the ECN capability detection. Those packets
are also likely padded, etc. similar to initial packets since they’re on a
previously unused network path.
>> >
>> > I think the current proposed requirement of just using the “first”
packets and marking those is sufficient (and good to avoid any requirement
as to which frames are contained in those packets), since we are always
exchanging packets in both directions immediately after migration.
>> >
>> > This has the added benefit such that any endpoint “probing” possible
network paths could include the bits necessary to detect ECN capability on
the path being probed, so it could even know before migrating whether or
not it would be able to use ECN on that new path.
>> >
>> > Thanks,
>> > Eric
>> >
>> >
>> >
>> >
>> > On Feb 1, 2018, at 3:07 AM, Ingemar Johansson S <
ingemar.s.johansson@ericsson.com> wrote:
>> >
>> > Hi
>> > I have written up different aspects of connection migration and how it
plays with ECN.
>> >
https://github.com/quicwg/base-drafts/wiki/ECN-in-QUIC#transport-draft-connection-migration
>> >
>> > A caveat.. I am a bit unsure about the definition of connection
migration . My interpretation is that a client moves to a new IP address
due to e.g. a NAT rebind or switch from WiFi to cellular, right ?. Is a new
connection instantiated at a connection migration ?
>> >
>> > /Ingemar
>> >
>> > ==================================
>> > Ingemar Johansson M.Sc.
>> > Master Researcher
>> >
>> > Ericsson Research
>> > Network Protocols & E2E Performance
>> > Labratoriegränd 11
>> > 971 28, Luleå, Sweden
>> > Phone +46-1071 43042
>> > SMS/MMS +46-73 078 3289
>> > ingemar.s.johansson@ericsson.com
>> > www.ericsson.com
>> >
>> > You can't start a fire
>> > Worrying 'bout your little world falling apart
>> > Bruce Springsteen
>> > ==================================