【3GPP】【核心网】【5G】5G核心网协议解析(二)(超详细)

2024-03-05 14:12

本文主要是介绍【3GPP】【核心网】【5G】5G核心网协议解析(二)(超详细),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

5G UE 附着过程

UE                                                                                                 AMF

----------------- 注册请求(Registration Request) ---------------------->

<--------------- 鉴权请求(Authentication Request) ------------------->

----------------- 鉴权响应(Authentication Response) -------------->

<----------------- 安全模式命令(Security mode command) -------------

----------------- 安全模式完成(SecurityModeComplete) ---------------->

NG RAN node AMF

<------------ 上下文初始化请求(InitialContextSetupRequest) -----------

------------- 上下文初始化响应(InitialContextSetupRespense) ---------->

<----- PDU会话建立请求(PDUSessionResourceSectupRequest) -------

------- PDU会话建立响应(PDUSessionResourceSectupResponse) ----->

InitialUEMessage消息:

注册请求(Registration Request): RRC连接建立后,终端向网络(核心网,即AMF)发送注册请求报文,向5G网络注册。此消息包含重要信息,如终端的安全凭据和终端的网络能力。

    1. item0:id-RAN-UE-NGAP-ID     #NG-RAN node给UE分配的id

      1. 此ID是gNB分配给UE的。UE和核心网之间映射的ID叫AMF_UE_NGAP_ID,是AMF用于区分UE的ID。AMF通过DOWNLINK_NAS_TRANSPORT发送给基站。AMF将使用“RAN UE NGAP ID”来寻址gNB上的UE上下文

    2. item1:id-NAS-PDU  

      1. UE发给核心网的NAS消息,基站透传

      2. message       type:registration request

        1. 5GS        registration type

        2. NAS key set        indentifier

        3. 5GMM mobile        identity

        4. UE security        capability

        5. 注册请求(Registration Request): RRC连接建立后,终端向网络(核心网,即AMF)发送注册请求报文,向5G网络注册。此消息包含重要信息,如终端的安全凭据和终端的网络能力。

    3. item2:id-UserLocationInformation      #基站地理位置信息
      1. MCC:移动国家代码  MNC:移动网络代码,结合来识别唯一的移动网络运营商

      2. NR       CGI:NR小区全球标识。TAI: 用来标识跟踪区域。追踪手机位置用。

      3. item3:id-RRCEstablishmentCause

        1. RRC建立原因,可用于在网络高负载情况下优先处理来自终端的连接建立请求

      4. item4:id-UEContextRequest #UE给基站发送的上下文连接的请求

        1. 上下文建立请求

    4. DownlinkNASTransport消息 , Authentication request 鉴权请求

认证过程:为了保证通信安全,网络会发起一个认证过程。AMF为UE生成一个身份验证挑战,其中包括一个随机数和一个预期的身份验证响应。UE根据挑战及其安全凭证计算身份验证响应,并将其发送回AMF。如果响应与期望值匹配,则验证成功。

  1. item0:id-AMF-UE-NGAP-ID #AMF给UE分配的ID

  2. item1:id-RAN-UE-NGAP-ID #基站给UE分配的ID

  3. item2:id-NAS-PDU #AMF发给UE的NAS消息,基站透传

      1. message       type : authentication request

      2. NAS key set       identifier

      3. ABBA

      4. Authentication       Parameter RAND

      5. Authentication       Parameter AUTN

UplinkNASTransport消息, Authentication response 鉴权回应

  1. item0:id-AMF-UE-NGAP-ID

  2. item1:id-RAN-UE-NGAP-ID

  3. item2:id-NAS-PDU

    1. message type : authentication response

    2. Authentication response parameter 身份验证响应参数

  4. item3:id-UserLocationInformation

DownlinkNASTransport消息, Security mode command

认证通过后,终端与网络建立安全密钥,保证通信安全。AMF向终端发送安全模式命令,指定用于加密和完整性保护的安全算法。终端以“安全模式完成”消息确认该命令

包含完整性保护算法和加密算法,用来激活AS安全

UE收到消息后动作:

推演K~gNB~密钥和K~RRCint~密钥验证此信息的完整性保护

利用完整性保护算法和K~RRCint~密钥验证此消息的完整性保护

通过完整性保护检查后

对SRB通过算法** 进行完整性保护 ,对后续UE接收和发送的消息, 包括SecurityModeComplete **,进行完整性保护应用

对SRB进行** 加密 ,对后续UE接收和发送的消息, 除了SecurityModeComplete **,进行加密

向基站 ** 发送SecurityModeComplete **消息

      1. item0:id-AMF-UE-NGAP-ID

      2. item1:id-RAN-UE-NGAP-ID

      3. item2:id-NAS-PDU

        1. 安全保护的NAS消息

        2. 一般的NAS消息

          1. message type:security mode command

            1. NAS security algorithms 指定安全算法

            2. UE          security capability

            3. IMEISV          request

            4. Additional          5G security information

    • SecurityModeComplete消息

    • 表明初始安全激活成功

UplinkNASTransport消息,

      1. item0:id-AMF-UE-NGAP-ID

      2. item1:id-RAN-UE-NGAP-ID

      3. item2:id-NAS-PDU

        1. 安全保护的NAS消息

        2. 加密的数据

    1. item3:id-UserLocationInformation

InitialContextSetupRequest

  

UE上下文,也就是UE CONTEXT,是用户的业务档案。

UE CONTEXT在用户进入ECM_IDLE状态时在核心网中创建,以S-TMSI为索引,包含用户信息以及终端和承载的信息。

在收到 INITIAL CONTEXT SETUP REQUEST 时,NG-RAN node 应:

      1. item0:id-AMF-UE-NGAP-ID

      2. item1:id-RAN-UE-NGAP-ID

      3. item2:id-GUAMI

        1. 由AMF给UE分配的标识,其目的是5G系统中提供UE的明确标识,不会泄露UE或用户的永久身份,并允许用于识别AMF和网络,可以使用它在5GS中网络和UE之间的信令期间建立UE的身份

      4. item3:id-AllowedNSSAI

        1. 5G/NR        网络切片信息

        1. 由服务PLMN提供的NSSAI,指示UE在当前注册区域的服务PLMN中可以使用的S-NSSAI值。“允许的NSSAI”最多由8个S-NSSAI组成,并与PLMN和接入类型(3GPP或非3GPP)相关联。

      5. item4:id-UESecurityCapabilities

        1. 定义了终端支持的加密算法、完整性保护算法、

      6. item5:id-SecurityKey

        1. 创建的安全秘钥

      7. item6:id-MobilityRestrictionList

        1. 终端应存储接收到的服务区域限制

      8. item7:id-MaskedIMEISV

        1. UE的掩国际移动设备标识软版号

      9. item8:id-NAS-PDU

        1. 安全保护的NAS消息

        2. 加密的数据

    • 尝试执行请求的 PDU 会话配置;

    • 将接收到的 UE 聚合最大比特率存储在 UE      上下文中,并将接收到的 UE 聚合最大比特率用于相关 UE 的 Non-GBR QoS flow

    • 将收到的 Mobility      Restriction List、UE Radio Capability、UE Security Capabilities、Security Key 存到 UE context 中;

InitialContextSetupRespense

  1. item0:id-AMF-UE-NGAP-ID

  2. item1:id-RAN-UE-NGAP-ID

UplinkNASTransport消息,

  1. item0:id-AMF-UE-NGAP-ID

  2. item1:id-RAN-UE-NGAP-ID

  3. item2:id-NAS-PDU

    1. 安全保护的NAS消息

    2. 加密的数据

  4. item3:id-UserLocationInformation

PDUSessionResourceSectupRequest

  1. item0:id-AMF-UE-NGAP-ID

  2. item1:id-RAN-UE-NGAP-ID

  3. item2:id-PDUSessionResourceSectupListSUReq

    1. PDUSessionID

    2. PDUSessionNAS-PDU

      1. 安全保护的NAS消息

      2. 加密的数据

    3. s-NSSAI

    4. PDUSessionResourceSetupReqeestTransfer

      1. id-UL-NGU-UP-TNLInformation

      2. id-PDUSessionType

      3. id-QosFlowSetupRequestList

PDUSessionResourceSectupResponse

      1. item0:id-AMF-UE-NGAP-ID

      2. item1:id-RAN-UE-NGAP-ID

      3. item2:id-PDUSessionResourceSectupListSURes

        1. PDUSessionID

        2. PDUSessionResourceSetupReqeestTransfer

    1. 该消息的主要作用是给UE分配ID地址,以及将核心网的一些配置告知给UE,所以在日常工作中,通过PDU Session的建立,可以获取到5GC的一些配置。

PDU会话概念

5G网络将终端和外部网络之间建立的通路,称为一个 PDU Session(会话)

一个PDU会话是指一个用户终端UE与数据网络DN之间进行通讯的过程。PDU会话建立后,也就是建立了一条UE和DN的数据传输通道。PDU会话的类似于2/3G的PDP上下文、4G的承载上下文。

其中,PDU会话信息包括号码、IMSI、IMEI、PDU会话ID、会话类型(IPv4、IPv6、IPv4v6、Ethenet、Unstructured)、 上下行速率、计费ID、漫游状态信息、UE的IP信息、PCF信息、Qos信息、隧道信息、目的地地址、SMF标识、切片信息(如果支持)、默认DRB信息、数据网名、AMF信息、用户位置信息、会话管理信息、UPF ID、在线计费标识、离线计费标识等相关信息。

外壳中的SA初始连接顺序

初始连接是当你打开手机电源时发生的过程。以下是在这个阶段发生的程序。

小区搜索和同步:UE(用户设备)搜索附近的小区,并获取同步信号(PSS和SSS)以与gNB(gNodeB)定时同步。

RRC连接建立:建立无线电资源的过程。

网络注册:向AMF提出的向5G网络注册的注册请求。

身份验证:UE和网络之间的身份验证。网络认证UE和UE认证网络

安全设置:UE和网络为安全通信建立安全密钥。这分为两个阶段。NAS安全性和RRC安全性

网络接受:AMF向UE发送注册接受消息,确认注册成功,并提供配置信息,如UE的5G-GUTI(全球唯一临时标识符)。

RRC重新配置:网络基于各种UE能力为注册的UE重新配置RRC。

PDU会话建立:建立数据管道的过程。UE启动该过程,网络对该请求作出响应并建立数据管道。

PDU Session Establishment 会话建立流程

与 4G 主要区别是 5GC 中没有 EPS 承载的概念,取而代之的是缺省 Qos Flow

PDU 会话建立可以是终端开机时伴随注册一起触发,也可 UE 在访问具体业务(点击 APP)单独触发

会话管理过程:

AMF和SMF之间进行交互,以建立和终止设备的会话。

AMF通知SMF设备的接入和认证状态,并请求会话的建立或终止。

SMF与UPF进行通信,请求用户面资源的分配或释放。

UPF根据SMF的指示,分配或释放相应的用户面资源。

用户数据传输过程:

当设备需要发送数据时,数据被分割为小的数据包,并通过UPF传输。

UPF根据设备的会话信息和用户面策略,对数据包进行转发和处理。

UPF将数据包传输到目标设备或服务器。

目标设备或服务器接收到数据包后进行处理,可能包括解密、存储、响应等操作。

一. UE 请求的 PDU 会话建立

通过 PDU 会话建立请求中的 request type 参数区分

1. PDU Session Establishment Request UE->AMF

被 UE 发送的 NAS 消息包裹在 AN 的 N2 消息,发送到 AMF 的消息应该包含用户位置信息和接入类型信息

2. SMF Selection

AMF 根据切片信息,DNN 等为 PDU 会话选择 SMF

3. Nsmf_PDUSession_CreateSMContext Request AMF->SMF

如果 AMF 没有 UE 提供的与 SMF 关联的 PDU 会话 ID(例如请求类型为 “initial request”),将调用 Nsmf_PDUSession_CreateSMContext

4. Subscription retrieval / Subscription for updates

如果对应的 SUPI DNN S-NSSAI 的 HPLMN 会话管理订阅的数据不可用,然后 SMF 使用 Nudm_SDM_Get 检索会话管理订阅数据

5. Nsmf_PDUSession_CreateSMContext Response SMF->AMF

6. PDU Session authentication/authorization 可选的

7a. PCF selection

7b. SM Policy Association Establishment / SMF initiated SM Policy Association Modification

SMF 执行一个 SM Policy Association 建立流程

8. UPF selection

8.1 SMF 提供可用的 UPF

8.2 为特定 PDU 会话选择一个 UPF

9. SMF initiated SM Policy Association Modification

SMF 可执行一个 SMF 发起的 SM Policy Association 修改流程

如果请求类型是 "initial request",SMF 发起一个 N4 会话建立流程,否则发起一个 N4 会话修改流程

10a. N4 Session Establishment/Modification Request

10b. N4 Session Establishment/Modification Response

UPF 确认发送一个 N4 会话建立修改响应。

11. Namf_Communication_N1N2MessageTransfer SMF->AMF

12. N2 PDU Session Request(NAS msg) AMF->(R)RAN

13. AN-Specific resource setup(R)AN->UE

14. N2 PDU Session Response (R)AN->AMF

15. Nsmf_PDUSession_UpdateSMContext Request AMF->SMF

16a. N4 Session Modification Request SMF->UPF

16b. N4 Session Modification Response UPF->SMF

UPF 传输任何下行包到 UE

16c. Registration

17. Nsmf_PDUSession_UpdateSMContext Response SMF->AMF

SMF 从 AMF 订阅 UE 移动性事件通知

18. [Conditional] Nsmf_PDUSession_SMContextStatusNotify (Release) SMF to AMF

如果 PDU 会话建立没有成功,SMF 通知 AMF 调用 Nsmf_PDUSession_SMContextStatusNotify 进行释放,SMF 也释放创建的 N4 会话,分配的 PDU 会话地址,与 PCF 释放关联

文链接:https://blog.csdn.net/zhonglinzhang/article/details/106860394

19. IPv6 Address Configuration SMF->UE

在 PDU 会话类型是 IPv4 或者 IPv4v6 的场景,SMF 生成一个 IPv6 路由并发送给 UE,

20. SMF 发起 SM Policy Association Modification

如果 UE 指明了支持 “transferring Port Management Information Containers”,SMF 通知 PCF 一个管理的以太网端口被探测到,

21. UnSubscription​​​​​​​

这篇关于【3GPP】【核心网】【5G】5G核心网协议解析(二)(超详细)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java中Redisson 的原理深度解析

《Java中Redisson的原理深度解析》Redisson是一个高性能的Redis客户端,它通过将Redis数据结构映射为Java对象和分布式对象,实现了在Java应用中方便地使用Redis,本文... 目录前言一、核心设计理念二、核心架构与通信层1. 基于 Netty 的异步非阻塞通信2. 编解码器三、

Java HashMap的底层实现原理深度解析

《JavaHashMap的底层实现原理深度解析》HashMap基于数组+链表+红黑树结构,通过哈希算法和扩容机制优化性能,负载因子与树化阈值平衡效率,是Java开发必备的高效数据结构,本文给大家介绍... 目录一、概述:HashMap的宏观结构二、核心数据结构解析1. 数组(桶数组)2. 链表节点(Node

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

一文解析C#中的StringSplitOptions枚举

《一文解析C#中的StringSplitOptions枚举》StringSplitOptions是C#中的一个枚举类型,用于控制string.Split()方法分割字符串时的行为,核心作用是处理分割后... 目录C#的StringSplitOptions枚举1.StringSplitOptions枚举的常用

Python函数作用域与闭包举例深度解析

《Python函数作用域与闭包举例深度解析》Python函数的作用域规则和闭包是编程中的关键概念,它们决定了变量的访问和生命周期,:本文主要介绍Python函数作用域与闭包的相关资料,文中通过代码... 目录1. 基础作用域访问示例1:访问全局变量示例2:访问外层函数变量2. 闭包基础示例3:简单闭包示例4

MyBatis延迟加载与多级缓存全解析

《MyBatis延迟加载与多级缓存全解析》文章介绍MyBatis的延迟加载与多级缓存机制,延迟加载按需加载关联数据提升性能,一级缓存会话级默认开启,二级缓存工厂级支持跨会话共享,增删改操作会清空对应缓... 目录MyBATis延迟加载策略一对多示例一对多示例MyBatis框架的缓存一级缓存二级缓存MyBat

前端缓存策略的自解方案全解析

《前端缓存策略的自解方案全解析》缓存从来都是前端的一个痛点,很多前端搞不清楚缓存到底是何物,:本文主要介绍前端缓存的自解方案,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、为什么“清缓存”成了技术圈的梗二、先给缓存“把个脉”:浏览器到底缓存了谁?三、设计思路:把“发版”做成“自愈”四、代码

Java集合之Iterator迭代器实现代码解析

《Java集合之Iterator迭代器实现代码解析》迭代器Iterator是Java集合框架中的一个核心接口,位于java.util包下,它定义了一种标准的元素访问机制,为各种集合类型提供了一种统一的... 目录一、什么是Iterator二、Iterator的核心方法三、基本使用示例四、Iterator的工

Python中isinstance()函数原理解释及详细用法示例

《Python中isinstance()函数原理解释及详细用法示例》isinstance()是Python内置的一个非常有用的函数,用于检查一个对象是否属于指定的类型或类型元组中的某一个类型,它是Py... 目录python中isinstance()函数原理解释及详细用法指南一、isinstance()函数

Python的pandas库基础知识超详细教程

《Python的pandas库基础知识超详细教程》Pandas是Python数据处理核心库,提供Series和DataFrame结构,支持CSV/Excel/SQL等数据源导入及清洗、合并、统计等功能... 目录一、配置环境二、序列和数据表2.1 初始化2.2  获取数值2.3 获取索引2.4 索引取内容2