5G技术详解:带AMF重选的注册流程(Step 5a-7a)

2023-11-02

相关文章会在公众号同步更新。公众号:5G通信大家学

持续更新的相关5G内容都是直接根据3GPP整理,保证更新内容的准确性,避免通过二手,甚至多手的资料,以讹传讹误导网友。

在介绍完流程详解后,会整理专题内容,比如切片、服务发现、QoS流端到端的映射等内容,各位同学不仅可以纵向学习知识点,横向也会将知识关联起来,达到深入理解灵活运用的目的。

目录

1.2.4.6a Nnrf_NFDiscovery_Request

1.2.4.6b Nnrf_NFDiscovery_Request Response

1.2.4.7a(A) Namf_Communication_N1MessageNotify


1.2.4.6a Nnrf_NFDiscovery_Request

我们先看该步骤的触发条件。从第4b步骤中,初始AMF通过查询NSSF已经可以得到候选目标AMF列表(candidateAmfList)或者目标AMFSet(targetAmfSet)。

如果初始AMF得到的是目标AMF的列表,AMF根据本地配置选择一个目标AMF,如果本地保存有目标AMF的信息,如IP地址,就不需要查询NRF了。如果没有目标AMF的信息或者NSSF返回的是AMF Set就需要查询NRF,获得目标AMF的NF Profile,其中包含目标AMF的信息。

初始AMF查询NRF的服务发现流程如下图:

请求消息的HTTP方法为:GET

请求的资源URI:{apiRoot}/nnrf-disc/v1/nf-instances

GET请求的消息体为空,但是GET的查询参数非常丰富,3GPP中一共有8页之多,基本所有的网络名词都可以作为查询参数,具体详见TS29.510,这里就不细说了。

在AMF重选的注册流程中,可以使用NFInstanceID,及AMF Set ID、NF类型(AMF)作为查询参数,查询目标AMF。

1.2.4.6b Nnrf_NFDiscovery_Request Response

服务发现的查询结果如下图:

如果查询正常,匹配到了查询参数中的内容,则返回200 OK响应,响应消息体为:SearchResult。如果没有找到,会携带相应的错误原因。

SearchResult的内容就是NF在NRF中注册时的NF Profile、查询结果有效期等。详见下图:

重点信息介绍:

- validityPeriod

查询结果的有效期。比如初始AMF查询完NRF后,查询结果在多长时间内有效,计时单位为:秒。需要注意的是,该值和HTTP响应消息头部“Cache-Control”中的“max-age”的值相同。

- nfInstances

查询结果的NF实例,即:NF的NF Profile,里面包含NF的基本信息,比如IP地址、提供的服务等信息。初始AMF据此就可以找到目标AMF的IP地址。

需要注意的是该字段信息也可以为空,表示没有NF实例匹配上查询参数。在本例中就是没有找到合适的目标AMF。此时根据设备的实现方式,初始AMF可能会直接拒绝UE的注册,也可能就会用第7步的(B)方法,将注册消息转发给基站,由基站根据Allowed NSSAI等信息决定将注册消息路由到哪个AMF。如果再次收到消息​的​AMF发现是重路由的​UE注册消息,本AMF还是不能支持,一定是要拒绝掉UE的注册请求的,不可能让注册消息在gNB和AMF之间踢皮球。这属于设备实现方面的问题。3GPP规范里,目前还没有读到相关的处理规则。但是基站一定不会直接拆掉RRC连接,放弃UE注册。因为即使拆掉了RRC连接,按照规范UE还是要重新建立RRC连接进行注册,会继续浪费网络资源。

- searchId

如果返回消息中,包含searchId,在查询结果的有效期内,AMF可以使用该searchId查询。完整的查询即:{apiRoot}/nnrf-disc/v1/searches/{searchId}。

除正常的200 OK成功相应,其它错误响应有:307 Temporary Redirect、400 Bad Request、403 Forbidden、404 Not Found、500 Internal Server Error。

需要注意的是404 Not Found的意义并不是没有找到匹配的NF实例,而是代表查询的URI找不到,或者在分层部署NRF时,本地NRF缺少信息将请求转发或重定向到其它NRF时返回该错误码。

初始AMF收到NRF的返回信息,根据收到的候选AMF的能力信息、本地策略等选择一个合适的目标AMF。

如果初始AMF和UE之间已经建立的安全连接,也就是说网络对UE进行了鉴权,启动了NAS安全。根据1.1.2.9.4章节的叙述,此时UE和AMF之间的ngKSI指向的NAS Security Context是一致的,这样才能保证UE和AMF之间的NAS消息互相能够加密和完整性校验通过,那么,这种场景下为了避免注册失败,初始AMF会将注册NAS消息直接转发到目标AMF,也就是通过1.2.4.7a步骤的Namf_Communication_N1MessageNotify消息。

为什么直接转发可以避免注册失败呢?接着看后面的详解。

1.2.4.7a(A) Namf_Communication_N1MessageNotify

这条消息我们在1.1.2.21.6.2章节介绍UE策略时介绍了一部分内容。这里介绍该消息AMF间消息传递的功能。

7a(A)和7a(B)两个步骤是转发NAS消息的两种方法,不会同时出现。在实际应用中具体使用方法A还是方法B,取决于AMF本地配置的策略和签约信息。签约信息怎么理解呢?比如多个运营商基站共建,但是核心网独自建设,此时初始AMF就要根据用户的签约把消息转发到UE归属运营商的网络。至于AMF本地配置的策略本章节后面会具体介绍。

我们面临的第一个问题是n1NotifyCallbackUri从哪里来?UE策略下发时使用的Callback Uri是PCF订阅AMF事件时生成的,而这里new AMF和初始AMF素未谋面,根本谈不到订阅关系,那么这个URI从哪里得到呢?

在重选AMF流程中,n1NotifyCallbackUri是从NRF返回给初始AMF的NF Profile中得到的。NF Profile中包含defaultNotificationSubscriptions字段,该字段类型为DefaultNotificationSubscription,从其数据类型定义中可以看到callbackUri。Registration Request的传递就是通过调用该URI进行的。详见下图:

其中:

- notificationType

该值为"N1_MESSAGES"取值时,用于N1消息的传递。

- callbackUri

初始AMF通知目标AMF时使用的Call URI地址。

- n1MessageClass

当notificationType取值为"N1_MESSAGES"时需要包含该IE,并且该消息的取值为5GMM。

上面Callback Uri的问题解决了,下面看一下消息体N1MessageNotification的内容。详见下图:

从上图可以看出来,消息体数据类型中的n1MessageContainer就包含有初始NAS消息。n1MessageContainer中n1MessageClass的取值为“5GMM”,表示n1MessageContent的内容就是5GMM NAS消息Registration Request。

Namf_Communication_N1MessageNotify Request消息除了把Registration Request消息带过去了,还带有其它信息:

(1)RAN NGAP ID和初始AMF的名字。 AMF的名字是字符串类型,用于在gNB中识别AMF。在这里用于让gNB识别N2终结点;

(2)RAN标识,如:RAN Node Id、RAN N2 IPv4/v6地址;

(3)gNB之前发送给初始AMF的信息,如:UE的位置信息、RRC Establishment Cause、UE Context Request等,这些信息从Initial UE Message消息中都可以得到,详见1.1.2.3章节介绍。UE Context Request用于在注册请求被AMF接受后,向gNB发送Initial Context Setup Request消息,初始化gNB中的UE Context;

(4)UE的SUPI及UE的MM Context(移动性管理相关的数据)。这部分数据通过鉴权流程可以得到;

(5)UE的Allowed NSSAI及其对应的NSI ID。初始AMF已经和UDM、NSSF交互过,Allowed NSSAI已经可以确定了。

上述的五条信息都包含在N1MessageNotification数据类型中的registrationCtxtContainer字段中,该字段完整的数据类型定义如下图:

在上面这张registrationCtxtContainer数据定义图中,需要重点关注的就是ueContext,它里面包含的内容很多,其中MmContext作用很大,其中包含有初始AMF和UE协商好的加密和完整性保护算法、上行和下行的NasCount等信息,用于执行消息的安全保护。

响应消息

Namf_Communication_N1MessageNotify Request的响应消息比较简单,如果目标AMF成功接受请求消息,直接返回:204 No Content。其它响应消息信息如下图:

从上面的叙述能够看出来,初始AMF使用N1MessageNotify消息把UE当前的安全上下文信息传递给了目标AMF。根据TS 23.502的规定:如果UE和初始AMF之间已经建立了安全上下文,为了避免用户注册失败,初始AMF需要通过7aA)步骤直接转发NAS消息(即:Registration Request消息)给目标AMF

这句话怎么理解呢?如果初始AMF收到Registration Request消息,找到了old AMF,并且old AMF成功对注册消息进行了完整性校验,此时,初始AMF得到了注册UE的UE Context。初始AMF根据UE Context就可以判断不能为UE服务,就需要访问NSSF寻找目标AMF。这样就不能算是UE和初始AMF建立了安全上下文。因为对注册请求的解密和完整性验证都在old AMF中执行的,初始AMF只是起了消息传递的作用,而且如果初始AMF不能为UE服务,还需要通知old AMF继续保持UE Context,等待该UE的真主出现。初始AMF也不会保存UE Context。

UE和初始AMF建立安全上下文的意思就是说,初始AMF执行了AUSF参与的鉴权流程,详见1.1.2.9.1章节介绍。此时UE和AMF协商了加密和完整性保护算法,UE和初始AMF间启动了NAS消息的安全保护功能。

当然,这中间还会面临一个能不能直接转发的问题。比如北京和河北的AMF可能根本都不允许直接互访。不过目前国内某运营商的网络互访貌似还没有问题。这都是根据具体的网络部署情况决定的,也属于本地策略的范畴。像刚才这个例子,同一个基站现实中也不可能同时连接北京和河北的AMF。现网应用的场景远比我们技术探讨时遇见的场景简单,基本不会出模糊或者罕见的场景。3GPP规范里一般的原则就是:是否是同一个AMF Set,同一个AMF Set内要允许互访。实际应用中一般用AMF Set来区分是否是同一个AMF POOL,也就是AMF POOL内的各个AMF要允许互访。

如果初始AMF不能为UE服务,通过gNB将注册消息转发给目标AMF,就是NAS消息重路由的(B)方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

5G技术详解:带AMF重选的注册流程(Step 5a-7a) 的相关文章

随机推荐

  • 数字预失真技术基本原理

    功率放大器在通信系统中是一个及其重要的组件 其主要功能是将调制后的频带信号进行功率放大 使其满足发送端天线发射所需要的发射功率需求 并保证系统接收端可以采集到功率较大的信号 满足通信信道所要求的功率需求 而随着射频功率放大器发射功率的不断提
  • React - Mobx [learning......]

    import observer from mobx react Mobx安装 learning
  • 字符串中找出连续最长的数字串

    1 题目描述 读入一个字符串str 输出字符串str中的连续最长的数字串 2 输入输出示例 给一个输入abc123nj5nk88990wze这里面最长的数字串是88990 并将其输出 3 思路分析 1 首先输入是一个字符串 我们在处理的时候
  • How to Parse XML in C++

    hyperlink
  • 百度地图定位

    1 审请key 2 看demo 注意 定册定位Serveice 不同的demo使用时不一样 因为jar包不同
  • xml 模块(了解)

    本文来自 https www cnblogs com yang1333 articles 12609714 html 3177870913 1 XML文档模板
  • 蓝桥杯真题:寻找2020

    原题里边其实是一个300 300的序列 读进来之后对每一个点作为起点判断一遍四种情况就好了 代码如下所示 include
  • 缓存那些事

    前言 一般而言 现在互联网应用 网站或App 的整体流程 可以概括如图1所示 用户请求从界面 浏览器或App界面 到网络转发 应用服务再到存储 数据库或文件系统 然后返回到界面呈现内容 随着互联网的普及 内容信息越来越复杂 用户数和访问量越
  • 联想计算机游戏本,2021十大游戏本排行(最佳游戏笔记本电脑推荐)

    第五名 HP 惠普 傲慢Omen X 推荐理由 惠普的轻薄办公笔记本做得非常出色 在美国 消费者报告 中获得了非常高的评价 其机型占了CR推荐中的1 5左右 其游戏本也不遑多让 旗下的Omen X 暗影精灵系列口碑都相当不错 Omen 17
  • ARCore之路:HelloAR项目例子分析

    项目效果 通过相机扫描环境中的平面 它会生成上图中的白色网格 可通过点击白色网格来生成三维模型 下图是项目中的节点 下面将从挑选一些节点来分析 其中 Environmental Light 节点是灯光 EventSystem节点是控制输入输
  • wandb在pytorch lightning中的使用

    文章目录 使用前提 使用解析 初始化 模型超参数保存 记录其他配置参数 记录梯度 参数直方图和模型拓扑 记录metric 记录metric的最小值 最大值 记录图像 文本等 记录图像 记录文本 记录表格数据 在多GPU的情况下使用pytor
  • Unity Hub无法登陆的两种终极解决办法

    最近换了个电脑 需要重装Unity 然后unity hub 怎么都无法登陆 登陆不了就不能激活personal license 试了很多次 包括unity hub 2 5 8 和unity hub 3 3都不行 真的是很崩溃 因为是公司的电
  • X86cpu运行的什么格式代码? ELF还是Bin ?

    ELF文件是一种格式 我们使用gcc编译出来的 o文件 和链接后生成的 out文件一般都是ELF格式的文件 Bin文件一般指的是连接器ld b binary链接出来的或者用objcopy b抽出来的文件 ELF和Bin文件都是二进制文件 b
  • 关系型数据库-MySQL:连接数据库

    连接数据库常用选项 h 指定服务器地址 u 指定登录用户名 P 指定服务端口号 S 指定套接字路径 D 指定要登录的数据库 C 数据压缩传输 e 非交互式执行sql语句 E 查询结果纵向显示 等同于mysql提示符下的 G 1 交互式登录本
  • python为什么要创建虚拟环境

    最近在学习新的知识 需要用到tensorflow 我在网上寻找安装教程 遇到了很多疑问 大部分的教程都说需要开启虚拟幻境 我不理解为什么需要虚拟环境 后来慢慢理解 原来在不同的项目中 需要使用到不同版本的python解释器之类的 不能每次都
  • spark集群启动后WorkerUI界面看不到Workers解决

    前话 我有三台机分别是 192 168 238 129 master 192 168 238 130 slave2 192 168 238 131 slave1 spark 版本是2 0 2 hosts文件已经配置上面参数 最近在搭spar
  • 好的vue框架-模板

    最近发现一个好的vue模板 1 访问地址 Vue Element Adminhttps panjiachen github io vue element admin dashboard 2 github地址 GitHub PanJiaChe
  • MYSQL索引的使用

    1 索引类型 索引可以提升查询速度 会影响where查询 以及order by排序 MySQL索引类型如下 从索引存储结构划分 B Tree索引 Hash索引 FULLTEXT全文索引 R Tree索引 从应用层次划分 普通索引 唯一索引
  • 【2021-03-20】【Mybatis】Mybatis 判断字符串非空和空串 报错, Encountered “ <IDENT> “AND ““ at line 1

    Mybatis Mybatis 判断字符串非空和空串 报错 Encountered AND at line 1 1 Mybatis xml 代码 2 console 控制台报错 org mybatis spring MyBatisSyste
  • 5G技术详解:带AMF重选的注册流程(Step 5a-7a)

    相关文章会在公众号同步更新 公众号 5G通信大家学 持续更新的相关5G内容都是直接根据3GPP整理 保证更新内容的准确性 避免通过二手 甚至多手的资料 以讹传讹误导网友 在介绍完流程详解后 会整理专题内容 比如切片 服务发现 QoS流端到端