简介
OpenAirInterface(OAI),又称 OpenAirInterface5G,是由欧洲 EURECOM 组织发起并维护的开源软件定义无线电(SDR)4G LTE 与 5G NR 项目。根据 3GPP 标准,OAI 完全且开源地实现了 LTE 协议的三个主要组成部分:
- EPC (Evolved Packet Core): 核心网
- eNB (Evolved NodeB): 基站
- UE (User Equipment): 用户终端设备
目前 OAI 稳定支持 3GPP Release 10 及以上标准功能,并处于持续活跃更新中。
- 官方网站: OpenAirInterface – 5G software alliance
- 官方 Git 仓库: Gitlab OAI 5G
LTE 常用网络术语简写字典
在配置 OAI 前,理解以下 LTE 物理层及网络层协议相关简写对参数配置非常重要:
| 术语 | 全称 | 中文含义 |
|---|---|---|
| FDD | Frequency Division Duplexing | 频分双工 |
| TDD | Time Division Duplexing | 时分双工 |
| SISO | Single-Input Single-Output | 单输入单输出 |
| MIMO | Multi-Input Multi-Output | 多输入多输出 |
| PDSCH | Physical Downlink Shared Channel | 物理下行共享信道 |
| PUSCH | Physical Uplink Shared Channel | 物理上行共享信道 |
| PCFICH | Physical Control Format Indicator Channel | 物理控制格式指示信道 |
| PDCCH | Physical Downlink Control Channel | 物理下行控制信道 |
| DCI | Downlink Control Information/Indicator | 下行控制指示灯 / 信息 |
| NAS | Non-Access Stratum | 非接入层 |
OAI 部署方案一:Snap 快捷安装方式 (All-in-One)
基于 Snap 包管理器的安装是部署 OAI 核心网与基站最便捷的方式,适合在单一计算节点上进行 All-in-One 的组网测试。
1. 环境准备
对于基于 Web 及数据库的核心架构配置,需要基础的 LAMP 环境:
- 安装 LAMP 环境 (Linux, Apache, MySQL, PHP) 及 phpMyAdmin。
- 修改
/etc/hosts,配置相应的网域主机解析以支持 HSS 及 MME。 - 生成基于 TLS/S6A 的安全证书:
证书生成脚本位于epc script文件夹,需将对应证书输出并放至配置文件夹中:1
2./check_hss_s6a_certificate /var/snap/oai-cn/28/ hss.openair4G.eur
./check_mme_s6a_certificate /var/snap/oai-cn/28/ openair-cn.openair4G.eur
2. EPC 核心网部署与配置
2.1 安装 OAI-CN (核心网组件)
1 | # 以开发者模式、edge 频道安装 oai-cn snap 镜像包 |
2.2 HSS (归属用户服务器) 配置
- 获取并初始化:
- 初始化数据库:
sudo oai-cn.hss-init(根据 hss.conf 生产数据库)。 - 获取配置路径:
sudo oai-cn.hss-conf-get。
- 初始化数据库:
- 修改配置文件:
- 编辑 FreeDiameter 配置:
vim /var/snap/oai-cn/28/hss_fd.conf,将Identity修改为"hss.openair4G.eur"。 - 编辑 MySQL 数据库配置:
sudo vim /var/snap/oai-cn/28/hss.conf。
- 编辑 FreeDiameter 配置:
- 启动 HSS 服务:
1
sudo oai-cn.hss
2.3 MME (移动管理实体) 配置
- 获取并初始化:
- 初始化 MME:
sudo oai-cn.mme-init。 - 获取配置路径:
sudo oai-cn.mme-conf-get。
- 初始化 MME:
- 修改配置文件:
- 建立对 HSS 的连接握手:
vim /var/snap/oai-cn/28/mme_fd.conf1
ConnectPeer= "hss.openair4G.eur" { ConnectTo = "127.0.0.1"; No_SCTP ; No_IPv6; Prefer_TCP; No_TLS; port = 3868; realm = "openair4G.eur";};
- 网络接口等主要配置:
sudo vim /var/snap/oai-cn/28/mme.conf- 注意配置主机名 (
hostname)。 - 配置
NETWORK_INTERFACES时,需要注意网段划分:- S1 (S1-MME): 连接 eNB 与 EPC。
- S11: 连接 S-GW 与 MME。
- 注意配置主机名 (
- 建立对 HSS 的连接握手:
- 启动 MME 服务:
1
sudo oai-cn.mme
2.4 SPGW (服务网关与PDN网关) 配置
- 获取并初始化:
sudo oai-cn.spgw-init。 - 修改配置文件:编辑
vim /var/snap/oai-cn/28/spgw.conf:SGW_IPV4_ADDRESS_FOR_S11设为127.0.11.2/8。SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP设为127.0.1.10/24。PGW_INTERFACE_NAME_FOR_SGI: 设为当前机器连通互联网的真实接口 (如 eth0)。DEFAULT_DNS_IPV4_ADDRESS: 设为本地公共 DNS 服务器 (如 8.8.8.8)。
- 启动 SPGW 服务:
1
sudo oai-cn.spgw
3. eNB 基站侧部署与配置
- 安装 OAI-RAN Snap:
1
2sudo snap install oai-ran --channel=edge --devmode
sudo oai-ran.help - 修改配置(重点需匹配 SDR 射频硬件,如 USRP B210 等):
plmn_list:公共陆地移动网络编码。mme_ip_address:MME 网关 IP。NETWORK_INTERFACES:绑定相应的基站网口。- 降低
max_rxgain以避免底噪溢出饱和。 - 线程性能设定:
parallel_config设为PARALLEL_SINGLE_THREAD,避免软解调度问题。 - 禁用
FLEXRAN_ENABLED(no)。 - 根据测试牌照或空闲频段降低
downlink_frequency下行频段。 - 带宽设定:推荐
N_RB_DL配置为25(即 5MHz 带宽)。
- 运行 eNB:
1
sudo oai-ran.enb
[!WARNING] 测试提示
在使用 snap 安装时,有时 EPC 核心网模块能够正常相互通信握手,但 OAI-RAN eNB 容易由于硬件或接口绑定引发异常退出。推荐核心网与基站隔离,或对于 eNB 使用传统的源代码自主编译方式。
OAI 部署方案二:源码编译安装 (NoS1 模式)
当不需要完整的核心网功能,仅希望通过 SDR 实现物理层和 MAC 层数据传输打通时,可以使用 NoS1 模式直接在 eNB 与 UE 进行软解调试。无需配置复杂的 S1-MME 等 IP 信息。
1. 源码编译
1 | # 切换至 OAI 源码的软解编译输出目录 |
2. eNB 端 (基站模式) 执行启动
注意:基站(eNB)和 用户(UE)都需要加载完全相对应的配置文件并指定相同的频段、带宽参数信息,才能成功完成物理层驻留和连接。
1 | # 执行 NoS1 (无核心网接入) 模式基站 |
3. UE 端 (用户模式) 执行启动
1 | # 执行无核心网 UE 端,带控制增益参数与频率扫频 |
UE 侧配置参数说明:
-g 5:自动增益控制模式。-C 2660000000:锁定在中心频率 2.66 GHz(即 Band 7)。--ue-txgain / --ue-rxgain:固定软解收发设备的发射与接收硬件放大增益。--ue-scan-carrier:开启小区同步导频搜索。-r25:同步配置为与基站对应的资源块数(25 PRB / 5MHz)。