multipath-tcp / mptcpd

mptcpd is a daemon for Linux that performs Multipath TCP path management related operations in the user space 😈
https://mptcpd.mptcp.dev/
BSD 3-Clause "New" or "Revised" License
175 stars 39 forks source link

Does MPTCP support a global proxy in the middle? #288

Closed maojianyou closed 4 months ago

maojianyou commented 5 months ago

For the application scenario in question, let's assume A represents common devices such as smartphones or computers, B and C are Ubuntu 20.04 servers, and D serves as the server backend or the source server. Currently, B functions as a gateway router for A. There are multiple channels between B and C, such as tun1, tun2, and tun3. The question is whether it is possible to deploy MPTCP between B and C to accelerate A's access to D. The primary objective is to solve the issue where the bandwidth of each of the tunnels like tun1 between B and C is only 10M, with tun2 and tun3 each also at 10M. However, if my smartphone or computer needs a bandwidth of 30M to access resources from D, can MPTCP be implemented between B and C to merge these into a single TCP flow? This would effectively give me a real bandwidth of 30M. Then, when A’s request passes through B and reaches C, C would perform NAT to access D normally. When D sends resources back to C, C could split the response through one TCP connection into multiple MPTCP subflows back to B. Subsequently, B reassembles and sends it back to A via a regular TCP connection. The question is whether it is feasible to achieve this kind of bandwidth aggregation.

matttbe commented 4 months ago

The exact same issue has been opened just before in https://github.com/multipath-tcp/mptcp_net-next/issues/488

Please do not create duplicated issues.