【5G 接口协议】N2接口协议NGAP(NG Application Protocol)介绍

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持!
博主链接

本人就职于国际知名终端厂商,负责modem芯片研发。
在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。


博客内容主要围绕:
       5G/6G协议讲解
       算力网络讲解(云计算,边缘计算,端计算)
       高级C语言讲解
       Rust语言讲解



文章目录

  • 一、N2接口协议NGAP(NG Application Protocol)介绍
  • 二、NGAP协议的服务类型
  • 三、NGAP流程的类型
    • 3.1 请求与应答流程
    • 3.2 无应答流程
    • 3.3 UE注册相关的NGAP信令流程
  • 四、总结
  • 参考协议

一、N2接口协议NGAP(NG Application Protocol)介绍

在这里插入图片描述

       在5G SA中,NG接口用于连接gNB和5G核心网,类似于4G LTE中用于连接eNB和EPC的S1接口。考虑到控制平面和用户平面的分离,规范将NG接口定义为NG-CNG-UNG-C用于gNB和AMF之间的信令传输,NG-U用于gNB和UPF之间的应用数据传输

请添加图片描述

       在gNB分离架构中,这些NG接口用于连接CU和5G核心网。NG-C将CU-CP连接到一个或多个AMF,而NG-U将CU-UP连接到一个或多个UPF。在参考点架构中,NG-C也称为N2,NG-U也称为N3,NG-C使用NGAP协议,NG-U使用GTP-U协议。在这篇文章中,我们将讨论NGAP协议。


二、NGAP协议的服务类型

NGAP上的信令提供以下两种类型的服务:

  • 非UE相关的服务:这些NGAP业务与gNB和AMF之间的N2接口实例有关,用于建立gNB和AMF之间的NGAP信令连接,处理一些过载情况,以及交换gNB和AMF的配置数据;
  • UE相关的服务:这些NGAP服务与UE相关,涉及与活跃UE的相关信令流程,例如注册、PDU会话建立、去注册等;

三、NGAP流程的类型

基本流程是gNB和AMF相互作用的序列,3GPP规范定义了两种基本流程:

  • 请求与应答流程:在这种类型的流程中,发起者从请求的接收者那里获得一个响应,指示请求是否被成功处理,或者是一个失败的响应;
  • 无应答流程:这些基本的程序不需要接收方的响应。例如,当AMF只想传输下行的NAS消息时,就会使用这些消息。在这种情况下,gNB不需要提供响应,因为错误处理是在NAS级别上处理的;

       一些基本流程只与非UE相关的服务有关,例如NG Setup Request/Response ,而其他过程只与UE相关的服务有关,例如PDU会话建立。甚至,根据作用域和上下文,有些基本流程可能使用非UE相关或UE相关的信令,例如,如果错误消息与接收UE相关的信令消息相关,则错误指示流程使用UE相关的信令,反之则使用非UE相关的信令。

3.1 请求与应答流程

请添加图片描述

3.2 无应答流程

请添加图片描述

3.3 UE注册相关的NGAP信令流程

请添加图片描述


四、总结

  • 协议名称NGAP由接口名称NG加上Application Protocol组成;
  • NGAP能够支持所有gNB和AMF之间的管理流程;
  • NGAP还支持透明传输UE和AMF之间的NAS消息;
  • NGAP没有任何版本协商,它通过一种机制支持协议的前向和后向兼容性,所有当前和未来的消息,以及相关的IEs或IEs组(包含ID和临界字段),都使用一个标准的编码格式且未来不会改变;
  • NGAP适用于3GPP接入和non-3GPP接入;
  • NGAP依赖于可靠的传输机制,运行在SCTP协议上;
  • NGAP和S1AP的关键区别是S1AP只能用于3GPP接入(E-UTRAN)而不能用于non-3GPP接入;
  • NGAP适用于3GPP TS 38.413规范中定义的任何接入。在需要时,协议中增加了对非3gpp访问相关的特定参数的支持;
  • N2接口是gNB和AMF之间的接口,用于管理NG的建立、重置、错误提示、负载均衡等功能;
  • NGAP支持初始UE上下文建立功能,用于在gNB上建立初始UE上下文;
  • NGAP在UE能力交换过程中向AMF提供UE能力信息;
  • NGAP也支持用户平面资源的PDU会话建立、修改和释放;
  • 通过NGAP发送Paging消息,提供在5GC内寻呼UE的功能;
  • NGAP允许跟踪活动的终端;
  • 支持终端位置报告和定位协议;
  • NGAP支持紧急服务下的警告消息传输;

参考协议

  • 3GPP TS 38.401 5G; NG-RAN; Architecture Description
  • 3GPP TS 38.413: 5G NG-RAN, NG Application Protocol (NGAP)
  • 3GPP TS 23.502 – 5G Procedures for the 5G System Release 1


在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/641061.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图神经网络X项目|基于图神经网络的电商行为的预测(5%)

文章目录 Jupyter Notebook 学习人工智能的好帮手数据集数据集下载数据集调用数据集应用技巧——获取不重复的编号数据集应用技巧——随机采样数据集应用技巧——抽取前N项进行模拟测试 数据集构建技巧一——查看数据集构建进度 Jupyter Notebook 学习人工智能的好帮手 【Jupy…

(delphi11最新学习资料) Object Pascal 学习笔记---第3章第一节(简单语句与复合语句)

Object Pascal 学习笔记,Delphi 11 编程语言的完整介绍 作者: Marco Cantu 笔记:豆豆爸 3.1 简单语句与复合语句 ​ 编程指令通常称为语句。一个程序块可以由多个语句组成。有两种类型的语句,简单语句和复合语句。当语句不包含任何其他子语…

【XR806开发板试用】系列之一 - Linux环境下Ubuntu完全开发流程

前言 为了让极术社区开发者体验搭载安谋科技STAR-MC1处理器的面向IoT领域的全志XR806开发板,极术社区联合全志在线开发者社区共同推出XR806开发板免费试用活动。 极术社区特准备了200块XR806开发板作为2022年社区新年活动,申请的人数有600多&#xff0c…

Tensorflow2.0笔记 - tensor的合并和分割

主要记录concat,stack,unstack和split相关操作的作用 import tensorflow as tf import numpy as nptf.__version__#concat对某个维度进行连接 #假设下面的tensor0和tensor1分别表示4个班级35名同学的8门成绩和两个班级35个同学8门成绩 tensor0 tf.ones([4,35,8]) tensor1 tf…

SPN的重要性 | 保障服务安全和身份验证

什么是 Service Principal Name(SPN)? SPN 是用于标识网络服务的唯一名称。在 Windows 中,SPN 与 Kerberos 认证一起使用。 SPN 是由两部分组成的: 服务类型(Service Class): 表示…

RK3399平台开发系列讲解(网络篇)什么是Linux路由

🚀返回专栏总目录 文章目录 一、什么是路由二、路由配置命令沉淀、分享、成长,让自己和他人都能有所收获!😄 一、什么是路由 一张路由表中会有多条路由规则。每一条规则至少包含这三项信息。 目的网络:这个包想去哪儿?出口设备:将包从哪个口扔出去?下一跳网关:下一个…

vscode显示函数列表插件 - AZ AL Dev Tools/AL Code Outline

官网: AZ AL Dev Tools/AL Code Outline - Visual Studio Marketplace 适用于 Visual Studio Code 的 AZ AL 开发工具/AL 代码大纲 此扩展最初被命名为“AL 代码大纲”,因为它最初是 AL 代码大纲面板,从中可以在 AL 语法节点上运行不同的代码…

js对象数组去重封装

1.简单的数组去重就使用常用的去重方式好了 可以看这里: js多种数组去重方法-CSDN博客 2. 下面是关于object的数组去重 // 普通数组和 Object数组去重 const list1 [1, 4, 45, 6, 3, 4, 5, 3, 2, 1, 3, 2]; const list2 ["sss", "sss", &q…

Angular:跨域请求携带 cookie

新建拦截器,设置 XMLHttpRequest:withCredentials 属性 1. 新建文件夹 http-interceptors 该文件夹下可有多个不同用途的拦截器2. 新建拦截器 common.interceptor.ts import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from "an…

Go语言实现新年快乐的效果

在 Go 语言中,你可以使用 fmt 包来实现新年快乐的效果。以下是一个简单的例子: package mainimport ("fmt""time" )func printNewYear() {fmt.Println("\033[31m新年快乐!\033[0m")fmt.Println("\033[32…

电脑 wifi 常断

问题 电脑wifi网络经常断。 详细问题 笔者使用笔记本电脑,发现每过三五分钟,wifi便会自动断开。 解决方案 步骤1、搜索框搜索设备管理器。 步骤2、找到网络适配器并点击。 步骤2、找到网络适配器菜单中的Wireless相关内容,右键&#x…

企业微信开发:客户端调试

开启客户端调试 按照下面官网的说明操作,就可以开启客户端调试了。 官网文档链接:企业微信开发者中心:常见问题 - FAQ - 客户端调试 进入调试模式 进入方式:Ctrl Alt Shift D 按快捷键 Ctrl Alt Shift D,进入…

(十)Head first design patterns组合模式(c++)

组合模式 组合模式在参考链接中已经讲得很好了,这里只简单讲讲就好。 组合模式的意图是表达部分-整体层次结构。 当你需要管理一个组合对象,又要管理这个组合对象的单个对象。这个时候就可以让这个组合对象和单个对象继承同一个基类,以便用…

Golang 通过开源库 go-redis 操作 NoSQL 缓存服务器

前置条件: 1、导入库: import ( "github.com/go-redis/redis/v8" ) 2、搭建哨兵模式集群 具体可以百度、谷歌搜索,网上现成配置教程太多了,不行还可以搜教程视频,跟着视频博主一步一个慢动作&#xff0…

《绝地求生大逃杀》怎么买衣服 Steam商店服装购买方法

《绝地求生大逃杀》怎么买衣服?游戏中好看的服装有不少,大家可能开箱并没开出来,想买却不知具体的入手途径,今天闲游盒带来《绝地求生大逃杀》怎么买衣服 Steam商店服装购买方法,希望对各位有帮助。 打开Steam&#xf…

Oracle中如何把整个表作为参数传递

当然可以!在Oracle中,你可以使用表类型的变量来传递表作为参数。首先,你需要创建一个表类型的变量,然后在存储过程或函数中声明这个变量。接下来,你可以将实际表的数据赋值给这个变量,并在存储过程或函数中…

JavaEE进阶(6)SpringBoot 配置文件(作用、格式、properties配置文件说明、yml配置文件说明、验证码案例)

接上次博客:JavaEE进阶(5)Spring IoC&DI:入门、IoC介绍、IoC详解(两种主要IoC容器实现、IoC和DI对对象的管理、Bean存储、方法注解 Bean)、DI详解:注入方式、总结-CSDN博客 目录 配置文件作用 Sprin…

技巧--75. 颜色分类/medium 理解度C

75. 颜色分类 1、题目2、题目分析3、复杂度最优解代码示例4、适用场景 1、题目 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。…

LeetCode刷题日记

LeetCode刷题日记 HashMap 第1题----两数之和 原题地址 [https://leetcode.cn/problems/two-sum/]: 解题思路: 将数组中每个元素通过两次遍历使两数之差target,最后由结果target得到对应数组下标。此时算法的时间复杂度为O(n^2)。故而放弃此方法。 由于…

Flink对接Kafka的topic数据消费offset设置参数

scan.startup.mode 是 Flink 中用于设置消费 Kafka topic 数据的起始 offset 的配置参数之一。 scan.startup.mode 可以设置为以下几种模式: earliest-offset:从最早的 offset 开始消费数据。latest-offset:从最新的 offset 开始消费数据。…