Description
The Differentiated Services Code Point (DSCP) is a standardized field within the Type of Service (ToS) byte of an IPv4 header or the Traffic Class byte of an IPv6 header. It utilizes six bits, allowing for up to 64 distinct code points (values 0-63). Within the 3GPP architecture, the DSCP is a crucial tool for implementing end-to-end Quality of Service (QoS) across the transport segments that interconnect network functions, such as between the eNodeB and the S-GW/UPF, or within the core network itself. It operates as part of the broader IETF Differentiated Services (DiffServ) model, which provides scalable service differentiation in IP networks without requiring per-flow state in every router.
The mechanism works by marking packets as they enter a DiffServ domain (e.g., the mobile transport network). A 3GPP network function, such as a Packet Data Network Gateway (P-GW) or User Plane Function (UPF), classifies uplink and downlink user traffic based on QoS rules associated with an EPS bearer or 5G QoS Flow. This classification determines the appropriate DSCP value to write into the IP header of the user plane packets. Routers and switches in the transport network are then configured with Per-Hop Behaviors (PHBs) that correspond to specific DSCP values. These PHBs define how packets are queued, scheduled, and potentially dropped, providing behaviors like Expedited Forwarding (EF) for low-latency traffic, Assured Forwarding (AF) for guaranteed throughput, or Default (BE) for best-effort.
In 3GPP systems, the mapping between the QoS parameters of a radio bearer (QCI in 4G, 5QI in 5G) and the DSCP value is a critical configuration item. This ensures that the QoS intended by the radio and core network is appropriately signaled to, and honored by, the underlying IP transport infrastructure. For example, a QoS Flow for Voice over NR (5G VoIP) with a 5QI of 1 (conversational voice) would be marked with a DSCP value corresponding to the EF PHB (often DSCP 46) to prioritize it through the transport network. This creates a cohesive QoS hierarchy from the application layer down through the radio, core, and transport layers.
Purpose & Motivation
DSCP was adopted within 3GPP to solve the problem of maintaining consistent QoS treatment for user traffic as it traverses the IP-based transport networks that interconnect RAN and core nodes. Early mobile networks had more monolithic, circuit-switched transport where QoS was implicit. With the move to all-IP architecture in 3GPP Release 5 and beyond, a standardized, IP-layer marking mechanism was necessary to signal packet priority to routers and switches.
Its use was motivated by the need for scalability. The DiffServ model, using DSCP, does not require transport routers to maintain state for millions of individual user bearers, unlike the earlier Integrated Services (IntServ) model. This makes it perfectly suited for large-scale mobile networks. DSCP allows the mobile network's intricate QoS framework (with QCIs/5QIs, ARP, etc.) to be seamlessly translated into a simple, widely supported IP networking standard, ensuring that latency-sensitive or high-priority traffic receives appropriate treatment on every hop of its journey through the operator's backbone network.
Key Features
- 6-bit field in IP header for traffic classification
- Part of IETF DiffServ architecture for scalable QoS
- Maps 3GPP QoS parameters (QCI/5QI) to transport network treatment
- Enables Per-Hop Behaviors (PHB) like EF, AF, and BE
- Configurable marking by user plane gateways (P-GW/UPF)
- Critical for end-to-end QoS across IP transport segments
Evolution Across Releases
Referenced in early 3GPP specs as part of defining interworking with external IP networks. Established the principle of using IP-layer mechanisms (DiffServ) for QoS management in the PS domain, though detailed mapping to UMTS bearers was further refined in later releases.
Defining Specifications
| Specification | Title |
|---|---|
| TS 23.139 | 3GPP TS 23.139 |
| TS 23.207 | 3GPP TS 23.207 |
| TS 23.234 | 3GPP TS 23.234 |
| TS 23.802 | 3GPP TS 23.802 |
| TS 24.139 | 3GPP TS 24.139 |
| TS 24.302 | 3GPP TS 24.302 |
| TS 24.502 | 3GPP TS 24.502 |
| TS 24.820 | 3GPP TS 24.820 |
| TS 26.510 | 3GPP TS 26.510 |
| TS 26.804 | 3GPP TS 26.804 |
| TS 29.128 | 3GPP TS 29.128 |
| TS 29.139 | 3GPP TS 29.139 |
| TS 29.163 | 3GPP TS 29.163 |
| TS 29.201 | 3GPP TS 29.201 |
| TS 29.213 | 3GPP TS 29.213 |
| TS 29.214 | 3GPP TS 29.214 |
| TS 29.228 | 3GPP TS 29.228 |
| TS 29.229 | 3GPP TS 29.229 |
| TS 29.238 | 3GPP TS 29.238 |
| TS 29.244 | 3GPP TS 29.244 |
| TS 29.272 | 3GPP TS 29.272 |
| TS 29.273 | 3GPP TS 29.273 |
| TS 29.328 | 3GPP TS 29.328 |
| TS 29.329 | 3GPP TS 29.329 |
| TS 29.334 | 3GPP TS 29.334 |
| TS 29.336 | 3GPP TS 29.336 |
| TS 29.337 | 3GPP TS 29.337 |
| TS 29.338 | 3GPP TS 29.338 |
| TS 29.344 | 3GPP TS 29.344 |
| TS 29.345 | 3GPP TS 29.345 |
| TS 29.468 | 3GPP TS 29.468 |
| TS 29.513 | 3GPP TS 29.513 |
| TS 29.804 | 3GPP TS 29.804 |
| TS 29.839 | 3GPP TS 29.839 |
| TS 33.102 | 3GPP TR 33.102 |
| TS 33.401 | 3GPP TR 33.401 |
| TS 38.340 | 3GPP TR 38.340 |