相关文章会在公众号同步更新,最近工作忙,更新完公众号后,经常容易忘记再CSDN上再发。公众号上的文章更新的能快一些,各位同学有兴趣可以关注一下。公众号:5G通信大家学

持续更新的相关5G内容都是直接根据3GPP整理,保证更新内容的准确性,避免通过二手,甚至多手的资料,以讹传讹误导各位同学。如果大家阅读时发现问题,随时留言。

从本篇开始就进入到QoS控制原理的核心部分了,如果把这些内容理解明白,5G的QoS控制基本就没有什么盲点了。后面介绍的内容也相对非常细节。如果对5G基础知识不是很熟,可能看起来会比较吃力。在看之前建议先补充一下5G QoS控制相关的基础知识。如果QoS专题前面介绍的内容都比较熟了,再看这部分内容,加上自己的积极思考,一定会让你有豁然开朗的感觉。

“3.1.3.2 QoS Flow的QoS控制”和“QFI分配”部分的内容之前已经发过了,但是感觉很简单,写的不好。所以这次又修改了一下,重新发出来。

3.1.3.2 QoS Flow的QoS控制

TS 23.503的4.3.3.2.2 QoS control at QoS Flow level章节有这样两段话:

It shall be possible forthe PCC framework to support control of QoS reservation procedures(UE-initiated or network-initiated). It shall be possible to determine the QoSto be applied in QoS reservation procedures (QoS control) based on the authorised QoS of the service data flows thatare applicable to the QoS Flow (1)and oncriteria such as the QoS subscription information, service based policies,and/or predefined PCF internal policies.

It shall be possible forthe SMF to determine the authorized QoS of a QoS Flow usingthe PCC rules associated to the QoS Flow(2), and theSMF shall be able to notify the PCF if the QoS Flow is removed or the GFBR of aQoS Flow can no longer (or can again) be guaranteed.

上面红色字体部分就是我们得到QoSFlow的QoS参数的关键点。从上面这两段话能看出来:

(1)适用于QoS Flow的SDF(Service Data Flow)的authorised QoS。说明QoS Flow的QoS控制参数来源于PCF下发的针对SDF的PCC Rule;

(2)针对QoS Flow的authorized QoS参数使用了关联到QoS Flow的PCC Rule。

综合上面这两条,我们就可以知道:5G中对QoS Flow的QoS控制是借助于PCF下发的针对SDF的PCC Rule来实现的,而不是PCF单独下发针对QoS Flow的QoS参数。

5G中所谓的三级QoS控制(SDF级别、QoS Flow级别、PDU Session级别),只有QoS Flow的QoS控制参数是SMF推导的,其它两级的参数都是PCF直接下发的authorised QoS。当然authorised QoS的最终确定可能会借助于用户的签约数据、PCF或者SMF定义的数据来共同判断得到的一组QoS参数。

PCF没有直接给SMF下发QoS Flow的QoS控制参数,那么QoS Flow的QoS参数是如何推导出来的呢?这就是本章节介绍的QoSFlow binding的概念。

实际上QoS Flow的QoS参数,即:QoS Profile,最开始生成时是根据触发SMF创建QoS Flow的那个Service Data Flow的PCC Rule来推导的,后续随着该QoS Flow上绑定的PCC Rule增多,会同步修改该QoS Flow的QoS Profile。

3.1.3.2.1 QoS Flow Binding

UPF会从N6接口收到各种类型的数据包,通过SMF发送给UPF的过滤器,过滤出来一个个SDF。下一步就是UPF根据SMF下发的规则,将SDF映射到QoS Flow上进行数据包转发。这个将SDF映射到QoS Flow的步骤就是QoS Flow Binding。那么,如果所有的数据包根据规则都能映射到QoS Flow上就妥妥的了。万一哪一个SDF没有找到合适的QoS Flow映射,这时候就会触发SMF创建新的QoS Flow。在创建任何QoS Flow之前首先要分配QFI,因为它是QoS Flow的标识,后续的各种对QoS Flow的操作都是通过QFI来引用的。下面就先看一下QFI的分配。

3.1.3.2.1.1 QFI的分配

对于Non-GBR类型的QoS Flow,如果使用了标准的5QI或者预配置的5QI,并且5QI的值小于64(即:取值范围0~63),那么SMF可以直接使用这个5QI的值当作该新创建的QoS Flow的QFI。在PDU Session建立/修改,以及PDU Session的用户面激活时,SMF会通过AMF的N2接口将ARP和QFI发送给NG-RAN。

在其它场景下,对于GBR和Non-GBR QoS Flow,SMF可以动态指定QFI。5QI的值可以是标准化的、预配置的或者动态指定的。QoS profile和QoS Flow的QFI可以在PDU Session建立/修改及PDU Session的用户面激活时,SMF会通过AMF的N2接口发送给NG-RAN。

注:

上面两段话是TS 23.501的直接翻译。看起来没有什么问题,也很容易理解。但细想起来,实际上疏漏了反射QoS的场景。当QoS Flow没有开启反射QoS时,上面的两段说法并没有什么问题。当QFI在0~63范围之内时,SMF发送给NG-RAN的是ARP和QFI,不需要发送QoS Profile。因为从3.1.1.9小节QoS Profile的介绍中可以看出来,Non-GBR QoSFlow的QoS Profile在没有开启反射QoS时,只有5QI、ARP两个参数,而5QI可以通过QFI直接推导出来。这样,对于Non-GBR QoSFlow,NG-RAN可以得到完整的QoS Profile。但是当开启了反射QoS时,对于QFI在0~63范围内时,SMF还需要下发RQA参数,这点大家不要忘记了。

当QFI的取值大于63时,需要发送完整的QoS Profile和QFI了,这就无所谓QFI推导5QI和反射QoS的问题了,所有参数都是信令发送的。

另外,对于Non-3GPP接入,缺省的ARP参数可以配置在AN上。5G支持3GPP接入和non-3GPP接入,直接读规范时,当发现很多参数的预配置在不可思议的地方时,多数都是在Non-3GPP接入场景使用。

3.1.3.2.1.2 Default QoS Flow的绑定

我们在3.1.1.8 DefaultQoS Flow小节的介绍中可以知道,所谓的Default QoSFlow就是SMF使用UDM中签约的default 5QI/ARP创建的QoS Flow。需要注意的是这个default QoSFlow一定是Non-GBR类型的QoS Flow,且在PDU Session的存续期中一直存在。至于Default QoS Flow的创建我们在3.1.1.9.6Aggregate Bit Rates小节中已经说明过了。缺省QoS Flow的创建是在PDU SessionEstablishment流程中执行的,因为5G中没有专门创建QoS Flow的流程,而Default QoSFlow又是PDU Session中的第一个QoS Flow。如果大家直接读TS 23.501时,5.7.1.1章节中的这句话“Within the5GS, a QoS Flow is controlled by the SMF and may be preconfigured, orestablished via the PDU Session Establishment procedure (see clause 4.3.2of TS 23.502 [3]), or the PDU Session Modification procedure (seeclause 4.3.3 of TS 23.502 [3]).”实际上背后说的就是缺省QoS Flow的创建。

UDM中签约的default 5QI/ARP在TS 23.503中通常称为:PDU Session related information Authorized default 5QI/ARP。

SMF会在PCF的SM Policy AssociationEstablishment响应消息中收到SMPolicyDecision。该响应中包含有PDU Session使用的QoS策略和PCC Rule,以及SMF会用到的用户面控制的一些公用参数,如:QoS信息、计费信息、业务控制信息等、业务使用量信息等等很多基础数据。这些数据有多种参数组合(比如针对VOLTE语音的QoS参数组、针对普通数据业务的QoS参数组等),可能会被多个PCC Rule(即:多个SDF)使用,所以直接在SMPolicyDecision下发,当PCC Rule使用时,直接引用相关的ID值就可以了。

在SMPolicyDecision中包含有qosDecs字段。qosDecs字段的内容就是PCF下发给SMF的QoSData数据。PCC Rule会引用这个QosData数据(包含有"defQosFlowIndication"标记)。这样,SMF沿着这条路线,就可以知道缺省QoS Flow应该安装哪一个PCC Rule。所谓的“安装”就是把QoS Flow和PCC Rule关联起来。在设备实现上就是把QFI和PCC Rule ID映射一下,用C语言表述可能就是新建了一个链表元素关联了一个PCC Rule结构体。

需要注意的是,如果PCF通过"defQosFlowIndication"属性明确向SMF指示了绑定到Default QoS Flow的PCC Rule,SMF就会忽略5QI、ARP、QNC(QoS Notification Control)、优先级、Averaging Window、MDBV(Maximum Data Burst Volume)这些影响PCC Rule绑定的参数。只有当PCC Rule引用的QoS Data其中不包含“defQosFlowIndication”属性或者该属性设置为false时,才会评估这些参数,而且这些参数也只用于QoSFlow Binding。这段话说的是什么内容,具体原因继续看下面一小节就明白了。

SMF根据qosDecs字段中包含的defQosFlowIndication标记,可以直接把PCC Rule绑定到缺省QoS Flow上。要注意这样的PCC Rule只能有一个。

一个PCC Rule一旦被绑定到defaultQoS flow上,在删除PCC Rule或者PCF在设置defQosFlowIndication属性为false之前,会一直存在这个绑定关系。如果PCF之前下发的PCC Rule的defQosFlowIndication属性为True,后来,PCF更新策略把PCC Rule的defQosFlowIndication更新为False,此时SMF需要重新执行QoS Flow Binding操作,将该PCCRule绑定到别的QoS Flow上。

介绍到这里,我们还有两个问题没有解决:

(1)UDM中保存有Default 5QI和ARP,是用于创建default QoS Flow的,为什么PCF还可能下发包含defQosFlowIndication属性的PCC Rule呢?

(2)假如PCF没有下发包含defQosFlowIndication属性的PCC Rule,是否就意味着PDU Session中根本就不存在default QoS Flow呢?

其实这两个问题本质上是同一个问题,也就是UDM中保存的Default 5QI/ARP和PCF下发的动态PCC Rule中包含的5QI/ARP哪个参数优先级更高,及他们对SMF创建default QoS Flow有什么影响的问题。下面就分别来详细分析这个问题。

根据QoS专题介绍的各个知识点可以知道,5G中所谓的default QoS Flow是关联了defaultQoS Rule的QoS Flow。defaultQoS Rule包含的5QI/ARP参数基本是UDM中定义的或者SMF根据本地配置修改的过的5QI/ARP。UDM中定义的5QI肯定是Non-GBR类型的,根据UDM中的数据创建的default QoS Flow自然也是Non-GBR QoS Flow。根据我们3.1.1.9.2ARP章节中的分析,SMF根据本地配置修改过的5QI可能会创建GBR类型的default QoS Flow。SMF本地配置的策略可以认为是静态的策略,而PCF下发的是动态PCC策略。PCF之所以下发包含defQosFlowIndication属性的PCC Rule,实际上是通过PCF动态控制SMF创建的default QoS Flow的QoS参数。如果PCF下发的包含了defQosFlowIndication属性的PCC Rule中的5QI是GBR类型的,此时SMF会将已经存在的default QoS Flow修改为GBR类型。也就是说,虽然default QoS Flow是根据UDM中签约的default 5QI/ARP创建的,但是PCF仍然掌控有最高QoS权限,可以修改default Qos Flow的QoSProfile。

注:

从本节的分析中,我们可以看出来在3.1.1.9.2 ARP章节中有一句话说明:“PCF下发的包含defQosFlowIndication属性的PCCRule一定会关联到Non-GBR QoS Flow上”。这句话还欠缺一部分知识。实际上,PCF下发的包含defQosFlowIndication属性的PCCRule一定会关联到Non-GBR QoS Flow上。如果这个dafault QoS Flow是Non-GBR类型的,此时SMF又收到了包含defQosFlowIndication属性的PCC Rule,其中包含的5QI是GBR的,此时,该PCC Rule会直接安装在这个Non-GBR dafault QoS Flow上,相当于把原来Non-GBR的default QoS Flow修改为了GBR default QoS Flow。如果后期PCF更新了该PCC Rule的defQosFlowIndication属性为False,那么该PCC Rule会执行普通QoS Flow Binding操作,恢复原来dafaultQoS Flow的Non-GBR属性(即:恢复使用UDM中签约的Default 5QI/ARP值)。从本章的分析可以看出来,通过PCC Rule中的defQosFlowIndication属性,PCF可以控制哪些SDF映射在dafault QoS Flow中。

在分析完本小节的内容后,我们基本可以知道:如果SMF直接使用UDM中签约的5QI/ARP创建的QoS Flow一定是Non-GBR类型的,但是在5G中,如果想修改default QoS Flow为GBR类型也完全是可以实现的,且3GPP标准做了相关定义。这点和4G的缺省EPS承载一定是Non-GBR的有很大的差别。

上面的介绍已经解决了第一个问题,那么看第二个问题。假如PCF没有下发包含defQosFlowIndication属性的PCC Rule,PDU Session中是否有default QoS Flow呢?结论很明显,因为defaultQoS Flow的诞生和PDU Session是同步的。如果建立起PDU Session,那么一定存在一个QoS Flow,并且第一个建立的就是default QoS Flow。

如果PCF没有下发包含defQosFlowIndication属性的PCC Rule,此时,SMF创建的default QoS Flow使用的参数就是UDM中签约的default 5QI和ARP。这样创建的default QoS Flow一定是Non-GBRQoS Flow,并且default QoS Flow按照3GPP规范规定不可能支持反射QoS,根据3.1.1.9中介绍的QoS Profile的组成,Non-GBRQoS Flow只需要有5QI和ARP就足够了。这样,SMF根据UDM中签约的Default 5QI和ARP,SMF只需要分配一个QFI,default QoS Flow就建立起来了。根据我们上一小节介绍的内容,此时SMF甚至都不需要分配QFI,直接使用5QI即可。因为UDM签约的缺省5QI都是标准的、Non-GBR类型的值,SMF直接使用UDM中5QI和ARP已经足够可以建立起Non-GBR类型default QoS Flow了。

从前面的叙述就可以知道,SMF判断一个QoS Flow是否是default QoS Flow的标准有两个,只要其中之一满足就判断该QoSFlow是default QoS Flow:

(1)QoS Flow的5QI/ARP(也就是QoS Profile中的参数)和Authorizeddefault 5QI/ARP相同;

(2)关联default QoS rule的QoSFlow安装的PCC Rule中包含有defQosFlowIndication(即:该值为True)属性。

5G QoS控制原理专题详解-QoS控制原理(2)相关推荐

  1. 5G QoS控制原理专题详解-SM策略数据的源头

    相关文章会在公众号同步更新.公众号:5G通信大家学 持续更新的相关5G内容都是直接根据3GPP整理,保证更新内容的准确性,避免通过二手,甚至多手的资料,以讹传讹误导各位同学.如果大家阅读时发现问题,随 ...

  2. 5G QoS控制原理专题详解-基础概念(3)

    最近比较忙,很多文章公众号上排版完发了,没来得及发布到CSDN上,各位同学可以先关注公众号,以便可以及时收到新的详解文章. 3.1.1.10 5G QoS characteristics 5G QoS ...

  3. 5G QoS控制原理专题详解-基础概念

    相关文章会在公众号同步更新.公众号:5G通信大家学 持续更新的相关5G内容都是直接根据3GPP整理,保证更新内容的准确性,避免通过二手,甚至多手的资料,以讹传讹误导网友. 在介绍完流程详解后,会整理专 ...

  4. 5G QoS控制原理专题详解-基础概念(2)

    相关文章会在公众号同步更新.公众号:5G通信大家学 持续更新的相关5G内容都是直接根据3GPP整理,保证更新内容的准确性,避免通过二手,甚至多手的资料,以讹传讹误导网友. 在介绍完流程详解后,会整理专 ...

  5. 5G QoS控制原理专题详解(7)-Default QoS Flow探秘

    相关文章会在公众号同步更新,最近工作忙,更新完公众号后,经常容易忘记再CSDN上再发.公众号上的文章更新的能快一些,各位同学有兴趣可以关注一下.公众号:5G通信大家学 持续更新的相关5G内容都是直接根 ...

  6. linux fq队列,QOS各种队列详解(FIFO,FQ,CBWFQ,PQ).doc

    QOS各种队列详解(FIFO,FQ,CBWFQ,PQ) QOS各种队列详解(FIFO,FQ,CBWFQ,PQ) 对于拥塞管理,一般采用队列技术,使用一个队列算法对流量进行分类,之后用某种优先级别算法将 ...

  7. 计算机控制系统顾树生课后答案,清华大学出版社-图书详情-《自动控制原理习题详解》...

    信息化时代的到来,为自动控制技术的应用开拓了更加广阔的空间.作为有关自动控制技术的基础理论--自动控制原理,已成为各高校许多学科和专业必修的技术基础课.深入理解和掌握<自动控制原理>中主要 ...

  8. 科普:5G网络关键技术详解

    不久前,中国华为公司主推的Polar Code(极化码)方案,成为5G控制信道eMBB场景编码方案.消息一出,在网络上就炸开了锅,甚至有媒体用"华为碾压高通,拿下5G时代"来形容这 ...

  9. [SV]SystemVerilog進程之fork join专题详解及案例分析

                SystemVerilog進程之fork...join专题详解及案例分析  目錄 一.fork-join 1.1.fork join example, 二.fork-join_ ...

最新文章

  1. C语言中(字符串)输入scanf()、gets()、fgets()以及getchar()、getc()函数的联系与区别
  2. HTMLCanvasElement.toDataURL()
  3. 工作中一些代码优化的地方
  4. require(),include(),require_once()和include_once()区别
  5. finally块不被执行的情况总结
  6. ironpython this_IronPython sys._getframe not found
  7. DirtyCow漏洞复现(脏牛、大脏牛、Linux、Android、提权)
  8. ArrayListd的长度问题
  9. RESTful Web Services简单介绍
  10. ARM-QT5.14.2 触摸屏配置(电容屏/电阻屏)
  11. 如何通过服务号开通并认证小程序
  12. linux0.11主存管理程序阅读注释笔记
  13. JBX IDE中文输入
  14. 【hello C++】初识C++(下)
  15. word如何添加行号_如何将行号添加到Microsoft Word文档
  16. linux PCIE驱动开发
  17. ubuntu docker dm_task_run failed error
  18. Solr in Action 第一章翻译(待整理)
  19. Java学习笔记分享之Spring Cloud Netflix篇(上)
  20. php面试英文自我介绍范文,英文自我介绍范文分享

热门文章

  1. 基数排序——多关键字排序(MSD/LSD)以及链式基数排序
  2. Tensorflow技术实践之mnist_ with_summaries.py报错
  3. shell的几个重要命令,主要参数,循环语句以及变量处理
  4. js文件在谷歌浏览器上显示乱码问题
  5. xftp(windows系统与linux系统之间文件传输)
  6. Windows下安装与配置Docker
  7. 2022元宇宙十大 “闪光时刻”
  8. “d3dx9.h”: No such file or directory 解决办法
  9. ERROR: cannot launch node of type [turtlesim /turtlesim_node]: turtlesim
  10. OpenWrt路由开启DDNS+端口转发进行外网访问