Is it possible to merge my ISP and cellphone Internet access? I want to split download and upload [duplicate]

Although it is practically impossible to separate upload and download between connections (as described in details in other answers) there is possible manual workaround.

You can manipulate default connection, switching it depending on task you wish to start. Default connection on Windows is first connected interface, its order is calculated by Metric (which tends to put wireless above cable).

You can easily override metric with manual order in advanced settings of network connections: How to change default connection in Windows. (Should work same from XP to 8.1 with minor or no differences)

Most modern programs use default connection provided by system, after connection is established it will (should) be kept on it. Usually it means that program will use connections that was default on time you started it. By switching default connection before opening connection you may be able to switch connection depending by task and keep both open at the same time.

Keep in mind that some programs (eg, download/upload managers) will open connections per-task, rather than per session, so your mileage may vary.


This is not possible. Acknowledgements are an integral part of Transmission Control Protocol. If you split incoming and outgoing data distinctly between two interfaces you would be inherently disabling the acknowledgement component of the protocol.

TCP is a connection-oriented protocol, which means a connection is established and maintained until the application programs at each end have finished exchanging messages. It determines how to break application data into packets that networks can deliver, sends packets to and accepts packets from the network layer, manages flow control, and—because it is meant to provide error-free data transmission—handles retransmission of dropped or garbled packets as well as acknowledgement of all packets that arrive. In the Open Systems Interconnection (OSI) communication model, TCP covers parts of Layer 4, the Transport Layer, and parts of Layer 5, the Session Layer.

Routers can implement network load balancing between separate interfaces, but that typically operates on a hashing. This means that a connection is established on a given interface based on a hashing algorithm, and maintained on that interface until it terminates. Even with expensive routers each interface is required to maintain an established connection until completion.


Addition: It may be possible, but the scope of the implementation makes it impractical. Besides, even if you manage to offload all your traffic to a mobile tether, how long do you think it'll be before the ISP updates your terms of service? There's likely a fair use policy in there somewhere already. Here are the requirements.

  • Spoof source IP of traffic egressing via mobile tether to match that of traffic egressing via your ISP connection so that it returns via ISP con. This can be done with iptables.
  • Route local traffic via mobile teather. Somethign like: 'route add 192.168.0.0/16 mask 255.255.0.0 [external IP of mobile tether]. Maybe run DDNS to keep you from having to update this frequently.

http://lartc.org/howto/lartc.rpdb.multiple-links.html

https://sandilands.info/sgordon/address-spoofing-with-iptables-in-linux

If you want to go ISP big, look into asymmetric routing with BGP.