tailscale / tailscale/tailscale
FR: Multi-session / Multipath support for single-flow traffic
- Dominant language
- Go
- Stars
- 36.5k
- Forks
- 3.2k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 123
Description
### What are you trying to do?
I want to improve performance for applications that use a single flow, like downloads or streaming.
Right now, all traffic from one app goes through a single WireGuard tunnel to the exit node. Even if the app opens multiple connections, they all share the same tunnel. Because of this, it cannot use multiple Internet links or scale throughput.
I am requesting a feature that allows splitting one application flow into multiple encrypted sessions (multipath) to the exit node, so traffic can be faster and more efficient while keeping Tailscale secure.
### How should we solve this?
The feature could work by allowing the Tailscale client to split a single application flow into multiple encrypted sessions to the exit node.
Each session could use a different network path or tunnel, similar to how Speedify or SD-WAN bonding works. The Tailscale server would then reassemble the packets and deliver them normally to the internet.
This way, a single download or high-traffic app could use multiple paths for higher throughput, while keeping the security and privacy of Tailscale.
### What is the impact of not solving this?
If this is not solved, single-flow applications like large downloads, video streaming, or backups cannot fully use multiple Internet links. This limits speed and throughput even if the user has multiple fast connections.
Currently, I am working around this by either using download managers that open multiple internal connections (which still go through one tunnel) or using separate VPN connections manually for different apps. Both methods are not efficient and cannot fully use all available bandwidth.
### Anything else?
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.