前言
无线网络是一个等级森严的体系,一直以来,无线资源都是紧张的,因而无线网络上的各种业务所享受的服务也无法平等。网络需要优先保障重要的业务。比如
- 相比普通上网的数据业务,音视频数据业务的优先级会更高;
- 相比音视频数据业务,语音通话的优先级会更高;
- 相比语音通话,空口信令的优先级会更高。
为了对不同业务提供不同的服务质量,无线网络提供了QoS(Quality of Service),QoS管理是无线网络满足不同业务质量要求的控制机制,它是一个端到端的过程,需要业务在发起者到响应者之间所经历的网络各节点共同协作,以保障服务质量。空口QoS管理特性针对各种业务和用户的不同需求,提供不同的端到端服务质量。NSA(Non-Standalone)组网和SA(Standalone)组网下均支持QoS管理。
5G协议里用5QI(5G QoS Identifier)来标识不同的业务优先级。5QI类似于LTE的QCI,SA组网下,各标准5QI对应的QoS属性根据资源类型的不同,分为GBR、Non-GBR及Delay Critical GBR。
可见,VONR语音承载的5QI=1,VINR视频承载的5QI=2,VONR的sip信令承载的5QI=5。
QoS Flow
在SA网络,gNodeB与UE之间仍然存在承载,但gNodeB与核心网之间不再采用承载的概念, 由NSA组网中的EPS Bearer变成了QoS Flow。QoS Flow是5G核心网到终端的QoS控制的最细粒度。每一个QoS Flow用一个QoS Flow ID (QFI)来标识。在一个PDU会话内,每个QoS Flow的QFI都是唯一的。核心网会通知gNodeB每个QoS Flow对应的5QI(5G QoS Identifier),用于指定此QoS Flow的QoS属性。
gNodeB会将QoS Flow映射到承载上,QoS Flow与空口Radio Bearer可以是多对一的映射关系,也可以是一对一的映射关系。
SA组网下的QoS架构
当UE发起业务请求时,gNodeB读取N2接口INITIAL CONTEXT SETUP REQUEST消息或PDU SESSION RESOURCE SETUP REQUEST消息中各QoS Flow的QoS属性值,根据参数配置,将不同的QoS Flow(不同的5QI)映射到对应的承载上,为业务配置合适的无线承载参数、传输资源配置参数。
QoS Flow的5QI指派
QoS Flow的5QI可以是核心网动态指派的5QI(Dynamic 5QI),也可以是非动态指派的5QI(Non Dynamic 5QI),
如果是动态指派的5QI,其对应QoS属性参数一定会由核心网下发给gNodeB。
如果是非动态指派的5QI,其对应的QoS属性参数是核心网下发给gNodeB的可选参数。
- 若核心网下发了QoS属性参数,则以核心网配置的参数值为准。
- 若核心网未下发QoS属性参数,则先通过无线网管查询5QI对应的QCI值。
- 若QCI已在MO gNBQciBearer中配置,则使用配置值。
- 若QCI未在MO gNBQciBearer中配置,则按照gNB5qiConfig.Qci取值为9对应的配置生效。
QoS Flow到DRB的映射
SDAP(Service Data Adaptation Protocol)是5G新增的协议层。
SDAP协议层有两个功能:
- 在数据包中添加QoS Flow的标识,即QFI (QoS Flow ID)值,接收端从数据包的SDAP头中读取该值。
- 将一个或多个QoS Flow映射到一个DRB 上。
针对下行数据与上行数据,QoS Flow映射到DRB的原理描述如下。
下行数据
gNodeB侧需要将QoS Flow映射到相应的DRB上,以便下行数据可以通过对应的承载发送给UE。针对下行数据,QoS Flow经过SDAP层时,SDAP层根据Nr的5qi的网管配置值与QCI映射关系,将各QoS Flow映射到相应DRB上,DRB的QoS等级用QCI来索引。
- 标准5QI与QCI的对应关系是一对一映射的,这类规则在最小化配置中存在且不能修改。例如5QI1映射到QCI1,5QI9映射到QCI9。
- 其它5QI与QCI的对应关系可自由配置,当出现大于或等于2个QoS Flow映射到相同QCI时,QoS Flow映射到QCI的原则如下:
- GBR类型,或5QI值为5或69的Qos Flow,将会各自单独映射到DRB(这些DRB的QoS等级是相同的,但DRB ID不同)。
- Non-GBR类型,或5QI值不为5且不为69的QoS Flow,gNodeB会将多个QoS Flow映射到同一个DRB上。
QoS Flow映射到DRB的示意图
当核心网新增了一个5QI值时,gNodeB判断该5QI是否已在基站的QCI中配置。
- 如果未配置,则默认按照5QI为9时对应的配置参数生效。
- 如果已配置,判断该5QI使用的QCI是否已在小区QCI承载和DU小区QCI承载中配置。
上行数据
UE为了将数据发送给gNodeB,需要先找到相应的DRB承载,UE找到相应的DRB有两种方式,隐式和显式。
· reflecting mapping方式
此方式下当N2接口上收到QoS Flows Add Request或者QoS Flows Modify Request消息时,如果当前存在符合QoS Flow要求的DRB承载,则不发送(包含QoS Flow与承载的映射关系)RRCReconfiguration消息。
而UE端,它会监听每一个DRB中下行数据包标记的QFI值,并在UE内部通过reflection生成QFI与DRB的对应关系列表。当上行数据包发送时,UE在对应关系列表中找到上行数据包的QFI值对应的DRB。
· explicit reconfiguration方式
此方式下gNodeB通过RRCReconfiguration消息把QoS Flow与DRB的映射关系发送给UE。
业务建立后
业务建立后,QCI、5QI修改会重建PDCP和RLC从而导致业务出现中断,影响用户体验,因此无线侧不支持QCI、5QI在线修改。当用户重新接入网络时,使用新的QCI、5QI进行业务。
QoS保障的原理
在下行调度QoS保障中,gNodeB可以获得下行各承载业务的数据量,并根据输入的QoS参数、信道质量、历史速率等因素综合确定承载的调度优先级和选定需要调度的承载。下行调度QoS保障可由gNodeB独立完成。与下行调度QoS保障不同,在上行调度QoS保障中,gNodeB无法准确获得UE上行各承载上需要发送业务的数据量,因此上行调度QoS保障需要UE和gNodeB共同完成。
UE侧QoS保障
gNodeB通过综合考虑信道质量,历史传输速率以及业务的QCI级别计算出UE的调度优先级。UE获得到上行调度机会后,被调度的UE根据以下信息进行二次调度,从而控制UE各承载的差异化。
· 逻辑信道保障速率
- GBR承载的“逻辑信道保障速率”根据核心网配置的GBR速率确定,将核心网配置的GBR速率向下取值到最近一个枚举值,作为GBR承载的“逻辑信道保障速率”。
- Non-GBR承载的“逻辑信道保障速率”固定下发8Kbps。各逻辑信道保障速率的满足度,是影响UE计算各逻辑信道的调度优先级的一个重要因素。
· 逻辑信道优先级
逻辑信道优先级用于UE管理各逻辑信道的调度优先级,在各承载对应的逻辑信道优先级参数中配置。
· 逻辑信道的Packet Delay Budget
用于衡量对应承载的数据包等待调度时延信息,Packet Delay Budget是影响UE计算各逻辑信道的调度优先级的一个重要因素。
Packet Delay Budget与下行调度一样,可以通过参数进行配置。
- NSA组网下,标准QCI的Packet Delay Budget默认取值与上表中Packet Delay Budget列对应的取值相同;
- SA组网下,标准QCI的Packet Delay Budget默认取值与上表SQ中Packet Delay Budget列对应的取值相同。
如果AMF在建立QoS Flow时携带了该参数,则以AMF携带值为准;否则,以配置值为准。·
- 逻辑信道分组
5G协议规定了gNodeB支持8个逻辑信道分组,通过各承载对应的逻辑信道标识配置分组信息。
逻辑信道保障速率、逻辑信道优先级、逻辑信道的Packet Delay Budget和逻辑信道分组均需要通过RRCReconfiguration消息下发给UE。
gNodeB侧QoS保障
gNodeB侧的QoS保障主要是通过综合考虑信道质量,历史传输速率以及业务的QCI级别确定UE的调度优先级。上行基础调度优先级公式在gNodeB侧是按照UE级别来计算的。