[GH-ISSUE #2294] support mulit-link(path) aggregation and failover #1823

Open
opened 2026-05-05 13:10:34 -06:00 by gitea-mirror · 4 comments
Owner

Originally created by @CecilioGovain on GitHub (Mar 12, 2021).
Original GitHub issue: https://github.com/fatedier/frp/issues/2294

The solution you want

A server or client machine may have multiple IP addresses, that means, you can reach your server via multiple paths(or links), if we aggregate these links to one virtual path, we will speed up the tunnel, and get a stable tunnel if implemented failover.

Alternatives considered

The following alternatives are not easy to use, they all are written in C, you need root to run it, and doesn't work in Windows:
Linux Kernel implementation of MultiPath TCP (MPTCP)
Glorytun is a small, simple and secure multipath UDP tunnel.
MLVPN - Multi-Link Virtual Public Network

How to implement this function

Application scenarios of this function

Originally created by @CecilioGovain on GitHub (Mar 12, 2021). Original GitHub issue: https://github.com/fatedier/frp/issues/2294 <!-- From Chinese to English by machine translation, welcome to revise and polish. --> **The solution you want** <!--A clear and concise description of the solution you want. --> A server or client machine may have multiple IP addresses, that means, you can reach your server via multiple paths(or links), if we aggregate these links to one virtual path, we will speed up the tunnel, and get a stable tunnel if implemented failover. **Alternatives considered** <!--A clear and concise description of any alternative solutions or features you have considered. --> The following alternatives are not easy to use, they all are written in C, you need root to run it, and doesn't work in Windows: Linux Kernel implementation of [MultiPath TCP (MPTCP)](https://multipath-tcp.org/) [Glorytun](https://github.com/angt/glorytun) is a small, simple and secure multipath UDP tunnel. [MLVPN](https://github.com/zehome/MLVPN) - Multi-Link Virtual Public Network **How to implement this function** <!--Implementation steps for the solution you want. --> **Application scenarios of this function** <!--Make a clear and concise description of the application scenario of the solution you want. -->
gitea-mirror added the
proposal
label 2026-05-05 13:10:34 -06:00
Author
Owner

@fatedier commented on GitHub (Mar 12, 2021):

It's a good point but i'm not familiar with this. I will study it in the future.

<!-- gh-comment-id:797219807 --> @fatedier commented on GitHub (Mar 12, 2021): It's a good point but i'm not familiar with this. I will study it in the future.
Author
Owner

@KevinWang15 commented on GitHub (Jun 25, 2023):

I truly desire something like this (though I guess it is technically very challenging).

The use case is:
Servers with high bandwidth are really expensive in China.
However, we could buy servers with 30Mbps bandwidth relatively cheaply. (e.g., TencentCloud Lighthouse Hongkong server).
If we could buy 10 servers with 30Mbps bandwidth and aggregate them to create one with 300Mbps bandwidth, that would be amazing. (I use frp mostly for accessing my files on my NAS, so bandwidth is quite important for me.)

<!-- gh-comment-id:1605805809 --> @KevinWang15 commented on GitHub (Jun 25, 2023): I truly desire something like this (though I guess it is technically very challenging). The use case is: Servers with high bandwidth are really expensive in China. However, we could buy servers with 30Mbps bandwidth relatively cheaply. (e.g., TencentCloud Lighthouse Hongkong server). If we could buy 10 servers with 30Mbps bandwidth and aggregate them to create one with 300Mbps bandwidth, that would be amazing. (I use frp mostly for accessing my files on my NAS, so bandwidth is quite important for me.)
Author
Owner

@fatedier commented on GitHub (Jun 25, 2023):

@KevinWang15 I would recommend trying xtcp first, as it's p2p communication.

<!-- gh-comment-id:1605839068 --> @fatedier commented on GitHub (Jun 25, 2023): @KevinWang15 I would recommend trying `xtcp` first, as it's p2p communication.
Author
Owner

@KevinWang15 commented on GitHub (Jun 25, 2023):

@fatedier Thank you very much! I gave xtcp a try, it works well, and it could allow for a pretty high bandwidth (more than my 50Mbps frps server could offer). I guess the bandwidth is only limited by my NAS's uplink now. Great job!!

<!-- gh-comment-id:1606137693 --> @KevinWang15 commented on GitHub (Jun 25, 2023): @fatedier Thank you very much! I gave `xtcp` a try, it works well, and it could allow for a pretty high bandwidth (more than my 50Mbps frps server could offer). I guess the bandwidth is only limited by my NAS's uplink now. Great job!!
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/frp#1823
No description provided.