PAD

Packet Assembler/Disassembler

Core Network
Introduced in Rel-4
A network function, historically in GPRS support nodes, that formats user data packets into the appropriate protocol data units for transmission over the radio network and vice versa. It handles adaptation between different network layer protocols and the specific framing requirements of the air interface.

Description

The Packet Assembler/Disassembler (PAD) is a functional entity within the packet core network, most notably associated with the GPRS support node architecture (SGSN/GGSN). Its primary role is to perform protocol adaptation and data unit formatting for user data traversing between external packet data networks (like the Internet) and the mobile station. The PAD operates at the intersection of the network layer and the lower-layer transport mechanisms specific to the radio access network. It 'assembles' packets by taking higher-layer protocol data (e.g., IP packets) from the external network and encapsulating them into the specific frame structure required for transmission over the GPRS/UMTS radio interface, which typically involves segmentation into smaller Protocol Data Units (PDUs) like LLC frames or RLC/MAC blocks.

Conversely, it 'disassembles' incoming data from the mobile station by stripping off the radio-specific headers and reassembling the original higher-layer packets for routing to the external network. A key technical aspect is its handling of different network layer protocols (e.g., IP, X.25) as defined by the PDP (Packet Data Protocol) context. The PAD function ensures that the payload is correctly mapped between the external protocol format and the internal GPRS/UMTS protocol stack. In the SGSN, the PAD function is closely tied to the LLC (Logical Link Control) layer, where it assists in the segmentation and reassembly of LLC PDUs. In the GGSN, it interacts with the Gi interface, performing encapsulation/decapsulation for tunneling protocols like GTP (GPRS Tunneling Protocol).

The architecture involves specific PAD parameters negotiated during PDP context activation, which define characteristics such as the data rate, window size, and maximum packet size. The PAD function is not a standalone node but a logical set of procedures distributed across network elements. It manages buffers for assembly and disassembly, handles potential packet reordering, and works in concert with compression functions if applied. Its operation is transparent to the end-user but is crucial for maintaining data integrity and efficient use of the radio interface by ensuring data is packaged in optimally sized units for the underlying transport layers, minimizing overhead and retransmissions.

Purpose & Motivation

The PAD function was conceived to solve the fundamental internetworking problem between standardized external packet data networks (PDNs) and the novel, radio-optimized packet transport system of GPRS. Early mobile data systems prior to GPRS often used proprietary protocols end-to-end. For GPRS to gain widespread adoption, it needed to seamlessly interconnect with ubiquitous networks like the Internet (using IP) and legacy X.25 networks for corporate access.

The core challenge was the mismatch in protocol characteristics and packet sizes. Radio networks have strict limitations on packet size due to error-prone channels and shared medium access, favoring smaller, manageable blocks. External networks, however, transmit much larger packets (e.g., IP MTUs of 1500 bytes). A direct transmission of a large IP packet over the radio would be highly inefficient and prone to errors. The PAD addresses this by performing the necessary segmentation (disassembly) for the radio leg and reassembly (assembly) for the fixed network leg. This allows mobile devices to communicate using standard protocols without being aware of the radio-specific adaptations.

Historically, PADs were also common in legacy X.25 networks to interface character-oriented terminals. 3GPP adapted this concept for the cellular packet core. Its creation was motivated by the need for a flexible, protocol-aware adaptation layer that could support multiple PDP types, enabling GPRS to be a multi-service platform from its inception. It abstracted the complexities of the radio link from the higher-layer applications and network protocols, a design principle that continues in later systems through different mechanisms like PDCP in LTE and NR.

Key Features

  • Performs protocol adaptation between external PDN protocols and internal GPRS/UMTS protocols
  • Segments large external packets into smaller radio-interface PDUs (assembly)
  • Reassembles radio PDUs into original external packets (disassembly)
  • Supports multiple Packet Data Protocol (PDP) types (e.g., IP, PPP, X.25)
  • Manages PAD parameters negotiated per PDP context
  • Works in conjunction with LLC and GTP layers for data formatting

Evolution Across Releases

Rel-4 Initial

Initially specified in 3GPP Release 4 as a core function for GPRS and early UMTS packet core networks. The architecture defined its role in the SGSN and GGSN for handling interworking with external packet data networks, primarily focusing on IP and X.25 protocol adaptation and the segmentation/reassembly procedures for the radio access network.

Defining Specifications

SpecificationTitle
TS 21.905 3GPP TS 21.905
TS 38.753 3GPP TR 38.753