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 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

Evolution Across Releases

Rel-11 Initial

FIFO queuing principles were explicitly referenced and solidified in the context of Carrier Aggregation and enhanced multi-flow operations. Specifications like TS 36.323 (LTE RLC) detailed the in-sequence delivery guarantee relying on FIFO buffering, ensuring consistent behavior across aggregated carriers and for dual-connectivity scenarios being introduced.

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
Patrick Zandl

About the author: Patrick Zandl (b. 1974)

Telecommunications specialist, technology journalist (founder of the Mobil server), and developer who has been running since 2025 — the largest Czech-language resource on AI-assisted programming. Formerly Chief Wizard Architect at Prusa3D and head of development for Turris at CZ.NIC; currently a consultant and instructor on AI implementation in companies.