HTTP Alternative Services Best Practices?

Lucas Pardue <lucaspardue.24.7@gmail.com> Mon, 16 December 2019 12:02 UTC

Return-Path: <lucaspardue.24.7@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 B5F9C12082D for <quic@ietfa.amsl.com>; Mon, 16 Dec 2019 04:02:06 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.748
X-Spam-Level:
X-Spam-Status: No, score=-1.748 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=no 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 2T0atulTexG8 for <quic@ietfa.amsl.com>; Mon, 16 Dec 2019 04:02:05 -0800 (PST)
Received: from mail-vs1-xe2e.google.com (mail-vs1-xe2e.google.com [IPv6:2607:f8b0:4864:20::e2e]) (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 A22C5120821 for <quic@ietf.org>; Mon, 16 Dec 2019 04:02:03 -0800 (PST)
Received: by mail-vs1-xe2e.google.com with SMTP id b79so3909818vsd.9 for <quic@ietf.org>; Mon, 16 Dec 2019 04:02:03 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=5SOdg7fzdyxu3qgHOZfcl93o+xF1muY4XfSIQ9E9Eg0=; b=WdK4TlxcoA/HAnTdfyZVyxQDkI0dFyim4nzoVaD2TZP8pRgwGyUoqRSnZ/hGn8qJJm Y7+MUNDwkP1DUAoWi0F/qAgqrq6M6Tb/ITqAmxwL08ATCavPwgluZEVB4zXZlDbKkJI7 XgCFIS2Urt5bdaEFaEEcpoeMsR1tZSY6z8UiCme0zwULvBU0vqQzEkeDLb30JP4XN04k YLnITZ9Q2hHuKlUcWSkHwzFieqnwmvKQiqEM70zQvbA82dAa+SmBf0nNbslQF8bxKLMa J8erOHAR4PpIhWetN0xKfHKHIToxa+cSDzJ4nsC/WkStp8rdJqsYmQLNYUVXDFf2Cx42 82jQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=5SOdg7fzdyxu3qgHOZfcl93o+xF1muY4XfSIQ9E9Eg0=; b=hexqMBhEKdacTitdl2LN9FCu5drmJtsZZxkGiV7b9arRnhrl7xxHuY4bb3dSLWlpFV UfHFPGmtRy2McVJdDKP4Iv0szfRqr0yulZn6FjkAGTlTxDAfPP1W4tlqulZ0EZCdV04p Q3/x/mI3kE38Fd8jNv1kCDi44eE2wHOVkWu8pWqliltNBj8FbGIHdYR1okG/aKns+ECH npp4ZMY61xclCjNH6Rm24Wl13Hxbr4LkBUthNlALD6zq6VAZ1eU3xtxCfuNoSN2PzR7L gsiKPYkteZMPTcY0I5I0oNgwn3OZt0b4oClMVqQvUc9Nk5BlwAEu+QAzCllwqrxN2Mvh VFkw==
X-Gm-Message-State: APjAAAXjiY6Q47FT22tdUmzBk1zKV/KL9iKR/Rj2xSf7+VKutsstTxyt AI5zGPee7TtPqHxF4gpSY7AIqivU9CiepzK6U0bj3gSY
X-Google-Smtp-Source: APXvYqzOl1f64USA6QWCpzvVksPKT0dTmC5p7gi5GG3WGlMSqLXRkAmkjyoeQeXTI1HTdxfVKNR/aohFlRoNUhCv9tk=
X-Received: by 2002:a67:f8cf:: with SMTP id c15mr19810415vsp.27.1576497722237; Mon, 16 Dec 2019 04:02:02 -0800 (PST)
MIME-Version: 1.0
From: Lucas Pardue <lucaspardue.24.7@gmail.com>
Date: Mon, 16 Dec 2019 12:01:51 +0000
Message-ID: <CALGR9oaCNigDAZP=ue-sORxCJFzkVynhaJszjjY_ohN56ewy8g@mail.gmail.com>
Subject: HTTP Alternative Services Best Practices?
To: QUIC WG <quic@ietf.org>, HTTP Working Group <ietf-http-wg@w3.org>
Content-Type: multipart/alternative; boundary="000000000000b92b010599d0faa1"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/1hw63NQkfAGErk3JkqX1J-lvXK4>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.29
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, 16 Dec 2019 12:02:08 -0000

Hello QUIC and HTTP members,

HTTP Alternative Services (Alt-Svc) is specified in RFC 7838 which was
published in 2016 [1]. Many of us are starting to use Alt-Svc and I wonder
if its appearance of simplicity might cause some unintended effects on the
Internet. In the 3 or so years since it was published, have any best
practices emerged that might be useful to capture.

Major uses of Alt-Svc today in no particular order: switching to gQUIC
(typically on the same port), switching to HTTP/3, Opportunistic Encryption
(RFC 8164) [2], Opportunistic Onion (advertising .onion [3]), and traffic
management by advertising alternatives with different destination IPs or
network path characteristics.

Arguably, HTTP/3 will be the largest-scale deployed use case of Alt-Svc
both in terms of advertisements and clients that take them up. Alt-Svc for
this can be deceptively simple, which may lead to unexpected outcomes. For
example, the minimal expression:

Alt-Svc: h3-24=":443"

invokes default values for parameters, "ma" is fresh for 24 hours and
"persist" is false (i.e. clear alternative cache on network changes). One
could imagine how this could cause bursts of activity at regular periods,
or cascades due to end-user local conditions such as flocking or hopping.

Finally, the proposal for an HTTPSVC DNS record [4] might attract a
different population of operator that is less familiar with the expected
behaviour of Alt-Svc implementations.

Does anyone think it would be useful to share or document some guidance?

Cheers
Lucas

[1] https://tools.ietf.org/html/rfc7838
[2] https://tools.ietf.org/html/rfc8164
[3] https://tools.ietf.org/html/rfc7686
[4] https://tools.ietf.org/html/draft-ietf-dnsop-svcb-httpssvc-01