Re: [quicwg/base-drafts] Address validation for connection migration (#732)

janaiyengar <notifications@github.com> Tue, 17 October 2017 04:35 UTC

Return-Path: <bounces+848413-a050-quic-issues=ietf.org@sgmail.github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C8FD9132D17 for <quic-issues@ietfa.amsl.com>; Mon, 16 Oct 2017 21:35:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.02
X-Spam-Level:
X-Spam-Status: No, score=-2.02 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_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=github.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 aN1GHSDzboeR for <quic-issues@ietfa.amsl.com>; Mon, 16 Oct 2017 21:35:22 -0700 (PDT)
Received: from o3.sgmail.github.com (o3.sgmail.github.com [192.254.112.98]) (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 A6085132332 for <quic-issues@ietf.org>; Mon, 16 Oct 2017 21:35:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=github.com; h=from:reply-to:to:cc:in-reply-to:references:subject:mime-version:content-type:content-transfer-encoding:list-id:list-archive:list-post:list-unsubscribe; s=s20150108; bh=pfRF+kAzjndxhAMtlZBarslb8MQ=; b=VRtJEmwrxq1IeVp0 sPxbCD3qna6D7ePyfM6zaK16a6kOouQNdTxseztl9IbKTFMD//g3leVv83UT1GCK tXbgTC04L3Jl5DKm/5WwpZDJrRlqf7hQoruya7GiRS044u5bSF8Bay6a/w+3pO8f +MSNaDaAzZVewQ/pjoWeFcb6yBI=
Received: by filter0241p1iad2.sendgrid.net with SMTP id filter0241p1iad2-29062-59E58889-1B 2017-10-17 04:35:21.512652206 +0000 UTC
Received: from github-smtp2b-ext-cp1-prd.iad.github.net (github-smtp2b-ext-cp1-prd.iad.github.net [192.30.253.17]) by ismtpd0017p1iad2.sendgrid.net (SG) with ESMTP id JkRc-pKaRcWT9Inf_fsfLw for <quic-issues@ietf.org>; Tue, 17 Oct 2017 04:35:21.513 +0000 (UTC)
Date: Tue, 17 Oct 2017 04:35:21 +0000
From: janaiyengar <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab26e6ae1a7885742c319d6c15a83e7d554c2d52cf92cf0000000115fd4a8992a169ce0ee9dd49@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/732/review/69762241@github.com>
In-Reply-To: <quicwg/base-drafts/pull/732@github.com>
References: <quicwg/base-drafts/pull/732@github.com>
Subject: Re: [quicwg/base-drafts] Address validation for connection migration (#732)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_59e58889526cc_462d3fd66b340f2c590c6"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: janaiyengar
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
X-SG-EID: l64QuQ2uJCcEyUykJbxN122A6QRmEpucztpreh3Pak3AlDrEi5LEAomYgKhuX89fwlmBnnboEtjDdo W9lw0EkzwT3WemmzVnNK0XTa7hZquw8wkbEFjVR6XGV7AIQm5iV8if3WyBgI58dYRiJJCEE9tiNvso ctELS8U2JHsNiuaLMuI2ZOtfjnmwHai84afojkzpLrHRskxrHfcZA5+xVpiWyTQY3ByqFmkhRcpDUR 0=
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/Zx3kZA_QsKn-ivPRX19QUMvXfPA>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.22
List-Id: Notification list for GitHub issues related to the QUIC WG <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 17 Oct 2017 04:35:25 -0000

janaiyengar commented on this pull request.

First off, and sorry for not saying this earlier, thanks for working on all this text -- a lot of this is helpful! I'll be fine with the comments I have inline. Mostly, I'll be fine if you remove the normative text about requiring switching to the new path, since this fundamentally prevents probing. The other stuff is good; I'd prefer less verbose text, but whatever. Happy to iterate after you get this in.

> +the value correctly.
+
+Note:
+
+: Retransmissions of the PING frame MUST also use the same remote address.
+
+If validation of the new remote address fails, after allowing enough time for
+possible loss and recovery of packets carrying PING and PONG frames, the
+endpoint MUST terminate the connection.  When setting this timer,
+implementations are cautioned that the new path could have a longer round trip
+time than the original.  The endpoint MUST NOT send a CONNECTION_CLOSE frame in
+this case; it has to assume that the remote peer does not want to receive any
+more packets.
+
+If the remote address is validated successfully, the endpoint MAY increase the
+rate that it sends on the new path using the state from the previous path.  The

This is about behavior after the path is validated ... conservative behavior would be to reset the congestion controller to initial state. I say SHOULD because there may be good reasons for using other state (such as state stored about the new network). I'm just suggesting a shortening that is adequate, not a different statement here. My suggestion here is to not say anything about what to do with NAT rebinding... if current practice is useful, I'm happy to help document what we observe in the wild. Otherwise, let's just recommend the conservative thing.

> @@ -1351,6 +1355,14 @@ connection when they move networks.  This includes state that can be hard to
 recover such as outstanding requests, which might otherwise be lost with no easy
 way to retry them.
 
+An endpoint that receives packets that contain a source IP address and port that

I don't think this is too bad, it's just one design that I don't think is adequate. Which is why I don't think there should be normative behavior here yet. I would like to build on this PR, and add normative behavior that _we all agree_ should be normative. At the moment I don't think what you're stating as normative is useful. You're requiring that an endpoint switch immediately, which is unnecessary.

FWIW, I've opened #880.

> @@ -1484,9 +1501,110 @@ number. "packet_number_secret" is derived from the TLS key exchange,
 as described in Section 5.6 of {{QUIC-TLS}}.
 
 
-### Address Validation for Migrated Connections
-
-TODO: see issue #161
+### Address Validation for Migrated Connections {#migrate-validate}

I think this section is useful, and does capture the resolution of #161.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/732#pullrequestreview-69762241