# Bandwidth Allocation Control Protocol

WHAT IS BANDWIDTH?

## Definition

The maximum amount of data transmitted over an internet connection in a given amount of time.

Bandwidth is often mistaken for internet speed when it’s actually the volume of information that can be sent over a connection in a measured amount of time – calculated in megabits per second (Mbps).

## What’s the difference?

Some internet terms are so similar that they’re often confused with each other. We’re here to help set the record straight.

### Bandwidth vsspeed

Bandwidth is how much information you receive every second, while speed is how fast that information is received or downloaded. Let’s compare it to filling a bathtub. If the bathtub faucet has a wide opening, more water can flow at a faster rate than if the pipe was narrower. Think of the water as the bandwidth and the rate at which the water flows as the speed.

### How bandwidth works

The more bandwidth a data connection has, the more data it can send and receive at one time. Bandwidth can be compared to the amount of water that can flow through a water pipe. The bigger the pipe, the more water can flow through it at one time.

Bandwidth works on the same principle. So, the higher the capacity of the communication link, or pipe, the more data can flow through it per second.

End users pay for the capacity of their network connections. Therefore, the greater the capacity of the link, the more expensive it is.

### How to measure bandwidth

While bandwidth is traditionally expressed in bits per second (Bps), modern network links have greater capacity, which is typically measured in millions of bits per second (megabits per second, or (Mbps) or billions of bits per second (gigabits per second, or Gbps).

Bandwidth connections can be symmetrical which means the data capacity is the same in both directions to upload or download data, or asymmetrical, which means download and upload capacity are not equal. In asymmetrical connections, upload capacity is typically smaller than download capacity.

### Considerations for calculating bandwidth

Technology advances have made some bandwidth calculations more complex, and they can depend on the type of network link being used. For example, optical fiber using different types of light waves and time-division multiplexing  can transmit more data through a connection at one time, which effectively increases its bandwidth. In wireless networks, bandwidth is defined as the spectrum of frequencies that operators license from the Federal Communications Commission FCC and the National Telecommunications and Information Administration (NTIA) for use in mobile services in the U.S.

Effective bandwidth, which is the highest reliable transmission rate a link can provide, can be measured using a Bandwidth test in which the link’s capacity is determined by repeatedly measuring the time required for a specific file to leave its point of origin and successfully download at its destination.

In addition to testing, organizations need to calculate how much bandwidth they need to run all the applications on their networks. To find out how much capacity they need, organizations must calculate the maximum number of users who might be using the network connection at one time and then multiply that number times the bandwidth capacity required by each application.

To calculate needed bandwidth for the cloud, it’s important to know the capacity needed to send and receive traffic from public clouds. Capacity can be affected by any congestion on the connections used to reach public cloud providers, particularly if that data is traveling over the internet.

When looking into how much bandwidth a specific application will need, there are two basic steps to calculating bandwidth requirements:

1. Determine the amount of available network bandwidth, expressed in bytes per second (Bps).
2. Determine the average utilization required by the specific application, expressed in bytes per second.

After determining the network’s bandwidth, it is necessary to see how much bandwidth each application is using. Bandwidth testing can be used to detect the number of bytes per second the application sends across the network.

### Why bandwidth is important

In any given deployment location, such as a house or business, there are bandwidth limits. That is, there is only so much space in the pipe for the data to flow. Because of this reason, multiple devices in a single location must share the bandwidth. Some devices, such as a television, are bandwidth hogs, while tablets typically use far less in comparison. Although speed and bandwidth are not interchangeable, greater bandwidth is essential if tolerable speed is to be maintained on multiple devices.

BANDWIDTH ALLOCATION CONTROL PROTOCOL

The Bandwidth Allocation Protocol, along with its control protocol, the Bandwidth Allocation Control Protocol, is used to add and remove links in a multilink bundle over PPP and specifying which peer is responsible for making decisions regarding bandwidth management. The protocol was originally conceived by Craig Richards and Kevin Smith of Shiva Corporation and Ascend communications respectively in 1997 and has since been implemented on a number of routers, including in Cisco IOS

What is the purpose of the bandwidth allocation control protocol?

Bandwidth Allocation Control Protocol (BACP) generally allows the negotiation with another party of the data call to simply request additional calls to be made to improve and increase the efficiency of the data throughput.

BACP Functions :

1. BACP usually allows the implementation of multilink to interoperate i.e. operate or work together by just providing call control through the use of types of links, speeds, and even telephone numbers.
2. It also adds some additional features to the IETF’s Multilink PPP.
3. It provides a flexible yet robust (performs well against attacks) way of handling and controlling bandwidth among two peers or clients.
4. It usually controls thrashing that is caused by links being brought up and also removed in a very less or short period of time.
5. It also ensures that both ends of the link or connection are informed and indicated when connection or links are added or removed from an MP bundle.

BACP Commands :
There are several BACP commands. Some of them are given below :

BACP Header Format :
BACP consists of 4 fields as given below :

1. Code field –
This field is of 8 bits. It is basically required to determine the type of function that is needed to be performed. There are various types of functions that can be performed. These functions are given below with their specific code :

CodeDescription1Configure-Request2Configure-Ack3Configure-Nak4Configure-Reject5Terminate-Request6Terminate-Ack7Code-Reject
2. Identifier field –
This field is of 8 bits and is basically required to simply identify and match all of the requests and replies.
3. Length field –
This field is usually 16 bits.
4. Data field –
This field is not constant as it varies in length.