On 12/16/2020 5:08 AM, Quentin De Coninck wrote:

In my opinion, I don't think the "path" should be the element we should identify. Rather, I think we should identify "forward flows" and "backward flows" (what we call uniflows in our deconinck draft) and see paths as a combination of a forward flow and a backward one.

Maybe - it sounds appealing. But if the client is always responsible for probing paths also for different server announced endpoints, then both endpoints are naturally coupled. The alternative would be for the server to also probe paths, and that can be difficult with NATs without STUN. There are many things to consider ...

Sure. Most of the time it is the client that will open the way and the server waits for the client's packets exposing reachable IP/port tuple. But I would find unfortunate to have a core design preventing such flow creation initiative by the server. And while the client can use, e.g., two flows to reach the server, the server may only want to keep one flow towards the client to limit its state and we have two possible circuits: 1) flow 1 client to server/flow server to client and 2) flow 2 client to server/flow server to client.


The "symmetry of paths" is exactly the kind of issue for which we need experimentation with multiple implementations. We will know much more about that in a couple weeks.

The "symmetry of roles" is another matter. It is tied to discovery of addresses and traversal of NAT and firewalls. The address discovery issues are not specific to multipath -- they are prominent for example in P2P scenarios using QUIC V1. I think we should address them separately, as part maybe of an address discovery extension to QUIC V1. If that discovery extension was available, it could be composed nicely with multipath extensions.

I don't think there is anything in the current draft that would prevent that "composition with address discovery", but people are fallible. If there is, it will be fixed.

-- Christian Huitema

Reply via email to