2 Cable Modems = Double Speed? Part 4
[NOTE] This part 4 in a series of posts. The rest can be found here.
So, this week I went in a completely different direction that I have been thinking recently.
So, the basic theory is as follows:
- I am still using MPTCP kernels on both upstream and local machine
- now have 2 P2P UDP OpenVPN tunnels between house and cloud. Example config is here
- all TCP traffic (bar port 80) that hits the router in house is redirected to RedSocks
- RedSocks uses a socks server, Dante, as an upstream server on the cloud box
- since the socks traffic is over TCP (inside the UDP OpenVPN tunnel) it uses MPTCP
- having socks running, gives me quite the download speed, turning it off does not, hence the following tweet
- I am also noticing that I am starting to hit the limits of my upstream VM. If downloading or uploading at speed, the processor cores (2 in the case of the box I am currently running) are pegged at pretty much 100% full. Well, 80ish, but that because the other 20% is being used by Dante. I am noticing I can hit a full 72Mbit/s up, but the max currently downloading is about 400, maybe 450. Need a faster box now.
- I mentioned port 80 not being set over socks. That’s because its redirected to Squid. Squid (in house) then uses Squid (in cloud) as a parent. There are 2 round-robin parents for squid, one on each OpenVPN connection IP address.
- all other traffic (UDP, ICMP, etc.) are sent over the OpenVPN connection. currently only one is picked, but I have a cunning plan.
The cunning plan? Well, if I am reading the internet correctly, and I would like to think I am, I think ECMP, or Equal Cost Multi-Path Routing, could help. Again, it’s a fledgling idea currently, and I am still reading the documentation, but if it works. Well. I not sure. let’s see.