文章目录

  • Why we talk 5G QoS Model?
  • 5G PDU session and Qos Flow
  • 5G QoS Architecture
  • Default QoS Flow and GBR QoS Flow
  • QoS Rule,QoS Profile and SDF Template
  • QoS Flow in Downlink
  • QoS Types and Parameters
  • 5G QoS Flow Binding

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


我们都看腻了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了。

最后,网上也有人将23501的5.7章节翻译出来了,大家可以去看看,例如这位大哥的博客: qos model完整协议翻译.

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

5G 核心网 Quality of Service Model (QoS Model)相关推荐

  1. 5G 核心网 UE Requested PDU Session Establishment 信令流程

    I am back !!! 本系列博客将陆续更新至  3GPP TS 23.502 V15.11.0 (2020-09) 版本 首先放上 23501 中的 5G 系统架构图 : 5G 核心网采用的是S ...

  2. 5G核心网SBA架构

    作者:柒号华仔 个人主页:欢迎访问我的主页 个人信条:星光不问赶路人,岁月不负有心人. 个人方向:专注于4G/5G领域,同时兼顾其他网络协议,编解码协议,C/C++,linux等,感兴趣的小伙伴可以关 ...

  3. 5G核心网之SBA架构(面向服务)

    前言 随着技术演进和发展,云原生提出的"微服务"概念得到了大家的认可,微服务概念指将原本具有多个功能的集合体分拆为多个具有独立功能的个体,每个个体都具有自己的微服务.5GC将微服务 ...

  4. 【5G基础学习笔记】 5G核心网架构

    1. 5G 不同应用场景需求指标差异 2. 5G 时代的网络挑战及改进方向 控制面与用户面分离: 好的扩展性和伸缩性(比如升级),4G 分离不彻底,S-GW P-GW 还包含控制会话功能 网络功能服务 ...

  5. 【5GC】开源5G核心网(Open5GS)架构详解

    博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发. 在5G早期负责终端数据业务层.核心网相关的开发工作,目前牵头6G ...

  6. 5G 核心网 5GS to EPS handover for single-registration mode with N26 interface

    在当前的环境下,5G 核心网组网后,必然会与现有的4G EPC 进行交互.在23501当中有5G 和 EPC 交互架构图.其中需要关注的是N26接口.(如下图所示) 那么当 UE 在4G 和 5G 之 ...

  7. 基于英特尔平台的三星5G核心网高性能UPF 305 Gbps解决方案

    本周我们与大家分享一篇英特尔与三星共同完成的研究成果,全文大概5000字,建议先分享/收藏再阅读哦. 作者 Intel Corporation- Data Center Group Andriy Gl ...

  8. 浅谈对5G核心网演进方向的几点展望

    最近读到一篇关于5G核心网的论文<Revolutionary Direction for 5G Mobile Core Network Architecture>,其中对于从4G到5G的演 ...

  9. 第四十一期:深度解析5G核心网建设难点和挑战

    目前核心网处于架构转型和业务转型的关键期.在架构层面,NFV.CU分离.边缘计算等技术的成熟推动核心网络架构转型,控制面进一步集中,转发面进一步下沉. 目前核心网处于架构转型和业务转型的关键期.在架构 ...

  10. amf组网_【5G核心网】5G核心网SA组网方案及4G/5G互操作探讨

    摘  要: SA(Standalone 独立组网)架构是5G核心网的目标架构.在SA架构下,4G/5G互操作是在核心网实现.本文针对4G/5G核心网互操作,分析了控制面网元整体部署架构.接入层网元组网 ...

最新文章

  1. 【2018/10/11完成】 ubuntu切换国内镜像源,加速apt-get下载速度
  2. C# Wpf异步修改UI,多线程修改UI(二)
  3. 1.5万字详述 | 全开源:python写小游戏+AI强化学习与传统DFS/BFS控制分别实现
  4. 非线性方程求根算法的C++实现
  5. BrnShop开源网上商城第三讲:插件的工作机制
  6. 罗盘时钟制作代码_抖音超火的姓氏罗盘壁纸,安卓和苹果都能做
  7. 工业自动化控制软件SCADA数据模型的使用方法实例
  8. 2021第十四届“认证杯”数学建模网络挑战赛C题
  9. 部署nodejs报No package nodejs available
  10. 学it需要学历吗_学IT需要什么学历
  11. Oracle 数据库12c 新特性总结
  12. 36线性映射03——线性空间的同构、同构的性质、线性同构
  13. LVS 引入keepalived自动切换机制
  14. 桌面和文件管理器右键卡顿几秒的解决办法
  15. golang xorm 自定义日志记录器,使用zap实现日志输出、切割日志
  16. docker中vim无法粘贴
  17. SQL注入——联合注入
  18. 华为服务器gpu卡型号,gpu服务器 华为云
  19. repost 懊悔自己没能在本科和研究生期间邂逅ACM
  20. 网络编程(36)—— 线程安全函数和非线程安全函数

热门文章

  1. Python3 网络爬虫:视频下载,那些事儿!
  2. 不小心将项目的 iml文件删除了怎么办
  3. 浅谈DNS协议,DNS协议的作用以及DNS的查询方式,使用DNS做负载均衡
  4. XDT——基于Python的XSS自动化检测工具
  5. java调用js中的方法样例
  6. 你租的房子遇 “坑” 了么?
  7. 小教程:设置苹果Mac电脑的开机密码
  8. CMD如何直接运行文件
  9. 用阿里云商标注册流程步骤,以及有哪些商标延伸服务
  10. 最佳Android模拟器,你值得拥有