On 9/8/2021 11:59 PM, Michael Eriksson wrote:
Hi,

At Ericsson Research we are doing some prototyping of multipath QUIC (of the 
fully parallel kind). So far, we have very rudimentary support in our prototype 
but are about to take the next step.

Our initial implementation uses a single packet number space, which turned out 
to be a pretty clean addition to the path migration mechanism. Some care has to 
be taken with the ACK handling on both sides, but so far it has been 
straightforward. The key is that the sender has to keep track of over which 
path each packet was sent, but that is trivial to do. Some smartness with the 
ACK ranges is also needed, but you already need to prune them for the single 
path case.


This is what I think I know about existing "active" multipath implementations, 
please correct me if I'm wrong:

- picoquiq has experimental but undocumented support (open source)

Picoquic has in fact support for two variants of multipath, draft-liu and the single number option draft-huitema-quic-mpath-option-00.

Multipath has not yet been deployed in the picoquic demo program -- all tests are on simulated environments. I could easily add a listing of all IP addresses available at the client on start, given then a list of addresses to choose from, and more or less automatically trying them all. I should add a monitoring of this set of addresses using system APIs, but those APIs are of course system dependent so that's a bit of work. I would be motivated to do that if someone is using the feature...


- Alibaba are running A/B tests with real users and have published a paper 
about it. The implementation is planned to be open sourced (this seems to be 
delayed).

- Quentin De Coninck et al at UCLovain have a prototype and paper on multiflow QUIC, 
using unidirectional "uniflows" (open source)


Are there any other existing or planned multipath prototype activities in the 
QUIC community? I would be particularly interested in:

- Open source implementations (preferably in Rust :-))

- Public servers for interop testing

- Designs with a single packet number space and the experiences collected. 
Separate number spaces, as in draft-liu-multipath-quic, will of course work; 
however, it would be interesting to also understand the cleaner single PN space 
alternative.

For a discussion, see: https://huitema.wordpress.com/2021/02/14/how-many-packet-number-spaces-for-quic-multipath/. Both options work. The single number space option is simpler, the only problem being the number of ranges in the acknowledgements.

-- Christian Huitema

Reply via email to