读南山耕夫笔记_一文弄懂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

相关文章

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

一文详解Java异常处理你都了解哪些知识

《一文详解Java异常处理你都了解哪些知识》:本文主要介绍Java异常处理的相关资料,包括异常的分类、捕获和处理异常的语法、常见的异常类型以及自定义异常的实现,文中通过代码介绍的非常详细,需要的朋... 目录前言一、什么是异常二、异常的分类2.1 受检异常2.2 非受检异常三、异常处理的语法3.1 try-

redis过期key的删除策略介绍

《redis过期key的删除策略介绍》:本文主要介绍redis过期key的删除策略,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录第一种策略:被动删除第二种策略:定期删除第三种策略:强制删除关于big key的清理UNLINK命令FLUSHALL/FLUSHDB命

一文带你搞懂Python中__init__.py到底是什么

《一文带你搞懂Python中__init__.py到底是什么》朋友们,今天我们来聊聊Python里一个低调却至关重要的文件——__init__.py,有些人可能听说过它是“包的标志”,也有人觉得它“没... 目录先搞懂 python 模块(module)Python 包(package)是啥?那么 __in

一文详解如何在Python中从字符串中提取部分内容

《一文详解如何在Python中从字符串中提取部分内容》:本文主要介绍如何在Python中从字符串中提取部分内容的相关资料,包括使用正则表达式、Pyparsing库、AST(抽象语法树)、字符串操作... 目录前言解决方案方法一:使用正则表达式方法二:使用 Pyparsing方法三:使用 AST方法四:使用字

电脑死机无反应怎么强制重启? 一文读懂方法及注意事项

《电脑死机无反应怎么强制重启?一文读懂方法及注意事项》在日常使用电脑的过程中,我们难免会遇到电脑无法正常启动的情况,本文将详细介绍几种常见的电脑强制开机方法,并探讨在强制开机后应注意的事项,以及如何... 在日常生活和工作中,我们经常会遇到电脑突然无反应的情况,这时候强制重启就成了解决问题的“救命稻草”。那

SpringRetry重试机制之@Retryable注解与重试策略详解

《SpringRetry重试机制之@Retryable注解与重试策略详解》本文将详细介绍SpringRetry的重试机制,特别是@Retryable注解的使用及各种重试策略的配置,帮助开发者构建更加健... 目录引言一、SpringRetry基础知识二、启用SpringRetry三、@Retryable注解

MySQL 分区与分库分表策略应用小结

《MySQL分区与分库分表策略应用小结》在大数据量、复杂查询和高并发的应用场景下,单一数据库往往难以满足性能和扩展性的要求,本文将详细介绍这两种策略的基本概念、实现方法及优缺点,并通过实际案例展示如... 目录mysql 分区与分库分表策略1. 数据库水平拆分的背景2. MySQL 分区策略2.1 分区概念

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

一文详解JavaScript中的fetch方法

《一文详解JavaScript中的fetch方法》fetch函数是一个用于在JavaScript中执行HTTP请求的现代API,它提供了一种更简洁、更强大的方式来处理网络请求,:本文主要介绍Jav... 目录前言什么是 fetch 方法基本语法简单的 GET 请求示例代码解释发送 POST 请求示例代码解释