Subject: [quicwg/base-drafts] 0RTT or 0.5RTT data extends the PTO before handshake completion (#3067)

From: ianswett <[email-masked]>
Date: Tue, 24 Sep 2019 16:06:41 -0700

In the recovery draft, when anything is sent in any packet number space, the PTO is extended.  

For example, if there is a long delay between a server sending Initial and Handshake, then that would delay retransmitting the Initial.

A larger problem may be the delay between Initial and 0.5RTT data on the server side or Initial and 0RTT data on the client side.

In both cases, prior to handshake completion, the application may write data at anytime, subject to congestion control limits and availability of ApplicationData keys.  In pathological cases(ie: an application sending tiny 'keep-alive' like pings) the Initial of the client or server may never be retransmitted until after the connection runs out of CWND, which is likely longer than the handshake timeout.

This problem was observed in gQUIC and we added an extra field to track the last sent packet containing crypto data and before the handshake was complete, armed the handshake timer from that.

The most straightforward fix to this I'm aware of is #3066, which makes PTO per PN space.

-- 
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/3067