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

相关文章

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤

SpringBoot中4种数据水平分片策略

《SpringBoot中4种数据水平分片策略》数据水平分片作为一种水平扩展策略,通过将数据分散到多个物理节点上,有效解决了存储容量和性能瓶颈问题,下面小编就来和大家分享4种数据分片策略吧... 目录一、前言二、哈希分片2.1 原理2.2 SpringBoot实现2.3 优缺点分析2.4 适用场景三、范围分片

一文详解Java Stream的sorted自定义排序

《一文详解JavaStream的sorted自定义排序》Javastream中的sorted方法是用于对流中的元素进行排序的方法,它可以接受一个comparator参数,用于指定排序规则,sorte... 目录一、sorted 操作的基础原理二、自定义排序的实现方式1. Comparator 接口的 Lam

一文深入详解Python的secrets模块

《一文深入详解Python的secrets模块》在构建涉及用户身份认证、权限管理、加密通信等系统时,开发者最不能忽视的一个问题就是“安全性”,Python在3.6版本中引入了专门面向安全用途的secr... 目录引言一、背景与动机:为什么需要 secrets 模块?二、secrets 模块的核心功能1. 基

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

一文全面详解Python变量作用域

《一文全面详解Python变量作用域》变量作用域是Python中非常重要的概念,它决定了在哪里可以访问变量,下面我将用通俗易懂的方式,结合代码示例和图表,带你全面了解Python变量作用域,需要的朋友... 目录一、什么是变量作用域?二、python的四种作用域作用域查找顺序图示三、各作用域详解1. 局部作

Redis过期删除机制与内存淘汰策略的解析指南

《Redis过期删除机制与内存淘汰策略的解析指南》在使用Redis构建缓存系统时,很多开发者只设置了EXPIRE但却忽略了背后Redis的过期删除机制与内存淘汰策略,下面小编就来和大家详细介绍一下... 目录1、简述2、Redis http://www.chinasem.cn的过期删除策略(Key Expir

一文彻底搞懂Java 中的 SPI 是什么

《一文彻底搞懂Java中的SPI是什么》:本文主要介绍Java中的SPI是什么,本篇文章将通过经典题目、实战解析和面试官视角,帮助你从容应对“SPI”相关问题,赢得技术面试的加分项,需要的朋... 目录一、面试主题概述二、高频面试题汇总三、重点题目详解✅ 面试题1:Java 的 SPI 是什么?如何实现一个

利用Python实现时间序列动量策略

《利用Python实现时间序列动量策略》时间序列动量策略作为量化交易领域中最为持久且被深入研究的策略类型之一,其核心理念相对简明:对于显示上升趋势的资产建立多头头寸,对于呈现下降趋势的资产建立空头头寸... 目录引言传统策略面临的风险管理挑战波动率调整机制:实现风险标准化策略实施的技术细节波动率调整的战略价