BACP, PPP Bandwidth Allocation Control Protocol

Description Glossary RFCs Publications Obsolete RFCs


Protocol suite: PPP.
Protocol type:PPP link control protocol.
PPP protocol:0xC02B.
Working groups: pppext, Point-to-Point Protocol Extensions.

The BACP protocol was designed to manage the dynamic bandwidth allocation implementations supporting the MP, PPP Multi-link Protocol.

RFC 2125, pages 1 - 4:

This document proposes a method to manage the dynamic bandwidth allocation of implementations supporting the PPP multilink protocol. This is done by defining the Bandwidth Allocation Protocol (BAP), as well as its associated control protocol, the Bandwidth Allocation Control Protocol (BACP).

As PPP multilink implementations become increasingly common, there is a greater need for some conformity in how to manage bandwidth over such links. BACP and BAP provide a flexible yet robust way of managing bandwidth between 2 peers.

LCP MUST be in the Network-Layer Protocol phase before BACP can be negotiated.

The LCP Configuration Option (23 for the Link Discriminator) is used to declare a unique discriminator for the link that the option is sent over.

BACP uses the same packet exchange mechanism as the Link Control Protocol LCP. BACP packets MUST NOT be exchanged until PPP has reached the Network-Layer Protocol phase. BACP packets received before this phase is reached should be silently discarded.

BACP is negotiated once per multilink bundle. If BACP is negotiated on any of the links in a multilink bundle, it is opened for all of the links in the bundle.

PPP header BACP header Data :::

BACP header:

0001020304050607 0809101112131415 1617181920212223 2425262728293031
Code Identifier Length
Data :::

Code. 8 bits.
Specifies the function to be performed.


Identifier. 8 bits.
Used to match requests and replies.

Length. 16 bits.
Size of the packet including the header in bytes.

Data. Variable length.
Zero or more bytes of data as indicated by the Length field. This field may contain one or more BACP Configuration Options.

BACP Configuration Options:
(RFC 2125, pages 5 and 6) BACP Configuration Options allow negotiation of desirable BACP parameters. These options are used in Config-Request, Config-Ack, Config-Nak, and Config-Reject packets. BACP uses the same Configuration Option format defined for LCP, with a separate set of Options. Current values of BACP Configuration Options are assigned. This Configuration Option is used to determine which peer is favored in the event of a race condition in which 2 peers simultaneously transmit the same BAP request. BACP will usually be negotiated after only one link of a multilink bundle has reached the Network-Layer Protocol phase.

0001020304050607 0809101112131415
Option Length
Data :::

Option. 8 bits.


Length. 8 bits.

Data. Variable length.


BOD, Bandwidth on demand.
(RFC 2125) BOD refers to the ability of a system to allocate and remove links in a multilink system to change the bandwidth of a multilink bundle. This may be done in response to changing line conditions and it also may be done in response to changing resource conditions. In either case, changing bandwidth dynamically during a multilink connection is referred to as BOD.


[RFC 2125] The PPP Bandwidth Allocation Protocol (BAP) The PPP Bandwidth Allocation Control Protocol (BACP).


Obsolete RFCs:

Description Glossary RFCs Publications Obsolete RFCs