srsRAN 基站概述
srsRAN Project 是一个开源的 5G RAN 实现,提供符合 3GPP 规范的 gNB 和 UE。
项目架构
srsRAN Project
│
┌─────────────┴─────────────┐
│ │
┌────▼────┐ ┌─────▼────┐
│ srsGNB │ │ srsUE │
│ (基站) │ │ (终端) │
└────┬────┘ └──────────┘
│
┌──────┴──────┐
│ │
┌───▼───┐ ┌────▼────┐
│ DU │ │ CU │
│(分布式│ │(集中式 │
│ 单元) │ │ 单元) │
└───────┘ └─────────┘主要组件
srsGNB (gNodeB)
5G NR 基站实现,支持:
| 功能 | 说明 |
|---|---|
| 5G SA | 独立组网模式 |
| N2/N3 接口 | 连接 5GC |
| 多种 SDR | USRP, BladeRF, ZMQ |
| 多频段 | Sub-6 GHz |
| MIMO | 最高 4x4 |
srsUE
5G 用户终端实现:
| 功能 | 说明 |
|---|---|
| 5G SA | 独立组网模式 |
| NAS | 完整 NAS 层实现 |
| PDU Session | 数据会话支持 |
系统要求
硬件要求
| 组件 | 最低要求 | 推荐配置 |
|---|---|---|
| CPU | 4 核 x86_64 | 8+ 核, AVX2 支持 |
| 内存 | 8 GB | 16+ GB |
| SDR | USRP B210 | USRP X310/N310 |
软件要求
- Ubuntu 22.04 LTS
- CMake 3.14+
- GCC 10+
- UHD 4.0+ (USRP 用户)
支持的 SDR
| SDR | 接口 | 带宽 | 状态 |
|---|---|---|---|
| USRP B210 | USB 3.0 | 56 MHz | ✅ 完全支持 |
| USRP X310 | 10GbE | 200 MHz | ✅ 完全支持 |
| USRP N310 | 10GbE | 100 MHz | ✅ 完全支持 |
| BladeRF | USB 3.0 | 40 MHz | ⚠️ 实验性 |
| ZMQ | 虚拟 | - | ✅ 仿真测试 |
支持的频段
| 频段 | 频率范围 | 双工模式 | 状态 |
|---|---|---|---|
| n78 | 3300-3800 MHz | TDD | ✅ |
| n77 | 3300-4200 MHz | TDD | ✅ |
| n41 | 2496-2690 MHz | TDD | ✅ |
| n3 | 1805-1880 MHz | FDD | ✅ |
| n1 | 1920-2170 MHz | FDD | ✅ |
项目特性
- 📡 完整 5G NR 物理层: OFDM、LDPC、Polar 编码
- 🔒 安全性: 完整的 NAS/RRC 安全功能
- 📊 性能监控: 实时 PHY 指标
- 🐳 容器化: Docker 支持
- 🧪 测试框架: 单元测试和集成测试
与 Open5GS 集成
srsRAN gNB 通过 N2/N3 接口连接 Open5GS:
┌─────────────┐ ┌─────────────┐
│ srsGNB │───N2───▶│ AMF │
│ │ SCTP │ (Open5GS) │
└──────┬──────┘ └─────────────┘
│
│ N3
│ GTP-U
│
┌──────▼──────┐
│ UPF │
│ (Open5GS) │
└─────────────┘目录结构
安装后的主要文件:
/usr/local/
├── bin/
│ ├── gnb # gNB 可执行文件
│ └── srsue # UE 可执行文件
└── share/srsran/
└── configs/
├── gnb.yaml # gNB 示例配置
└── ue.yaml # UE 示例配置