1

In an entirely hypothetical scenario where I was living in a building where there is no ethernet and only Wi-Fi connections capped at 50Mbps, would it be possible for me to have multiple devices that I can link together to then have a much faster connection? Let's also assume that this building does not limit the number of devices that you can connect to this network, but even with just 4 devices you could theoretically get 200Mbps. I am not banking on this being the case, but it would be preferable to have a connection higher than 50Mbps.

I have been looking for answers to this question but it appears that people are usually interested in getting better reception by placing multiple antennas in different parts of the room or building and then combining them. That is not what I am looking for here. I am aware that there are also hardware solutions out there for load balancing across different internet connections, but that likely won't be a viable solution in my case.

One solution I have thought about would be have multiple small devices or microcontrollers with Wi-Fi antennas connected by ethernet to a single device which combines those connections - perhaps this could be a NIC in a desktop computer running with a custom driver which handles the distribution and combining of connections. I would then have it at proxy all connections via a server that I have connected to the internet elsewhere (likely a VPS in a datacentre) where the same process of splitting the connections would take place.

The main reason for using a server on the end would be for large downloads which would be over the same connection. This would mean I couldn't just rely upon distributing separate connections across different devices, I would also need to load balance the same connection across those devices.

The reason why I ask this here is because I would have thought a problem like this has been solved many times before. Would this proposed solution work? Are there any much better solutions where I wouldn't need a server on the other end to recombine the connections?

As a side note, I am not concerned with the additional latency that this will cause as the primary use of this system would be increasing my download speed for large files. If I really needed to reduce latency for an application such as a multiplayer video game, I could always just disconnect from this system and directly connect my desktop computer to this same Wi-Fi.

Crazy Redd
  • 111
  • 3
  • No. That will not work. – John Aug 18 '22 at 00:46
  • @John Can you explain the problem with it? – Crazy Redd Aug 18 '22 at 01:05
  • I'm composing an answer (which will take a bit) which will likely answer this (although I don't entirely agree with John) – davidgo Aug 18 '22 at 01:06
  • Can you explain the problem with it? ..... Simple Wireless setups(say with the same speed) do not get faster by combining . I was not thinking of @davidgo's complication when I answered. – John Aug 18 '22 at 11:41

1 Answers1

0

It is conceptually possible, but not really practical. Its also a lot of work and requires a lot of networking knowledge. If hand-holding is necessary its not amenable to a SU answer.

The reasons why it is likely not be practical include -

  • WIFI spectrum is limited - so even combining multiple connections you are still limited by the available spectrum.
  • Collisions - by trying to bind multiple connections you will likely cause a lot of collisions which could slow your system down, squandering much of your gains.

So, putting that aside, your difficulties -

In order to receive data across a single tcp connection you need to split the traffic up using a load balancer, and the equipment used in the router in use likely frustrates rather then facilitates this. (If this were outbound connections it might be a little less hard but as its for downloads that means something on the far end needs to balance the load as you hinted at.)

I have helped some people do this kind of stuff, but its quite hacky, and likely not cost effective. In essence what you need to do is set up a couple of VPNs/tunnels (where you control both the server and client - you can't just buy it from a VPN provider), and then bond the VPN connections together.

So - the tools/overview of how I would do it -

  1. Get a VM close to the client or server Run a wireguard server on it (I've not done it with Wireguard, but it was 10 years ago and I think Wireguard will be easier).

  2. Get 2 or more WIFI routers (or devices to act at WIFI routers), and connect each of these up to WIFI.

  3. This is the key - get a Linux box and configure it as a router, and also so that it does source routing (policy based routing) , ie set up multiple VPN connections, using source routing so that they take different connections. Bond the VPN connections together to do the load balancing.

  4. Set up bonding / load balancing for the VPN interfaces on the virtual server for return traffic.

  5. Set your client(s) up to route through the Linux box.

davidgo
  • 68,623
  • 13
  • 106
  • 163