Now that we have a glimpse of the difference between the QoS framework between LTE and NR we can have an understanding that to cater to this new QoS requirement there will a need of a new layer in the NR Protocol Stack. We will now take a short deep dive into the QoS flow in NR to basically understand where the new layer SDAP layer fits in to the NR protocol stack.
QoS flow to DRB mapping. Source: https://devopedia.org/5g-quality-of-service
Let us consider the diagram Fig 2, it will give us an understanding of 5G QoS and will also set the context about why SDAP was introduced. As we can see each QoS flow is identified by as QoS Flow Identifier (QFI). Generally, we have two types of QoS flow, GBR (Guaranteed Bit Rate) and Non GBR.
One important point to note is:
- At Non-Access Stratum (NAS), mapping of Uplink and Downlink Packets to respective QoS flow is done by Packet Filters.
- At AS mapping of QoS Flow to DRB is done by the rules set in UE and gNB. This is the rule that is being taken care by SDAP.
Now let us look at Fig2: Here we can see that there are packets generated from different applications like WhatsApp Video, YouTube, Voice, Netflix etc.
Each of these applications will have a separate Service Data Flow (SDF) created and will have separate QoS requirement. Here Internet, Netflix and IMS are three separate PDU Sessions and each application( YouTube , Voice, WhatsApp) inside the PDU sessions are SDF.
Comparison of the data packets takes place in UPF by Packet Detection rules (PDR). There are QoS Enforcement rules (QER) associated with PDR. This QER contains the QFI values which are attached to the packet header and we can say that QFI is added to SDF.
Based on requirements one or two SDF can have same QFI values, and they will be mapped to same QoS flow as we can see in Fig 2. Here WhatsApp Video and Skype Video are two SDF and both have same QFI value 2, so we can see that they are mapped to same QoS flow 2.
Now after insertion of QFI at UPF, QoS Flows reaches the NGRAN (gNB). The NG-RAN now decides how to map the QoS flow to DRB. Here comes the role of SDAP. If there are multiple QoS flow needs to be multiplexed on a single DRB, this functionality is done by SDAP.
Now if we see in Fig2: QoS flow 2 and QoS flow 3 (carrying SDF of WhatsApp Video, Skype Video and You Tube Video) are mapped to a single DRB2. The SDAP is used for QoS Flow to DRB mapping.