【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


在这里插入图片描述

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

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

相关文章

从词表到RLHF一镜到底训练一个大模型

第6章 如何训练大语言模型 本章节主要探讨训练大语言模型的步骤和方法论。 目前,可能大家接触的最多的模型训练方式是微调,也能收到一定程度的比较好的效果,其中有代表性的项目有Github上的Alpaca, Baize,Vicuna等。 6.1 Pretrain 预训练 有了微调,为什么还需要预训练,直…

第116讲:使用Mycat-eye管理Mycat数据库服务

文章目录 1.Mycat的管理工具2.Mycat-eye介绍3.部署Mycat-eye3.1.安装Zookeep3.2.安装Mycat-eye3.3.访问Mycat-eye 4.在Mycat-eye中导入Mycat服务的信息 1.Mycat的管理工具 Mycat默认开通2个端口,可以在server.xml中进行修改。 8066 数据访问端口,即进行…

管易云和金蝶云星空单据接口对接

管易云和金蝶云星空单据接口对接 接入系统:金蝶云星空 金蝶K/3Cloud结合当今先进管理理论和数十万家国内客户最佳应用实践,面向事业部制、多地点、多工厂等运营协同与管控型企业及集团公司,提供一个通用的ERP服务平台。K/3Cloud支持的协同应用…

8.4 循环神经网络

小结 对隐状态使用循环计算的神经网络称为循环神经网络(RNN)。 循环神经网络的隐状态可以捕获直到当前时间步序列的历史信息。 循环神经网络模型的参数数量不会随着时间步的增加而增加。 我们可以使用循环神经网络创建字符级语言模型。 我们可以使用…

条形图、柱状图的绘制方法

【题目描述】 用*号输出柱状图。第一行输入一个整数n表示数据个数,第二行输入n个整数,用空格隔开。n和输入的数都不超过20。 【样例输入】 7 5 1 1 8 1 1 5 【样例输出】 1.条形图(水平柱状图) 样例中的柱状图属…

Generative AI 新世界 | 扩散模型原理的代码实践之采样篇

前言 本期文章,我们一起来探究生成式 AI 这一火热的新知识领域。 目前计划有三个大方向: 代码深度实践方向。例如用代码完整诠释 Diffusion 模型的工作原理,或者 Transformer 的完整架构等; 模型部署和训练优化方向。例如尝试解…

【LeetCode热题100】【数组】最大子数组和

题目链接:53. 最大子数组和 - 力扣(LeetCode) 只要和的值不要哪个子数组,原问题的解由子问题的解组成,可以用动态规划,数组中每个元素都是一个子数组的结尾,dp[i]是以num[i]为结尾的最大子数组…

Linux实战笔记(六) SSH

大家好,我是半虹,这篇文章我们介绍一下 SSH 1、简介 SSH 全称 Secure Shell,本质上是建立在应用层之上的网络传输协议 通过加密和认证机制保证传输安全,经常用于远程登录或者远程访问 除此之外,SSH 也能完成端口转发…

C++进阶篇10---特殊类设计

一、设计一个类,不能被拷贝 有人可能会觉得,这不是很简单吗,直接把拷贝构造ban掉,不就行了,但事实真的如此吗? class A { public:A(){}A(const A& tmp) delete;// ... };int main() {A a;// A b a;…

Spring Boot集成itext实现html生成PDF功能

1.itext介绍 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件 iText 的特点 以下是 iText 库的显着特点 − Interactive − iText 为你提供类(API)来生成…

2.从hello world开始【go】

当然,我们可以从最基本的Hello World程序开始。Hello World程序通常是学习一门新编程语言的第一步,因为它能够帮助你理解基础的程序结构和编译过程 下面是一个Go语言的Hello World程序示例: package mainimport "fmt"func main()…

Leetcode 3101. Count Alternating Subarrays

Leetcode 3101. Count Alternating Subarrays 1. 解题思路2. 代码实现 题目链接:3101. Count Alternating Subarrays 1. 解题思路 这一题我们只需要用贪婪算法对原数组进行切分,使得每一段都是最大的交错子序列,然后,我们要获得…

关于Ansible的模块②

转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。 接《关于Ansible的模块 ①-CSDN博客》,继续学习和梳理Ansible的常用文件类模块 1. copy模块 从当前机器上复制文件到…

论文复现1:Mobilealoha

abstract:从人类演示中进行的模仿学习在机器人技术中表现出了令人印象深刻的表现。然而,大多数结果都集中在桌面操作上,缺乏一般有用任务所需的移动性和灵活性。在这项工作中,我们开发了一种用于模仿双手且需要全身控制的移动操纵任务的系统。我们首先推出 Mobile ALOHA,这…

从vrrp、bfd、keepalived到openflow多控制器--理论篇

vrrp 在一个网络中,通常会使用vrrp技术来实现网关的高可用。 vrrp,即Virtual Router Redundancy Protocol,虚拟路由冗余协议。 应用场景 典型的如下面这个例子: 当Router故障后,将会导致HostA-C都无法连接外部的I…

自动驾驶杂谈

在2024年的今天,自动驾驶技术已经迈向了一个崭新的阶段,日趋成熟与先进。昨日,我有幸亲眼目睹了自动驾驶车辆在道路上自如行驶的场景。然而,在市区拥堵的路段中,自动驾驶车辆显得有些力不从心,它们时而疾驰…

Spring Boot集成JPA快速入门demo

1.JPA介绍 JPA (Java Persistence API) 是 Sun 官方提出的 Java 持久化规范。它为 Java 开发人员提供了一种对象/关联映射工具来管理 Java 应用中的关系数据。他的出现主要是为了简化现有的持久化开发工作和整合 ORM 技术,结束现在 Hibernate,TopLink&am…

C#调用FreeSpire.Office读取word数据的基本用法

FreeSpire.Office是Spire.Office的免费版本,后者支持全面、复杂的office文件操作功能,包括文件格式转换、文档操作、文档打印等,详细介绍见下图及参考文献1。本文学习FreeSpire.Office的基本用法并用其获取word文档的基本信息。   新建Win…

VTK中polydata的属性数据结构表示和用法

vtk中通过vtkDataArray进行数据的存储,通过vtkDataObject进行可视化数据的表达,在vtkDataObject内部有一个vtkFieldData的实例,负责对数据的表达: ​​​​​​​ vtkFieldData存储数据的属性数据,该数据是对拓…

《福建教育》期刊简介及投稿要求

《福建教育》期刊简介及投稿要求 《福建教育》国内外公开发行的学术期刊,目前出版文献量达19187篇;总下载次数: 1361672次;总被引次数: 8709次 《福建教育》是福建省教育厅主管的唯一一份主流教育专业期刊&#xff0…