Re: preferred_address outside of handshake

Jana Iyengar <jri.ietf@gmail.com> Tue, 17 September 2019 00:23 UTC

Return-Path: <jri.ietf@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 CEDC312001E for <quic@ietfa.amsl.com>; Mon, 16 Sep 2019 17:23:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.998
X-Spam-Level:
X-Spam-Status: No, score=-0.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, FREEMAIL_REPLY=1, 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 9WL79XMwV99g for <quic@ietfa.amsl.com>; Mon, 16 Sep 2019 17:23:36 -0700 (PDT)
Received: from mail-lf1-x135.google.com (mail-lf1-x135.google.com [IPv6:2a00:1450:4864:20::135]) (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 BE582120145 for <quic@ietf.org>; Mon, 16 Sep 2019 17:23:35 -0700 (PDT)
Received: by mail-lf1-x135.google.com with SMTP id t8so1335886lfc.13 for <quic@ietf.org>; Mon, 16 Sep 2019 17:23:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=foUDjho1kbclNe7hjbmU2UmP5JGwSJL14RQ6YCkxMjk=; b=cn7ROZMVUpLpcnFYtx+tuOmnUzMwjbXDJm1FtxNJQx/C3NELRfA2xNBZr8mmtxIqQW /QvU3F7n4mFh5nGd/4ns9g6RAGEKWrZwQ8xFe5Ip0TyX2zsCkwVQNFRqJYpuNw6RXDw+ J+uuVxHNyQ7xei/xp7AiudZbNae4hrf4mH/hknd5vXG5By6ESpG94k1vPs3JoXW7PABM hBBwHjLR7ri00Cn5gKQ+Zl9PtvrzMVJzInKn1AiNOm+o3ZgnbOLaiFbojQZ98Uz2kG18 b/ozAQ4Nto/es2bAqabjo6eAWqAbprv+ynSl/cD807Sqx4N+LDyZLzva/vGK5686mMRl exCw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=foUDjho1kbclNe7hjbmU2UmP5JGwSJL14RQ6YCkxMjk=; b=sj0ljRRkqymAdglcp4P9LzLWxzhIOpWgiRLUcIgbiAxcR3uya4W7wx57BgQWWBKx8s FUPvugKXJ8SvAQ33D85PKpTAeC0JM5f7OgEuGAM6DAvfZ5kRZMZC/cwLmI3lNM0kazHV ihPeNWPYd0505kCK5CnC4hZA/jHjIK4QVsytyOGpqmmj6fMVHfYR0x6Ur7jIgP2qzA9F pLjT8+iJDTig9xwpBc4CunjX+6ePGq9azAnJzLLdSUmpcR9Bg/GLtfjiRaVNIYCGslq9 80Ppc0w0H/UWSdVYtA00qJX2eGMU0ijq9wama/pv64/TVGpwv2qEjO0D8wyKqHSEEYF5 lFow==
X-Gm-Message-State: APjAAAVT8a/PQJC1ZWuE3pZ7ory5S516CiuHrYW25ffKGkSo8A4o+Ikx dGUY4ni/mHRoCpgZ1LKzWZHb/GE1bLn3PZjdd6g=
X-Google-Smtp-Source: APXvYqxPS3a897S1SwqN+J6mbgEMnYHpTqmvIbWDFjv4a8abcj5nKRz+7qDNdaM+8WX6iTc6wV3M6E2qC8uwUuUos+w=
X-Received: by 2002:ac2:554e:: with SMTP id l14mr517854lfk.32.1568679813924; Mon, 16 Sep 2019 17:23:33 -0700 (PDT)
MIME-Version: 1.0
References: <CAHVo=Zm-0m6dttMfLRSLVNq19PHy1VhzTW0e4p+thVc_ZT0s+g@mail.gmail.com> <CAN1APdf=_VfVaepkC5fnCo_1AjUMV72QxhdRk=qcbeA7rBO+iQ@mail.gmail.com>
In-Reply-To: <CAN1APdf=_VfVaepkC5fnCo_1AjUMV72QxhdRk=qcbeA7rBO+iQ@mail.gmail.com>
From: Jana Iyengar <jri.ietf@gmail.com>
Date: Mon, 16 Sep 2019 17:23:22 -0700
Message-ID: <CACpbDceVHVhca-PgH7PqybYPNp_jFnrNDxZK-VzREnZvXV5Qaw@mail.gmail.com>
Subject: Re: preferred_address outside of handshake
To: Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com>
Cc: Luke Curley <kixelated@gmail.com>, QUIC WG <quic@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000001349f80592b4bba9"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/wrgz0MLpDWSv1OKEDAFxnaHOudY>
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: Tue, 17 Sep 2019 00:23:38 -0000

Luke,

I agree with what Mikkel said. To your point, this parameter was meant
specifically for the anycast case, but not the more general case. Doing the
more general server migration is a complex beast. We'll see what happens in
the future with QUICv2, but I don't think we should pursue this general
case right now.

- jana

On Sun, Sep 15, 2019 at 11:07 PM Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com>
wrote:

> This lands under migration.
>
> It was deliberate choice to only allow clients to migrate in QUIC v1 to
> avoid excessive complexity and because the most common use case are mobile
> clients connecting to stationary servers.
>
> There is an inherent feed-back problem in allow both to migrate. Even
> seeming simple problems such as allowing both peers to change encryption
> keys has caused at lot of design discussions and change.
>
> QUIC v2 will likely explore multi-path connections and server migration.
>
> Kind Regards,
> Mikkel Fahnøe Jørgensen
>
>
> On 16 September 2019 at 08.02.05, Luke Curley (kixelated@gmail.com) wrote:
>
> Hey guys,
>
> I've spent the last few days reading the QUIC spec and it's amazing. One
> thing I love is preferred_address as it gives the server the ability to
> redirect traffic from an anycast address to a unicast address (among other
> uses). This would obsolete DNS load balancing in many cases!
>
> However, it's only possible to use preferred_address during the
> handshake. If there was a frame that behaved the same way, then it would be
> possible to migrate traffic to another address. This would be extremely
> useful; you could migrate to another port for graceful restarts or another
> IP address (including anycast!) to drain the entire host.
>
> This is almost possible today as the new server can send packets (from a
> new address) and cause the client to initiate a PATH_CHALLENGE. However,
> this won't always work when the client is behind a NATs. What you really
> need is the client to punch a hole in the NAT by explicitly telling the
> client when to initiate a PATH_CHALLENGE.
>
> What about something like PATH_CHALLENGE_REQUEST, containing similar
> information as preferred_address? I even think this frame should replace
> preferred_address as it's not a critical handshake parameter.
>
>
> Thanks!
>
>