2012-1Q: CORE: WIB Traffic Shaping Enhancements
Two significant updates have been made to traffic shaping on the WIB - Top Level Contention and Bursting Support.
In order to use these features the WIB firmware must be updated to version 20120227 or later, and if it is an ImageStream router the ImageStream firmware must be version 4.4.0-113 or later - you can check a WIBs firmware version by going to the graphs for the gateway - the firmware version is reported in the information box at the top of the page. The ImageStream firmware version is displayed when you login to the router:
If you require your WIB's firmware to be updated, please contact support@azotel.com.
Top Level Contention
In the past traffic shaping contention always happened withing a bucket. So, for example if 4 customers were assigned to a 2Mb/s bucket, and all 4 were downloading at the same time, then each customer would get 2Mbs / 4 = 512kbit/s. If only two were downloading, then each would get 1Mb/s, etc. The contention happens even if there is plenty of spare capacity on the WIB. This can result in an inefficient usage of capacity where there is plenty of spare capacity, and can also mean that certain customers are "penalised" by being in the same bucket as a heavy user.
The updated traffic shaping scheme gives the operator the ability to do traffic shaping at a WIB level, rather than at a bucket level. With the new scheme the traffic shaping bucket simply sets the customers traffic shaping limits (i.e. max bandwidth), but does not cause them to be in contention with other customers. Instead the availalble bandwidth on the WIB is shared between all customers demanding bandwidth. Going back to the example in the previous paragraph, with the new scheme if all 4 customers were downloading at the same time, then each would get the full 2Mb/s - as long as there is sufficient bandwidth availalble on the WIB. If the total bandwidth demand for all customers exceeds the availalble bandwidth, then the available bandwidth is shared proportionally between all customers, with customers in priority buckets being serviced first.
The new traffic shaping scheme can be enabled by setting the "Top Level Traffic Shaping" flag in the Gateway Details page, and updating the WIB files:
Note that it is not necessary to make any changes to the traffic shaping buckets - they can still be used to group customers together, and to indicate which customers should have priority buckets, but with the new scheme enabled the buckets now simply indicate the max bandwidth the customer should have and no longer indicate who they contend with.
Important Note when using Top Level Traffic Shaping with WIB firmware version 201200905 or older: When "Top Level Traffic Shaping" is in use, the "Max bandwidth" WIB setting now only refers to traffic generated by the WIB itself - i.e. Whitelist, Management and P2P traffic. Having "Top Level Traffic Shaping" set too high can cause traffic generated by the WIB to get priority over customer traffic, leading to erratic download speeds. Therefore when "Top Level Traffic Shaping" is enabled, the setting of "Max bandwidth" should be reduced to reflect the actual traffic allowance which should be allocated to the WIB itself - i.e. approx equal to the sum of the whitelist, management and P2P rates. For firmware versions 20130124 and later, the "Max bandwidth" WIB setting has reverted to it's original usage, and can be used to limit the total bandwidth that the WIB as a whole will attempt to use - it should be set to a value which reflects the actual bandwidth available.
To revert back to the original traffic shaping scheme, untick the "Top Level Traffic Shaping" box and update WIB files.
Bursting Support
NOTE Bursting Support requires that "Top Level Contention", described above, is enabled.
Bursting allows customers to receive higher bandwidh than their usual rate for a short period of time. This can greatly enhance web browsing as it allows web pages to load quicker, while it will not impact overall bandwidth usage if a customer is doing a sustained download/upload.
With bursting enabled there are three parameters which control bandwidh in each direction (download / upload). These are:
Sustained data rate - this is the customers regular data rate specified in kbit/s. If bursting is not enabled, or if a customer has used up their burst allowance, this is the rate at which they will download/upload data.
Burst data rate - this is the higher rate, in kbit/s, at which the customer will be allowed to download/upload for a "short" period.
Burst size - this specifies the amount of data, specified in kilo-bytes (Kb) which the customer is allowed to transfer at the higher rate. Once this allowance is used up, the customers data rate will revert to the sustained data rate (i.e. the customers regular data rate)
The burst allowance "recharges" over time, so if customer downloads for a short period, pauses for a while and starts to download again (as might happen with browsing from page to page on a website), the second download will also happen at the burst rate. If on the other hand the customer rapidly switches from page to page, or starts a sustained download, the burst will be exhaused and will not recharge until the customer has paused their downloads for a period of time.
Note that the download and upload streams are treated separately, so it is possible to allow bursting in one direction only.
The image below shows two buckets - the first does not have bursting, while the second has bursting enabled in both directions:
Customers in the second bucket have a sustained download rate of 2Mbit/s and a burst rate of 4Mbit/s - the burst size for downloads is 4,000 Kb (= ~ 4Mbytes). This means that the first 4Mbytes of a download for a customer in this bucket will happen at the higher rate of 4Mbit/s, and the rate will revert down to 2Mbit/s if the customer continues to download beyond this. Similarly in the upload direction, customers have a sustained rate of 1Mbit/s and a burst rate of 2Mbit/s with a burst size of approx 2Mbytes.
Important Note: Due to limitations in the Linux Kernel, there is a maximum Burst Size which can be used for a given sustained data rate. The limit is approx 26MBytes (26,700 KBytes) per 100kbit/s sustained data rate. Some sample max Burst Sizes for various sustained data rates are given below. Exceeding these limits can cause traffic to be blocked.
Azotel | River House | Blackpool Park | Cork | Ireland
US +1-312-239-0680 | IE +353-21-234-8100 | UK +44-207-193-4170 | SA +27-11-083-6900