Re: Long Headers and Version Negotiation

Martin Duke <martin.h.duke@gmail.com> Fri, 05 January 2018 22:51 UTC

Return-Path: <martin.h.duke@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 E1D3812D88D for <quic@ietfa.amsl.com>; Fri, 5 Jan 2018 14:51:49 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 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_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=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 t3lcSGcKLNmD for <quic@ietfa.amsl.com>; Fri, 5 Jan 2018 14:51:47 -0800 (PST)
Received: from mail-wr0-x22e.google.com (mail-wr0-x22e.google.com [IPv6:2a00:1450:400c:c0c::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 00F4E120726 for <quic@ietf.org>; Fri, 5 Jan 2018 14:51:46 -0800 (PST)
Received: by mail-wr0-x22e.google.com with SMTP id w107so5528865wrb.9 for <quic@ietf.org>; Fri, 05 Jan 2018 14:51:46 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=h/V0XNYZBXjWub6uXTXXQsbkEPy4hVNHYjPA2Mvui1s=; b=vhKlTYnP5nP6GoAyAdwpEEIkxPvx6rLwSZQQc9Uc4AuNgL2uhgIbTe6Bgmy753uEUR kVDwiD3nTOSO27E1cPR/+w1An/ZdLSZD8+l5r63Xzk1q6CpAzMpwPsMz6HmEg7M4brzv XNW3/tTqHDZki7j/2crrh2M3hhaR0ywcooizm3uezEZpjr75ObnavXhi8+366cuyNjCb FROfni4gtoxwkq8XJdrGI1ofpdeSdiWhXIZgEmsfJpHfwk+boNsBZ/150mmJnnn5FtbL XUwiUR7xqkK5VQ/dn4l5DdpIUAN4kZz8iBee94BO0kL8KywTdMXE03qb3r8DVRXFhic3 f35Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=h/V0XNYZBXjWub6uXTXXQsbkEPy4hVNHYjPA2Mvui1s=; b=QcRvG9RfnAM360Fn/yHi4lEIBxRRIa6FzaKhxm5J6Ymn4JgMru74urT2UMMPqbsRtQ tOt1m7UZ8tIgb1eHP2SNiYU8Bmqn5uiPDeIcBA95UmCdFPnm/PChFRwn1O+oV2sHpT92 0cLi2V39gW+QYZakDdFpvjoh5mHM3fiDMTa7Qkax/vHClnb1WEY1Fiu0KDxjRQYPgEzL 5IX3r3GjOaiw5TxT/od3hXwRM0pg5pWKjvXooWPc1XefuaY6Fqa3iRXjDkFezr947NXL NnXyhKUrfmXDhb9aMsJLjmid/IzVC/5QLetVv5SOjgoAX1AgJXR6+EQDtr2kRvtzD0Hu ZFEg==
X-Gm-Message-State: AKGB3mJXVbLRLp7uVopGPGxn4NGD+aVjFrYQskql0eQbeS3a4HIZTxG9 o8c1SSFii6IYHaQGbIIXHyM+Rfc25ehWYUsprN8=
X-Google-Smtp-Source: ACJfBot9ee8+r/ZLuRIzSETGxTz8lv26BUAQiA5oZLJZH8phCN5hh8Pqb7U3C5c9sBYYywnmkR9A6JNDslt7TeerAP4=
X-Received: by 10.223.208.206 with SMTP id z14mr4185882wrh.109.1515192705491; Fri, 05 Jan 2018 14:51:45 -0800 (PST)
MIME-Version: 1.0
Received: by 10.223.128.1 with HTTP; Fri, 5 Jan 2018 14:51:45 -0800 (PST)
In-Reply-To: <BN6PR21MB01788D37BFE5700EB00F392AB31C0@BN6PR21MB0178.namprd21.prod.outlook.com>
References: <CAM4esxRroE5rOXEHgqJ-_5Vdm-=odN7VmWBweKQgTnT5pU87XA@mail.gmail.com> <BN6PR21MB01788D37BFE5700EB00F392AB31C0@BN6PR21MB0178.namprd21.prod.outlook.com>
From: Martin Duke <martin.h.duke@gmail.com>
Date: Fri, 05 Jan 2018 14:51:45 -0800
Message-ID: <CAM4esxRvb5-34kPGo4EHe00H-xC=dsi5zhy41z1K883QLurT-Q@mail.gmail.com>
Subject: Re: Long Headers and Version Negotiation
To: Nick Banks <nibanks@microsoft.com>
Cc: IETF QUIC WG <quic@ietf.org>
Content-Type: multipart/alternative; boundary="f4f5e80a2e34fa27a005620f4a0c"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/o38wWoO8KeG13Nk02cveJ2IrRws>
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: Fri, 05 Jan 2018 22:51:50 -0000

I agree. The only other alternative I can see is to make 0xff an invariant
for initial packets. I don't have a strong opinion one way or the other.

On Fri, Jan 5, 2018 at 2:46 PM, Nick Banks <nibanks@microsoft.com> wrote:

> If you are sending 0-RTT packets then you have connected to this server
> before and should be able to remember the version you used. The only issue
> then, is if the server stops supporting a particular version and then you
> try to reconnect. Either way, a server might want to have some throttling
> logic for VN packets sent out; but I don’t think it would be the end of the
> world if it didn’t.
>
>
>
> - Nick Banks
>
>
>
> *From:* QUIC [mailto:quic-bounces@ietf.org] *On Behalf Of *Martin Duke
> *Sent:* Friday, January 5, 2018 2:39 PM
> *To:* IETF QUIC WG <quic@ietf.org>
> *Subject:* Long Headers and Version Negotiation
>
>
>
> The invariants draft
> <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftools.ietf.org%2Fhtml%2Fdraft-thomson-quic-invariants-00&data=02%7C01%7Cnibanks%40microsoft.com%7Cd3a2449b9239497e80a608d5548d1eff%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636507887456170898&sdata=l1gMfIkx9QmJiJtkHRALPevafNru5A63IwiMsnUaj84%3D&reserved=0>
> only reserves the 0x80 and 0x40 codepoints in the first byte of the packet.
>
>
>
> The transport draft suggests that only initial packets should trigger
> version negotiation. However, the Initial Packet byte (0xff) is not
> invariant. So for version negotiation to work at all, servers must send VN
> packets for *any* long header type where the version is unsupported --
> otherwise, QUICv2 might select 0xe3 as the Initial Packet and v1 servers
> would ignore it.
>
>
>
> On the other hand, in 0RTT cases this might create a storm of VN packets
> if the version is wrong. I suppose clients are probably not sending 0RTT if
> they don't know the supported versions.
>
>
>
> Am I thinking about this correctly? If so, I'm happy to file an issue, and
> a PR if we agree that the correct solution is to reply with VN to all long
> headers with unsupported versions.
>
>
>
> - Martin Duke
>