ROHC

Robust Header Compression

Protocol →
Introduced in Rel-5 Also in: Services, User Equipment, Core Network

ROHC is a protocol that reduces IP packet header overhead over wireless links by establishing a compression context, sending full headers initially and then small identifiers, thereby improving spectral efficiency and reducing latency.

Category
Protocol
Introduced
Rel-5
Where
Radio Access Network › NG-RAN (5G)
Also touches
3 segments
Specifications
29 specs
ROHC Description Purpose Related Classification Detected Changes Specifications

Description

Robust Header Compression (ROHC) is a standardized framework defined initially in IETF RFC 3095 and extensively profiled and adopted by 3GPP for cellular networks from Release 5 onwards. It is a lossless compression protocol designed to compress the headers of IP-based traffic streams (flows) before transmission over the radio interface. The protocol is implemented in the Packet Data Convergence Protocol (PDCP) layer in 3GPP stacks (UTRAN, E-UTRAN, NG-RAN). ROHC identifies fields in protocol headers that are constant, predictable (like sequentially incrementing sequence numbers), or inferable from other layers, and suppresses their transmission after initial synchronization.

The architecture involves a compressor (in the transmitting node, e.g., UE or gNB) and a decompressor (in the receiving node). They maintain synchronized compression contexts, which are sets of information about the header fields of the packet flow. ROHC operates in several states (modes) to trade off efficiency for robustness: Initialization and Refresh (IR) state, where full headers are sent to establish context; First Order (FO) state, where dynamic fields are compressed using patterns; and Second Order (SO) state, where only a small Context Identifier (CID) and cyclic redundancy check (CRC) are sent for very high compression. The protocol uses multiple feedback channels (acknowledged, unacknowledged, and bidirectional optimistic modes) to handle errors and ensure context synchronization even over lossy radio links.

How it works for a typical VoIP (RTP/UDP/IP) packet: The first packet is sent with a full header (IR packet). The decompressor learns the static fields (IP addresses, ports) and the changing pattern of dynamic fields (RTP sequence number, timestamp). For the next packet, the compressor sends a compressed header containing a small CID and encoded differences (deltas) for the dynamic fields. In the most efficient state, it may send only a 1-byte header with a CRC. If the decompressor detects an error via CRC or sequence number gap, it can request a context update via feedback or wait for a periodic refresh. ROHC defines specific profiles for different protocol stacks (e.g., Profile 0x0001 for RTP/UDP/IP, Profile 0x0002 for UDP/IP, Profile 0x0006 for TCP/IP). 3GPP specifications detail how ROHC is integrated into the PDCP layer, including context management during handover and bearer setup.

Purpose & Motivation

ROHC was created to solve the severe inefficiency of transmitting full IP headers over low-bandwidth, high-latency, and error-prone wireless links. In the early 2000s, as 3G networks began carrying IP traffic, it became apparent that the overhead of IPv4 (20 bytes) or IPv6 (40 bytes), plus UDP (8 bytes) and RTP (12 bytes), could be larger than the voice payload itself for VoIP. This wasted scarce radio spectrum and increased packet delay. Pre-ROHC solutions were less robust to packet loss and had limited compression efficiency.

The motivation for standardizing ROHC within 3GPP was to enable efficient support of real-time services like Voice over IP (VoIP) and video streaming over cellular networks. It directly addresses the problem of low spectral efficiency for small-packet, delay-sensitive traffic. By reducing header sizes from 40-60 bytes to as little as 1-4 bytes, ROHC can double or triple the effective capacity for voice calls. Its robustness to packet loss—a key design goal—ensures reliable decompression even when radio link conditions degrade, preventing context desynchronization which would cause catastrophic failure. Its adoption from Release 5 (HSDPA) through to 5G NR demonstrates its enduring value in conserving radio resources and reducing latency, which is critical for network capacity and user experience.

Classification

Part ofPDCP
Related approachesVOIPQoS

Detected Changes Across Releases

from 3GPP Change Requests

Specific changes extracted from the „Change history“ tables of 3GPP specifications (124 CRs across 5 releases). Complements the general historical overview above with the evidence-based evolution of this function.

Studied in Rel-5, normative work from Rel-15.

Rel-15 49 changes

In Release 15, ROHC was extended to support Mission Critical (MC) services over MBMS, including both signalling control and media plane enhancements. The release also introduced ROHC support for PDCP duplication and for V2X/Sidelink communication (SLRB). These additions expanded the application of header compression to new critical service and vehicular scenarios.

  • Header compression for MC services over MBMS TS 23.280CR0058
  • Header compression over MBMS - signalling control TS 24.379CR0417
  • Header compression over MBMS – media plane TS 24.380CR0207
  • FEC and ROHC for mission critical services over MBMS TS 29.116CR0021
  • FEC and ROHC for mission critical services over MBMS TS 29.468CR0047
  • Introduction of increased number of E-UTRAN data bearers TS 36.306CR1613

+ 43 more changes

Rel-16 30 changes

In Release 16, the key enhancement for ROHC was the introduction of EHC (Efficient Header Compression) in LTE PDCP, expanding header compression capabilities. This release also specifically enabled IP header compression to continue functioning after an inter-system change from N1 mode to S1 mode, improving efficiency during mobility. Furthermore, corrections were made to ensure the proper ciphering of the EHC header and to address PDCP operations introduced for Industrial IoT (IIoT).

  • Introduction of even further mobility enhancement in E-UTRAN TS 36.300CR1270
  • Introducing EHC in LTE PDCP TS 36.323CR0278
  • Introduction of Even further Mobility enhancement in E-UTRAN TS 36.331CR4205
  • IP header compression after inter-system change from N1 mode to S1 mode TS 24.301CR3403
  • Corrections to even further mobility enhancement in E-UTRAN TS 36.300CR1284
  • Allowing PDCP version change without handover TS 36.306CR1754

+ 24 more changes

Rel-17 21 changes

In Release 17, the ROHC function was extended to introduce support for User Plane IP for EPC connected architectures using NR PDCP. The release also specifically added Ethernet header compression as part of the N1 UE network capability. Furthermore, several corrections and clarifications were made to PDCP procedures, including those for sidelink relay, multicast/broadcast services (MBS), and L2 U2N Relay.

  • Introducing support of UP IP for EPC connected architectures using NR PDCP TS 36.300CR1353
  • Introducing support of UP IP for EPC connected architectures using NR PDCP TS 36.331CR4763
  • Introducing support of UP IP for EPC connected architectures using NR PDCP TS 38.323CR0085
  • Introducing support of UP IP for EPC connected architectures using NR PDCP TS 38.331CR2904
  • UE Security Capabilities signaling in E-UTRAN [UE_Sec_Caps] TS 36.300CR1359
  • Ethernet header compression for N1 UE network capability TS 24.301CR3583

+ 15 more changes

Rel-18 7 changes

In Release 18, the ROHC-related updates within the PDCP layer introduced the new capability for PDCP Sequence Number gap reporting and corrections to this procedure. The release also included corrections for the interaction between PDCP and RLC, specifically for the Delay Critical Indication, and addressed PDCP configuration for multicast MRB. Furthermore, support for NR sidelink PDCP duplication was newly introduced.

  • Introduction of NR sidelink PDCP duplication in TS 38.323 TS 38.323CR0126
  • Correction of P-Asserted-Identity header fields in MCPTT TS 24.379CR0875
  • Correction of Referred-By header fields in MCPTT TS 24.379CR0876
  • PDCP SN gap reporting TS 38.323CR0139
  • Correction for Delay Critical Indication from PDCP to RLC TS 38.323CR0144
  • PDCP SN Gap report Corrections TS 38.323CR0147

+ 1 more changes

Rel-19 17 changes

In Release 19, the ROHC-related updates within the PDCP layer specifically introduced enhancements for Extended Reality (XR) traffic and included necessary corrections to the `pdcp-Config` for signaling radio bearers SRB4 and SRB5. These changes were part of a broader set of XR PDCP enhancements and corrections noted in the release. The updates aimed to optimize header compression performance and configuration handling for emerging XR services over the Evolved Packet System.

  • Addition of satellite E-UTRAN and satellite NG-RAN in RAT utilization control TS 24.301CR4107
  • Update procedures to consider satellite E-UTRAN in the IE TS 24.301CR4160
  • Introduction of NB-IoT satellite information in E-UTRAN [EUTRAN-to-NBIoTNTN] TS 36.300CR1427
  • Introduction of E-UTRAN to NB-IoT NTN Mobility UE Capability [EUTRAN-to-NBIoTNTN] TS 36.306CR1917
  • Introduction of NB-IoT satellite information in E-UTRAN [EUTRAN-to-NBIoTNTN] TS 36.331CR5140
  • Introduction of R19 XR enhancements for PDCP spec. TS 38.323CR0149

+ 11 more changes

Explore further

Broader topics and technologies where ROHC plays a role.

Defining Specifications

3GPP specifications that define or reference ROHC, with the latest known release. Sourced from the 3GPP document catalog — see methodology.

SpecificationTitleRelease
TR 21.905 vj00 3GPP Technical Terms and Definitions Rel-19
TS 23.280 vk10 Common Architecture for Mission Critical Services Rel-20
TS 23.479 vj00 MBMS API for Mission Critical Services Rel-19
TS 23.792 vg00 MBMS API for Mission Critical Services Rel-16
TS 24.301 vj60 NAS protocol for Evolved Packet System Rel-19
TS 24.379 vj50 Mission Critical Push To Talk (MCPTT) call control Rel-19
TS 24.380 vj10 MCPTT Media Plane Control Protocol Rel-19
TS 25.323 vj00 Packet Data Convergence Protocol (PDCP) Specification Rel-19
TS 25.331 vj00 UTRAN RRC Protocol Specification Rel-19
TR 25.912 vj00 Evolved UTRA and UTRAN Technical Report Rel-19
TR 25.993 vj00 UTRA RAB Examples and Radio Interface Mapping Rel-19
TS 26.517 vj10 5G MBS User Service Protocols and Formats Rel-19
TR 26.935 vj00 Speech Codec Performance for Packet Switched Multimedia Rel-19
TR 26.936 vj00 Audio Codec Characterization Technical Report Rel-19
TR 26.937 vj00 3GPP PSS Characterization Rel-19
TS 29.116 vj00 REST-based protocol for xMB reference point Rel-19
TS 29.468 vj00 MB2 Reference Point Protocol Definition Rel-19
TS 36.300 vj00 E-UTRAN Radio Interface Protocol Architecture Overview Rel-19
TS 36.302 vj00 E-UTRA Physical Layer Services Rel-19
TS 36.306 vj00 E-UTRA UE Radio Access Capability Parameters Rel-19
TS 36.323 vj00 PDCP Protocol Specification Rel-19
TS 36.331 vj00 LTE RRC Protocol Specification Rel-19
TS 36.509 vh40 EPC Special UE Conformance Testing Functions Rel-17
TS 38.323 vj00 Packet Data Convergence Protocol (PDCP) Rel-19
TS 38.331 vj00 NR Radio Resource Control (RRC) Protocol Specification Rel-19
TS 43.051 vj00 GERAN Stage 2 Service Description Rel-19
TS 43.129 vj00 PS Handover in GERAN A/Gb and GAN Modes Rel-19
TS 44.060 vj00 GERAN RLC/MAC Protocol Specification Rel-19
TS 44.065 vj00 GPRS SNDCP Specification Rel-19