【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…

【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…

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

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

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…

电脑 wifi 常断

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

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

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

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

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

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

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

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

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

thinkphp5实战之phpstudy v8环境搭建,解决Not Found找不到路径问题

引言 thinkphp以快速、简约的大道至简的思想广受欢迎,适合开发小型项目。本地环境下,phpstudy v8是一款比较优秀的集成环境软件。部署完项目后,访问的时候傻眼,报错。 解决方案 不要慌,这个是伪静态的原因。选择apach…

在 wsl-ubuntu 里通过 docker 启动 gpu-jupyter

在 wsl-ubuntu 里通过 docker 启动 gpu-jupyter 0. 背景1. 安装 docker-ce2. 安装 NVIDIA Container Toolkit3. 使用 nvidia-ctk 命令配置容器运行4. 通过 docker 运行 nvidia-smi5. 运行 gpu-jupyter6. 访问 gpu-jupyter7. 测试 gpu-jupyter 是否可以访问 cuda 0. 背景 今天突…

i18n多国语言Internationalization的动态实现

一、数据动态的更新 在上一篇i18n多国语言Internationalization的实现-CSDN博客,可能会遇到一个问题,我们在进行英文或中文切换时,并没有办法对当前的数据进行动态的更新。指的是什么意思呢?当前app.js当中一个组件内容&#xff…

Go语言学习笔记:基础语法和类型

Go语言学习笔记:基础语法和类型 目录 Go语言学习笔记:基础语法和类型学习路线前言变量声明常量数据类型布尔型(Boolean)整型(Integer)浮点型(Floating point)复数型(Comp…

LeetCode.2765. 最长交替子数组

题目 2765. 最长交替子数组 分析 为了得到数组 nums 中的最长交替子数组的长度,需要分别计算以每个下标结尾的最长交替子数组的长度。为了方便处理,计算过程中需要考虑长度等于 1 的最长交替子数组,再返回结果时判断最长交替子数组的长度…

【代码整理】COCO格式数据集画框

可以用于排查数据集转化后可能出现的坐标错误,类别不对齐等需要可视化才能发现的问题 import部分 from pycocotools.coco import COCO import numpy as np import os from PIL import Image from matplotlib.collections import PatchCollection from matplotlib.…

详细分析Java中的Date类以及格式转换

目录 前言1. 基本知识2. 格式化输出3. 格式转换 前言 记录这篇文章的缘由,主要是涉及一个格式转换,对此深挖了这个类 在Java中,Date类是用于表示日期和时间的类。 位于java.util包中,是Java平台中处理日期和时间的基本类之一。…

路由器结构

路由器是连接互联网的设备,本文主要描述路由器的结构组成。 如上所示,OSI(Open System Interconnect)开放系统互联参考模型是互联网架构的标准协议栈,由ISO标准组织制定。自底向上,互联网架构分为7层&#…

服务器与Ajax

1.初识Ajax Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。 术语ajax最早产生于2005年,Ajax表示Asynchronous JavaScript and XML(异步JavaScript和XML),但是它不是像HTML、JavaScript或CSS这样的一种“正式的”技…

Docker镜像操作

镜像名称 镜名称一般分两部分组成:[repository]:[tag]。 在没有指定tag时,默认是latest,代表最新版本的镜像。 这里的mysql就是repository,5.7就是tag,合一起就是镜像名称,代表5.7版本的MySQL镜像。 镜像…