I've got a small home network, 3 PCs plus a laptop or two when the relatives come to visit, connected to a single cable internet connection. Now, as soon as everyone starts using the 'net the performance starts to suffer and if the load is heavy enough nobody can get anything done and everyone complains. At one point it was so bad that only one of us could use it at a time. I was researching possible solutions to this problem and I heard that internet cafes that utilize 2 internet connections, possibly from different providers, and have some sort of router that allows them to split the traffic between the both of them, with online games going through one and web traffic going through another. Is this possible? What is the technical term for it, and can/should it be applied to a home network setup or is there another solution to this problem?
There are several possible solutions.
- Subscribe at your ISP to higher bandwidth - your bandwidth test results are very low.
- If the bandwidth should be sufficient, then get a better router (remember to convert bandwidth in Mbits to Mbytes by dividing by 8, although dividing by 10 is normally more accurate).
- If you still wish to combine two Internet connections, get a router that is capable of "Bandwidth Aggregation" or "Link aggregation".
For bandwidth requirements for youtube see :
How much bandwidth is required to play online YouTube videos ?
The article notes that to enjoy good HD viewing experience requires 1Mbps, while non-HD requires at least 513Kbps. Below these values, one may need to wait for the video to buffer .
I think your best bet is to look for a router with a QoS (Quality of Service) feature.
This will prioritise traffic going through your network and make more bandwidth available for things like games and streaming Youtube while reducing the bandwidth for things like Windows Updates, emails and other less time-critical things.
It's not going to work miracles, your connection is what it is, but it will make better use of what's there. This will save you a lot of time from manually going to each computer and setting Windows Updates to happen later or disabling background programs, and it will work for every computer on your network.
A still better solution though would be to install a separate internet connection for each computer, as another commenter said, although I don't imagine that is very practical.
Did you use theCD that came with your router to set up IC sharing on your computer? I noticed that some CD's will let you configure the routre but it actualy sets up Internet connection sharing. You can tell this, if you have to keep one computer turned on to access the internet. If this is the cae, then you need to disable IC sharing and connect directly through the router. 1 MB is a lot for three computers just doing regular Internet stuff. Though not blazing, but enough that you should not see such a serious degradation in performance.
Assuming that the solution to your problem is "combine 2 internet connections", there are several way to do this:
Deal with your ISP
- To increase performance of your subscription (basically they will cut less traffic from you, if the current line capacity isn't fully used).
- To use technologies like link-aggregation but pay attention! A router capable of this can't do nothing if your ISP doesn't perform the proper configuration on its end.
Implement an enterprise solution :) just to mention, corporates usually have multiple links to the same or to different ISP (called Stub Multi-homed/Multi-homed respectively). In order to do that, BGP protocol is used mostly, and you need of an ASN and of a public IP.
- Balance your traffic through multiple connections with different ISP. Worth to note that when your traffic exits your LAN, a NAT (more commonly a PAT) is performed in order to map your private IP to a public one. The remote servers you're connected to maintain sessions with this public mapped IP. If you have 2 lines, you will map (NAT/PAT) the packets exiting one interface with a different public IP than the packets exiting the other interface. Because of this you can't expect to balance your connection to a destination server between the 2 lines, because the remote server won't see your PC properly, dropping the connection. The only way you can accomplish balancing between circuits without an enterprise solution and without an aggregation agreed with ISP, is to split the sessions between the circuits in a suitable way, the most easy is by internal source IP (ie. the Laptop 1 will use circuit 1, the Laptop 2 will use the 2, than the PC 1 will use the circuit 1, and so on). Of course this balancing is not perfect, because a single PC will never use more than 1 circuit. Many other better algorithm exist anyway, but in this case you will need of an enterprise class router.
Out from this assumption, worth to investigate if your problem is just the bandwidth. Maybe your router is bugged/broken, or it's not enough powerful. Also, maybe you have a wireless problem (channel overlapping, one 802.1b device that cut all the network down, and so on).
In other words, my suggestion is to first verify if the problem is in your network or in the ISP one.
Best starting points easy to achieve:
- Disconnect all the devices but the one you will use for test, and connect it to the router through wire if possible.
- Ping a well known public IP (like 18.104.22.168 anycast DNS from Google) and take note of the best, worst, and average latency, as well of the packet loss. Even better, if you could use "mtr" (http://linux.die.net/man/8/mtr), it will easily get all these values for you.
- Use a tool like http://www.speedtest.net/ to verify the both upload and download bandwidth.
Ensure you perform these steps multiple times during the day and at different timings (ISP can be more congested when people end work and go back home, for instance).
Only after you verified that you can't do nothing on your side, I'd move to an additional line or so.