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行业 ... 
随机推荐
- #珂朵莉树#CF896C Willem, Chtholly and Seniorious
			题目 支持区间加,区间推平,询问区间第\(k\)小, 以及询问区间\(\sum{a_i^x}\pmod y\),数据随机 分析 由于数据随机,那么区间推平的概率为\(\frac{1}{4}\), 考虑 ... 
- #树形dp#nssl 1469 W
			分析 首先一些结论,每条边最多被翻一次,而且由翻的边所构成的连通块答案就是度数为奇数的点的个数的一半, 因为在连通块内必然选择两个叶子节点间的路径翻是最优的,所以也就是选择两个度数为奇数的点,所以结论 ... 
- OpenHarmony社区运营报告(2023年3月)
			本月快讯 • <OpenHarmony 2022年度运营报告>于3月正式发布,2022年OpenAtom OpenHarmony(以下简称"OpenHarmony" ... 
- 详解SSL证书系列(10)SSL的加密算法
			HTTPS协议的主要功能依赖于SSL,SSL全称为安全套接层(Secure Socket Layer). SSL的功能主要依赖于三类加密算法,散列函数,对称加密和非对称加密. HASH算法 HAS ... 
- 虚实相生,构建数智生活|HMS Core. Sparkle应用创新分论坛报名启动
			XR技术的发展,为用户带来了全新的体验模式.那么,作为支撑XR发展主要学科之一的图形学,将迎来哪些发展新机遇?移动应用开发者,该如何拥抱3D数字化转型? 7月15日,HDD·HMS Core. Spa ... 
- openGauss数据库将磁盘表转换为MOT
			openGauss 数据库将磁盘表转换为 MOT 一.将磁盘表转换为 MOT 方法 磁盘表直接转换为 MOT 尚不能实现,这意味着尚不存在将基于磁盘的表转换为 MOT 的 ALTER TABLE 语句 ... 
- np.squeeze()
			np.squeeze() 是 NumPy 库中的一个函数,用于从数组中删除单维度的条目.它返回一个在输入数组中删除了尺寸为 1 的维度的新数组. 下面是使用 np.squeeze() 的示例代码: 点 ... 
- Java多线程之Callable和Future
			Java多线程之Callable和Future 本篇说明的是Callable和Future,它俩很有意思的,一个产生结果,一个拿到结果. Callable接口类似于Runnable,从名字就可以看出来 ... 
- 重学c#系列——缓存[盛派源码分析cache](九)
			前言 以前整理过缓存的东西在: https://www.cnblogs.com/aoximin/p/12727659.html 只是粗略的例子,因为真的要去介绍缓存这个东西,要从内存开始,是一个有时间 ... 
- 国产GOWIN实现低成本实现CSI MIPI转换DVP
			CSI MIPI转换DVP,要么就是通用IC操作,如龙讯芯片和索尼芯片,但是复杂的寄存器控制器实在开发太累.对于FPGA操作,大部分都是用xilinx的方案,xilinx方案成本太高,IP复杂. 而用 ... 
