本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2024-11(1)

聊聊5G Quality of Service Model (QoS Model)

发布于2021-08-08 22:42     阅读(1121)     评论(0)     点赞(28)     收藏(5)


Why we talk 5G QoS Model?

在5G session管理中,5G QoS是个绕不开的话题,因为一旦一个5G PDU session建立起来,那么该session就对应着某些QoS Flow。在用户面,和QoS相关的就有UE,Gnb和UPF,而在信令面有Gnb,SMF,UDM,PCF和UPF。在3GPP TS 23501的5.7章节,介绍了5G核心网的QoS model。5.7章节中,介绍了一堆QoS model相关的各种概念,通读下来,你得到了各种名词的解释,但却很难将它们都串起来,甚至很难向别人描述出5G QoS model到底是个怎样的model。 在实际工作中,负责SMF或者UPF网元研发的同事,也经常问我QoS Flow到底是什么?无论我打开项目源代码还是画图来讲,对方听我讲完后总感觉缺少了点什么。

所以,今天先用一些ppt图片,聊聊5G QoS Model。先让我们在脑海里对这个model有个大概的认识,后续自己可以再深入23501的5.7章节,看看各个概念和参数的细节。有机会的话,我们再站在SMF的角度上,聊聊这些QoS Model是如何被管理的,包括创建,修改,和删除等。

5G PDU session and Qos Flow

pdu session and qos flow
我们都看腻了23501上基于SBI的5G系统架构图,这次换个可爱点的图片。上图是一个最简略的5G系统架构图,除了5GC外,还画上了UE,gNB,Data Network。 图中各网元之间的连线用了参考点架构。

先简单介绍一下图中的各种信息:

  • UE:User equipment ,用户设备,你可以简单理解成图中的手机。
  • gNB: 5G radio node, NB是node B, g 就是 next generation的意思。
  • UPF: User Plane Function,负责数据包检测、路由和转发,用户面QoS handling等。
  • SMF: Session Management function,负责session管理,UE IP地址分配,选择和控制UPF等。
  • AMF:Access and Mobility Management function,负责Termination of N1/N2,注册管理,移动性管理,认证授权等。
  • UDM:Unified Data Management,负责3GPP AKA 认证凭证的生成 ,用户身份处理,Subscription management等。
  • PCF:Policy Control Function,负责统一的策略框架来治理网络行为,提供 policy rules给SMF以进行业务数据流的策略和计费控制等。
    【注】:各个网元的职责在23501的6.2节描述。

上图蓝色的河流一样的就是PDU Session, 它是一个 end-to-end 的用户面连接。它描述了PDU 是从UE经过gNB和UPF,流向DN,反方向也成立。

在这里插入图片描述
PDU Session 可以继续抽象成上图的圆柱形隧道,上图绿色的圆柱隧道为QoS Flow,每个QoS Flow由唯一的QoS Flow Id 标识,从TS 38413 9.3.1.51和TS 29244 8.2.89都可以看出,QoS Flow Id的范围是[0,63],所以每个session最多有63个Qos Flow。

在PDU session中,5G QoS 管理是通过创建不同的QoS Flow来达成的,所以我们学习5G QoS Model,先要理解什么是QoS Flow。

在这里插入图片描述
上图最粗的圆柱隧道依然是PDU session, PDU session 里面有多条QoS Flow。Qos Flow 在23501中的骨干要点如下:

  • QoS Flow 分两类:
       1.  QoS Flows that require guaranteed flow bit rate(GBR QoS Flows)
       2.  QoS Flows that do not require guaranteed flow bit rate (Non-GBR QoS Flows)
    
  • QoS Flow Id:
    就是QFI,PDU session范围内唯一。每个QoS Flow由唯一的QoS Flow Id标识。 在5G用户面数据包的gtpu头可以看到这个qfi,qfi 是由SMF生成的,它有可能数值上等于5QI的值,这个得看SMF的内部实现机制。
  • QoS Flow的创建、修改和删除:
    QoS Flow的一生是由SMF管理的,QoS Flow的创建和修改可以由UE,PCF,UDM等触发。UE和PCF可以触发Qos Flow的删除。
    每个PDU session在被创建时,SMF都会创建一个默认的QoS Flow,这个Flow是和默认的qos rule关联的(qos rule 是安装在UE上的,用于上行数据包与Qos Flow的映射)。这个默认QoS Flow被要求是Non-GBR QoS Flow,默认的qos rule有一个match-all 的package filter,它允许所有的上行数据包通过。

其实QoS Flow 是一个逻辑上的概念,通过上面的图片,我们知道了QoS Flow在PDU session 中的位置,以及一些标识符和几个重要的名词的简单含义。那么这个QoS Flow 落到每个5G网元的具体信息是什么呢?换句话说,这个QoS Flow实体化时是怎么样的?

具象化的QoS Flow由以下三部分组成:

QoS profile:
QoS profile 可以由SMF派发给gNB,也可以预定义在gNB上。每份QoS profile对应着一个qfi,也就是关联着某个QoS Flow。 每份QoS profile包含着一系列的QoS parameters。QoS profile在23501 5.7.1.2有详细描述。
QoS Rule:
SMF会将QoS Rule通NAS Message 发送给UE,列如在session 创建的流程中,SMF 通过PDU session establishment accept的nas 信令,将Authorized QoS rules带给UE。 UE也可以通过应用反射 QoS (Reflective QoS)控制导出QoS Rule。当然Qos Rule中也包含一系列的QoS parameters,例如qfi,Packet Filter Set等。你可以查看TS 23501 5.7.1.4 和TS 24501 6.2.5.1.1,9.11.4.13了解更多的详细信息。
PDR(s):
SMF会将PDR(s) 通PFCP Message 发送给UPF。在session 创建的流程中,SMF 通过PFCP establishment message 将PDRs 带给UPF,PDR里面的PDI会带有qfi,该PDR引用的QER也会带有qfi。关于PFCP信息的各种rule,你可以在TS 29244查到他们的含义和用法。当gtpu数据包在Gnb和UPF之间传递时(UL Traffic和DL traffic),qfi会被封装到gtpu扩展头中。

好了,以上就是QoS Flow的三个实例化的东西,虽然它们仍然是3个抽象的QoS 参数和5G 信元(IE)的总和,但你至少对QoS Flow可以进行进一步的划分。注意到了QoS profile,QoS Rule和 PDR(s)里面都包含了qfi了吗?同一条QoS Flow的qfi是一样的,它们三个部分分别被gNB,UE,UPF所掌控,共同实现和维护了这个QoS Flow。

此时,再回去看看本文最开始的图片,那条蓝色的session流,它经过了哪些网元呢?还有,我介绍QoS Flow的三个组成部分时,那些英文的专有名词,你看看他们是否出现在了23501 5.7章节的目录名称里面呢?想必此时你应该会有些感觉。

5G QoS Architecture

在这里插入图片描述

上图可以清晰地看到PDU session,N3隧道,DRB和QoS Flow的包含关系。正如上面说过,一个PDU session是可以包含多个QoS Flow的。此外,这个图我们还看到一个PDU session只有一个N3 隧道,但却有多个DRB。

N3 隧道是由gNB和UPF共同维护的,它们俩的隧道端点由F-TEID来标识,F-TEID在29244 8.2.3中可以看到是由IP+teid组成的,UPF 端F-TEID的teid可以由SMF分配,也可以由UPF分配。gNB和UPF之间F-TEID的信息交换,由SMF负责完成。

Default QoS Flow and GBR QoS Flow

在这里插入图片描述

之前提到过,UE的每个PDU session 都会有一个默认的QoS Flow,例如上图的UE1,绿色的圆柱隧道就是UE1 PDU Session的Default QoS Flow,它的qfi是102,它必须是Non-GBR的Flow。

上图同样可以看到各种隧道的包含关系,图片中出现了一个新的,白色的圆柱隧道,它叫SDF,SDF是Service data flow,它在TS 23503中的解释是:通过与业务数据流模板匹配的 UPF 承载的一组数据包流聚合。简单地说,就是一组特定的用户服务。

在UPF上会安装PDR,PDR里面的PDI会带有SDF Filter,同样在UE的QoS Rule中,也有Packet filter。所以,无论上行还是下行,该组用户服务对应需要使用怎么样的QoS,那么就需要创建满足该QoS的Flow,或者走匹配到的已经存在的QoS Flow。

通常来说,Default QoS Flow的SDF是优先级是最低的,UPF和UE没有匹配到其他高优先级的SDF时,数据流都会匹配到这个Default QoS Flow对应的SDF,此时,该数据流享受Default QoS Flow的QoS转发待遇。

你可能已经注意到了上图UE1的粉红色圆柱隧道,他是GBR QoS Flow,它的qfi是101。qfi是SMF分配的一个ID而已,我们无需太过关心。在这个GBR QoS Flow里面有两个SDF,说明满足这个两个SDF的业务数据流,都可以走这个qfi是101的QoS Flow,他们俩享受同样的QoS转发待遇。

那么这个qfi是101的GBR QoS Flow它是怎么来的呢?它有可能是UE1 建立PDU Session 时,就已经建立的,也有可能是UE 通过 UE 发起的create Qos Rule 的modify流程来创建的,这个你可以看看TS 23502的4.3.2 PDU Session Establishment流程和4.3.3 PDU Session Modification流程,也可以翻翻我很久之前写的est和modify流程的博文。但无论哪种方式,这个GBR QoS Flow的SDF都来自PCF下发给SMF的PCC rule, PCC 是策略计费控制的缩写,它是SMF生成QoS Flow各种参数的来源。有关的细节以后有空再聊聊,比较卷的朋友可以先去看看TS 23503 和 TS 29512了解5G PCC的框架和对应的具体信令交互流程。

QoS Rule,QoS Profile and SDF Template

在这里插入图片描述

上图这张图片,我们又看到了新的信息。红色加粗的QoS Rule, Qos Profile和SDF Template就是我在上文提到过的QoS Flow实例化后再进一步划分的对象。这里叫的是SDF Template,不叫PDRs, 但并无大碍,因为PDRs 会索引到所有的SDF Template信息。

图片右上角是PCF,它是整个QoS Flow 的各种数据的源头,是决策的总指挥。在UE发起的PDU Session Establishment信令流程中,SMF与PCF会通过SM Policy Association Establishment信令流程进行交互,SMF获得了PCF 返回的SmPolicyContextData IE,这里面就有Session Rule,Pcc Rule 等各种策略与计费的控制信息,你可以查看TS 29512 5.6.2.3 查看整个SmPolicyContextData的具体信息。

SMF根据收到的SmPolicyContextData,生成了上图的QoS Rule, Qos Profile和SDF Template。

SDF Template:SMF通过N4接口的PFCP消息将SDF Template发送给UPF,SDF Template括号中的各种IE或者说专有名词,可以在TS 29244查询。其中,precendence的数值,等于生成该SDF Template的PCC Rule的precendence的数值。

Qos Profile:SMF 通过AMF将 Qos Profile的信息用N2 Message带给Gnb。UE-AMBR 就是 per UE Aggregate Maximum Bit Rate,他数值上等于该UE所有Session-ambr的数值。其他参数在23501 5.7章节的对应目录可以查到细节,我后面也会继续放上图片进行介绍。

QoS Rule:SMF 通过AMF将QoS Rule的信息用N1 Message带给UE。QoS Rule中,起主要作用的是Packet Filter,Packet Filter也是基于PCC Rule生成的。此外DNN,UE ip 地址,切片信息等,也会通过N1 Message 在PDU Session Establishment信令流程中带给UE。

图中还可以看到AN ip && Teid,UPF ip && Teid的位置,它们是表示N3隧道的端点。CN 指的是core network,也就是核心网的意思,协议里面经常用的CN tunnel 通常是指这个N3隧道。

QoS Flow in Downlink

在这里插入图片描述
下面来谈谈在下行的数据中,QoS Flow是怎么运作的。上图最右边代表的是DN通过N6口进入UPF的IP Flow,UPF根据IP数据流中的UE IP 配置到PDR,从而通过PDR找到对应的SDF Template。UPF 对于数据流的匹配过程可以在TS 29244 Figure 5.2.1-1: Packet processing flow in the UP function中找到,我在后面再补个图。每个SDF Template对应着一个QoS Flow, 一个QoS Flow对应着一个或多个SDF Template。这些在上图中都有体现。例如上图的 Non-GBR Flow 就可以给两个不同的SDF Template的IP Flow。基站中,通过SDAP将不同的QoS Flow映射到DRB中,对于SDAP,我不太熟悉,你可以参考这个博客链接: SDAP.

然后图中的其他元素我们在上文都讨论过了,这里就不再啰嗦啦,下面插入一张29244 UPF包处理流程的图片:
在这里插入图片描述

QoS Types and Parameters

在这里插入图片描述
前面我们都从比较大的概念来解读了QoS Flow,在上图的讨论中,我们抛出了很多Parameters,下面我们就来一个个简单解读一下。当然,细节内容的话,你还是得自己去翻阅23501 5.7章节。

先看上图的右边的表格,它显示QoS Flow type 有两种类型,一个GBR Flow,另外一个是Non-GBR FLOW。显然 GBR Flow 包含的QoS Flow 参数是比较多的,而Non-GBR FLOW只有5QI,ARP和RQA。表格中的缩写,都放在了图片的最左边。

先来说说5QI,5QI 是对一组QoS characteristics的索引,在TS 23501的表格 Table 5.7.4-1有标准化的5QI映射关系,例如一个QoS Flow的5QI的数值是4,那么我们通过查阅表格5.7.4-1,就知道了这个QoS Flow对应的QoS characteristics(Qos 特性)

QoS characteristics的简单介绍如下表,详细信息在TS 235015.7.3 5G QoS characteristics

QoS characteristics简介
Resource Type(资源类型)分为 GBR, Delay critical GBR or Non-GBR
Priority Level (优先级水平)QoS Flow之间的资源调度优先级,数值越小表示优先级越高。资源紧张的情况下,调度QoS Flow
Packet Delay Budget(PDB,包时延预算)数据包在UE和UPF之间的延迟上限,上下行数值一致
Packet Error Rate(PER,误包率)数据包错误率,误包率 (PER) 定义了已由链路层协议的发送方(例如 3GPP 接入的 RAN 中的 RLC)处理但未成功交付的 PDU(例如 IP 数据包)的速率上限。
Averaging Window(平均窗口)GBR and Delay-critical GBR resource type only,用于AN/UE/UPF计算MFBR/GFBR的持续时间
Maximum Data Burst Volume(MDBV,最大数据突发量)Delay-critical GBR resource type only,MDBV 表示在 5G-AN PDB(即 PDB 的 5G-AN 部分)周期内需要 5G-AN 服务的最大数据量。

下面介绍一下图片中其余的QoS 参数:

ARP

定义了资源有限情况下资源请求的相对优先级,QoS flow之间的资源能否抢占和被抢占,用于AN。

priority level, 1~15, 1最高
pre-emption capability, enabled or disabled
pre-emption vulnerability, enabled or disabled

QoS Notification control(QNC)

通知控制,对于GBR的QoS流,核心网通过该参数控制NG-RAN是否在该QoS流的GFBR无法满足时上报
消息通知核心网; 开启这个功能时,当NG-RAN发现该流的GFBR无法满足时就要给SMF发送通知,同
时继续保持该QoS流的正常运作;至于收到通知后SMF如何处理则属于网络配置的策略

GBR Flow 才有这个概念

Flow Bit Rates

MFBR/GFBR,MFBR >= GFBR

GBR Flow 才有这个概念

Aggregate Bit Rates

Session-AMBR

UDM 提供 subscribed AMBR
PCF 提供 authorized AMBR
SMF 静态 AMBR

UE-AMBR: Session-AMBR的总和,AMF和AN之间的概念

Non-GBR Flow only,Non-GBR Flow 才有Aggregate Bit Rates这个概念

Maximum Packet Loss Rate

最大容忍丢包率

GBR Flow 才有这个概念

Reflective QoS

反射QoS, UE根据下行包头的指示(RQI),推导出QoS规则,然后使用该规则将上行包映射到flow, 而不
需要借助SMF提供的QoS规则.

只适用于NON-GBR flow, 但不适用于只有默认规则的default flow

5G QoS Flow Binding

上文一直说到,QoS Flow的参数来源于PCF返回给SMF的PCC rule,那么SMF是怎么判断哪些PCC rule是属于同一个Qos Flow的呢?在TS 23503 6.1.3.2.4 QoS Flow binding章节中,有解释这个机制。

QoS Flow绑定是建立PCC rule和QoS Flow之间联系的过程,或者说是建立service data flow/application traffic 和QoS Flow联系的过程;SMF通过该过程将pcc rule和session rule映射为了QoS flow.

QoS Flow绑定的参数:

  • 5QI;
  • ARP;
  • QNC (if available in the PCC rule);
  • Priority Level (if available in the PCC rule);
  • Averaging Window (if available in the PCC rule);
  • Maximum Data Burst Volume (if available in the PCC rule).

也就是说,如果某2个pcc rule提供的参数中,这6个参数是一样的,说明这两个pcc rule属于同一个QoS Flow。反正,SMF就要创建新的QoS Flow 并分配QFI了。

Talk is cheap. Show me the code,有空再聊聊SMF是怎么实现对QoS Flow管理的,也不知道什么时候才能有空写了,先挖个坑。

原文链接:https://blog.csdn.net/hsk_scnu/article/details/119427243



所属网站分类: 技术文章 > 博客

作者:叮叮当当

链接:http://www.phpheidong.com/blog/article/124845/fa3d6152e51a2ea28b71/

来源:php黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

28 0
收藏该文
已收藏

评论内容:(最多支持255个字符)