Subject: Re: [quicwg/base-drafts] Define the payload size of the initial packet rather than the total packet size (#472)

From: janaiyengar <[email-masked]>
Date: Mon, 01 May 2017 18:13:56 -0700

janaiyengar commented on this pull request.

> @@ -1952,16 +1952,19 @@ An endpoint MUST NOT reduce their MTU below this number, even if it receives
 signals that indicate a smaller limit might exist.
 
 Clients MUST ensure that the first packet in a connection, and any
-retransmissions of those octets, has a total size (including IP and UDP headers)
-of at least 1280 bytes. This might require inclusion of PADDING frames. It is
-RECOMMENDED that a packet be padded to exactly 1280 octets unless the client has
-a reasonable assurance that the PMTU is larger. Sending a packet of this size
-ensures that the network path supports an MTU of this size and helps mitigate
-amplification attacks caused by server responses toward an unverified client
-address.
-
-Servers MUST reject the first plaintext packet received from a client if it its
-total size is less than 1280 octets, to mitigate amplification attacks.
+retransmissions of those octets, has a payload of least 1232 octets for an IPv6
+datagram and 1252 octets for an IPv4 datagram.  In the absence of extensions to
+the IP or UDP header, padding to exactly these values will result in a packet

Then I would drop "or UDP" form the sentence

-- 
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/472#discussion_r114233367

---

From: janaiyengar <[email-masked]>
Date: Mon, 01 May 2017 18:19:49 -0700

I understand what MT was trying to say. I prefer the simpler 1252/1232 version since it requires less description, you don't have to make assumptions about packet number size, and we don't have to keep updating if the QUIC header changes.

Good point about v4/v6 -- I think let's leave this description as it is, and, if/when we describe happy eyeballs, we can discuss this point. FWIW, happy eyeballs is not trivial with QUIC because of 0-RTT data. We should probably describe this somewhere.

-- 
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/472#issuecomment-298474226

---

From: Martin Thomson <[email-masked]>
Date: Mon, 01 May 2017 18:21:59 -0700

@martinthomson pushed 1 commit.

e5f7b33  Could have sworn that there was a UDP extension hack somewhere, probably thinking of ICMP

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/472/files/127e5485513e3a20bccd40d4b636eeae44104bd9..e5f7b33154a499fa9bfcef976dac9f36bbf815ce

---

From: Martin Thomson <[email-masked]>
Date: Mon, 01 May 2017 18:22:50 -0700

ac02efe  typo

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/472/files/e5f7b33154a499fa9bfcef976dac9f36bbf815ce..ac02efeccf3d0112b35bb87642d50a36de7a6f48

---

From: Martin Thomson <[email-masked]>
Date: Mon, 01 May 2017 18:25:40 -0700

There's a potential simplification here.  Don't try to hit a particular target, just specify a single target.  1232 would work, as would any value in that territory.  The lower we go, the greater the exposure to amplification attack, but the difference between 1232 and 1200 is pretty academic here.

-- 
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/472#issuecomment-298474936

---

From: janaiyengar <[email-masked]>
Date: Mon, 01 May 2017 18:51:44 -0700

Perhaps I'm missing something, so let me know if so... but what needs
simplifying here? I don't think it's particularly complicated to say that
the QUIC packet carrying the CH MUST fit within 1232 octets for IPv6 and
1252 octets for IPv4.

On Mon, May 1, 2017 at 6:25 PM, Martin Thomson <[email-masked]>
wrote:

> There's a potential simplification here. Don't try to hit a particular
> target, just specify a single target. 1232 would work, as would any value
> in that territory. The lower we go, the greater the exposure to
> amplification attack, but the difference between 1232 and 1200 is pretty
> academic here.
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/quicwg/base-drafts/pull/472#issuecomment-298474936>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/AKjg1N4b1nb1XB7aonGX3bqoEjOykG-rks5r1oYUgaJpZM4NJvRR>
> .
>

-- 
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/472#issuecomment-298478060

---

From: Martin Thomson <[email-masked]>
Date: Mon, 01 May 2017 18:53:44 -0700

Compare: "The initial packet MUST fit within 1232 octets." with "The initial packets MUST fit within 1232 octets if carried in IPv6 and 1252 octets if carried in IPv4."  The former is much easier, especially with the comment about happy eyeballs.

-- 
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/472#issuecomment-298478301

---

From: janaiyengar <[email-masked]>
Date: Mon, 01 May 2017 18:57:25 -0700

I don't think this complexity warrants simplification... I don't think
you're gaining anything here. The simplification doesn't resolve happy
eyeballs, since happy eyeballs was written for a 1-RTT handshake world...
you don't want to simply send all 0-RTT data on both the v6 and the v4
paths.

On Mon, May 1, 2017 at 6:53 PM, Martin Thomson <[email-masked]>
wrote:

> Compare: "The initial packet MUST fit within 1232 octets." with "The
> initial packets MUST fit within 1232 octets if carried in IPv6 and 1252
> octets if carried in IPv4." The former is much easier, especially with the
> comment about happy eyeballs.
>
> —
> <https://github.com/quicwg/base-drafts/pull/472#issuecomment-298478301>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/AKjg1Bq7AWvPgojPwJ-Q9xDnXUpqFBk5ks5r1oyogaJpZM4NJvRR>
> .
>

-- 
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/472#issuecomment-298478747

---

From: Martin Thomson <[email-masked]>
Date: Mon, 01 May 2017 19:00:31 -0700

We still have a 1-RTT handshake for initial connections (return connections are also highly likely not to need happy eyeballs).

-- 
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/472#issuecomment-298479094

---

From: janaiyengar <[email-masked]>
Date: Tue, 02 May 2017 17:17:19 -0700

Why not? If your client's local network changes, you'd want to do happy eyeballs again since you don't know if v6 is supported. But you'd still want to do 0-RTT since the server's the same. My point however was to say that happy eyeballs is not trivial, and needs its own discussion. CH size is the easiest of the issues to address in that discussion.

I don't feel very strongly, so I'll go with what you have.

-- 
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/472#issuecomment-298796324

---

From: janaiyengar <[email-masked]>
Date: Tue, 02 May 2017 17:17:32 -0700

janaiyengar approved this pull request.

+the IP header, padding to exactly these values will result in a packet that is
+1280 octets.

"packet" --> "UDP datagram"

use of "payload" is confusing. Suggest changing to "QUIC packet size" or "UDP payload"

-- 
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/472#pullrequestreview-35920851

---

From: Martin Thomson <[email-masked]>
Date: Tue, 02 May 2017 18:05:59 -0700

martinthomson commented on this pull request.

I'll use "IP packet", since UDP implies that it doesn't include the IP header and MTU calculations generally talk about IP packet sizes.

-- 
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/472#discussion_r114458947

---

From: Martin Thomson <[email-masked]>
Date: Tue, 02 May 2017 18:06:56 -0700

I don't really care about the simplification, I just keep trying to find ways to simplify.  Anything that reduces cognitive load.

-- 
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/472#issuecomment-298802165

---

From: Martin Thomson <[email-masked]>
Date: Tue, 02 May 2017 18:22:31 -0700

Merged #472.

-- 
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/472#event-1066552854