quicwg/ops-drafts

UDP Ports and QUIC version

Closed this issue · 6 comments

@martinduke started this discussion in the mailing list (https://mailarchive.ietf.org/arch/msg/quic/SWe2q7KFbq6Xqejq_KiB5cfQ01o/), which made me think that the distinguishable QUIC version number practice should be written in the applicability draft. would like to know what others think about it.

I don't think that it needs consideration. We haven't talked about sharing ports before, so while QUIC gives us that option under certain narrow conditions, those are special enough that burning text on it is wasteful.

We already have this text in manageability:

Further, as QUIC has a connection ID, it is also possible to maintain multiple
QUIC connections over one 5-tuple. 

and

While the second-most-significant bit (0x40) of the first octet is set to 1
in most QUIC packets of the current version (see Section 2.1 and Section 17
of [QUIC-TRANSPORT]), this method of recognizing QUIC traffic is not reliable.
First, it only provides one bit of information and is prone to collision with
UDP-based protocols other than those considered in [RFC7983]. Second,
this feature of the wire image is not invariant [QUIC-INVARIANTS] and may
change in future versions of the protocol, or even be negotiated during the
handshake via the use of an extension.Second, this feature of the wire image
is not invariant [QUIC-INVARIANTS] and may change in future versions of the
protocol, or even be negotiated during the handshake via the use of an extension.

The point about the 1 bit is probably most pertinent to @zaheduzzaman's question. And I think that it is sufficient.

Yes, there are some text in the manageability doc but I was asking if we should include some text in the applicability draft as well. The applicability draft is more towards the designer and developers of the applications on top of QUIC which I believe the case for DoQ. "As wire image is not invariant, demuxing based on that ( for example 1 bit for version QUIC 1) will make a deployment very version dependent and that need to be taken into consideration" - saying something like - would be helpful I think.

I also see the mailing list discussions are deviating from what is we are saying in the manageability document - coexisting of UDP based protocols on the same port.

I'm not sure we need any additional discussion in the applicability draft. RFC900 has this:

Fixed bit: The next bit (0x40) of byte 0 is set to 1, unless the packet is a Version Negotiation packet. Packets containing a zero value for this bit are not valid packets in this version and MUST be discarded. A value of 1 for this bit allows QUIC to coexist with other protocols; see [RFC7983].

I don't think there is anything else that we could say in the applicability draft.

For manageability, I create a PR with a reference to draft-ietf-quic-bit-grease #445

on a second thought, I think we are fine here. Thanks.