Description
File Delivery over Unidirectional Transport (FLUTE) is an application-layer protocol standardized within the IETF and adopted by 3GPP for broadcast/multicast file delivery. It operates on top of the Asynchronous Layered Coding (ALC) protocol suite, which itself uses the Layered Coding Transport (LCT) building block and congestion control. FLUTE is designed for one-to-many distribution scenarios where feedback from receivers to the sender is impractical or impossible due to the unidirectional nature of the transport (e.g., terrestrial broadcast radio). Its primary function is to reliably deliver one or more files, or a collection of data objects, to potentially millions of receivers simultaneously.
Architecturally, in a 3GPP MBMS/eMBMS context, FLUTE runs between a Broadcast Multicast Service Center (BM-SC) and the User Equipment (UE). The BM-SC acts as the FLUTE sender, while the UE hosts the FLUTE receiver. FLUTE packages files into source blocks, which are then encoded using Forward Error Correction (FEC) schemes, like Raptor or RaptorQ, specified in 3GPP. This FEC encoding generates repair symbols that are transmitted alongside the original source symbols. This allows receivers to recover lost packets without requesting retransmissions, which is crucial for broadcast where return channels are unavailable or inefficient. FLUTE uses a File Delivery Table (FDT) to describe the files being delivered, including attributes like content type, size, and URI. The FDT itself is delivered as a FLUTE object, providing receivers with a manifest of the session.
FLUTE works by establishing a session identified by a Transport Session Identifier (TSI). Within this session, each file is assigned a Transport Object Identifier (TOI). The sender transmits source and repair symbols for each TOI in data packets. The receiver listens to these packets, collects symbols, and uses the FEC decoder to reconstruct the original file once enough symbols are received, regardless of which specific symbols arrived. The protocol supports carousel-based delivery, where content is repeated cyclically, allowing receivers that join late to still acquire all files. FLUTE is agnostic to the underlying transport; in 3GPP, it typically runs over UDP/IP, which is carried over the eMBMS bearer through the LTE or 5G broadcast radio interface. This combination provides an efficient pipeline for mass content distribution, offloading traffic from the unicast core network and enabling services like public warning systems, over-the-air updates, and linear TV broadcast to mobile devices.
Purpose & Motivation
FLUTE was developed to solve the fundamental challenge of scalable, reliable file distribution over broadcast networks. Traditional file transfer protocols like FTP or HTTP/TCP rely on acknowledgments and retransmissions, which create a feedback implosion problem when serving millions of users simultaneously—this is impossible in pure broadcast scenarios like TV or radio transmission. Before FLUTE and MBMS, mobile operators had no efficient way to send the same large file (e.g., an OS update) to all subscribers without crippling their unicast networks.
The protocol's creation was motivated by the need for a unidirectional, reliable content delivery method for emerging broadcast services. It addresses the limitations of simple, unreliable multicast by incorporating built-in FEC, which provides reliability without feedback. This was a paradigm shift. FLUTE also introduced a structured way to describe and deliver multiple files within a single session, which was essential for complex content like a website with multiple assets or a video with associated metadata. Its adoption by 3GPP for MBMS enabled a range of broadcast services that would otherwise be infeasible, transforming the mobile network from a purely point-to-point system into a hybrid one capable of efficient point-to-multipoint communication. This is critical for use cases requiring simultaneous delivery, such as emergency alerts where every device in an area must receive the information instantly and reliably.
Key Features
- Reliable file delivery using application-layer Forward Error Correction (FEC)
- Support for delivery of multiple files within a single session
- Use of a File Delivery Table (FDT) for session description
- Carousel-based transmission for late-join receiver capability
- Protocol independence from lower-layer transport (works over UDP)
- Standardized for use in 3GPP MBMS and eMBMS ecosystems
Evolution Across Releases
Adopted FLUTE as the file delivery protocol for the Multimedia Broadcast Multicast Service (MBMS) in LTE. Defined its use for delivering files and carousel-based content over eMBMS bearers, integrating it with the MBMS architecture and specifying the use of Raptor FEC for error recovery.
Defining Specifications
| Specification | Title |
|---|---|
| TS 23.792 | 3GPP TS 23.792 |
| TS 26.142 | 3GPP TS 26.142 |
| TS 26.244 | 3GPP TS 26.244 |
| TS 26.346 | 3GPP TS 26.346 |
| TS 26.517 | 3GPP TS 26.517 |
| TS 26.802 | 3GPP TS 26.802 |
| TS 26.804 | 3GPP TS 26.804 |
| TS 26.827 | 3GPP TS 26.827 |
| TS 26.848 | 3GPP TS 26.848 |
| TS 26.849 | 3GPP TS 26.849 |
| TS 26.850 | 3GPP TS 26.850 |
| TS 26.851 | 3GPP TS 26.851 |
| TS 26.852 | 3GPP TS 26.852 |
| TS 26.938 | 3GPP TS 26.938 |
| TS 26.946 | 3GPP TS 26.946 |
| TS 26.947 | 3GPP TS 26.947 |
| TS 29.116 | 3GPP TS 29.116 |
| TS 33.246 | 3GPP TR 33.246 |