### 介绍
- **srsRAN 4G** 是一个支持 4G 和 5G 的软件无线电套件。
- 包括核心网络、eNodeB 和 UE 的实现。
- 除了物理无线电,srsRAN 4G 还提供了使用 ZeroMQ 网络库的虚拟无线电。
- 这种方法适合开发、测试、调试、CI/CD 或教学演示。
### ZeroMQ 安装
- 在 Ubuntu 上,可以使用 `sudo apt-get install libzmq3-dev` 安装 ZeroMQ 开发库。
- 也可以从源代码安装 libzmq 和 czmq。
- 安装后需要重新编译 srsRAN 4G 以确保识别 ZeroMQ。
### 在单台计算机上运行完整的 LTE 网络
- 需要确保 UE 和 EPC 在不同的网络命名空间中。
- 创建 UE 的网络命名空间。
- 需要为 UE 和 EPC 创建 TUN 接口。
- 每个 srsRAN 4G 应用在单独的终端实例中运行。
### 运行 EPC
- EPC 需要 root 权限来创建 TUN 设备。
### 运行 eNodeB
- 使用默认配置并通过命令行参数传递需要调整的参数。
### 运行 UE
- 需要 root 权限来创建 TUN 设备。
### 生成流量
- 可以使用 ping 或 iperf 等工具在下链路方向生成流量。
- 在 UE 的网络命名空间中运行 ping 命令以生成上链路方向的流量。
### 命名空间删除
- 完成后需要删除网络命名空间。
### GNU-Radio Companion 集成
- GNU-Radio Companion 可以与基于 ZMQ 的 srsRAN 4G 实例集成。
- 使用 GRC 中的 ZMQ 兼容块连接到 UE 和 eNB 之间传输数据的 TCP 端口。
- 可以通过 GRC 代理处理 UE 到 eNB 以及 eNB 到 UE 的数据。
### 已知问题
- 为了干净地关闭,需要先终止 UE,然后是 eNB。
- eNB 和 UE 只能运行一次,UE 脱离后需要重启 eNB。
- 目前只支持单个 eNB 和单个 UE。