Re: [quicwg/base-drafts] PMTUD (kitchen-sink version) (#106)
ianswett <notifications@github.com> Wed, 11 January 2017 21:22 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 1BF9412941C for <quic-issues@ietfa.amsl.com>; Wed, 11 Jan 2017 13:22:21 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.656
X-Spam-Level:
X-Spam-Status: No, score=-7.656 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_DNSWL_HI=-5, RCVD_IN_MSPIKE_H2=-1.156, RCVD_IN_SORBS_SPAM=0.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 lHHUWt2H7h5L for <quic-issues@ietfa.amsl.com>; Wed, 11 Jan 2017 13:22:19 -0800 (PST)
Received: from github-smtp2a-ext-cp1-prd.iad.github.net (github-smtp2-ext8.iad.github.net [192.30.252.199]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CECCB129496 for <quic-issues@ietf.org>; Wed, 11 Jan 2017 13:22:18 -0800 (PST)
Date: Wed, 11 Jan 2017 13:22:17 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1484169737; bh=4KgH3NDQdwHfwVBD43D1M7FaxynNGgmcWtXElTJe01U=; h=From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=u6ycsvO/j11Z8/0skFWrCC0/ls1pFd0NjjNkNBbQAcsHOtMgv2cC5A17+Trf1Jrt5 Ag4LY+d/gGAjMzMLUbgkrvR5R6sO/a7ljmVkpK+Ymh4FMFn5VCgQeiSQzm+152a8py 5yUULuf3s2dTEW4ZJIt256rWME1M5kwv4Vs+NFvE=
From: ianswett <notifications@github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/106/review/16236829@github.com>
In-Reply-To: <quicwg/base-drafts/pull/106@github.com>
References: <quicwg/base-drafts/pull/106@github.com>
Subject: Re: [quicwg/base-drafts] PMTUD (kitchen-sink version) (#106)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5876a209c8079_26023ff5b8ec91341597c1"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: ianswett
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/RCXxqxQgWxBmuvqHlFW2B5l-3u4>
Cc: Subscribed <subscribed@noreply.github.com>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.17
Reply-To: quic@ietf.org
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: Wed, 11 Jan 2017 21:22:21 -0000
ianswett commented on this pull request.
Thanks Martin, this looks very good to me. A few editorial comments.
> @@ -1198,12 +1198,25 @@ The fields of a GOAWAY frame are as follows:
# Packetization and Reliability {#packetization}
-The maximum packet size for QUIC is the maximum size of the encrypted payload of
-the resulting UDP datagram. All QUIC packets SHOULD be sized to fit within the
-path's MTU to avoid IP fragmentation. The recommended default maximum packet
-size is 1350 bytes for IPv6 and 1370 bytes for IPv4. To optimize better,
-endpoints MAY use PLPMTUD {{!RFC4821}} for detecting the path's MTU and setting
-the maximum packet size appropriately.
+The maximum packet size for QUIC is the maximum size of the entire UDP payload,
+including the public header, encrypted payload, and any authentication fields.
+All QUIC packets SHOULD be sized to fit within the path's MTU to avoid IP
+fragmentation. To optimize bandwidth efficiency, endpoints MAY use Path MTU
+Discovery ({{!RFC1191}}, {{!RFC1981}}) or Packetization Layer Path MTU
+Discovery ({{!RFC4821}}) for detecting the path's MTU, setting the maximum
+packet size appropriately, and storing the result of previous PMTU
+determinations. In the absence of these mechanisms, the recommended default
nit: extra space after "mechanisms,"
> -size is 1350 bytes for IPv6 and 1370 bytes for IPv4. To optimize better,
-endpoints MAY use PLPMTUD {{!RFC4821}} for detecting the path's MTU and setting
-the maximum packet size appropriately.
+The maximum packet size for QUIC is the maximum size of the entire UDP payload,
+including the public header, encrypted payload, and any authentication fields.
+All QUIC packets SHOULD be sized to fit within the path's MTU to avoid IP
+fragmentation. To optimize bandwidth efficiency, endpoints MAY use Path MTU
+Discovery ({{!RFC1191}}, {{!RFC1981}}) or Packetization Layer Path MTU
+Discovery ({{!RFC4821}}) for detecting the path's MTU, setting the maximum
+packet size appropriately, and storing the result of previous PMTU
+determinations. In the absence of these mechanisms, the recommended default
+maximum packet size is 1350 bytes for IPv6 and 1370 bytes for IPv4.
+
+QUIC endpoints that implement any kind of MTU discovery SHOULD maintain a
+separate PMTU estimate for each IP address the peer is using in the
+connection. Endpoints SHOULD maintain an estimate for each combination of
Is this first sentence attempting to anticipate multipath or connection migration, where a connection may send to multiple IPs?
Is the second sentence implying that an endpoint should persist PMTU across connections? If so, could you clarify slightly, possibly "Endpoints SHOULD maintain an estimate for each combination of local and remote IP addresses for use in future connections."?
> +including the public header, encrypted payload, and any authentication fields.
+All QUIC packets SHOULD be sized to fit within the path's MTU to avoid IP
+fragmentation. To optimize bandwidth efficiency, endpoints MAY use Path MTU
+Discovery ({{!RFC1191}}, {{!RFC1981}}) or Packetization Layer Path MTU
+Discovery ({{!RFC4821}}) for detecting the path's MTU, setting the maximum
+packet size appropriately, and storing the result of previous PMTU
+determinations. In the absence of these mechanisms, the recommended default
+maximum packet size is 1350 bytes for IPv6 and 1370 bytes for IPv4.
+
+QUIC endpoints that implement any kind of MTU discovery SHOULD maintain a
+separate PMTU estimate for each IP address the peer is using in the
+connection. Endpoints SHOULD maintain an estimate for each combination of
+local and remote IP addresses (as each pairing may have a different minimum
+MTU in the path).
+
+All handshake packets MUST include enough PADDING frames to bring the packet
You can only have one padding frame per packet, so maybe "All handshake packets MUST include a PADDING frame to bring the packet ..."?
> +All QUIC packets SHOULD be sized to fit within the path's MTU to avoid IP
+fragmentation. To optimize bandwidth efficiency, endpoints MAY use Path MTU
+Discovery ({{!RFC1191}}, {{!RFC1981}}) or Packetization Layer Path MTU
+Discovery ({{!RFC4821}}) for detecting the path's MTU, setting the maximum
+packet size appropriately, and storing the result of previous PMTU
+determinations. In the absence of these mechanisms, the recommended default
+maximum packet size is 1350 bytes for IPv6 and 1370 bytes for IPv4.
+
+QUIC endpoints that implement any kind of MTU discovery SHOULD maintain a
+separate PMTU estimate for each IP address the peer is using in the
+connection. Endpoints SHOULD maintain an estimate for each combination of
+local and remote IP addresses (as each pairing may have a different minimum
+MTU in the path).
+
+All handshake packets MUST include enough PADDING frames to bring the packet
+to the maximum size the endpoint is enforcing. Furthermore, all IPv4 handshake
On a practical note, some OS's(ie: MacOSX) don't allow userspace apps to set the DF bit.
--
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/106#pullrequestreview-16236829
- [quicwg/base-drafts] Update draft-ietf-quic-trans… martinduke
- Re: [quicwg/base-drafts] PMTUD (kitchen-sink vers… Martin Thomson
- Re: [quicwg/base-drafts] PMTUD (kitchen-sink vers… martinduke
- Re: [quicwg/base-drafts] PMTUD (kitchen-sink vers… Martin Thomson
- Re: [quicwg/base-drafts] PMTUD (kitchen-sink vers… janaiyengar
- Re: [quicwg/base-drafts] PMTUD (kitchen-sink vers… martinduke
- Re: [quicwg/base-drafts] PMTUD (kitchen-sink vers… martinduke
- Re: [quicwg/base-drafts] PMTUD (kitchen-sink vers… martinduke
- Re: [quicwg/base-drafts] PMTUD (kitchen-sink vers… martinduke
- Re: [quicwg/base-drafts] PMTUD (kitchen-sink vers… martinduke
- Re: [quicwg/base-drafts] PMTUD (kitchen-sink vers… martinduke
- Re: [quicwg/base-drafts] PMTUD (kitchen-sink vers… ianswett
- Re: [quicwg/base-drafts] PMTUD (kitchen-sink vers… martinduke
- Re: [quicwg/base-drafts] PMTUD (kitchen-sink vers… martinduke
- Re: [quicwg/base-drafts] PMTUD (kitchen-sink vers… martinduke
- Re: [quicwg/base-drafts] PMTUD (kitchen-sink vers… ianswett
- Re: [quicwg/base-drafts] PMTUD (kitchen-sink vers… ianswett
- Re: [quicwg/base-drafts] PMTUD (kitchen-sink vers… janaiyengar
- Re: [quicwg/base-drafts] PMTUD (#106) martinduke
- Re: [quicwg/base-drafts] PMTUD (#106) Martin Thomson
- Re: [quicwg/base-drafts] PMTUD (#106) Martin Thomson
- Re: [quicwg/base-drafts] PMTUD (#106) martinduke
- Re: [quicwg/base-drafts] PMTUD (#106) martinduke
- Re: [quicwg/base-drafts] PMTUD (#106) martinduke
- Re: [quicwg/base-drafts] PMTUD (#106) martinduke
- Re: [quicwg/base-drafts] PMTUD (#106) ianswett
- Re: [quicwg/base-drafts] PMTUD (#106) ianswett
- Re: [quicwg/base-drafts] PMTUD (#106) martinduke
- Re: [quicwg/base-drafts] PMTUD (#106) Martin Thomson
- Re: [quicwg/base-drafts] PMTUD (#106) martinduke
- Re: [quicwg/base-drafts] PMTUD (#106) martinduke
- Re: [quicwg/base-drafts] PMTUD (#106) ianswett
- Re: [quicwg/base-drafts] PMTUD (#106) Martin Thomson
- Re: [quicwg/base-drafts] PMTUD (#106) martinduke
- Re: [quicwg/base-drafts] PMTUD (#106) martinduke
- Re: [quicwg/base-drafts] PMTUD (#106) martinduke
- Re: [quicwg/base-drafts] PMTUD (#106) Martin Thomson
- Re: [quicwg/base-drafts] PMTUD (#106) martinduke
- Re: [quicwg/base-drafts] PMTUD (#106) martinduke
- Re: [quicwg/base-drafts] PMTUD (#106) janaiyengar
- Re: [quicwg/base-drafts] PMTUD (#106) Martin Thomson
- Re: [quicwg/base-drafts] PMTUD (#106) Martin Thomson