Description
ML/MC-PPP, or Multi-Link/Multi-Class Point-to-Point Protocol, is a foundational transport protocol in 3GPP standards that extends standard PPP with two key functionalities: link aggregation and traffic class differentiation. It was specified to optimize the use of transmission resources on interfaces like Iub and Iur. The protocol operates by establishing a PPP session that can span multiple independent physical links, such as several E1 lines. These links are bundled together through the Multi-Link PPP (ML-PPP) procedure defined in IETF RFC 1990, which manages the distribution of data packets across the available links. This involves a fragmentation process where larger packets are split into smaller fragments, each tagged with a sequence number and a multilink header, allowing for correct reassembly at the receiving end regardless of the order or link used for transmission.
The Multi-Class (MC) aspect is a 3GPP-specific enhancement that introduces a sub-layer within PPP to handle different QoS requirements. It defines several traffic classes (e.g., for control signaling, conversational voice, streaming video, interactive and background data). Each class is identified by a Class Identifier (CID) included in a special MC-PDU header prepended to the data before multilink processing. This header allows the receiving end to prioritize the processing and forwarding of packets based on their class. Architecturally, ML/MC-PPP resides in the Data Link Layer (Layer 2) of the transport stack. On the Iub interface, it runs between the Node B and the RNC, typically over TDM physical layers. The protocol interacts with the Physical Layer below and the ATM or IP adaptation layers (using AAL2 or UDP/IP) above, which then carry the actual Frame Protocol (FP) packets of the UTRAN.
How it works involves a coordinated setup and runtime process. During initialization, the two endpoints negotiate multilink and multiclass capabilities using PPP's Link Control Protocol (LCP) and a dedicated Multiclass Network Control Protocol (MC-NCP). Once the bundle is active, incoming data from the upper layers is first classified. The MC layer adds the appropriate MC-PDU header. The ML layer then processes this MC-PDU, potentially fragmenting it, adding the multilink header with sequence and bundle identification, and distributing the resulting fragments across the member links using a scheduling algorithm (often round-robin or based on link capacity). On the receiver side, fragments are collected, re-sequenced, and reassembled into the original MC-PDU. The MC header is then examined to place the payload into the correct priority queue for delivery to the upper layers. This mechanism ensures efficient use of all bonded links while guaranteeing that high-priority control traffic experiences minimal delay, which is vital for handovers and call control.
Purpose & Motivation
ML/MC-PPP was developed to meet the evolving transport demands of 3G UMTS networks as they were being standardized. In the late 1990s and early 2000s, the leap from 2G to 3G promised significantly higher data rates and new multimedia services. This placed a strain on the existing backhaul infrastructure, which largely relied on single TDM lines. The purpose of ML/MC-PPP was twofold: first, to provide a cost-effective and scalable method to increase backhaul capacity without requiring a complete infrastructure overhaul, and second, to introduce a standardized QoS framework at the data link layer for UMTS-specific traffic types.
Before ML/MC-PPP, increasing bandwidth meant installing a higher-rate interface (e.g., jumping from E1 to STM-1), which was a costly and disruptive upgrade. ML/MC-PPP allowed a smoother, incremental capacity increase by adding more E1 lines to a logical bundle. Furthermore, while ATM had inherent QoS capabilities, its deployment was complex and expensive. ML/MC-PPP brought a simpler, PPP-based QoS mechanism to TDM-based transport, which was more common. It addressed the limitation of standard PPP, which was a 'single class' best-effort protocol unsuitable for the mix of delay-critical signaling and bursty data traffic in UMTS. By integrating multiclass support directly into the link layer, it ensured that QoS policies could be enforced from the very first hop in the transport network, improving end-to-end performance for real-time services.
Key Features
- Bonds multiple independent physical links (ML) to create a high-bandwidth logical connection.
- Introduces traffic class differentiation (MC) with Class Identifiers for QoS management.
- Utilizes PPP Multilink procedures (per RFC 1990) for fragmentation and reassembly.
- Employs a dedicated Multiclass Network Control Protocol (MC-NCP) for capability negotiation.
- Operates over TDM physical layers (E1, T1) commonly used in early 3G deployments.
- Provides a standardized transport solution for UTRAN Frame Protocol over Iub/Iur.
Evolution Across Releases
Initially introduced ML/MC-PPP in 3GPP specifications, defining its framework for aggregating links and supporting multiple traffic classes over PPP. The architecture was designed to support ATM and TDM transport for UTRAN, providing a scalable backhaul solution for the newly standardized HSDPA capabilities.
Defining Specifications
| Specification | Title |
|---|---|
| TS 25.412 | 3GPP TS 25.412 |
| TS 25.422 | 3GPP TS 25.422 |