【5G 接口协议】CU与DU之间的F1协议介绍

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

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


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



文章目录

  • 一、CU与DU之间的F1协议介绍
  • 二、F1接口的功能
    • 2.1 控制面功能
      • 2.1.1 `F1 Setup`
      • 2.1.2 `Reset`
      • 2.1.3 `Error Indication`
      • 2.1.4 `gNB-DU Configuration Update`
      • 2.1.5 `gNB-CU Configuration Update`
      • 2.1.6 `gNB-DU Resource Coordination`
      • 2.1.7 `gNB-DU Status Indication`
      • 2.1.8 `Initial UL RRC Message Transfer`
      • 2.1.9 `DL RRC Message Transfer`
      • 2.1.10 `UL RRC Message Transfer`
      • 2.1.11 `UE Context Setup`
      • 2.1.12 `UE Context Modification`
      • 2.1.13 `UE Context Release`
      • 2.1.14 `UE Inactivity Notification`
      • 2.1.15 `Notify`
      • 2.1.16 `System Information Delivery`
      • 2.1.17 `Write-Replace Warning`
      • 2.1.18 `Paging`
    • 2.2 用户面功能
      • 2.2.1 `PDU Type 0`
      • 2.2.2 `PDU Type 1`
  • 三、总结
  • 参考

一、CU与DU之间的F1协议介绍

       gNB CU与gNB DU通过F1接口连接,F1又分为控制面(F1-C)和用户面(F1-U),其中F1-C用于传输信令,而F1-U用于数据传输。下图说明了属于F1接口的CP和UP协议栈。控制面使用SCTP协议,而用户面使用GTP-U协议。

请添加图片描述

二、F1接口的功能

F1接口执行下面的管理操作:

请添加图片描述

2.1 控制面功能

2.1.1 F1 Setup

       F1 Setup流程用于在CU-CP和DU之间创建一条逻辑F1连接。在启动F1 Setup之前,必须在CU-CP和DU之间建立一个SCTP连接。DU通过发送一个F1 Setup Request消息来启动这个过程,而CU-CP通过返回一个F1 Setup Response来完成这个过程。F1 Setup Request用于告知CU-CP DU的身份和DU支持的小区集合。F1 Setup Response用于指示哪些DU小区应该被激活。

2.1.2 Reset

       Reset过程可以由CU-CP发起,也可以由DU发起。它用于重置所有F1AP UE上下文,或F1AP UE上下文的一个特定子集。当CU-CP发起Reset流程时,DU释放F1接口的所有相关资源和所有相关无线资源。当DU发起复位时,CU-CP释放F1接口的所有相关资源。该过程使用Reset/Reset确认握手。它不会导致F1接口本身重置。

2.1.3 Error Indication

       该过程可以由CU-CP或DU发起。它用于报告在传入的F1 AP消息中检测到错误。当相关信令流程中的错误消息无法上报时可以使用Error Indication

2.1.4 gNB-DU Configuration Update

       DU使用此消息向CU-CP更新关于其支持的小区集信息。gNB-DU配置更新消息允许添加新小区、修改或删除现有的小区。CU-CP使用GNB-DU Configuration Update Acknowledge消息确认更新。

2.1.5 gNB-CU Configuration Update

       CU使用此消息向DU更新关于激活或去激活的小区集信息。当激活一个小区时,CU能够指定激活小区的PCI。CU通过GNB-CU Configuration Update消息启动该过程,而DU通过GNB-CU Configuration Update Acknowledge消息确认更新。

2.1.6 gNB-DU Resource Coordination

       适用于gNB和NG-eNB共享重叠覆盖区域的频谱。F1AP过程用作对应的XnAP过程的一部分,即F1AP过程用于在CU和DU之间转发XnAP消息。F1AP: GNB-DU Resource Coordination Request消息用于封装XnAP: E-UTRA – NR Cell Resource Coordination Request消息。类似地,F1AP响应封装了XnAP响应。DU是这个过程的目标,而不是CU,因为它会影响位于DU内部的分组调度器。

2.1.7 gNB-DU Status Indication

       DU可以通过gNB-DU Status Indication消息上报CU是否过载。gNB-DU Status Indication消息只包含一个标志,表示DU是否过载。

2.1.8 Initial UL RRC Message Transfer

       用于将初始的上行RRC消息从DU转发到CU-CP。此初始上行消息属于CCCH,例如RRC Setup Request消息。该过程还用于向CU-CP通知由DU分配的C-RNTI,并向CU-CP提供CellGroupConfig参数结构,其中包括有关新连接的RLC、MAC和物理层配置的信息。此外,该过程用于发起建立跨F1接口的UE相关连接。这是通过向CU-CP提供gNB-DU UE F1AP Identity来实现的,该标识可用于在任何后续消息传输期间寻址与UE相关的连接。CU-CP在第一个DL RRC消息传输中提供相应的gNB-CU UE F1AP Identity

2.1.9 DL RRC Message Transfer

       用于从CU-CP向DU传输下行RRC消息。CU-CP生成RRC消息,并在PDCP层中处理。然后它们作为PDCP PDU被传输到DU。DL RRC Message Transfer消息可以包含一个标志,指示DU应用SRB重复功能。重复传输通过使用多个载波传输相同的RRC消息来提高可靠性。此外,DL RRC Message Transfer消息可以包括RAT频率优先信息,当传输RRC消息时用于DU内的优先级决策。

2.1.10 UL RRC Message Transfer

       用于从DU向CU-CP传输上行RRC消息。DU接收来自UE的RRC消息,并在物理层、MAC层和RLC层进行处理,然后传输到CU-CP。

2.1.11 UE Context Setup

       F1AP UE Context Setup流程包括UE Context Setup RequestUE Context Setup Response。该过程总是由CU-CP发起。在初始连接建立的情况下,在AMF的NG-C:Initial UE Context Setup Request之后,F1AP:UE Context Setup Request消息。通过F1AP的UE Context Setup Request消息可以配置一组SRB和一组DRB。DU为每个DRB提供上行GTP-U TEID,允许上行用户平面数据向CU传输。F1AP的UE Context Setup Response消息详细说明了对应的下行GTP-U TEID。UE上下文设置过程也可以在进入切换过程中使用,即在目标DU创建一个新的UE上下文。在决定切换后,即从UE收到RRC Measurement Report后,CU立即向目标DU请求新的UE上下文。

2.1.12 UE Context Modification

       CU-CP通过修改终端上下文流程更新初始化终端上下文设置时提供的配置。它也可以用来指示DU停止或重新开始向UE传输。UE Context Modification Request消息可用于封装RRC消息,DU随后将该消息发送给UE。当DU从CU发送的UE Context Modification Request消息中收到RRC重配置信息,其会向终端转发这条RRC重配置信息。DU使用UE Context Modification Required流程更新下行GTP-U TEID集合。它还可以指定释放特定SRB和DRB的要求。此外,当gNB和NG-eNB共享重叠覆盖的频谱时,它可以提供关于其小区的更新信息,并指定更新资源协调信息的需求。

2.1.13 UE Context Release

       CU-CP可以通过UE Context Release流程释放已存在的UE上下文。DU可以向CU发送UE Context Release Request消息来请求CU发起该过程,并且发送该消息对应于该UE上下文释放请求过程。

2.1.14 UE Inactivity Notification

       通过此操作,DU可以上报终端的非活动状态。DU会指示每个DRB的“活跃”或“不活跃”。

2.1.15 Notify

       当特定的DRB不再满足GFBR时,Notify过程允许DU通知CU-CP。这适用于启用Notification Control的GBR QoS流。如果随后又满足GFBR要求,DU也能够去通知CU。

2.1.16 System Information Delivery

       这个过程允许CU-CP向DU提供Other System Information(OSI)类型的列表,以便在特定的小区上广播。OSI包括SIB2到SIB9。系统信息传递过程可以通过终端请求广播其他系统信息来触发。

2.1.17 Write-Replace Warning

       这个过程允许CU发起或覆盖警告消息广播。这些信息适用于公共警报系统(PWS)。该过程使用CU-CP和DU之间的Write-Replace Warning RequestWrite-Replace Warning ResponseWrite-Replace Warning Request消息包含了需要广播的PWS系统信息。CU-CP可以使用PWS取消流程指示DU停止广播PWS系统信息。DU使用PWS重启指示程序向CU提供一个有可用PWS信息的小区列表。DU使用PWS故障指示流程向CU提供PWS传输失败的小区列表。

2.1.18 Paging

       CU-CP在请求DU寻呼特定终端时使用paging流程。paging消息包含UE标识索引,可用于计算目标UE的寻呼帧。寻呼消息可以包括RAN UE Paging Identity (I-RNTI)或Core Network UE Paging Identity (S-TMSI)。当使用RRC Inactive状态时,I-RNTI被分配给UE。DU还提供了寻呼DRX周期长度、寻呼优先级和传输寻呼消息的小区列表。

2.2 用户面功能

       F1-U的用户平面用于在CU-UP和DU之间传输应用层数据。每个DRB建立一个隧道,并使用TEID来识别每个隧道。运行在GTP-U层之上的用户面协议提供了与下行数据传输相关的各种控制机制,这些控制机制包括流量控制、丢包检测和成功递交报告。用户面协议使用的帧格式称为PDU Type 0,由CU发送,PDU Type 1由DU发送。

请添加图片描述

2.2.1 PDU Type 0

       CU-UP使用PDU Type 0为每个下行数据包添加一个序列号。DU使用这个序列号来检测丢失的数据包。CU-CP也可以使用POU类型来提供各种丢弃指令。如果DU报告无线链路中断,那么CU-UP可能尝试使用第二个DU从PDCP层重新传输。如果第二个DU上报PDCP PDU递交成功,则CU-UP通知原DU丢弃已成功递交的报文,以避免不必要的传输。
请添加图片描述

2.2.2 PDU Type 1

       DU使用PDU Type 1来报告任何丢失的数据包,并控制CU发送下行数据的速率,即它提供了一种流量控制机制,以避免DU内部的缓冲区变得太满。DU会指示成功递交的最高PDCP PDU序列号、期望的缓冲区级别和期望的数据速率。期望的数据速率指定为DU希望在1秒的时间间隔内接收的字节数。CU使用这些信息元素来确定发送给DU的数据量。DU也可以使用PDU Type 1来表示无线电链路中断或无线电链路恢复。

请添加图片描述

三、总结

  • F1接口是一个开放接口,F1两端的接口可以是不同的设备商;
  • 3GPP TS 38.470介绍了F1、3GPP TS 38.473介绍了F1AP、3GPP TS 38.425介绍了F1- U;
  • F1接口支持节点之间的信令和数据交换;
  • 从逻辑角度来看,F1是端点之间的点对点接口,这意味着即使端点之间没有物理直接连接,点对点逻辑接口也应该是可行的;
  • F1接口支持控制平面和用户平面分离;
  • F1接口分离了无线网络层和传输网络层;
  • F1接口可以交换终端相关的信息和非终端相关的信息;

参考

  • 3GPP TS 38.470 5G NG-RAN F1 general aspects and principles
  • 3GPP TS 38.473 5G NG-RAN; F1 Application Protocol (F1AP)
  • 3GPP TS 38.425 5G NG-RAN; NR user plane protocol


在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何使用 Python 本地客户端操作读写云服务器 Redis 缓存数据库详细教程(更新中)

Redis 基本概述 Redis(Remote Dictionary Server)是一个开源的使用 ANSI C 语言编写的、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。它通常被称为数据结构服务器,因为值(value…

【Leetcode】2810. 故障键盘

文章目录 题目思路代码复杂度分析时间复杂度空间复杂度 结果总结 题目 题目链接🔗 你的笔记本键盘存在故障,每当你在上面输入字符 ′ i ′ i ′i′ 时,它会反转你所写的字符串。而输入其他字符则可以正常工作。 给你一个下标从 0 0 0 开始…

.sdf和.msp文件读取

前言 .sdf和.msp文件都可以用来存储分子信息,.sdf文件可以用rdkit读取,.msp文件就只能当成文本文档读取了。 读取 rdkit安装 pip install rdkit .sdf读取 from rdkit import Chemsuppl_h Chem.SDMolSupplier(../data/HMDB/f_hmdb.sdf) # 得到一个迭…

【字节跳动笔试题汇总】 2024-03-31-字节跳动春招笔试题-三语言题解(CPP/Python/Java)

🍭 大家好这里是KK爱Coding ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新字节跳动近期的春秋招笔试题汇总~ 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢&…

基于Python的口罩佩戴识别的设计与实现(UI界面+MySQL数据库+YOLOv5+训练数据集+开题报告+中期检查+论文)

本文旨在基于Python开发一种口罩佩戴识别系统,通过深度学习技术实现对口罩佩戴情况的准确检测。采用了YOLOv5系列目标检测算法作为基础模型,并结合迁移学习进行训练和优化。同时,为了提供更好的用户体验,本系统还设计了用户登录注…

“315晚会”中的“网络水军”是什么?

水军一词,源自网络用语,通常指的是一群在网络上被雇佣来进行特定活动的人群。他们的主要任务通常是在各种社交媒体平台、论坛或者评论区发表大量的帖子、评论或者回复,以此来达到某种特定的目的。这些目的可能包括提升某个产品、服务或者个人…

【机器学习300问】58、什么是词袋模型和N-gram模型?

词袋模型(Bag of Words, BoW)和N-gram模型主要用于早期的自然语言处理任务,上文中我介绍了机器是如何读懂文本的四个阶段,这篇文章带大家来看看在不同阶段中会用到的两个模型——词袋模型和N-gram模型。如果没有读过我之前的文章&…

纯小白蓝桥杯备赛笔记--DAY9(搜索)

文章目录 三道例题学会DFS剪枝什么是剪枝数字王国之军训排队--2942特殊的三角形--3008特殊的多边形--3075 DFS基础回溯简介回溯法模版例题N皇后--1508小朋友崇拜圈--182全球变暖--178 记忆化搜索简介斐波那契数列混境之地5-3820地宫取宝-216 三道例题学会DFS剪枝 什么是剪枝 …

云计算迎变局:阿里云、腾讯云“各有千秋”

毋庸置疑,无论在什么时候什么行业,低价策略都是一柄利器。比如,在电商行业,除了拼多多将低价策略贯彻到底之外,淘宝、京东也将性价比作为发力重点,并通过补贴、秒杀等方式,再度强调自身的“价格…

Pygame基础8-碰撞

Collisions 在Pygame中,我们使用矩形来移动物体,并且用矩形检测碰撞。 colliderect检测两个矩形是否碰撞,但是没法确定碰撞的方向。 Rect1.colliderect(Rect2) # collision -> return Ture # else -> return Falsecollidepoint可以…

数据结构——遍历二叉树和线索二叉树,树和森林

目录 1.遍历的算法实现 1.先序遍历 代码示例: 2.中序遍历 代码示例: 3.后序遍历 代码示例: 4.遍历算法的分析 2.遍历二叉树的非递归算法 1.中序遍历非递归算法 代码示例: 3.二叉树的层次遍历 代码示例: 4.二…

C#/.NET/.NET Core优秀项目和框架2024年3月简报

前言 公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(每周至少会推荐两个优秀的项目和框架当然节假日除外),公众号推文中有项目和框架的介绍、功能特点、使用方式以及部分功能截图等(打不开或者打开GitHub很慢的同学…

BUUCTF [安洵杯 2019]吹着贝斯扫二维码 1

BUUCTF:https://buuoj.cn/challenges 题目描述: 得到的 flag 请包上 flag{} 提交。 密文: 下载附件解压,得到很多没有后缀的文件和一个ZIP压缩包。 解题思路: 1、首先,查看ZIP压缩包,发现有密码&#xf…

GreatSQL 优化技巧:将 MINUS 改写为标量子查询

GreatSQL 优化技巧:将 MINUS 改写为标量子查询 前言 minus 指令运用在两个 SQL 语句上,取两个语句查询结果集的差集。它先找出第一个 SQL 所产生的结果,然后看这些结果有没有在第二个 SQL 的结果中,如果在,那这些数据…

2024年山东临沂教育人才引进报名流程

2024年山东临沂教育人才引进报名流程

表单全选反选(前端)

1.Html和JavaScript <table><tr><th class"allCheck"><input type"checkbox" name"" id"checkAll"> <span class"all">全选</span></th><th>商品</th><th>商…

Hive函数笔试题(简单)

第1题 有如下的用户访问数据 userId visitDate visitCount u01 2017/1/21 5 u02 2017/1/23 6 u03 2017/1/22 8 u04 2017/1/20 3 u01 2017/1/23 6 u01 2017/2/21 8 u02 2017/1/23 6 u01 2017/2/22 4 要求使用SQL统计出每个用户的累积访问次数&…

Qt中继承QCheckBox的类结合QTableWidget实现多选并且每个多选的id都不一样

1.相关描述 继承QCheckBox的类MyCheckBox&#xff0c;利用QTableWidget的setCellWidget方式添加MyCheckBox类的对象 2.相关页面 3.相关代码 mycheckbox.h #ifndef MYCHECKBOX_H #define MYCHECKBOX_H#include <QCheckBox> #include <QObject>class MyCheckBox : pu…

DSSS-UQPSK学习笔记

文章目录 非平衡四相键控-直接序列扩频&#xff08;UQPSK-DSSS&#xff09;信号因其能同时传输两路不同功率、不同速率信号的特点&#xff0c;在需要图象和数据综合业务传输的领域得到了广泛应用。 系统信号的调制方式为非平衡四相键控&#xff08;Unbalanced Quadrature Phase…

SpringBoot 整合Redis第1篇

SpringBoot是一个开发框架&#xff0c;Redis是一个高性能的键值存储数据库&#xff0c; 常用于缓存、会话管理、消息队列等应用场景。 定义 Redis是什么&#xff1f; 它是一个存储层级&#xff0c; 在实际项目中&#xff0c;位于关系数据库之上&#xff0c; 类似Android分为5…