读南山耕夫笔记_一文弄懂5G UE策略

2023-10-20 22:49

本文主要是介绍读南山耕夫笔记_一文弄懂5G UE策略,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

引子

UE Policy Association 的触发场景和条件

UE Policy 为何物 ?

URSP

优先级

业务描述符(traffic descriptor)

路由选择描述符: 包括 (重要项, 非重要项此处未列出)

UE中如何使用URSP路由数据

URSP规则的匹配过程: 感觉像一个算法

信令流程

ue策略更新有两种场景

流程第一阶段: 触发

流程第二阶段: UE PolicyAssociation的建立

流程第三阶段: UE策略的下发

eps.pcap 分析

引子

1. UE上 应用程序的数据 -> PDU Session  如何映射 ?

2. UE 新建立PDU Session 时如何选择切片 ?

3. UE 策略的下发流程 ?

4. UE 策略的更新流程 ?

YYR: 程序是可以串联起来的, 有因就有果;

        进入了5G后, UE建立PDU Session时就需要判定用哪个切片, 应用数据如何映射, 每个细节都是问题

UE Policy Association 的触发场景和条件

  • 场景
  • UE发起初始注册;
  • HO或移动性过程中, AMF改变, 新AMF选择了新PCF;
  • EPS->5GS: UE移动到5GS时, AMF和PCF间无UE Policy Association

条件

  • 非漫游下: 注册请求消息中, 如果包含了 UE Policy Container, 则会执行 UE策略关联; 如果未包含, 则AMF根据本地配置决定是否执行 UE策略关联;
  • 漫游下: 需要根据漫游协议来决定;

UE Policy 为何物 ?

  • ANDSP: Access Network discoveryyand selection policies, 用于UE选择 non-3GPP接入网络
  • V2XP: R16 新增
  • URSP: Route Selection Policy, 路由选择策略, 这个是重点 !!!

URSP

整体介绍

指导UE路由上行业务, 就是将 UE上行用户数据和PDU Session进行关联起来的准则

  • UE触发建立 新 PDU Session;
  • UE将业务路由到一个已建立的PDU Session;
  • UE将业务路由到non-3GPP接入的PDU Session;

规则特点

可由 UE预配置 或 PCF提供, 但 PCF 的优先级高;

可以有1条 或 多条规则;

如果有多条规则, 则其中只有一条可定义为 缺省URSP规则: 可以匹配上所有业务的 业务描述符(traffic des)

规则定义:

 由上图可以看出包含3部分(必选)内容, 和 其他可选内容  (LY: NTA)

优先级, 业务描述符, 路由选择描述符, 具体:

优先级

  • 数值越小, 优先级越高

业务描述符(traffic descriptor)

  • 包含能够匹配上所有业务的描述符, 或
  • 包含匹配具体的Application des, IP des, Domain des, DNN 等信息的组建

注意: 1. DNN 也可以在 路由选择描述符中存在, 但只能二选一;

         2. 相同类型的组件, 其中之一匹配上即可; 不同类型的组件, 只有都能匹配上才能使用此URSP规则;

路由选择描述符: 包括 (重要项, 非重要项此处未列出)

  • 优先级
  • 路由选择组件: (Route Selection Compont, UE在创建PDU Session时 必须符合下面的条件)
    • SSC模式 selection : UE发送的上行数据包 使用的 PDU Session 需支持此 SSC 模式
    • 网络切片selection : UE发送的上行数据包 使用的 PDU Session 需支持 此切片
    • DNN selection : UE发送的上行数据包 使用的 PDU Session 需支持 此 DNN
    • PDU Session Type selection : 类似上面
    • Non-Seamless Offload indication : 应用数据需卸载到 non-3GPP接入, 此组件 和 DNN/切片选择 互斥 !!!
    • Access Type Preference : 3GPP, non-3GPP, multi-access
    • Time Window : 一定的时间窗口内有效
    • Location Criteria : UE的位置能匹配上 时有效
  • 路由选择校验标准

UE中如何使用URSP路由数据

1个PDU会话可以有多条QoS Flow (max 64条);

不同的PDU会话的QFI可以相同, 但同一个会话的QFI不同;

取值范围: PDU会话(1-15), QFI(0-63)

URSP规则的匹配过程: 感觉像一个算法

  • UE新运行一个应用 -> 根据优先级执行URSP规则的匹配 -> : why 这样做 ? (TD 可以理解, 但RSD 没法被 应用 直接 判断吧 ??? )
  • 有匹配的 URSP规则, 根据其中的 "路由选择描述符(RSD)" 的优先级选择适合的 RSD;
  • UE比较 已建立的 PDU Session 是否能匹配上 上面选择的 RSD 中的组件, 匹配规则如下:
    • 比较 PDU会话的SSC 和 RSD的 SSC;
    • 比较 PDU会话的切片 和 RSD的 切片;
    • ...
  • 匹配结果分析
    • 如果UE新启动的应用 和 现存的一个PDU 会话 能够匹配: 把此应用的数据路由到这个 PDU 会话
    • 如果UE新启动的应用 和 现存的多个PDU 会话 能够匹配: UE根据自己的配置选择适合的PDU会话
    • 如果UE新启动的应用 和 现存的PDU 会话 都不能匹配: 使用 RSD 包含的参数请求 UE的 NAS层触发建立新的 PDU会话
      • 所以说, PDU会话建立时的参数不是凭空来的, 这 便是依据 !!!
      • 从 RSD 中可获得的参数有:
        • SSC 
        • 一个 S-NSSAI: 如果有的话
        • 一个 DNN: 如果有(并且 traffic des 中没有DNN时)
        • PDU session type
        • 优先的 Access Type  OR  multi-access
      • 如果PDU会话建立成功:
        • UE的NAS层 将建立的PDU会话信息 通知给 URSP层,
        • 将PDU addr 等信息通知给更高层
        • 停止为应用程序选择 RSD
      • 如果PDU会话建立失败
        • 采用 RSD 中的其他参数组合重新发起 PDU会话建立流程
        • 如果还失败, 则选择 低优先级的 RSD 再尝试
        • 如果还失败, 则使用能匹配 traffic des 的低优先级的 URSp规则中的组合值再建;

信令流程

ue策略更新有两种场景

  • 场景一: 初始注册过程中的触发
    • 触发条件: Register Req 中携带 UE Policy Container, 和注册流程一起执行。
  • 场景二: 触发器触发:
    • 触发条件: AMF执行 Npcf_UEPolicyControl_CreateReq 后会下发触发器, 后续UE如果满足触发器定义的条件时, 进行UE策略的更新

流程第一阶段: 触发

场景一的触发, 场景二的触发暂无

流程第二阶段: UE PolicyAssociation的建立

req 资源 url: {apiRoot}/npcf-ue-policy-control/v1/policies/

res: location: 创建的UE策略资源URI: {apiRoot}/npcf-ue-policy-control/v1/policies/{polAssoId}

注册: res 中含有 ue policy, 但是 !!! 这个绝对不会直接发给 AMF, 而是必须要经过 下一个阶段的流程 !!!

流程第三阶段: UE策略的下发

nas 角度: UE策略管理流程

 整体角度: UE策略的下发

 这是流程规定使用的 uri:

p1:

        req: {apiRoot}/namf-comm/<apiVersion>/ue-contexts/{ueContextId}/n1-n2-messages

        res: 200

p3: 使用 DL NAS TRANSPORT 消息

p4: 使用 UL NAS TRANSPORT 消息

p5: 

      req: 此处的 uri 为 PCF通过N1N2MessageSubscribe订阅AMF事件时提供的 N1NotifyCallBackUri .

      res: 204

注意: p1, p5 这是两条消息, 每条都有 req, res, 不是一条消息, 这个图只是为了简单明了才把 res 给省略了

eps.pcap 分析

 

这篇关于读南山耕夫笔记_一文弄懂5G UE策略的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/250206

相关文章

在JS中的设计模式的单例模式、策略模式、代理模式、原型模式浅讲

1. 单例模式(Singleton Pattern) 确保一个类只有一个实例,并提供一个全局访问点。 示例代码: class Singleton {constructor() {if (Singleton.instance) {return Singleton.instance;}Singleton.instance = this;this.data = [];}addData(value)

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

忽略某些文件 —— Git 学习笔记 05

忽略某些文件 忽略某些文件 通过.gitignore文件其他规则源如何选择规则源参考资料 对于某些文件,我们不希望把它们纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常它们都是些自动生成的文件,比如日志文件、编译过程中创建的临时文件等。 通过.gitignore文件 假设我们要忽略 lib.a 文件,那我们可以在 lib.a 所在目录下创建一个名为 .gi

取得 Git 仓库 —— Git 学习笔记 04

取得 Git 仓库 —— Git 学习笔记 04 我认为, Git 的学习分为两大块:一是工作区、索引、本地版本库之间的交互;二是本地版本库和远程版本库之间的交互。第一块是基础,第二块是难点。 下面,我们就围绕着第一部分内容来学习,先不考虑远程仓库,只考虑本地仓库。 怎样取得项目的 Git 仓库? 有两种取得 Git 项目仓库的方法。第一种是在本地创建一个新的仓库,第二种是把其他地方的某个