Is there a solution that is better than a failover which will not break the TPC connection for the client. Say I have two independent ISP routers, an offshore VPS with a
perfect stable connection, and an old video call software which disconnect the call when the TCP stream breaks. Is there a custom protocol that can retry packets on the other 2nd ISP connection, or even say duplicate all packets like RAID 1 for hard drives, and the VPS+Client will determine which packets made it and which didn't, ensuring perfect connections.
I've looked at Zerotier many times over the years. You are using this as your dedicated VPN to load balance multi WAN connections, is that what you are saying?
There is a redundant mode available, but even in default mode when a connection break you should not have any problem on TCP stream that will just use another available connection.
Correct. It's more like a VPN that bonds multiple commodity internet connections for better performance. OPENMPTCP tries to be as transparent as possible. There are a handful of servers on the internet that actually support end to end MPTCP as well so the above question is legitimate.
... isn't this exactly that? am i missing something from your comment?`to be clear using mptcp your packets will leave your gateway on redundant links simultaneously while keeping connection characteristics such as bandwidth latency reliability and availability separate afaict.
Yes, this is exactly that. I've been using that openwrt distribution to do just that for a year and it's been working out really great. The nice thing about the approach is that you get a boost in both bandwidth and reliability as there is always a link available for your packets.
The drawback is increased latency (about 60ms instead of 40 on each individual links) but openmptcprouter provides a nice tool to easily exclude specific services or devices from using the tunnel. My gaming packets and netflix are both setup to keep using the otherwise adsl link. (Netflix override is because their stupid geo check think my vps is a vpn endpoint used to mask my location).
Most likely the packet scheduling, I suppose the mpctp kernel module has sometimes to wait to get all packets in the right order.
Also, I am aggregating 2 4G link which might not help since both links send large packets of data infrequently if I understand correctly. Maybe aggregating 2 wired link would have lower increased latency cost.
In the end, I'm getting up to 40Mbits of bandwidth instead of being stuck with my 3MBits adsl link and I'm pretty happy.
that is actually somewhat impressive performance in my books. i would guess 4G links are inherently unstable regarding prediction of connection characteristics for proper scheduling... thanks for sharing your experience with that :)