5G无线接入网和接口协议
**部分笔记**
4.3无线协议架构
NR无线协议分为两个平面:用户面和控制面。
用户面(UP):协议栈及用户数据采用的协议
控制面(Control Plane,CP)协议栈即系统的控制信令传输采用的协议簇。

虚线标注的是信令数据的流向。一个UE在发起业务之前,首先要和核心网AMF建立信令连接,因此控制面的信令流程总是要先于用户面的数据流程。UE经过认证、授权和加密等非接入层信令处理后,通过RRC信令和gNB建立无线信令连接;信令数据经过PDCP封装、RLC封装,经过MAC层、PHY层处理后,通过Uu空中接口发送到gNB;gNB经过和一个UE相同的逆向处理过程后,发给NGAP;封装成SCTP信令后,通过NG-C接口发给AMF;AMF物理层接收到数据后,经过SCTP的解封装、NGAP解封装,转换为5G的非接入层信令被AMF处理。
什么是AMF??
在5G网络中,AMF代表的是Authentication Management Function(认证管理功能)。AMF是5G核心网络中的一个重要组成部分,负责处理用户设备的认证、安全策略和密钥管理等功能。
什么是UPF下沉???
UPF下沉指的是用户面平面(User Plane Function)的下沉。在5G网络中,为了更好地支持边缘计算和提供低延迟的服务,可以将部分用户面功能下沉到接近用户或设备的边缘位置。
这种下沉可以通过在边缘位置部署用户面功能来实现,以便更快地处理数据并降低数据传输的延迟。这种方式有助于改善对于实时应用和服务的支持,例如增强型移动宽带、车联网和工业自动化等场景。
UPF的下沉使得数据能够更加直接地从用户设备到达网络中的服务点,而无需经过远程的核心网络节点。这种架构可以显著减少数据传输的延迟,并且更好地支持需要快速响应的应用和服务。
SCTP和NGAP是什么???
SCTP(Stream Control Transmission Protocol)是一种面向消息的传输控制协议,通常用于在IP网络上提供可靠的、有序的数据传输。SCTP具有多条流的特性,可以同时处理多个消息流,适用于需要高可靠性和传输顺序保证的应用场景,比如电话信令和传感器数据传输等。
NGAP(Next Generation Application Protocol)是指5G核心网中的下一代应用层协议。它主要用于EPC(Evolved Packet Core)到5G核心网之间的通信,支持新的5G服务和功能。NGAP承载着控制面的信令消息,用于支持不同的5G核心网功能,包括移动性管理、会话管理以及用户面和控制面分离等。
用户面协议架构

SDAP PDCP RLC MAC PHY分别是什么?
· SDAP层:(Service Data Adaptation Protocol),服务数据适配协议层;因为5G沿用4G网络的无线承载的概念,但是相比于4G网络而言,5G网络更加精细化业务
· PDCP层:(Packet Data Convergence Protocol),分组数据汇聚协议层;
· RLC层:(Radio Link Control),无线链路控制层;
· MAC层:(Medium Access Control),介质访问控制层;
· PHY层:(Physical),物理层。
控制面协议栈

NR控制面协议几乎与LTE协议栈一模一样,从上到下依次为:
· NAS层:Non-Access Stratum,非接入层;
· RRC层:Radio Resource Control,无线资源控制层;
· PDCP层:Packet Data Convergence Protocol,分组数据汇聚协议层;
· RLC层:Radio Link Control,无线链路控制层;
· MAC层:Medium Access Control,介质访问控制层;
· PHY层:Physical,物理层。
UE所有的协议栈都位于UE内,而在网络侧,NAS层不位于基站gNB上,而是在核心网的AMF实体上。控制面协议栈不包含SDAP层
4.4无线接入架构中的几个典型的流程

流程说明如下:
(1) UE向源gNB-DU发送测量报告消息。
(2) 源gNB-DU向gNB-CU发送上行链路RRC传输消息以传达所接收的测量报告。
(3) gNB-CU向目标gNB-DU发送UE上下文建立请求消息以创建UE上下文并设置一个或多个承载。
(4) 目标gNB-DU利用UE上下文建立响应消息来响应gNB-CU。
(5) gNB-CU向源gNB-DU发送UE上下文修改请求消息,包括生成的RRCConnection Reconfiguration(RRC连接重配)消息,并指示停止UE的数据传输。源gNB-DU还发送下行链路数据传递状态帧(消息)以向gNB-CU通知UE未成功传输的下行链路数据。
(6) 源gNB-DU将接收到的RRCConnectionReconfiguration消息转发给UE。
(7) 源gNB-DU利用UE上下文修改响应消息来响应gNB-CU。
(8) 在目标gNB-DU处执行随机接入过程。目标gNB-DU发送下行链路数据传递状态帧(消息)以通知gNB-CU。那些未在源gNB-DU中成功发送的PDCP PDU的下行链路分组数据从gNB-CU发送到目标gNB-DU;在接收下行链路数据传递状态之前或之后,开始向目标gNB-DU发送DL用户数据取决于gNB-CU实现。
(9) UE利用RRCConnectionReconfigurationComplete(RRC连接重配完成)消息来响应目标gNB-DU。
(10) 目标gNB-DU向gNB-CU发送上行链路RRC传输消息以传达所接收的RRCConnectionReconfigurationComplete消息。下行链路分组被发送到UE。此外,从UE发送上行链路分组并通过目标gNB-DU转发到gNB-CU。
(11) gNB-CU向源gNB-DU发送UE上下文释放命令消息。
(12) 源NB-DU释放UE上下文并且用UE上下文释放完成消息来响应gNB-CU。
3.在F1-U上设置承载上下文流程
由于gNB引入了F1接口,因此gNB业务的基础是通过F1-U接口在gNB-CU-UP中建立承载上下文,这样就可以在gNB-CU-UP和gNB-DU之间发起上下行数据传送的过程,如图所示。

流程说明如下:
(1) 在gB-CU-CP中触发承载上下文设置(例如,在来自MeNB(LTE基站为锚定基站或者主基站)的SgNB(gNB为辅基站)添加请求之后)。
(2) gNB-CU-CP发送包含用于S1-U或NG-U的UL TNL地址信息的承载上下文建立请求消息,并且如果需要,发送用于X2-U或Xn-U的DL或UL TNL地址信息以在gNB-CU-UP中建立承载上下文。对于NG-RAN,gNB-CU-CP决定流到DRB的映射,并将生成的SDAP和PDCP 配置发送到NB-CU-UP。
(3) gNB-CU-UP以Bearer Context Setup Response (承载上下文建立响应)消息响应,该消息包含F1-U的UL TNL地址信息,以及S1-U或NG-U的DL TNL地址信息,如果需要,还包含DL或TNL地址信息。
(4) 为在gNB-DU中设置一个或多个承载,执行F1 UE上下文设置过程。
(5) gNB-CU-CP发送包含用于F1-U和PDCP状态的DL TNL地址信息的Bearer Context Modification Request(承载上下文修改请求)消息。
(6) gNB-CU-UP以Bearer Context Modification Response(承载上下文修改响应)消息响应。
4.gNB-CU-CP发起的承载上下文释放流程
当gNB结束业务时,需要释放gNB-CU-CP发起的gNB-CU-UP中的承载上下文,以结束gNB-CU-UP和gNB-DU之间上下行数据传送的过程,如图所示。

流程说明如下:
(1) 在gNB-CU-CP中触发承载上下文释放(例如在来自MeNB的SgNB释放请求之后)。
(2) gNB-CU-CP向gNB-CU-UP 发送Bearer Context Modification Request(承载上下文修改请求)消息。
(3) gNB-CU-UP以承载PDCPUL/DL状态的承载上下文修改响应进行响应。
(4) 执行F1 UE上下文修改过程以停止UE的数据传输。在停止UE调度时由gNB-DU实现(注意:仅当需要保留承载的PDCP状态,例如在承载类型改变时才执行步骤(2)~(4)。
(5) gNB-CU-CP可以在EN-DC操作中从MeNB接收UE Context Release(UE上下文释放)消息。
(6) 执行承载上下文释放过程。
(7) 执行F1-UE上下文释放过程以释放gNB-DU中的UE上下文。
(8) gNB-CU-UP释放承载上下文。
5.涉及gNB-CU-UP改变的gNB间切换流程
当UE从一个gNB移动到另外一个gNB下时,就会发生gNB间切换。这种情况下,gNB的CU和DU都发生了切换

流程说明如下:
(1) 源gNB-CU-CP向目标gNB-CU-CP发送Xn Handover Request(Xn口切换请求)消息。
(2) 目标gNB-CU-CP向目标gNB-CU-UP发送承载上下文建立请求消息。
(3) 目标gNB-CU-UP向目标gNB-CU-CP回复响应消息。
(4) 承载上下文设置过程。
(5) 目标gNB-QU-CP用Xn Handover Request Acknowledge(Xn口切换请求确认)消息来响应源 gNB-CU-CP。
(6) 执行F1 UE上下文修改过程以停止gNB-DU处的UL数据传输,并将切换命令发送到UE。
(7)-(8) 执行承载上下文修改过程(gNB-CU-CP发起),以使gNB-CU-CP能够检索UL/DL状态并交换承载的数据转发信息。
(9) 源gNB-CU-CP向目标gNB-CU-CP发送SN状态转移消息。
(10)-(11) 承载上下文修改过程。
(12) 从源gNB-CU-UP到目标gNB-CU-UP执行数据转发。
(13)-(15) 执行路径切换过程以将NG-U的DL TNL地址信息更新为核心网络。
(16) 目标gNB-CU-CP向源gNB-CU-CP发送UE上下文释放消息。
(17) 源gNB-CU-CP向源gNB-CU-UP发送承载上下文释放命令消息。
(18) 执行F1 UE上下文释放过程。
(19) 源gNB-CU-UP向源gNB-CU-CP发送承载上下文释放完成消息。
相关文章:
5G无线接入网和接口协议
**部分笔记** 4.3无线协议架构 NR无线协议分为两个平面:用户面和控制面。 用户面(UP):协议栈及用户数据采用的协议 控制面(Control Plane,CP)协议栈即系统的控制信令传输采用的协议簇。 虚线标注的是信令数据的流向。一个UE在…...
【力扣刷题日记】1173.即时食物配送I
前言 练习sql语句,所有题目来自于力扣(https://leetcode.cn/problemset/database/)的免费数据库练习题。 今日题目: 1173.即时食物配送I 表:Delivery 列名类型delivery_idintcustomer_idintorder_datedatecustomer…...
2024年github之node排行榜top50
如果有帮助到您还请动动手帮忙点赞,关注,评论转发,感谢啦!💕💕💕😘😘😘 本文由Butterfly一键发布工具发布 2024年github之node排行榜top50 语言star项目名称…...
当我们在地址栏输入URL的时候浏览器发生了什么
URL 解析 是否合法 首先判断你输入的是一个合法的 URL 还是一个待搜索的关键词,并且根据你输入的内容进行自动完成、字符编码等操作。检查http缓存 DNS 查询 浏览器缓存 -> 操作系统缓存 -> 路由器缓存 -> DNS缓存 -> 根域名服务器查询 TCP 连接 …...
【研发日记】Matlab/Simulink开箱报告(十一)——Requirements Toolbox
目录 前言 Requirements Toolbox 编写需求 需求联接设计 需求跟踪开发进度 追溯性矩阵 分析和应用 总结 前言 见《开箱报告,Simulink Toolbox库模块使用指南(六)——S-Fuction模块(TLC)》 见《开箱报告&#x…...
Elastic 8.13:Elastic AI 助手中 Amazon Bedrock 的正式发布 (GA) 用于可观测性
作者:来自 Elastic Brian Bergholm 今天,我们很高兴地宣布 Elastic 8.13 的正式发布。 有什么新特性? 8.13 版本的三个最重要的组件包括 Elastic AI 助手中 Amazon Bedrock 支持的正式发布 (general availability - GA),新的向量…...
MFC 截取对话框生成图片、截取整个屏幕(可取黑白反色或者整体图片取反色)
HWND hwnd ::GetDesktopWindow();//截整个屏幕,用从这往下4句HDC hdc ::GetDC(hwnd);CDC dc;dc.Attach(hdc);CRect rc,rcw;GetWindowRect(&rcw);GetClientRect(&rc);//只截对话框,用这句//rc.SetRect(0, 0, GetSystemMetrics(SM_CXSCREEN), Ge…...
【LeetCode: 331. 验证二叉树的前序序列化 + DFS】
🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…...
【Consul】Linux安装Consul保姆级教程
【Consul】Linux安装Consul保姆级教程 大家好 我是寸铁👊 总结了一篇【Consul】Linux安装Consul保姆级教程✨ 喜欢的小伙伴可以点点关注 💝 前言 今天要把编写的go程序放到linux上进行测试Consul服务注册与发现,那怎么样才能实现这一过程&am…...
pytorch常用的模块函数汇总(1)
目录 torch:核心库,包含张量操作、数学函数等基本功能 torch.nn:神经网络模块,包括各种层、损失函数和优化器等 torch.optim:优化算法模块,提供了各种优化器,如随机梯度下降 (SGD)、Adam、RMS…...
素数的计数律:Π函数、歪斜数
相当多的数字! 一、说明 自从人类开始掌握最起码的算术概念以来,有一类数字一直处于最前沿——素数。素数定义简单,但难以捕捉,众所周知,素数是数学中一些最困难问题的罪魁祸首,让几代最优秀的数学家感到…...
图像识别在农业领域的应用
图像识别技术在农业领域的应用正在逐渐成熟,它通过分析处理拍摄的植物或农田的图像,为农业生产提供决策支持。以下是图像识别在农业中的一些关键应用: 病虫害检测:图像识别技术能够识别作物上的病斑、虫害或异常状况。通过比较高…...
【JavaSE】java刷题--数组练习
前言 本篇讲解了一些数组相关题目(主要以代码的形式呈现),主要目的在于巩固数组相关知识。 上一篇 数组 讲解了一维数组和二维数组的基础知识~ 欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎…...
预处理、编译、汇编、链接过程
预处理、编译、汇编、链接过程 预处理 引入头文件 #include 展开宏定义 #define 处理条件编译指令 #ifdef 删除注释 添加行号 在Linux下可以使用gcc -E命令把hello.c文件预处理成hello.i文件。windows这些操作都集成在编译器visual studio这些里面了。 编译 进行语法分…...
3、Cocos Creator 节点和组件
目录 1、 节点和组件 2、 节点层级和显示顺序 3、坐标系和节点变换属性 坐标系 锚点 旋转 缩放 尺寸 4、 常用技巧 5、参考 1、 节点和组件 Cocos Creator 的工作流程是以组件式开发为核心的,组件式架构也称作 组件 — 实体系统(或 Entity-C…...
【js刷题:数据结构数组篇之长度最小的子数组】
长度最小的子数组 一、题目二、方法1.暴力解法2.滑动窗口是什么滑动窗口的起始位置滑动窗口的结束位置代码展示 3.力扣刷题水果成篮题目思路代码 一、题目 给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组&…...
大话设计模式之装饰模式
装饰模式(Decorator Pattern)是一种结构型设计模式,它允许向现有对象动态地添加新功能,同时又不改变其结构。装饰模式通过将对象放入包装器中来实现,在包装器中可以动态地添加功能。 在装饰模式中,通常会有…...
国赛大纲解读
1. 第一部分,是针对5G基础知识的掌握,第二部分是人工智能基本算法的掌握,就是人工智能的应用,用5G+人工智能(AI算法)进行网络优化的问题,要有网络优化的基础知识,比如说:某个区域的覆盖问题,覆盖特别差,但有数据,覆盖电频,srp值这些数据给你,根据数据来判断是…...
设计模式(5):原型模式
一.原型模式 通过 n e w 产生一个对象需要非常繁琐的数据准备或访问权限,则可以使用原型模式。 \color{red}{通过new产生一个对象需要非常繁琐的数据准备或访问权限,则可以使用原型模式。} 通过new产生一个对象需要非常繁琐的数据准备或访问权限…...
【React】vite + react 项目,进行配置 eslint
安装与配置 eslint 1 安装 eslint babel/eslint-parser2 初始化配置 eslint3 安装 vite-plugin-eslint4 配置 vite.config.js 文件5 修改 eslint 默认配置 1 安装 eslint babel/eslint-parser npm i -D eslint babel/eslint-parser2 初始化配置 eslint npx eslint --init相关…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...
现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...
2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...
MySQL 部分重点知识篇
一、数据库对象 1. 主键 定义 :主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 :确保数据的完整性,便于数据的查询和管理。 示例 :在学生信息表中,学号可以作为主键ÿ…...
