Subject: [tsvwg] Comments on QUIC & draft-ietf-tsvwg-datagram-plpmtud-05

From: Christian Huitema <[email-masked]>
Date: Wed, 31 Oct 2018 16:08:06 -0700

I am looking at providing an API in my QUIC code for facilitating
experimentation with PLPMTUD, and doing so I am looking at your draft.
There are a couple of little nits that could be fixed, and an issue with
the decision algorithm.

QUIC handshake allows each endpoint to advertise its "max_packet_size".
This values should be used as the "destination PMTU" when computing the
MAX PMTU. It might be useful to say so in section 6.4.

QUIC can use multiple paths. The PMTU discovery should be performed per
path. This will inform the transport/PMTU API design.

In section 6.4.1. Sending QUIC Probe Packets you write "A probe packet
consists of a QUIC Header and a payload containing only PADDING Frames."
That should be "A probe packet consists of a QUIC Header and a payload
containing only PING and PADDING Frames." Padding frames do not elicit
acknowledgements, PING frames do, you want at least one PING frame in
the probe. The transport will signal to the PMTU discovery logic that a
probe of length L was acknowledged; it will also signal when a probe is
considered lost.

The QUIC specification requires that the initial packet must be at least
1200 bytes, and recommends to not send initial packets larger than 1280
bytes. Initial packets are frequently a bit more than 1200 bytes. The
transport logic can inform the PMTU discovery that an initial packet of
length X was acknowledged, with X > 1200 bytes. In general, the
transport can inform the PMTU discovery logic when a packet of length X
(including probes) was acknowledged or lost.

We have to consider a mode of operation in which the QUIC transport
never receives any PTB message, whether because of firewalls or because
of limitations of the UDP socket API on the specific host. This should
inform the state machine specified in section 5.3. In that scenario, the
only available information are loss reports, such as "packet of length X
was lost". Loss reports are ambiguous, because losses may be due to many
causes. I suppose that we can apply some Bayesian logic to decide when
losses are most likely due to a shrinkage of the MTU. It might be nice
to specify that in the draft.

-- Christian Huitema