Re: Differentiate between GQUIC and QUIC packets

Ian Swett <ianswett@google.com> Tue, 01 August 2017 13:09 UTC

Return-Path: <ianswett@google.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 2EB50132146 for <quic@ietfa.amsl.com>; Tue, 1 Aug 2017 06:09:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.701
X-Spam-Level:
X-Spam-Status: No, score=-2.701 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, RCVD_IN_DNSWL_LOW=-0.7, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.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 oAZw1ri26clp for <quic@ietfa.amsl.com>; Tue, 1 Aug 2017 06:09:14 -0700 (PDT)
Received: from mail-yw0-x22d.google.com (mail-yw0-x22d.google.com [IPv6:2607:f8b0:4002:c05::22d]) (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 8B22B132143 for <quic@ietf.org>; Tue, 1 Aug 2017 06:09:14 -0700 (PDT)
Received: by mail-yw0-x22d.google.com with SMTP id s143so9450528ywg.1 for <quic@ietf.org>; Tue, 01 Aug 2017 06:09:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=5PBC1IdAfUcZY/rdY03jTcJ1Dd17MKJSPF3p/seYlp8=; b=rhF6ytJJtZAP0Y/gLJrjvXnn8BtqYzLzaPN/g01Qg7oGCMfmF9DW8QjAFT7et07jbx rHDSbhN4tXxuiIx6O4L562pxo4MNkmQ0zqSM8m724Pgbgm4c1gRTTFAo4QQNhbU/0xQl GHbiCoPIevA7+nbp+ZLw146/9PpfZXHKHfXWCl3LtZU0E7uF7E9orxpMCVwGZroumaAI 36EqbQXXnkBJYo66HP1Dz1aynXjcVzpkjioI144UahDrVLeVcOgT0+DOeXDV3WCTQyMA 1+4VMGYvyIu7e15Cgy8pLSCWDzh93AAw/nI2oIV1Y/5w9wTW5LHd25Y9iKD4ZKDbzrUR RVyg==
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=5PBC1IdAfUcZY/rdY03jTcJ1Dd17MKJSPF3p/seYlp8=; b=PDhdcauK8k8tlKNWGNnz56oAO60hc9okytkOzBdWaSOIaWQplmEPmrvklfZQOnzJLH mSNrh29iyEerIO0g59qoByCXdwqccyBELJXaHGOvbh/L2u4nKQt0q0padbkc33RefEqy mAkxcQuyTmtKAvpi2z5Mg1zOwYSIGC30X0bZ1w+b3BgBNKZTtnS9TfCoCTactBbPs6yY sfVv6nRAnT3U9Sx0Z0EvyHS1kNaT3hlj86zlkMlPIzzv6BzBeiWrUO8803/rXDaZR8QX XvFzN8kKFkWweQDlZDcT4xX7iKOqdI6SIxO7faRolSmqHN3lJd+duy6dtGbK0E7AH2J4 NvwA==
X-Gm-Message-State: AIVw1108Nh5BuUKo8vlNJ/rn3dA+YuvZS107HDy3Vy762ix1tq7edKjR Z7r2rFVURGpoxZuVEFnG9tGsuF1Ns8Yyqxd37g==
X-Received: by 10.129.51.67 with SMTP id z64mr16560823ywz.370.1501592953519; Tue, 01 Aug 2017 06:09:13 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.37.217.137 with HTTP; Tue, 1 Aug 2017 06:08:52 -0700 (PDT)
In-Reply-To: <20170801125031.GA2742@ubuntu-dmitri>
References: <20170801032502.GA28788@ubuntu-dmitri> <20170801032805.GA29894@ubuntu-dmitri> <CAKcm_gNQFEmws7wX5vfKCZ4QHGTHRq=Y4GxO09GxjW66dRPRig@mail.gmail.com> <20170801125031.GA2742@ubuntu-dmitri>
From: Ian Swett <ianswett@google.com>
Date: Tue, 01 Aug 2017 09:08:52 -0400
Message-ID: <CAKcm_gOK5K=jcVG3V4moTpV0-KeLAWMjtvAqX5aZt6voo4kBng@mail.gmail.com>
Subject: Re: Differentiate between GQUIC and QUIC packets
To: Dmitri Tikhonov <dtikhonov@litespeedtech.com>
Cc: IETF QUIC WG <quic@ietf.org>
Content-Type: multipart/alternative; boundary="001a114151969806cc0555b0da19"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/v96I0nXDae312gq39vv9p-lCSRA>
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: Tue, 01 Aug 2017 13:09:16 -0000

On Tue, Aug 1, 2017 at 8:50 AM, Dmitri Tikhonov <dtikhonov@litespeedtech.com
> wrote:

> On Tue, Aug 01, 2017 at 08:31:11AM -0400, Ian Swett wrote:
> > Good question.  The plan is for Google to support both during a
> transition
> > period and the general approach is similar to what you outlined above.
>
> We at LiteSpeed plan to support both as well, hence my query. :)
>
> > The key to resolving the ambiguity is that gQUIC always requires a
> > connection ID from the client to the server, and the intent is to
> > continue to require that for IETF QUIC.
>
> AFAICT, this requirement is not documented in the latest
> [draft-ietf-quic-transport].
>

The decision about whether to require a connection ID is something
negotiated during the handshake, so client and server get to choose whether
they require it.  Particularly during the transition, it's much easier to
require it from the client to server.

See the truncate_connection_id transport parameter in 7.3.1
<https://tools.ietf.org/html/draft-ietf-quic-transport-04#section-7.3.1>.


>
> > Google's server uses the connection ID to lookup the connection,
> > so I believe we'd just discard an incoming packet with no connection ID.
>
> I was hoping to avoid performing a hash lookup...  But what you're
> saying is that this is necessary to resolve ambiguous packets.
>

You can rely on 5-tuple once the connection is established, but it wouldn't
handle NAT rebinding by itself.

>
> > On the client side, it knows what version is being spoken, so there's no
> > ambiguity.
>
> *nods*
>
> Speaking of clients: is it the plan for Chrome to support both GQUIC
> and IETF QUIC during the transition period?
>
>
Chrome is in the process of migrating towards IETF QUIC, but there is a
plan to support at least two versions during the transition.

  - Dmitri.
>