How to distribute internet speed equally

11,047

Solution 1

The majority of the time, most typical clients won't be saturating your internet bandwidth.

Now, let's say you have four clients and two are idle, while the other two are downloading a large file. You don't want each to be allocated a maximum 25% of bandwidth, because that would mean that there is bandwidth that is going unused. You probably, instead, want the two that are downloading a large file to each get 50% of the bandwidth, but for that to drop if one of the idle clients suddenly starts utilising the connection. Now, as long as this is the behaviour you want, you don't have to do anything to achieve this; internet routers will do this anyway given other factors (number of connections open per client, buffers, etc) are equal.

Now, let's say that you have four clients and two are idle, one is downloading a large file using a single TCP connection, and another is downloading using 50 TCP connections (which may be the case if they're using a peer to peer service, for example). You don't want the person using 50 connections to be getting 50x the bandwidth as the person using one connection. Without any kind of shaping, this is what would happen under most internet routers.

QoS is an umbrella term for a variety of different ways of shaping traffic through a router. Note that you will only have control over the outgoing bandwidth from your clients, not incoming - that would need to be shaped on your ISP's side to be effective.

With QoS you can give some types of traffic, such as HTTP traffic, priority over other types of traffic. Or, you can give each client a minimum guaranteed bandwidth that, if they need it, they can have it (but if they're not using it, others can still use it). This is probably the way to go, IF your router does support that type of QoS control (which not all do).

Since you can only shape the outgoing bandwidth, this will have limited effect, but it can still have an influence on incoming bandwidth - every incoming data connection relies on periodic feedback from the receiving end that they are receiving the data.

Solution 2

Although this is a bit different that what you asked for, this may be one solution. If you take the number of PCs and divide the speed by that you could use wondershaper for the Ubuntu computers.

$ sudo apt-get install wondershaper

To use it, run ifconfig to find the name of your network controller. After that, type the upload speed in Kbps and and finally upload speed.

$ sudo wondershaper eth0 1024 256

For more complete information see this link: http://binwaheed.blogspot.com/2011/01/limit-internet-bandwidth-usage-internet.html

Share:
11,047

Related videos on Youtube

Yousaf Ehsan
Author by

Yousaf Ehsan

Updated on September 18, 2022

Comments

  • Yousaf Ehsan
    Yousaf Ehsan over 1 year

    Hi i am using adsl on my internet cafe and is there any way that i can distribute internet speed equally in all computers, is there any program for linux (Ubuntu) and Windows as well control and distribute internet speed referring to download/upload speed.

    For example

    1. Internet speed is controlled by a server / proxy or main computer
    2. clients have there quota of speed equally for all clients
    • Rinzwind
      Rinzwind about 11 years
      Check your router if it support Quality of Service (QoS); that is the common gateway to the outside so if anywhere you should set it there.
    • Yousaf Ehsan
      Yousaf Ehsan about 11 years
      yes it has but i am asking if is there any programm because in our college our professor use some kind of program which distribute speed equally
    • Yousaf Ehsan
      Yousaf Ehsan about 11 years
      and i want todo this for knowledge i dont have any big issue with this
    • Dan6073
      Dan6073 about 11 years
      This is a bit old but gives a good overview of using QOS on a linux based router: linux.com/learn/tutorials/…
  • Yousaf Ehsan
    Yousaf Ehsan about 11 years
    nice an broad explaintion can you tell me whats your studies are ? networking / engineering, I just want to know because upto me you have alot of great knowledge and great concept
  • Yousaf Ehsan
    Yousaf Ehsan about 11 years
    thats a great tool