深入浅出 O-RAN 技术架构¶
一文带你看懂 O-RAN 的"前世今生", 以及低轨卫星网络中的 O-RAN 部署范式
Danger
鉴于市面上系统整理 O-RAN 的综述文献极少, 多来自于业界的技术报告; 以及在LEO中, O-RAN如何部署还是个未定式
因此, 这篇文章整理起来相当不容易, 笔者会持续更新
Version 1(2025-12-02): 撰写 "O-RAN Overview"
- 先不纠结技术细节, 从宏观上对 O-RAN 有个认识
- 熟悉对应的专有名词, 了解其与传统RAN的本质区别
Version 2(TODO)
在深入研究 LEO Network 与 D2C 这个方向的过程当中, 我们会越来越多地遇见O-RAN这个名词. (详见 SIGCOMM'22-SpaceCore, NSDI'24-MOSAIC)


这篇文章我们将深入讲解现有地面网络O-RAN的演变历史和技术组成, 同时也会介绍一些前沿的内容, 比如: 现有 O-RAN components 如何映射到当前LEO-Network 的组件(CoNEXT'25 HARMONI).

本文部分参考来源:
- OpenRAN Explained - NOKIA
- What is Open RAN? - HPE
- O-RAN - Matlab
- O-RAN Architecture
- O-RAN Projects - Northeastern Univ
有意思的是, 之前读过很多篇关于移动网络/无线网络的经典论文, 以及接触过很多测试平台, 发现他们都来自东北大学的这个组. 这个组聚焦于移动与无线网络的研究, 给出了好几个具有划时代意义的产品 (SCOPE / Colosseum / ns-O-RAN / FABRIC). 同时他们还开了一个专题, 专门陈列与O-RAN有关的工作:
- ns-O-RAN 仿真平台 (2023)
- 在 ns-3 中模拟 O-RAN 5G 系统的工具
- 可编程智能流量引导 (2023)
- 使用 O-RAN 架构在 5G 网络中实现可编程和定制化智能流量引导
- O-RAN综述 (2023)
- 综述: O-RAN 架构, 接口, 算法, 安全性和研究挑战
- xApps闭环控制 (2022)
- 在 OpenRAN Gym 中实现了基于 xApps 的智能闭环 RAN 控制
- dApps分布式应用 (2022)
- 用于 O-RAN 实时推理和控制的分布式应用
- OpenRAN Gym平台 (2022)
- 用于 O-RAN 上 AI/ML 开发, 数据收集和测试的开放工具箱, 支持 PAWR 平台
- OrchestRAN网络自动化 (2022)
- 通过 O-RAN 中的编排智能实现网络自动化
- ChARM频谱共享 (2022)
- 通过数据驱动的实时O-RAN动态控制实现下一代频谱共享
- SCOPE原型平台 (2021)
- 面向 NextG 的开放软件化原型平台
- QCell自优化 (2021)
- 通过深度Q学习实现软件化5G网络的自优化
- O-RAN智能与学习综述 (2021)
- O-RAN中的智能与学习, 用于数据驱动的下一代蜂窝网络
- 无人机视频流 (2021)
- 在5G Open-RAN架构上实现无人机视频流应用
- 开放可编程虚拟化5G网络综述 (2020)
- 综述
O-RAN Overview¶
Motivation¶
传统的蜂窝网络(如4G)依赖于单一供应商提供的 "单体基站"(Monolithic Base Station), 软硬件紧耦合, 导致灵活性差, 升级成本高, 且运营商被供应商锁定(Vendor Lock-in), 造成"MNO寡头现象"

O-RAN 的核心愿景是通过以下四大原则重塑 RAN:
- Disaggregation: 将基站功能拆分为 不同的逻辑单元
- Intelligence: 引入 RIC(RAN Intelligent Controller)实现数据驱动的闭环控制
- Virtualization: 软硬件分离, 在通用硬件(COTS)或云平台上运行网络功能
- Open Interfaces: 定义 标准化的接口 , 允许不同供应商的设备互操作, 有利于创设"扁平化市场"
Architecture && Key Components¶


- SMO
- 全称: Service Management and Orchestration
- 负责全网的编排, 管理和自动化
- 它包含 Non-RT RIC
- Non-RT RIC
- 全称: Non-Real-Time RIC
- 位置: 部署在 SMO 内部, 时间尺度通常是"秒级"
- 功能: 策略指导 + 模型训练 + 长期优化
- 它通过 rApps (运行在 Non-RT RIC 上的应用) 来实现这些功能
- Near-RT RIC
- 全称: Near-Real-Time RIC
- 时间尺度: 10ms ~ 1s
- 功能: 近乎实时的无线资源管理(RRM) + 负载均衡 + 切换控制
- 通过 xApps (第三方微服务应用) 来执行具体的控制逻辑
- O-RAN 网元 (基于 3GPP split 架构)
- O-CU (Central Unit)
- 负责处理: 高层协议(RRC, SDAP, PDCP)
- 控制面: O-CU-CP
- 用户面: O-CU-UP
- O-DU (Distributed Unit)
- 负责处理: RLC + MAC + 高层 PHY(High-PHY)
- O-RU (Radio Unit)
- 负责处理: 低层 PHY(Low-PHY) + 射频(RF)
- O-CU (Central Unit)
In-loop Control && ML Workflow¶
O-RAN 引入了多时间尺度的闭环控制, 同时还引入了AI/ML Workflow, 这是区别于传统网络的最大特征, 深刻体现了 AI for Network.

三层 "in-loop" 控制:
-
非实时环路 (> 1s):
- 在 Non-RT RIC 中, 通过 O1 收集长期数据, 训练 AI 模型
- 通过 A1 下发策略, 适用于切片编排, 长期流量预测
-
近实时环路 (10ms - 1s):
- 在 Near-RT RIC 中, xApp 通过 E2 收集 DU/CU 的实时 KPI, 并下发控制指令 (e.g. 切换决策, 负载均衡)
-
实时环路 (< 10ms):
- 在 O-DU 内部(目前 O-RAN 标准尚未完全开放此层级的 AI 接口, 仍需进一步研究)
- 涉及调度器(Scheduler)和波束管理

AI/ML Workflow:
Researchers 一般遵循以下流程进行算法设计:
- 数据收集: 通过 O1(批量) 或 E2(流式) 从 RAN 收集数据
- 离线训练:
- 在 Non-RT RIC 中利用收集的数据训练模型 [模型训练: 离线]
- O-RAN 要求模型需先离线训练以避免现网风险
- 部署:
- 将训练好的模型打包, 在 Near-RT RIC 中作为 xApp 部署 [模型部署]
- xApp 在线接收 E2 数据进行推理, 并通过 E2 发送控制信令给 DU/CU [推理]
Dataflow: From user's perspective¶
与传统一体式基站不同, O-RAN 将基站(gNB)拆分为 O-RU, O-DU 和 O-CU 三个部分

注意, 在这里我们约定俗成:
- RU-DU: Fronthaul
- DU-CU: Midhaul
- CU-5GC(...): Backhaul

本节我们以一个最简单的例子切入:
用户将自己的请求发送给WebServer (User: "Hey, Server! 快把《疯狂动物城2》的高清资源给我"), 这一过程数据包与上述 O-RAN Infra 如何交互?
| Markdown | |
|---|---|
1 2 | |
- UE → O-RU
- 动作: 用户点击网页, 产生 HTTP 请求
- 数据包在 UE 内部经过协议栈封装:
App -> TCP/IP -> SDAP -> PDCP -> RLC -> MAC -> PHY - 传输: UE 将模拟射频信号, 通过 Uu 接口(in-air) 发送出去
- O-RAN 节点: O-RU (射频单元)
- O-RU 接收射频信号, 将其转换为数字信号(ADC)
- 关键处理(split7.2x): O-RU 负责执行物理层的低层功能(Low-PHY)
- 如 FFT(快速傅里叶变换) + 去循环前缀(CP Removal) + 波束赋形(Beamforming)
- 接口: O-RU 处理后的频域 IQ 样本数据通过Open Fronthaul [U-Plane] 接口发送给 O-DU
- O-RU → O-DU
- 传输: 数据通过光纤或以太网传输, 常使用 eCPRI 或 IEEE 1914.3 协议封装
- O-RAN 节点: O-DU (分布单元)
- 关键处理(High-PHY/MAC/RLC): O-DU 接收来自 Fronthaul 的数据, 执行物理层的高层功能
- 如: 解调(Demodulation) + 扰码(Scrambling) + 层映射(Layer Mapping)
- 随后, 数据向上传递经过 MAC 层(负责调度)和 RLC 层(负责分段和重组)
- 接口: O-DU 将处理完的数据包, 通过F1-u 接口发送给 O-CU-UP
- 关键处理(High-PHY/MAC/RLC): O-DU 接收来自 Fronthaul 的数据, 执行物理层的高层功能
- O-DU → O-CU-UP
- 传输: 数据通过 F1-u 接口传输(隧道. 通常基于 GTP-U/UDP/IP)
- O-RAN 节点: O-CU-UP
- 关键处理(PDCP/SDAP): O-RAN 将 CU 拆分为控制面(CP)和用户面(UP). 数据流只经过 O-CU-UP
- 功能:
- PDCP 层功能: 解密, 完整性验证, 头解压缩
- SDAP 层功能: QoS 流到无线承载的映射
- 此时, 数据已还原为标准的 IP 数据包
- 接口: O-CU-UP 通过标准的 N3 接口(即 NG-u 接口)将数据发送给 5G CoreNet
- O-CU-UP → 5G Core (5GC)
- 核心网网元: UPF (User Plane Function)
- UPF 接收来自 N3 接口的 GTP 隧道数据包, 解封装出原始 IP 请求
- UPF 执行路由、计费、数据包检测等功能
- 接口: UPF 通过 N6 接口 将数据发送至外部数据网络 (Data Network, WAN)