FIFO

First Input First Output

Protocol →
Introduced in Rel-11 Also in: Radio Access Network

FIFO is the fundamental queuing discipline in 3GPP protocol layers where packets are processed and scheduled in the exact order they arrive to ensure in-order delivery, providing simplicity and fairness.

Category
Protocol
Introduced
Rel-11
Where
Services › Codecs
Also touches
1 segments
Specifications
7 specs
FIFO Description Purpose Related Classification Detected Changes Specifications

Description

First Input First Output (FIFO) is a classic queuing algorithm employed within various protocol layers of the 3GPP radio access and core network stack. It operates on a simple principle: entities (like data packets or protocol data units) are stored in a buffer, and the entity that has been waiting the longest (the first one in) is the next to be processed or transmitted (the first one out). This creates a strict temporal ordering. In 3GPP specifications, FIFO behavior is often the default or a mandated mode for certain channels and bearers, particularly for acknowledging mode (AM) in the Radio Link Control (RLC) layer.

At the RLC layer, for an AM data bearer, the transmitter maintains a transmission buffer. PDCP PDUs are delivered to RLC and segmented into RLC SDUs if necessary. These are stored and transmitted in FIFO order. The receiver side also uses FIFO principles in its reassembly buffer to reorder received RLC PDUs before delivering them in sequence to the upper PDCP layer. This guarantees in-sequence delivery to the higher layers, which is a fundamental requirement for many TCP-based applications. The specifications (e.g., TS 36.323, TS 38.323) detail procedures like window-based flow control and ARQ retransmissions that work in conjunction with this FIFO buffering.

Beyond RLC, FIFO concepts apply to scheduling queues in the MAC layer, buffering in user plane gateways, and traffic management functions. While advanced schedulers use complex algorithms for QoS prioritization, FIFO remains a critical component for flows designated as non-GBR (Guaranteed Bit Rate) or default bearers, where simple fairness is acceptable. Its implementation is computationally lightweight, requiring minimal state management compared to priority queues. However, its simplicity is also a limitation, as it does not prioritize delay-sensitive traffic, making it unsuitable for real-time services without additional QoS mechanisms at a higher layer.

Purpose & Motivation

FIFO exists as a foundational, reliable method for managing data queues in telecommunications systems. Its primary purpose is to ensure predictable, in-order delivery of data units, which is a basic requirement for error-free communication. Before the adoption of sophisticated QoS-aware schedulers, FIFO was the de facto method for handling all traffic, providing a simple form of fairness where all data flows get served in turn based on arrival time.

In 3GPP systems, it was standardized to provide a clear, interoperable baseline behavior for protocol entities like the RLC layer. This solves the problem of how to reliably reconstruct a data stream from potentially out-of-order or retransmitted packets over an unreliable radio link. The FIFO discipline at the receiver, combined with sequence numbers, allows the RLC layer to deliver a perfect, sequential stream to the PDCP layer, hiding the complexities of the radio interface from upper-layer protocols.

Its continued specification addresses the need for a low-complexity, robust fallback mechanism. For certain types of background or best-effort traffic, the overhead of complex priority queuing is unnecessary. FIFO provides a guaranteed behavior that is easy to implement, test, and debug. It serves as the reference model against which more advanced scheduling algorithms (like Proportional Fair, QoS-based) are compared and optimized, ensuring that even the most basic implementation maintains network stability and data integrity.

Classification

Part ofRLC
Related approachesARQ

Detected Changes Across Releases

from 3GPP Change Requests

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

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

Rel-15 14 changes

In Release 15, the FIFO (First Input First Output) function itself was not newly introduced; however, this release introduced foundational procedures for PDCP that are critical for managing data sequences, including the **PDCP suspend procedure** and clarifications for **PDCP re-establishment** for both UM and AM DRBs. It specifically defined the delivery of stored PDCP SDUs in order during re-establishment for UM DRBs, ensuring FIFO delivery principles. Furthermore, Release 15 established the **PDCP association with RLC for radio bearers configured with PDCP duplication**, which impacts how data is ordered and output when duplication is active.

  • Introduction of PDCP duplication TS 38.323CR0009
  • Deliver stored PDCP SDUs for UM DRB at PDCP re-establishment TS 36.323CR0241
  • CR on supporting of the ROHC for PDCP duplication TS 36.323CR0243
  • Correction on PDCP for eV2X TS 36.323CR0249
  • Correction on PDCP duplication TS 36.323CR0255
  • CR on PDCP structure for split bearer and LWA bearer TS 36.323CR0271

+ 8 more changes

Rel-16 12 changes

In Release 16, the enhancements for the FIFO (First In, First Out) function were primarily focused on improving PDCP reliability and operation for specific use cases. The updates included corrections and clarifications for PDCP re-establishment procedures, particularly when the t-Reordering timer is used and for UM DRBs. Furthermore, the release introduced corrections for PDCP status reporting and operation after DAPS release, aiming to ensure consistent FIFO delivery in scenarios like NR Industrial IoT.

  • Introducing EHC in LTE PDCP TS 36.323CR0278
  • LTE PDCP corrections for NR IIOT TS 36.323CR0286
  • Correction for PDCP status report TS 36.323CR0287
  • CR on LTE PDCP re-establishment when t-Reordering is used TS 36.323CR0290
  • CR on LTE PDCP re-establishment for UM DRB when t-Reordering is used TS 36.323CR0291
  • CR for LTE PDCP operation after DAPS release TS 36.323CR0296

+ 6 more changes

Rel-17 13 changes

In Release 17, specific enhancements to the FIFO function are not directly detailed in the provided grounding context or CR titles. The listed Change Requests primarily focus on corrections and clarifications for PDCP across various features like MBS, SL relay, and L2 U2N Relay, rather than introducing new FIFO capabilities. The grounding context discusses general system requirements for real-time applications and control loops but does not specify any new FIFO-related procedures or interfaces introduced in this release.

  • Introducing support of UP IP for EPC connected architectures using NR PDCP TS 38.323CR0085
  • Correction on PDCP Control PDU for UDC feedback TS 36.323CR0304
  • Stage-2 correction on the UL PDCP packet average delay TS 37.320CR0126
  • Correction on PDCP for SL relay TS 38.323CR0093
  • PDCP Corrections for MBS TS 38.323CR0096
  • Correction on PDCP for L2 U2N Relay TS 38.323CR0097

+ 7 more changes

Rel-18 4 changes

In Release 18, the key enhancement for the FIFO function was the introduction of PDCP duplication for NR sidelink, as detailed in the specification TS 38.323. Additionally, new mechanisms for PDCP Sequence Number gap reporting were introduced to improve reliability. These updates were complemented by corrections to the handling of the Delay Critical Indication from PDCP to RLC.

  • Introduction of NR sidelink PDCP duplication in TS 38.323 TS 38.323CR0126
  • 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
Rel-19 2 changes

In Release 19, the enhancements for the FIFO function were introduced as part of broader XR (Extended Reality) PDCP (Packet Data Convergence Protocol) improvements. The release specifically focused on XR PDCP corrections to refine the handling of data streams, ensuring the reliable and timely First In, First Out processing required for real-time applications like cyber-physical control and industrial automation. These updates aimed to better support deterministic data transfer for control loops and sequence control within 5G systems.

  • Introduction of R19 XR enhancements for PDCP spec. TS 38.323CR0149
  • XR PDCP corrections TS 38.323CR0151

Explore further

Broader topics and technologies where FIFO plays a role.

Defining Specifications

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

SpecificationTitleRelease
TS 22.104 vj20 Service requirements for cyber-physical control apps Rel-19
TS 22.179 vk00 MCPTT Service Requirements Rel-20
TR 23.737 vh20 Satellite Access in 5G Architecture Study Rel-17
TS 26.448 vj00 EVS Jitter Buffer Management Specification Rel-19
TS 36.323 vj00 PDCP Protocol Specification Rel-19
TS 37.320 vj00 Minimization of Drive Tests (MDT) Overview Rel-19
TS 38.323 vj00 Packet Data Convergence Protocol (PDCP) Rel-19