Below

On 6 November 2020 at 20.02.31, Spencer Dawkins at IETF (
[email protected]) wrote:

I'm not sure what the protocol difference is between the two cases. I
understand the difference between sending on one path and sending on
another path, but once you've started sending on two (or more) paths, I'm
not sure what the protocol requirement is to stop sending on one of them.

I'm even more confused if we're talking about sending datagrams, rather
than reliable streams.

I understand why a scheduler might want to limit itself to sending on one
path in normal operation, but I'm trying to understand a different point.

Largely, the machinery that has to do with loss detection, bandwidth
estimation, congestion control, packet numbering is all set up to deal with
a single path in QUIC v1. When you migrate, you accept do a transactional
handover so both parties agree on the change, and you are very careful not
to get out of sync by one party changing path too frequently, and then
there are some issues with dealing with adversaries. You still allow for a
few packets on the old path, but but you can strictly place them as
originating from a point in the past (sort of like ballots being stamped no
later than election day).

With multiple paths, you have to decide have you number packets on
different paths and how you estimate loss, etc., and also more esoteric
details like spin bits and privacy in this context.

Ordering packets on multiple paths in the same stream is of course more of
a challenge in this case, as you point out, since packet numbering alone
might no longer be enough. But as stated, it there is a lot more to it than
just sequencing frames. Sequencing is a relatively small problem. The
bigger issues also apply to unordered datagrams.


Of course, these problems are far from unsolvable, it just takes som work.
The question is if it is worth the effort, given what you can already do
without true multipath, and if it is, exactly what are the important use
cases. And more remotely, if the additional API complexity with priotising
paths work out in praxis.

Mikkel

Reply via email to