Bandwidth management
This article's tone or style may not reflect the encyclopedic tone used on Wikipedia. (December 2007) |
In computer networking, bandwidth management is the process of measuring and controlling the communications (traffic, packets) on a network link, to avoid filling the link to capacity or overfilling the link, which would result in network congestion and poor performance.
Overview
Almost everyone who has an Internet connection has at some time downloaded a large file, or run a peer-to-peer file sharing program, and noticed that Web pages start to load very slowly, or fail to load.
The reason is, of course, that the channel capacity (or bandwidth) of their Internet connection is limited, like the size of a highway, and when one tries to send too much information down it, more than its capacity, a virtual traffic jam results. This is also known as network congestion.
This analogy is important to understand the terms used: channel capacity is the width of the road, and traffic is the amount of data trying to use it. Controlling or managing traffic reduces capacity use, and is often described as bandwidth management, also known as bandwidth control, traffic control, congestion control, traffic shaping or traffic management.
Finding the culprit
The user of a single computer on a dedicated connection will probably know what application has caused a problem or, barring spyware that hides itself deep within a system, figure it out pretty quickly. This task is much harder for a network administrator who often does not know what applications others are running or how the applications use the network.
More sophisticated Bandwidth Management techniques use a macro approach that manages traffic "per-user" rather than "per-application". This frees the network provider from having to constantly identify what clients/customers are doing, and avoids some of the legal concerns and public outcry about providers dictating what customers can do. This approach acknowledges that on ISP-type networks, "fairness" is a per client issue. By managing per-client, no single user can use more bandwidth than their allocation, no matter what application they may be running or how many users are on their endpoint.
Typically a single user will not need bandwidth management. The real problem is when multiple users and applications are downloading simultaneously. Because TCP windows are large, these applications all throw a large amount of data into the same queue at your upstream provider. While the traffic arrives at this queue randomly; it is processed sequentially, resulting in choppy download speeds. The more applications that are downloading simultaneously, the larger the backlog. When the backlog grows too high, packets must be dropped to avoid having TCP retransmissions overflow the queue and wasting bandwidth with duplicate traffic. Avoiding dropped packets is the most critical function of bandwidth management. You can reduce this backlog using window shaping technology, which reduces the amount of traffic that each flow can transmit, thus reducing the queue depths and the necessity to drop packets.
Troubleshooting network performance is a critical task for network administrators. An individual downloading large files on a dedicated network connection can happily consume as much bandwidth as the network is capable. On a shared network, if one user monopolizes the network, others will complain about any number of things related to the network responding slowly or timing out completely.
Fixing the problem
To keep your Internet connection working fast and smoothly, you must control your use of bandwidth, to stay below the maximum capacity of the network link. To control something, you must be able to measure it.
These tasks are usually viewed separately: much software exists for network traffic measurement and network traffic control, but these are normally not integrated. And indeed it may not be necessary to integrate them. Once the cause of the heavy traffic is identified, it is usually simpler, and may be more effective, to shut it down or reschedule it than to try to manage its bandwidth use.
Many aspects of the Internet protocol suite prevent communications links from reaching their maximum capacity in practice. Therefore, it is necessary to keep the link utilisation below the maximum theoretical capacity of the link, in order to ensure fast responsiveness and eliminate bottleneck queues at the link endpoints, which increase latency. This is called congestion avoidance.
Some issues which limit the performance of a given link are:
- TCP determines the capacity of a connection by flooding it until packets start being dropped (Slow-start)
- Queueing in routers results in higher latency and jitter as the network approaches (and occasionally exceeds) capacity
- TCP global synchronisation when the network reaches capacity results in waste of bandwidth
- Burstiness of web traffic requires spare bandwidth to rapidly accommodate the bursty traffic
- Lack of widespread support for explicit congestion notification and Quality of Service management on the Internet
- Internet Service Providers typically retain control over queue management and quality of service at their end of the link
- Window Shaping allows higher end products to reduce traffic flows, which reduce queue depth and allow more users to share more bandwidth fairly
An alternative approach to improved performance is to reduce the amount of traffic generated whilst browsing. This can be achieved by removing photographic and other bandwidth intensive content from webpages and render the page as text-only. This can be particularly beneficial on low bandwidth connections, for instance in the developing world. Disabling Internet Explorer options such as show pictures allow pages to be downloaded and viewed minus the pictures. The website Loband can be used to deliver a simplified page, with colours removed and images replaced by links.[1][2]
Tools and techniques
Software for measuring network traffic can be divided into two broad classes: packet sniffers, which look at individual packets, and management applications which give a broader overview of network traffic.
Packet sniffers are very useful for network experts tracking down tricky problems. But the volume of information they generate is enormous. A fast broadband connection can transmit thousands or millions of packets per second, and inspecting each one in detail is unlikely to help you make your network faster. In addition, understanding the output of these analysers requires a detailed understanding of network protocols such as TCP/IP and HTTP. For most network administrators, the broad overview is likely to be more useful, at least as a starting point for tracking down rogue users of their networks.
Many companies sell expensive solutions to help manage a network, which may or may not include managing the bandwidth of an upstream connection. There are also a few lower cost options. Some are researched and described on the network traffic measurement page.
Typically, lower end bandwidth management devices will delay packets using queues that release packets at intervals that can be defined by user policies. This works well on small to medium networks where traffic flows do not have to be reduced to achieve good results. One major problem with delay techniques is when traffic is delayed multiple times by multiple devices in a stream. This can cause retransmissions to occur because a particular packet is delayed for too long, which can significantly slow a connection.
Some higher end bandwidth management devices use TCP window shaping to reduce the overall flows in your network. By "fooling" the upstream server sending the traffic with a smaller window request, the server will send less data. This has a "pacing" effect on the traffic, and reduces the amount of traffic in your upstream queues without requiring a separate device to manage it. Since the queues are less clogged, traffic flows with less jitter at a naturally lower speed without having to use delay techniques. Window shaping can increase the capacity of your network by 20-40 times (a window of 64K will allow 42 full packets to be sent by downloading servers; this can be adaptively reduced to 1 with window shaping).
Of course TCP window shaping only is effective on TCP traffic, so most high-end devices use some combination of delay queues and TCP window shaping.
Companies with products employing bandwidth management
- Allot Communications
- Blue Coat Systems
- Cisco Systems
- Ericsson
- Emerging Technologies Inc
- Exinda Networks
- F5 Networks
- Fortinet
- Juniper Networks
- Latitude Broadband, Inc.
- LogiSense Corporation
- NetEqualizer
- OPNET Technologies
- Packeteer (Acquired by Blue Coat Systems)
- Radware
- Sandvine Incorporated
- SecurActive
- Strangeloop Networks
- Symantec (formerly TurnTide)
- Xrio
Notes
References
- "Deploying IP and MPLS QoS for Multiservice Networks: Theory and Practice" by John Evans, Clarence Filsfils (Morgan Kaufmann, 2007, ISBN 0-12-370549-5)
See also
- INASP runs bandwidth management training workshops and produces reports
- The Authorization part of the AAA protocol makes reference to traffic management and bandwidth control
- Bandwidth management using NetFlow and IPFIX data
- Network congestion avoidance lists some techniques for prevention and management of congestion on routers
- Traffic shaping and Rate limiting are bandwidth management (traffic control) techniques
- Bandwidth management is a subset of Network management and Performance management
- Network traffic measurement is a subset of Network monitoring
- Bandwidth throttling
- Bandwidth cap