On 7/11/2022 7:07 PM, Martin Thomson wrote:

More seriously, this isn't the right group to be standardizing this sort of 
thing.  Maybe this new congestion control working group might, but this isn't 
specific to QUIC.  If there were a need for an extension of some sort in QUIC 
(there isn't, Section 9 explains why), then maybe we could take that work on 
once the other work is more mature.

The draft started as the definition of a QUIC extension which peers could use to inform the other peer of what they remembered of previous connections. After discussion, it was agreed to split that "QUIC Extension" draft in two, one concentrating on the general issue of reusing what was remembered, and the other specifying QUIC extensions if needed. This further evolved in concentrating on the principles of reusing prior knowledge, because QUIC extensions that pass information to the peer are only useful if the server can trust the client (and vice versa).

Otherwise, I don't think that the document is quite ready.  The split is 
appreciated, but I'm seeing a lot of troubling indications.  Just from a quick 
skim, this is what I see:

* The design is asymmetric.  Lots of talk about servers being the ones to apply 
this logic, but none about clients.

I have implemented it in a symmetric way, with each peer able to remember the data gathered in previous connection. A client that regularly upload data to a server would benefit from that. But yes, this could be better stated.

* The actual logic beyond the four high-level states (these are fine) is 
extraordinarily vague.

* The way in which topology changes are detected is unlikely to be good; better 
heuristics are needed.
That's actually where the draft has the strongest links with the QUIC WG. The better heuristics need better data, which can only come from observing the early stages of the connection. There are interactions with ACK mechanisms, delayed ACK strategy, etc. It is much easier to experiment and describe that concretely, in terms of protocol mechanisms, rather than in the abstract.And it practice it is much easier to experiment with QUIC than with TCP.
I'm not saying that people can't do what is suggested.  The overall structure 
of what is being suggested here is good.  I just think that it is isn't ready 
to take this step.  And if it does, the QUIC WG isn't where it should be 
stepping.

We have all heard these statistics showing that a vast majority of connections never exit slow start. That means there will be pressure on engineers to make slow start faster. If we do not step up and specify the good way to do this, we can be pretty sure that multiple implementations will use the easy way instead.

Of course, I am not saying that the current draft has the final say on the matter. Asking for adoption is also asking for feedback from a wider group than the current authors.

-- Christian Huitema

Reply via email to