OpenAirInterface,开源的 4G EPS 实现
目录
前文列表
OSA
OSA(OpenAirInterface Software Alliance,OpenAirInterface 软件联盟)成立于 2014 年,由欧洲 EURECOM 公司创建,是法国的一家非营利软件基金会,负责组织有关 OpenAirInterface(OAI)的活动、培训和会议。OSA 与 EURECOM 的法律实体分开,旨在提供开源的 3GPP 标准核心网和无线接入网络协议的生态系统,其当下的使命是为 5G 无线网络的研究以及产品开发提供软件和工具。
OpenAirInterface
目前,开源 SDR LTE 平台有 OAI,OpenLTE 和 srsLTE 等等,其中 OAI 里面最为完善的一个。OAI 可以与许多标准的 RF(射频)硬件设备(e.g. Ettus USRP)结合使用,也可以与 EURECOM 定制化的 RF 硬件设备结合使用。此外,OAI 平台还包含了大量的仿真平台,用于对各种通信算法的验证。
OpenAirInterface,又称 OpenAirInterface5G,简称 OAI,是由 OSA 发起并维护的一个开源 SDR LTE 项目。根据 3GPP 的标准,在基于 Linux 操作系统的通用处理器(Intel x86/ARM)上实现了符合 Release 10 LTE 标准的 UE,eNB,MME,HSS,SGW 和 PGW。也就是说,OAI 完全实现了 LTE 协议的核心网(EPC)、基站(eNB)以及用户终端(UE)三部分。

OAI 的主要功能有两个,其中一个用来仿真,另一个则是用来做 SDR,以此实现通信系统:
- 仿真:主要是对物理层中的各个信道的仿真以及系统级仿真。
- SDR:软件无线电。
OAI 的应用场景:
- 物理层链路仿真
- LTE 系统级仿真
- SDR LTE 系统
- 无线安全研究
- 通信新技术测试
- 专业测试网络搭建
- NB-IoT
OAI 的仿真
物理信道仿真
信道:无线信道是对无线通信中发送端和接收端之间通路的一种形象比喻,对于无线电波而言,它从发送端传送到接收端,其间并没有一个有形的连接,它的传播路径也有可能不只一条,我们为了形象地描述发送端与接收端之间的工作,可以想象两者之间有一个看不见的道路衔接,把这条衔接通路称为信道。
OAI 对物理信道的仿真包含 PDSCH,PDCCH,PBCH,PRACH,PUSCH,PUCCH 等信道。
- 实现目录:openairinterface5g/openair1/SIMULATION/LTE_PHY
- 模拟目录:cmake_targets/lte-simulators/build
- 测试用例目录:$OPENAIR1_DIR/PHY/CODING/TESTBENCH
OAI 支持 6 个典型的物理层链路级仿真平台:
- pbchsim:PBCH(物理广播信道),包含 PBCH 信道的收发流程。
- pdcchsim:DCI/PDCCH(下行控制信道),包含 PDCCH 信道的收发流程。
- prachsim:PRACH(随机接入信道),包含 PRACH 信道的收发流程。
- pucchsim:PUCCH(上行控制信道),包含 PUCCH 信道的收发流程。
- ulsim:ULSCH/PUSCH(上行共享信道),包含 PUSCH 信道的收发流程。
- dlsim:DLSCH/PDSCH(下行共享信道),实际上,dlsim 也包含了 PDCCH 等信道的内容,所以 dlsim 更像是一个轻量级的 LTE 物理层系统系仿真平台。
- mbmssim:MCH/PMCH(物理多播信道)
系统级仿真
而系统级别的仿真包含了 LTE 整个协议栈的仿真,即除了物理层是假的之外,其它协议栈都是按照标准实现的。
- 实现目录:openairinterface5g/targets/SIMU/USER/oaisim
oaisim 除了信道不经过空中接口外,跟一个完整的 LTE 系统基本没有区别。不像其他 LTE 仿真平台,oaisim 尽可能的还原了 LTE 系统的所有细节。而且,oaisim 还可以连接核心网。
OAI 的 SDR LTE
OAI 的 SDR LTE 主要可以分为三种运行模式:
- eNB + UE:两者都只用到了物理层(PHY),MAC 及以上的层都没有用到。适合用来验证和实现物理层的算法。

- eNB + UE without S1:两者起到了 PHY,MAC,RLC 和 PDCP 层的功能。该模式下 OAI 会在 eNB 侧和 UE 侧各启动一个虚拟网卡 oai0,可以直接进行业务传输。这种模式非常适合用来做全协议栈的数据传输测试,算法验证等。因为没有 EPC 的影响,开发起来比较灵活。

- EPC + eNB + UE:该模式下,OAI 把 LTE 的整个协议栈都运行起来了。当然,也可以直接用商用终端(e.g. 手机,LTE 数据卡)接入 eNB,甚至可以通过 EPC 的 SPGW 连接互联网。简而言之,这就是一个完整的伪基站。

NOTE:上述三个运行模式都可以与其他的 SDR 平台互相兼容。比如使用 srsUE 替换 OAI UE,或者把 OAI 的 EPC 换成 Amarisoft MME。
参考文档
https://blog.csdn.net/jxwxg/article/details/58130893
https://blog.csdn.net/jxwxg/article/details/61201578
https://blog.csdn.net/jxwxg/article/details/53574843
https://blog.csdn.net/prowc/article/details/75271052
https://blog.csdn.net/jxwxg/article/details/71436678
OpenAirInterface,开源的 4G EPS 实现的更多相关文章
- 如何搭建并使用便携式 4G/LTE 伪基站研究移动安全
此文章PDF文档下载地址:点击下载 0x00 前言 在移动互联网深入普及和物联网开始规模应用的今天,网络安全公司怎能不研究移动安全,要研究移动安全,怎能没有4G/LTE伪基站研究测试环境? 本文介绍如 ...
- 如何利用 LTE/4G 伪基站+GSM 中间人攻击攻破所有短信验证
这次公开课请来的嘉宾对自己的简介是: 连续创业失败的创业导师:伪天使投资人:某非知名私立大学创办人兼校长:业余时间在本校通信安全实验室打杂. 自从他在黑客大会上演讲<伪基站高级利用技术——彻底攻 ...
- OpenNESS,开源的边缘网络服务平台
目录 文章目录 目录 参考文章 OpenNESS 的电梯间演讲 OpenNESS 与 ETSI MEC Edge Controller Software 的功能清单 Edge Platform Sof ...
- 【开源】C#跨平台物联网通讯框架ServerSuperIO(SSIO)
[连载]<C#通讯(串口和网络)框架的设计与实现>-1.通讯框架介绍 [连载]<C#通讯(串口和网络)框架的设计与实现>-2.框架的总体设计 目 录 C#跨平台物联 ...
- 开源物联网框架ServerSuperIO 3.0正式发布(C#),跨平台:Win&Win10 Iot&Ubuntu&Ubuntu Mate,一套设备驱动跨平台挂载,附:开发套件和教程。
3.0版本主要更新内容: 1.增加跨平台能力:Win&Win10 Iot&Ubuntu&Ubuntu Mate 2.统一设备驱动接口:可以一套设备驱动,跨平台挂载运行,降低人力 ...
- .NET足球赛事资料数据库平台SmartLottery开源发布——全球足球联赛应有尽有
本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新 开源C#彩票数据资料库系列文章总目录:[目录]C#搭建足球赛事资料库与预测平台与彩票数据分析目录 前2个月,我的系列文 ...
- 五一干货来袭!开源Moon.Orm标准版发布!
标准版源代码下载: 链接:http://pan.baidu.com/s/1i3xj0f7 因五一早过(现在中旬了),解压码获取请到: http://www.cnblogs.com/humble/p/3 ...
- 开源UML工具推荐
1.StarUML StarUML是一个开源UML项目,可以开发快速,灵活,可扩展,多功能并且免费的UML/MDA平台.此项目运行在Win32平台之上.StarUML项目的目标是成为RationalR ...
- Github上关于iOS的各种开源项目集合(强烈建议大家收藏,查看,总有一款你需要)
下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件. SVPullToRefresh - 下拉刷新控件. MJRefresh - 仅需一行代码就可以为UITableVie ...
- 《开源安全运维平台OSSIM最佳实践》
<开源安全运维平台OSSIM最佳实践> 经多年潜心研究开源技术,历时三年创作的<开源安全运维平台OSSIM最佳实践>一书即将出版.该书用80多万字记录了,作者10多年的IT行业 ...
随机推荐
- OpenHarmony社区运营报告(2023年7月)
本月快讯 • 2023年7月28日-29日,全球软件质量&效能大会(简称"QECon")圆满举行,OpenAtom OpenHarmony(简称"OpenHar ...
- C# 做个Splash(启动屏幕)
现在有好些splash的做法,我的比较简单,而且如果你的素材不错的话,应该可以做出很好的效果,这个教程不依赖任何第三方控件,直接使用vs的就行了,下面这个是预览图: 正文开始: 我们首先新建一个win ...
- 难道AI不知道tnsnames.ora的instance_name配置吗?
事情是这样,给某客户培训构建hands-on实验环境时,因测试环境有限,在同一环境做了一套ADG环境: 数据库是单实例,版本19.21,使用了多租户选件: 其中一个测试的PDB,名为demo1,其中建 ...
- Ubuntu部署Django二:项目上传及测试
首先将我们开发好的工程代码上传到服务器(Ubuntu) 用命令启动,然后进去浏览器检查,看看是否能正常启动 python3 manage.py runserver 如果 settings.py ...
- Mac OS 中JDK 环境(jdk 1.8.0_831)安装配置、环境变量配置及卸载操作
前言: 摊牌了,本来就有点喜新厌旧的我,特意把系统和开发环境都拉到比较高,想试验一下兼容性和某些新特性,探索了一下新大陆,也见识了各种光怪陆离的妖魔鬼怪. 因为要着手云平台项目的重构改版和新系统的架构 ...
- redis 简单整理——bitmaps[十二]
前言 简单介绍一下bitmaps这个东西. 正文 我们都知道bitmaps 翻译过来就是二进制. 那么二进制可以存一些什么呢? 图片.视频,还可也存些什么呢? 现代计算机用二进制(位)作为信息的基础单 ...
- spring boot @propertySource @importResource @Bean [六]
@propertySource 指定property的配置源. 创建一个person.property: 然后修改person注解; 在运行test之后,结果为: @importResource 这个 ...
- dom4j 通用解析器,解析成List<Map<String,Object>>
import java.io.InputStream; import java.util.Iterator; import java.util.LinkedHashMap; import java.u ...
- Webpack中常见的Loader?解决了什么问题?
一.是什么 loader 用于对模块的源代码进行转换,在 import 或"加载"模块时预处理文件 webpack做的事情,仅仅是分析出各种模块的依赖关系,然后形成资源列表,最终打 ...
- 嘉楠k210 kd233官方demo板gpio点灯实验
使用maixpy micropython开发 import utime from Maix import GPIO from board import board_info from fpioa_m ...