Re: [quicwg/base-drafts] The number of Connection ID is unbounded to NEW_CONNECTION_ID sender (#2403)

Kazuho Oku <notifications@github.com> Mon, 04 February 2019 13:49 UTC

Return-Path: <noreply@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 A905A12896A for <quic-issues@ietfa.amsl.com>; Mon, 4 Feb 2019 05:49:11 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -12.553
X-Spam-Level:
X-Spam-Status: No, score=-12.553 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-4.553, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, 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 1WE3JSzEwwwV for <quic-issues@ietfa.amsl.com>; Mon, 4 Feb 2019 05:49:09 -0800 (PST)
Received: from out-5.smtp.github.com (out-5.smtp.github.com [192.30.252.196]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 60550127B4C for <quic-issues@ietf.org>; Mon, 4 Feb 2019 05:49:09 -0800 (PST)
Date: Mon, 04 Feb 2019 05:49:07 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1549288147; bh=J2aDBU1xP0AZ3BpNkkrol6Su7TEdtsSW2wKRa2Bjqe8=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=GT6j84++nyYmLVVYJeu/RnidSp7LKP5DTe8lGcaFcBLrHEPWgv1aJxrHOfICtMr50 CYzldHdKVtFHd/kK2ToZVSYz5+Muys7YoDZTZy0H+6vQEUVUtOvFQDyMp4QzrB/VYC D/+yNnuonGug22UBFp+ENwy87vpSm4OjmLmoYCKg=
From: Kazuho Oku <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab8a6c12e60fbb6f0c006d0cfd2dd68ca0e9efefe192cf00000001187004d392a169ce1833bfbd@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/2403/460255684@github.com>
In-Reply-To: <quicwg/base-drafts/issues/2403@github.com>
References: <quicwg/base-drafts/issues/2403@github.com>
Subject: Re: [quicwg/base-drafts] The number of Connection ID is unbounded to NEW_CONNECTION_ID sender (#2403)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5c5842d3ce664_4cce3f956a6d45b85856cf"; 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
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/MRh-0Hg6akNVV1swZa1pGZMRQoQ>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.29
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: Mon, 04 Feb 2019 13:49:12 -0000

@tatsuhiro-t 
> The problem of current wording is that server MUST send NEW_CONNECTION_ID when it sees unused connection ID.

Isn't it a SHOULD?

I ask this, because I see the following text in [section 5.1.1 of the transport draft](
https://quicwg.org/base-drafts/draft-ietf-quic-transport.html#rfc.section.5.1.1): _An endpoint SHOULD ensure that its peer has a sufficient number of available and unused connection IDs. While each endpoint independently chooses how many connection IDs to issue, endpoints SHOULD provide and maintain at least eight connection IDs._

Having that said, I think I agree that we have an issue.

The minimum length of CID is 32 bits, based on the assumption that the space is capable of supporting multiple connections across certain time-space (remember the fact that CID cannot be reused more frequently than updating the secret used to calculate stateless reset tokens). OTOH, we do not prohibit (or discourage) endpoints from updating the CID aggressively.

For example, an endpoint might try to use a new CID whenever one is available in order to achieve "maximum privacy." That would mean that it would consume ~8 CIDs per round-trip, and in case the RTT is 10ms, it would be consuming around 2<sup>16</sup> CIDs every minute.

I do not think we would like to see clients being such aggressive against a server that tries to use minimally-size CIDs.

Therefore, I think we should discourage endpoints from changing CIDs when it is likely that it's tuple is stable.

-- 
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/issues/2403#issuecomment-460255684