Re: [quicwg/base-drafts] disable_active_migration with SPA (#3765)

Kazuho Oku <> Mon, 15 June 2020 17:18 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id C73393A0403 for <>; Mon, 15 Jun 2020 10:18:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -3.1
X-Spam-Status: No, score=-3.1 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_IMAGE_ONLY_32=0.001, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id l8beWiTt22OV for <>; Mon, 15 Jun 2020 10:18:51 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 3824B3A05DC for <>; Mon, 15 Jun 2020 10:18:49 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 5AAE16A047A for <>; Mon, 15 Jun 2020 10:18:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1592241528; bh=owExz0mVtAcOU5UbAgDs14SMCwUx+/HQFaguGEeVGR4=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=YoKHSv4bNmBdYG7s7nT0rrk3cKSiWTbroncoQ7wPcMZ8coQ5rUQy2DGhHJNZmHXMz dEO/EGc12qQFxVevoz1NlWFA90301aGIe13E6EjPLy5o54Rbt7R6fH6HfiFzp3iGPn izKt8Dw1wrKw6KR3TyjgXv6Fy2WWFQas4F0/Yzpw=
Date: Mon, 15 Jun 2020 10:18:48 -0700
From: Kazuho Oku <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/issues/3765/>
In-Reply-To: <quicwg/base-drafts/issues/>
References: <quicwg/base-drafts/issues/>
Subject: Re: [quicwg/base-drafts] disable_active_migration with SPA (#3765)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5ee7ad784bc38_1bde3fa6820cd95c5364d8"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: kazuho
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
Archived-At: <>
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 15 Jun 2020 17:18:54 -0000

> However, there are deployments where servers still have a preferred address, but client migration using either server address is not likely to work well,

I think the question is how such an endpoint running the preferred address distinguish between the connections that migrate to that preferred address?

When a client migrates to the preferred address, the client-side tuple is allowed to change. Even if the client implementation continues to use the same port, the tuple could still change due to a NAT in the middle. Assuming that is the case, a server providing SPA is, in practice, required to be capable of using the connection ID to determine the connection. 

To paraphrase, the requirement for supporting SPA is equivalent to supporting migration. Both require CID-based routing. Hence no reason to have a knob to disable migration when SPA is being used.

> For example, a server is a backend in front of a load balancer (and hence wants to use a preferred address that does not go via the load balancer for improved performance and reliability). However, the server is in a network location that is unlikely to be accessible or be a logical choice when changing to a different network attachment provider.

I wonder if such deployment would have worked reliably even before draft-28. How can a server be sure that the client would not connect through a different network attachment provider? As stated above, it is my understanding that a client is allowed (and have to be allowed) to use any source tuple when migrating to SPA.

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub: