[SOLVED - Possible!] Combine/Bond a WiFi connection and Ethernet Connection

Status
Not open for further replies.

chris6273

Distinguished
Dec 22, 2010
24
0
18,510
Hi guys,

I have a big question to ask - Is there any software available which will allow the combining/load balancing of the WiFi connection and Ethernet Connection on a laptop?

Basically we have a Server in a datacenter with a Gigabit connection to the internet, and we have a Gigabit connection to the internet in our building. Yes - both connections are capable of reaching these speeds.

The problem is our room only has a 100Mbps port in the wall which provides quite a good connection however there is also wireless active in the building which we can use whenever.

The problem isn't just downloading, it's uploading. Uploading seems slower than it should be on the hard wired connection (Around 10Mbps) even though the Download is usually ~100Mbps as it should be. It's actually faster to upload via wireless than Wired. Also when performing the tests at the same time, neither one conflicts with each other so there is definitely bandwidth available to use. Anyhow we have our reasons why we wish to achieve the fastest possible speed, including backup reasons.

As we own the server in the datacenter we can install software which may be able to help us achieve the goal if there is any needed: Is there a way to combine/load balance the WiFi & Ethernet connection on a laptop so both can receive/send different data from/to the same source? For instance we use Internet Download Manager at the moment which does a similar role (Splits the file into chunks and downloads them at the same time) but only under 1 Ethernet adapter. Under normal circumstances I'd think it wouldn't be easy as it's usually done at router level but as we own the DEDICATED server, I'd have thought something like this is possible through software.

So is there any software out there which would allow us to accomplish this without turning the laptop into a router itself and having to plug things into it? We'd still like to use the laptop obviously.

Thanks for your answers,
Chris
 
You can but you likely don't want to. You of course can use the route command to send traffic between certain machines one way and other machine the other.

So let assume you get the software that can do this. It is a form of VPN software(it is actually easier to do on a commercial router) In a simple example it runs PPPoE so now you in effect have a single point to point with the traffic routed though it. Now what the software does is try to send as much traffic over each link as possible. It in effect will load balance by packet.

The key problem is when you use load balance by packet on links that have different latencies you get packets that arrive out of order on the end machine. The normal response is to assume it lost the packets and ask to have them retransmitted. If the latencies are highly different it does not take long before your get more retransmission data than actual data. Eventually the links get overloaded and you start taking actual packet loss.

You could choose to not use load balance by packet and load balance by session but this is similar to putting in the route commands. It will not make a single stream run faster it will just allow more parallel streams to run faster.

You best solution would be to try to get the wall jack moved to a switch that has a 1g port on it.
 

chris6273

Distinguished
Dec 22, 2010
24
0
18,510
Yeah I understand what you are saying Bill, but is there not any software which can keep track of what parts of the file have gone to which connection and/or can co-ordinate the transfer? That way it doesn't matter if it arrives out of order because it will be transferring different parts of the file per connection and will assemble it AT THE END when everything has been received? Bear in mind it's a class B network and both interfaces have their own IP to the internet (They don't share one external IP) should that help.

Moving to a 1Gbps port is not an option.
 
It is much worse than you think. It is not even parts of the files it is the packets themselves. It is a fundamental issue with TCPIP. The transfer protocol detects out of order packets as packet loss and causes a retransmission.

If you where to say break a file into 20 parts and then transfer those 20 parts as separate file transfers you could use load balance by session. Still you pretty much manually have to control which piece gets sent where. In general the overhead to chop a file up and then put it back together again many times exceeds the time saving of just sending it over the slower link. This is sorta how bit torrent works.

There is no good solution to this problem. When we purchase circuits that require use to bond 2 paths together we always have the provider verify that their is no different in the latency. Even a couple of milliseconds is detectible and when you get 100s of milliseconds it gets totally unusable.

There really is no solution to the I want to transfer a single big file from machine a to machine b over multiple links

 
There are a couple of VPN services on the internet that try to do it and there are a number of linux based systems that do it. Most are appliance based solutions. This is pretty easy to do with commercial routers. 2 simple GRE tunnels and OSPF equal cost load balancing. I know of no product on a windows platform that does this. In general they are under the category called load balancers

The key to understanding why you should not do this are the concepts of "load balance by packet" and "load balance by session".

The only devices I have actually seen that claim they can resolve this issue are some extremely expensive wan accelerators. They keep track of the delays and send packet of different size though the different connection and hold data to prevent it from getting out of order.
 

chris6273

Distinguished
Dec 22, 2010
24
0
18,510
Hi guys, just a quick update:

After doing a few hours of digging, I've managed to find a piece of software that does what I need it to do. It's called "Connectify Dispatch".

It claims to be able to bond "Multiple" connections into one pipe to create a single, fast connection and so far it has done exactly that!

Here's a screenshot showing the softwares' throughput graph with both connections under full power:

i2fs.png


Link to software: http://www.connectify.me/dispatch/

Definitely something to add to my book of "Goodies"!

I understand why I shouldn't do this (As I'm a part time Computer Networking student and life long obsession - Still got much more to learn!) but bearing in mind I'm receiving and transmitting TCP Packets and not UDP Packets I don't see a problem - The throughput does drop sometimes but it's spending about 90% maxed out and 10% fluctuating so it's doing much more good than bad.

It'd be faster if I had a better WiFi card in the laptop but it's only a cheap Acer. Might look around for a good 5GHz 'N' card as the one I have at the moment is only 2.4GHz. Would probably be a bad idea to go using/bonding two WiFi cards though - Would more or less double the packet loss and of course issues with them using the same Channel.

One of my colleagues has tested the WiFi network with his MacBook (5GHz WiFi card) and claimed to have received 180Mbps!

Might need to be careful though - The network managers may start cracking down on usages.

Anyway this is now solved! If you need software for bonding (No guarantees it will work 100% with all connections) use Connectify Dispatch! Paid £25 for the life product.

Thanks for all your answers!
 

sam29

Reputable
Jun 8, 2014
1
0
4,510
few questions...

how fast can hd on laptop write to ? I don't think your laptop hd can handle it that mean these laptop hd are very slow at wirting
on upload wherever you uploading is their connection capable or receiving data at more the 10?

you will never be able to use that kind of bandwidth on laptop so test it on desktop, server etc.

even if there is bandwidth most even most desktop can't handle that kind of data coming in, and very few if any hd will handle full bandwidth unless they in RAID setup




 
Status
Not open for further replies.