Subject: Re: [quicwg/base-drafts] Ambiguity in section 5.2.2 of RFC 9000 (#4928)

From: Mike Bishop <[email-masked]>
Date: Wed, 04 Aug 2021 07:55:11 -0700

It's not implementation-dependent, but version-dependent.  "...if the packet is large enough to initiate a new connection for any supported version" reflects that the server might support 1..N versions of QUIC, each with their own minimum packet size.  We don't know what those minima might be; the minimum for *this* version [is 1200 bytes](https://datatracker.ietf.org/doc/html/rfc9000#section-8.1).  The trouble is, here the client is speaking a version the server doesn't recognize, so the server can't know what the minimum is in the attempted version.

The solution is two matching rules.  On the server side, if the packet is large enough to represent a connection attempt for any version the server supports, it needs to treat it as a possible connection attempt and respond with a VN packet.  On the client side, we have this guidance:

>    The size of the first packet sent by a client will determine whether
>   a server sends a Version Negotiation packet.  Clients that support
>   multiple QUIC versions SHOULD ensure that the first UDP datagram they
>   send is sized to the largest of the minimum datagram sizes from all
>   versions they support, using PADDING frames (Section 19.1) as
>   necessary.  This ensures that the server responds if there is a
>   mutually supported version.  A server might not send a Version
>   Negotiation packet if the datagram it receives is smaller than the
>   minimum size specified in a different version; see Section 14.1.

That is, each QUIC version defines a minimum packet size.  A client's first packet will ensure that it satisfies the minimum packet size of all versions it supports, no matter what version it attempts on the first flight.  A server responds to connection attempts which are large enough to satisfy any version it supports.

That means if the client's first datagram wasn't large enough to trigger a VN packet, there was no version overlap anyway.

-- 
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/4928#issuecomment-892727170

---

From: Suchith J N <[email-masked]>
Date: Tue, 10 Aug 2021 13:18:38 -0700

Closed #4928.

-- 
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/4928#event-5137588302

---

From: Suchith J N <[email-masked]>
Date: Tue, 10 Aug 2021 13:18:37 -0700

Thank you very much for clarification @MikeBishop . I see that in later sections (especially those related to packet/datagram/frame structure) there are references to relevant sections. Is it possible to add it in parentheses (something like "1200 for this QUIC version" or "see section X.Y")? Should be a small change, but makes jumping around easier? I'll close this as the issue is resolved. Thanks once again!

-- 
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/4928#issuecomment-896290701

---

From: Mike Bishop <[email-masked]>
Date: Wed, 11 Aug 2021 10:55:44 -0700

A reasonable suggestion ,but the RFC has been published and I don't think this would qualify as an erratum.  I'll mark it as a possibility for a future version, though.

-- 
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/4928#issuecomment-897030701

---

From: mirjak <[email-masked]>
Date: Wed, 11 Aug 2021 11:02:32 -0700

one can also mark errata as "hold for future updates". Or this could be an editorial errata, which then would be displayed inline if verified.

-- 
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/4928#issuecomment-897035388