PID

Packet Identification

Protocol
Introduced in R99
A field within a protocol data unit that uniquely identifies a specific packet or data flow. It is used for multiplexing, demultiplexing, routing, and applying specific processing rules to packets traversing the network, such as in header compression contexts.

Description

Packet Identification (PID) refers to a numerical identifier assigned to a packet or a stream of packets to distinguish them from others for the purpose of processing, routing, or management. In 3GPP systems, the PID is not a single, universal identifier but a concept implemented within specific protocol layers and contexts. A primary application is within the Packet Data Convergence Protocol (PDCP) layer for Robust Header Compression (ROHC). Here, the PID is a critical part of the ROHC context, a state maintained separately for each compressed packet flow between a compressor and a decompressor.

How it works in ROHC involves the compressor assigning a Context Identifier (CID), which acts as the PID, to each distinct packet flow (e.g., a specific IP flow with unique source/destination addresses and ports). This CID is included in the compressed packet header. When the decompressor receives the packet, it uses the CID to locate the correct context state, which contains the static and dynamic field information needed to reconstruct the original full header. This mechanism allows multiple independent packet flows to be compressed and decompressed simultaneously over a single radio bearer without confusion.

Beyond ROHC, the PID concept appears in other areas. In the context of MBMS (Multimedia Broadcast Multicast Service), identifiers are used to distinguish different broadcast sessions. In early GPRS specifications, PID could refer to identifiers used in network layer protocols for routing data between the SGSN and external packet data networks. Its role is fundamentally about enabling multiplexing: allowing the network to carry many distinct logical channels or data flows over shared physical and logical resources, and ensuring each packet is delivered to the correct higher-layer application or processing entity.

Purpose & Motivation

The need for Packet Identification arose from the fundamental requirement to support multiple simultaneous data sessions and applications over a single physical connection. Early circuit-switched voice calls required a dedicated channel, but packet-switched data introduced the challenge of sharing bandwidth efficiently among diverse flows (e.g., web browsing, email, VoIP). Without a way to tag packets, the receiver would be unable to separate interleaved data belonging to different applications or sessions, leading to chaos.

In the specific context of header compression, which was crucial for efficient use of scarce radio resources in 2.5G and 3G systems, the PID solved the problem of context management for multiple flows. Simple header compression schemes could handle a single flow, but real devices run multiple applications. The PID (as the Context ID in ROHC) allows a single compression/decompression engine to maintain independent state for numerous flows, dramatically improving spectral efficiency without limiting functionality. It addressed the limitation of earlier, less scalable compression methods.

Thus, PID exists to enable efficiency and multiplexing. It is a foundational tool for managing complexity in layered protocol stacks, allowing higher-layer semantics (like IP addresses and ports) to be efficiently mapped onto lower-layer transport mechanisms. By providing a handle to associate a packet with its specific processing context, it enables advanced features like compression, quality-of-service differentiation, and multicast service delivery, which are all essential for modern, feature-rich mobile broadband.

Key Features

  • Uniquely identifies a packet flow within a specific protocol context
  • Enables multiplexing of multiple flows over a single bearer
  • Core component of ROHC context identification (Context ID)
  • Used for correct demultiplexing and context retrieval at receiver
  • Supports efficient header compression for multiple simultaneous sessions
  • Can be implemented as fields in various protocol layers (e.g., PDCP, LLC)

Evolution Across Releases

R99 Initial

Introduced as a fundamental concept for packet-switched services in UMTS. Initial applications included identifying network layer protocol data units between SGSN and GGSN, and as a foundational element for early header compression techniques, enabling the multiplexing of different packet flows over the newly defined radio access bearers.

Defining Specifications

SpecificationTitle
TS 21.905 3GPP TS 21.905
TS 22.240 3GPP TS 22.240
TS 25.323 3GPP TS 25.323
TS 31.113 3GPP TR 31.113
TS 44.065 3GPP TR 44.065