当前位置: 首页 > news >正文

【5G QoS】详解5G QoS端到端工作机制

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持!
博主链接

本人就职于国际知名终端厂商,负责modem芯片研发。
在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G技术研究。


博客内容主要围绕:
       5G/6G协议讲解
       高级C语言讲解
       Rust语言讲解



文章目录

  • 5G QoS端到端工作机制
    • 一、QoS 结构
    • 二、信令消息中的QoS映射
    • 三、IP数据包与QoS流之间的映射
      • 3.1 下行数据包映射
      • 3.2 上行数据包映射
    • 四、QoS 参数

5G QoS端到端工作机制

QoS:Quality of Service

       LTE主要针对eMBB应用,而NR则是针对eMBB、mMTC、URLLC等多种应用而设计的单一协议。因此,QoS架构更灵活,可以为所有这些应用程序提供适当的服务。您可能会注意到一个明显的区别,NR 5QI的表比LTE QCI的表要长很多。


一、QoS 结构

       事实上,QoS几乎由通信双方之间涉及的每个组件决定或者说影响,但确定QoS的主要参与者是下图中UE和网络架构中的RAN、UPF和DN(数据网)。在这幅图中,展示了一个特定的QoS流示例,以便可以从中获得更具体的含义。

       如下所示,用户数据将从源(本例中是DN)和最终目的地(本例中是UE)流出。每个数据包都会经过一个特定的PDU和数据无线承载(data Radio Bearer, DRB)。在这些流水线中可以有一个或多个具有不同优先级、数据速率、延迟等的虚拟流,这些虚拟流称为QoS流。这些QoS流中的每个都将最终映射到5QI表中的特定项目。为了满足所选5QI的要求,从无线物理资源到核心网接口上的所有物理资源,网络都需要配置。

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


二、信令消息中的QoS映射

       从无线物理层到数据路径上的每个核心网网元,每个数据流都要应用QoS。如上所述,QoS最基本的单位是QoS流。但是QoS流是为核心网数据流(更具体地说是为RAN和UPF之间的数据流,也就是N3接口)定义的逻辑管道。在无线部分,采用DRB对数据流进行管理。为了形成一个完整的从数据源到最终目的地的QoS管道,核心网络的QoS管道(即QoS Flow)和RAN管道(即DRB)之间应该有一些映射,这些映射需要通过信令消息通知到UE。创建和映射QoS管道所涉及的信令消息如下所示。核心网侧QoS管道的创建是通过PDU会话建立Accept完成的,核心网QoS管道与无线QoS管道(DRB)之间的映射是通过RRC消息(RRCSetup或RRCReconfiguration)中的SDAP配置完成的。在每一层之间连接整个QoS管道的标识称为QFI (QoS Flow Identifier)。

请添加图片描述


三、IP数据包与QoS流之间的映射

       在上面描述的内容中,相对较好地描述了如何创建QoS流以及QoS流由什么组成。但是对于不同类型的原始用户数据(大多是IP包)是如何映射到不同类型的QoS流上的,并没有给出详细的解释。例如,看一下博客开头的插图。如果你开始流式播放YouTube,首先数据包会经过internet PDU,在internet PDU中,数据包应该映射到QoS Flow3。然后你可能会问“YouTube IP包如何被定向(映射)到QoS Flow3”。在上行IP分组中也会有类似的问题。这种映射同时在下行和上行IP分组中进行,如下所述。

3.1 下行数据包映射

       下行数据包的QoS流和IP数据包之间的映射由UPF完成。在UPF中有一个特殊的映射算法,称为PDR(Packet Detection Rule)。对于每个IP包,PDR检查包过滤器配置中定义的包的信息(源和目的IP地址和端口、协议ID、服务类型等定义在38.501-5.7.6.2,5.7.6.3),并将包重定向到特定的QoS流。PDR是由SMF与PCF相互获取的,并由SMF提供给UPF。

3.2 上行数据包映射

       上行数据包的IP报文与QoS流之间的映射是通过终端完成的。UE根据QoS规则进行映射。UE如何获得这些QoS规则?通过以下方式为终端提供大致的QoS规则(详见38.501 - 5.7.1.4)

  • 通过信令消息:网络可以在NAS消息的PDU Session Establishment / Modification流程中通知UE QoS规则;
  • 预先配置
  • UE通过Reflective QoS隐式生成;

QoS规则包含关联的QoS流的QFI、包过滤集和优先级值,示例如下:

在这里插入图片描述


四、QoS 参数

       NR QoS涉及多个不同的参数。根据23.501-5.7.2,NR QoS参数列表如下。其中一些参数很容易理解(例如5QI、比特率、包丢失率),但我需要更多的时间来清楚地理解其他一些参数(例如ARP、RQA、Notification Control)。

  • 5QI
  • ARP (Allocation and Retention Priority)
  • RQA (Reflective QoS Attribute)
  • Notification Control
  • Flow Bit Rates
    • Guaranteed Flow Bit Rate (GFBR)
    • Maximum Flow Bit Rate (MFBR)
  • Aggregate Bit Rates
    • per Session Aggregate Maximum Bit Rate (Session-AMBR)
    • per UE Aggregate Maximum Bit Rate (UE-AMBR)
  • Maximum Packet Loss Rate

其中许多参数是在创建QoS流时在发信消息中明确指定的。以下*PDU Session Establishment Accept *消息的示例显示了其中的QoS参数。

PDU Session Resource Setup Request (NGAP : RAN <- 5GC)
在这里插入图片描述
在这里插入图片描述

PDU Session Establishment Accept/DL NAS Transport (NAS : UE <- 5GC)

在这里插入图片描述

在这里插入图片描述

rrcReconfiguration

在这里插入图片描述

PDU SessionResource Setup Response (NGAP : RAN -> 5GC)

在这里插入图片描述

在这里插入图片描述



在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Linux tr命令
  • CMake构建学习笔记16-使用VS进行CMake项目的开发
  • [论文笔记]ChatQA: Surpassing GPT-4 on Conversational QA and RAG
  • 【LLM多模态】文生视频评测基准VBench
  • django-admin自定义功能按钮样式
  • 数据结构之栈和队列的应用
  • 【物联网技术大作业】设计一个智能家居的应用场景
  • 树莓派Pico开发板简介
  • 【网络】高级IO——阻塞IO和非阻塞IO的实现
  • 【项目一】基于pytest的自动化测试框架———解读requests模块
  • 【App】React Native
  • STM32的寄存器深度解析
  • 关系数据库,集合运算符,关系运算符
  • 1-4微信小程序基础
  • 苹果系统(MacOS)中的Finder如何方便展现根目录
  • 【译】理解JavaScript:new 关键字
  • CSS实用技巧干货
  • IDEA 插件开发入门教程
  • JavaScript类型识别
  • JavaScript学习总结——原型
  • PHP 的 SAPI 是个什么东西
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • Redis字符串类型内部编码剖析
  • Spring Boot MyBatis配置多种数据库
  • 阿里云购买磁盘后挂载
  • 爱情 北京女病人
  • 分享一份非常强势的Android面试题
  • 目录与文件属性:编写ls
  • 排序(1):冒泡排序
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 算法系列——算法入门之递归分而治之思想的实现
  • 我的面试准备过程--容器(更新中)
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • hi-nginx-1.3.4编译安装
  • Java性能优化之JVM GC(垃圾回收机制)
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • ​iOS安全加固方法及实现
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • #Datawhale X 李宏毅苹果书 AI夏令营#3.13.2局部极小值与鞍点批量和动量
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • (160)时序收敛--->(10)时序收敛十
  • (70min)字节暑假实习二面(已挂)
  • (Java企业 / 公司项目)点赞业务系统设计-批量查询点赞状态(二)
  • (八)Flask之app.route装饰器函数的参数
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (一)Docker基本介绍
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • .net 前台table如何加一列下拉框_如何用Word编辑参考文献
  • .NET编程C#线程之旅:十种开启线程的方式以及各自使用场景和优缺点
  • .NET关于 跳过SSL中遇到的问题
  • .NET技术成长路线架构图
  • .net通过类组装数据转换为json并且传递给对方接口