Hidden connection spawning

Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com> Thu, 26 July 2018 06:32 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 94B19130DFC for <quic@ietfa.amsl.com>; Wed, 25 Jul 2018 23:32:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.997
X-Spam-Level:
X-Spam-Status: No, score=-1.997 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, UNPARSEABLE_RELAY=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 C7Y3ceG7YBan for <quic@ietfa.amsl.com>; Wed, 25 Jul 2018 23:31:59 -0700 (PDT)
Received: from mail-io0-x233.google.com (mail-io0-x233.google.com [IPv6:2607:f8b0:4001:c06::233]) (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 54D26130DDA for <quic@ietf.org>; Wed, 25 Jul 2018 23:31:59 -0700 (PDT)
Received: by mail-io0-x233.google.com with SMTP id l14-v6so477611iob.7 for <quic@ietf.org>; Wed, 25 Jul 2018 23:31:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:mime-version:date:message-id:subject:to; bh=Uz8Rv6iAlvQ+tZIOv6mzmCuHhCF62hWj9cGhwF8gpG4=; b=ZMo/Wu5mesyYfpUAf/KRBO26cthykFPLsdqd3gdhiAWBHxVFW7I5DR9c8MjeGNloxV hKgoiJbhoJ9kvx9pB1hl09JZ/dpV/uvsZyVoUSwmO7kSvuE9W4c+WM8vj/PIrvNA6c1L U2+V4clAGXc5JuLE9WRW1LWI9Yh+uf4WqslBfalBfxRwi2oubIlAcFKnGEEJ6IWFK4Yf a+tyOcY2uJG8dU2wEqBxazIl4ABLG8AXpJnys8kcsGTYYqX522MA8K2sp71cMSRy+q9O 9uFuJQFWOxUXTPQEZYOC4ZWuwU71jfyqDxgyt0n7ZUKFVMvINMm+UjVp5Ar/9bQAsVX3 IAzA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:mime-version:date:message-id:subject:to; bh=Uz8Rv6iAlvQ+tZIOv6mzmCuHhCF62hWj9cGhwF8gpG4=; b=MEc/KLKB8bwHJFkyF5hRq8umDO0TiXht5keiI8V9dAKXmoct4nuc42GyVhiC3O6ore 63ne957tl4uF7PLWaZu/V1vpepXZznH1k57fPLddYo5firTV0BLQgsu3zouJYrts/jAd IoUE0PVk1UOtUyAq9oVj0reJ9/FJqtGfsXwt2p5FnAIA2AUUOkdS0+sviczpnzufCjvQ 61FpA0JUrlzpC2sQ06527TCmg5UYTX4RhRLMkNs4smmeEl52L9zMzMqxictJoJq5DhJv FkpfnYlbiFX4ENdbisDTWgO9GFGjvFXrHKA88rHuaF/1Fvx/CHOIlETEy+1KcxPjdYfe Xnyg==
X-Gm-Message-State: AOUpUlGWljTo6G218FKtRgNggtBXiAl1bELUBJTNvHFRtg3+gHZMNo6x Uu14eUCUrv1i/5jsPX1vlSkx27Nh/VtOAtBqP0lBdQ==
X-Google-Smtp-Source: AAOMgpezLVMEnqM2SvGk4ZYIg6t22lp7j9Y1z/JfuYwv8xPM/PZt+yPBoVWlaStxGHorSGGN2G6ljV2hzuhw3PWaxrE=
X-Received: by 2002:a6b:b685:: with SMTP id g127-v6mr472491iof.209.1532586718515; Wed, 25 Jul 2018 23:31:58 -0700 (PDT)
Received: from 1058052472880 named unknown by gmailapi.google.com with HTTPREST; Wed, 25 Jul 2018 23:31:58 -0700
From: =?UTF-8?Q?Mikkel_Fahn=C3=B8e_J=C3=B8rgensen?= <mikkelfj@gmail.com>
X-Mailer: Airmail (420)
MIME-Version: 1.0
Date: Wed, 25 Jul 2018 23:31:58 -0700
Message-ID: <CAN1APdfRmLp9R8+3e+kfHusSppnrtyHNFC1mNt9Vt+5kiDf9rw@mail.gmail.com>
Subject: Hidden connection spawning
To: IETF QUIC WG <quic@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000f1e8740571e126da"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/bloJXGtRH73pueUC4vWinmokhh8>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.27
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: Thu, 26 Jul 2018 06:32:02 -0000

I came to think about a use case where you want to spawn a new connection
from an existing connection because the new connection runs a different
protocol. For example a http connection where you  want to run a separate
live conference call, or to control tunnels from http control connection.

You have roughly three options:

1. extend the current protocol with the new feature set in extension frames
or similar
2. develop or use a purposes specific QUIC protol using 0-RTT for spawning
the connection
3. negotiate the new connection handshake within the current handshake.

The first solution is not complex, limited, and not modular.
The second solution can be used to get information about the connection,
and for example block connections that appear to be doing that.
The third solution allows for an invisible connection spawn, but requires
addition handshake logic which is already complex as it is.

I suggesting solution 3 as possible option, although I am not convinced
that this is worthwhile, at least in V1.


This was in part inspired by recent discussion on tunneling, and in part by
the following issue where partial reliability is being discussed and
possibly shoe-horned into an extension. I am not following that issue
closely though - it is just an example.
https://github.com/quicwg/base-drafts/issues/1606#issuecomment-407951495


Mikkel