Bandwidth Allocation Control Protocol (BACP)
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 basically provides dynamic control mechanism over how the Point-to-Point Protocol (PPP) Multilink Protocol should function. It usually uses similar mechanism of packet exchange as that of Link Control Protocol (LCP) defined in. It was basically designed to manage and handle dynamic bandwidth allocation of implementation usually supporting the PPP multilink protocol.
BACP Functions :
- 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.
- It also adds some additional features to the IETF’s Multilink PPP.
- It provides a flexible yet robust (performs well against attacks) way of handling and controlling bandwidth among two peers or clients.
- It usually controls thrashing that is caused by links being brought up and also removed in a very less or short period of time.
- 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 :
|ppp bap call||Used to enable PPP BACP callback and set callback parameters.|
|ppp bap callback||Used to set the parameters simply for removal of links or connections from MP Bundle.|
|ppp bap link types||Used to determine and specify the different link types that might be added in a particular MP Bundle.|
|ppp bap max||Used to set and manage upper limits on number of retransmissions for BACP.|
|ppp bap monitor load||Used to clarify and check client or peer requests of adding or removing links or connections against the current load of MP Bundle and defined the dialer load threshold.|
|ppp multilink||Used to enable and allow MLP (Multilink PPP) on an interface, and optionally, to enable and allow dynamic bandwidth allocation.|
|show ppp multilink||Used to display information or data of bundle for the MLP bundles.|
BACP Header Format :
BACP consists of 4 fields as given below :
- 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 :
Code Description 1 Configure-Request 2 Configure-Ack 3 Configure-Nak 4 Configure-Reject 5 Terminate-Request 6 Terminate-Ack 7 Code-Reject
- Identifier field –
This field is of 8 bits and is basically required to simply identify and match all of the requests and replies.
- Length field –
This field is usually 16 bits.
- Data field –
This field is not constant as it varies in length.