5G NR SDAP – Service Data Adaptation Protocol
The 5G NR has introduce new mechanism to manage the Quality of Service via QoS flow and to handle QoS flow specifications has introduced a new Sublayer SDAP in air-interface procotols stack both at UE and gNB side. The SDAP (Service Data Adaption Protocol) layer is the topmost L2 sublayer at 5G NR protocol stack Standalone Architecture (SA) where gNB connects to 5G Core network. It interfaces to 5GC UPF using NG-U interface via QoS flows and to the PDCP lower layer via Data Radio Bearers (DRBs). SDAP’s essential role is to map traffic from QoS flows to suitable DRBs. SDAP layer doesn’t exist in 4G/LTE since QoS flows were introduced only in 5G.
SDAP Layer Pointers
- The SDAP layer protocol is defined at part of 3GPP specification TS 37.324
- This layer is only applicable for 5G SA Architecture and not used in 5G NSA Architecture
- SDAP sublayer exists only in the user plane in both gNB&UE and is the highest layer within the RAN protocol stack
- From lower layers, SDAP expects in-sequence delivery of PDUs except when out-of-sequence delivery is configured by RRC at PDCP
- Apart from the transfer of user plane data, SDAP maps QoS flows to DRBs in both DL and UL
- RRC configures the rules by which SDAP does the mapping.
The SDAP sublayer can have multiple SDAP entities, one for each PDU session on the gNB–UE Uu interface. An SDAP entity establishment or release are initiated by RRC. The SDAP layer receives downlink data from the User Plane Function over NG-U interface. On NG-U interface DL user plane data is linked to a specific QoS Flow belonging to a specific PDU Session. This QoS Flow is identified using an identity within the ‘PDU Session Container’ which is included within the GTP-U header. The PDU Session is identified using the GTP-U Tunnel Endpoint Identifier (TEID). The SDAP layer maps each QoS Flow onto a specific Data Radio Bearer (DRB) as shown in below figure. In this illustration, we can see that multiple QoS Flows can be mapped onto a single DRB:, or a single QoS Flow can be mapped onto a single DRB. QoS Flows belonging to different PDU Sessions arc mapped onto different DRB.
In the figure above, we can see an example of a single PDU session with 3 QoS flows mapped to 2 DRBs. The first two flows are mapped to a single DRB. Each DRB is handled by a single PDCP entity, which may translate to one or two RLC entities depending on the RLC mode.
In the uplink, a QoS flow is mapped to only one DRB at a time. A PDU session has at least one DRB. There’s at most one default DRB in every PDU session. If there’s no uplink mapping, SDAP PDU is sent on the default DRB.Packets belonging to different PDU sessions go on different DRB.
How does SDAP manage Reflective QoS?
With Reflective QoS, the uplink DRB mapping is omitted, UE monitors the equivalent downlink mapping and applies the same to the uplink. When reflective QoS is enabled, SDAP layer adds header information to the downlink data packets at either the Access Stratum or Non-Access Stratum layers.
- Reflective QoS at the Access Stratum (AS) refers to the mapping between QoS Flows and DRB
- Reflective QoS at the Non-Access Stratum (NAS) layers refers to the mapping between QoS Flows and the higher layer IP traffic or Ethernet traffic
Reflective QoS allows the UE to deduce the uplink mapping rules from the downlink mappings, i.e. the uplink rules are copied from the downlink. Downlink data packets can be sent without a header when reflective QoS is not used.
SDAP PDU Format
- SDAP Control PDU: SDAP has only one Control PDU also known as end-marker. It’s sent to indicate that a specific QoS flow is no longer mapped to the DRB on which this control PDU is sent. The size of PDU is one byte where 1-bit D/C field is set to zero to indicate control PDU, 1-bit R field is reserved and remaining 6-bit indcate the QoS flow with a QFI. When RRC configures a new mapping, SDAP will send the end-marker PDU on the previously mapped DRB. The latter could be a previously configured DRB or the default DRB.
- SDAP Data PDU: An SDAP data PDU includes an optional 1-byte header and a variable length payload. Payload length is communicated between SDAP and PDCP sublayers. Presence of SDAP header in UL and DL are configured per DRB.
- A header isn’t required if the DRB carries only one QoS flow. However, DL header presence is configured if reflective QoS is enabled. Any change to header presence is done in a synchronized manner such as a handover.
- DL SDAP header includes a 1-bit RDI (Reflective QoS flow to DRB mapping Indication), a 1-bit RQI (Reflective QoS Indication) and a 6-bit QFI. UL SDAP header includes QFI. When RDI=1, UE updates QoS flow to DRB mapping for uplink.
- When RQI=1, UE informs NAS that Service Data Flow (SDF) to QoS mapping rules have been updated. 1-bit D/C field is set to 1 to indicate data PDU. 1-bit R field is reserved.
- Non-GBR QoS flows can contain the Reflective QoS Attribute (RQA). This tells the NG-RAN to include QFI in downlink packets. UE may be configured to include QFI in uplink packets.
The SDAP layer is configured by RRC signalling individually for each DRB within the DRB-ToAddMod parameter structure. The SDAP-Config belonging to this parameter structure is shown below.
The DRB is linked to a specific PDU Session and the UE is informed whether or not SDAP headers are to be included in the uplink and downlink directions. There is also a flag to indicate whether or not the DRB is to be used as a ‘Default DRB’ for the PDU Session. Only a single DRB can be configured as the ‘Default DRB’ for each PDU Session. A PDU is mapped onto the ‘Default DRB’ ifthere is no rule to map the packet onto a specific DRB. An uplink SDAP header is always included when mapping a PDU onto the ‘Default DRB’ .
- 3GPP TS 37.324 : E-UTRA and NR; Service Data Adaptation Protocol (SDAP) specification.
- 3GPP TS 23.501 : System Architecture for the 5G system
- 3GPP TS 38.300 : 5G NR and NG-RAN Overall Description
- 5G NR Radio Protocol Stack (Layer 2 and Layer 3)
- 5G NR User Plane Protocol
- 5G NR QoS Parameters
- 5G NR QoS characteristics
- Radio Link Control (RLC) Overview