Re: [quicwg/base-drafts] max_packet_size in 0-RTT (#3447)

Kazuho Oku <> Thu, 20 February 2020 07:57 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id BF995120848 for <>; Wed, 19 Feb 2020 23:57:46 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -8
X-Spam-Status: No, score=-8 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, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, 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 SShvlXhVUZmq for <>; Wed, 19 Feb 2020 23:57:45 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id F3EB312083A for <>; Wed, 19 Feb 2020 23:57:44 -0800 (PST)
Date: Wed, 19 Feb 2020 23:57:43 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1582185464; bh=lHORat+bDl4lSTLgVe6Eg5pfNcT6Rl3GlzjTV6kDfeo=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=WTNSpn/xxLS2G9rhcPEoivAr8VpwO1aYyS03YGNJ2RplBEVU8yxXR/QenNA6KOLDM h0GnREJVcpKvCDQJjp+PJFDv87JVl1cXCvBEZ1wAM7ODmdoNBCBGxaqemu5k0mXUeG oxFLUBtGS87QWiE+drgZE+jJbsSUx6ym/OsBoodY=
From: Kazuho Oku <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/issues/3447/>
In-Reply-To: <quicwg/base-drafts/issues/>
References: <quicwg/base-drafts/issues/>
Subject: Re: [quicwg/base-drafts] max_packet_size in 0-RTT (#3447)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5e4e3bf7df414_2b3f3fe38a6cd95c30555b"; 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: Thu, 20 Feb 2020 07:57:47 -0000

> I would like someone to articulate what harm is done if the server were to accept 0-RTT when the max_packet_size has decreased.

Consider the case where the original value of max_packet_size was 9000, and client sending 0-RTT packets of 9000 bytes. If the server's max_packet_size goes down to 1280 and the server accepts 0-RTT, the client would consider the 0-RTT packets it has sent to be lost. I think that would halve CWND (to 5 MTU) and we'd exit slow start. This negative impact is likely to be greater than the benefit we'd get from 0-RTT.

That said, I am not sure if I like the framing of the discussion, or the current definition of `max_packet_size`.

I think we might be conflating the maximum size of QUIC packets and the maximum size of UDP datagrams, and I might argue that what matters in reality is the size of UDP datagrams.

As `max_packet_size` is a limit at the QUIC packet level, the transport draft allows a sender to send (and therefore requires a receiver to not discard) a UDP datagram that contains multiple QUIC packets being colesced, each of those QUIC packets being as large as `max_packet_size`. A server might send a UDP datagram that is 3x of `max_packet_size` (datagram consisting of full-sized Initial, Handshake, 1-RTT packet). Once a client receives the TP, it might send a UDP datagram that is 2x of `max_packet_size` (consisting of full-sized Handshake and 1-RTT packet).

Are we fine with that? Shouldn't we better change the TP to `max_datagram_size`?

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