2

I am trying to transfer data over multiple connections.

My system info:

  • Ubuntu 16.04 LTS
  • 2x 100Mbps ETH
  • 3x LTE Cellular Modem (Mobile Broadband) connected over USB

I want to use the network interfaces as a load balance. For example:

  • ETH0: Connected (27 Mbps)
  • ETH1: Connected (24 Mbps)
  • BOND0: (51 Mbps)

I can do this with bonding over ethernet connections. I want to do same thing over Cellular PPP connections.

If you can share keyword to google, a document or link to guide, solution block or any tool, be glad.

Have a solutionly day :D

1 Answers1

1

Bonding (aka Link Aggregation) is not the same as Network Load Balancing.

  • Bonding - use multiple connections as a single connection. Data is spread evenly over the physical links and reassembled at the remote end.
  • Load Balancing - use multiple connections, each existing as an individual with no dependency of the other. Connections are spread evenly over the physical links. There is no reassembly.

To implement link aggregation over a connection, both ends need to be configured to support it. Without support from your Ethernet or cellular service provider, this won't be possible.


An alternative that doesn't require support from the "other end" is load balancing. This only really provide benefit for the local system (or hosts behind it), for example when accessing the internet - if you are hosting a service, then this will only be beneficial to users if you point them at all of your public IPs (e.g: round-robin DNS).

Consider loading a web page - each HTTP request could be sent via a different link to the internet, increasing the perceived bandwidth, and decreasing load times. In practice this can cause issues, so care needs to be taken to configure it correctly.

  • Sessions - it's possible that the user will appear to "jump" between public IP addresses. Many services will consider this to be a red flag from a security point of view.
  • HTTP/2 is designed to establish fewer multiplexed connections to a server, rather than the many single-use connections of HTTP/1.0, which would reduce the perceived effectiveness of such a configuration.

After a bit of searching, I've found a pretty comprehensive write up, which I think is what you're after:

I'm not in a position to test this, and I think it's more complex than an answer here could reasonably explain, hence linking to it.

network diagram

Attie
  • 20,734