UERANSIM 配置和使用
目录
1. 配置
2. 使用
2.1 基础用法-多用户接入
2.2 命令行界面的使用
2.3 数据平面的使用
2.4 TUN接口的使用
2.4.1 通过./nr-binder工具使用TUN接口
3. Ueransim特性
附录
我们参考Ueransim官网提供的资料,该教程使用的是下载源代码或克隆存储库的方式,与使用docker的方式大同小异:
cd ~
git clone https://github.com/aligungr/UERANSIM
其他Linux发行版可能在一般情况下都能工作(ubantu16.04及更高版本)但不幸的是,Windows不支持,因为微软没有实现SCTP协议。您需要一个虚拟机来解决问题。
注意:Windows子系统for Linux (WSL)也不能用作虚拟机。同样,基于guest - to - host NAT的网络配置在Windows上也可能无法工作。然而,VirtualBox与桥接适配器设置应该工作在Windows上很好。
1. 配置
配置详情页见ueransim配置官网,或者详见oai提供的ueransim.yaml文件
进入~/UERANSIM/build文件夹可以看到如下文件:
- nr-gnb | 5G gNB可执行文件(RAN)
- nr-ue | 5G终端可执行文件
- nr-cli |用于5G gNB和UE的CLI工具
- nr-binder |一个UE的互联网连接的工具。
- libdevbnd |是nr-binder的动态库
Nr-binder和libdevbnd只有将终端连接到互联网同时绑定到任意应用程序时才需要,通常不使用。
环境配置:
- 确保设置中的所有节点(UE、gNB和核心网络)都可以通过网络相互连接,并且某些防火墙规则不会阻止节点之间的5G通信。
- gNB和AMF之间使用SCTP协议,默认端口号为38412。gNB和UPF之间使用GTP协议,指定端口号为2152。gNB和UE之间使用RLS协议,端口号为4997。
2. 使用
2.1 基础用法-多用户接入
nr-ue -c myconfig.yaml -n 10
这样,10个终端将在该流程中启动和运行。IMSI号为每台终端加1(从配置文件中设置的IMSI号开始)。您也可以通过命令行覆盖配置文件中的IMSI参数:
nr-ue -c myconfig.yaml -i imsi-286010000000001
或者
nr-ue -c myconfig.yaml -n 10 -i imsi-286010000000001
2.2 命令行界面的使用
我们为gNB和ue提供nr-cli工具。
注意:UE和gNB的CLI命令不同。例如,在gNB中可以检查AMF连接状态,或者在UE中可以触发注销。本文件解释了更多细节。
使用方式:nr-cli <node-name>
这里需要将<node-name>替换为UE或gNB名称。例如:
nr-cli imsi-001010000000001
您可以通过以下方式查询当前环境中的UE和gnb:
$ nr-cli --dumpimsi-001010000000001
imsi-001010000000002
imsi-001010000000003
执行nr-cli <node-name>命令后,如果给定的节点存在并在环境中运行,则会打开一个交互式shell。现在可以为该节点执行进一步的命令,例如
user@pc:~/UERANSIM/build$ ./nr-cli UERANSIM-gnb-001-01-1
--------------------------------------------------------------------------------------------
$ commands
amf-info | Show some status information about the given AMF
amf-list | List all AMFs associated with the gNB
info | Show some information about the gNB
status | Show some status information about the gNB
ue-count | Print the total number of UEs connected the this gNB
ue-list | List all UEs associated with the gNB
--------------------------------------------------------------------------------------------
您可以进一步调查子命令的用法和帮助信息,例如
$ amf-info --help
$ ue-list --version
如果你想直接执行命令,而不是使用交互式shell,你也可以使用-e/--exec选项。
nr-cli imsi-001010000000001 --exec "status"
需要更多详细信息,请查看 nr-cli --help
2.3 数据平面的使用
UERANSIM提供了一个TUN接口,以便使用UE的互联网连接。对于v2.2.1版本,自动应用所有TUN配置。
为每个PDU会话建立一个TUN接口。成功建立PDU会话后,终端自动执行如下操作:
- 完成TUN接口的创建。
- 配置路由表、IP规则和IP路由。
注意:路由配置可能与当前设置冲突。如果不需要自动路由配置(第2项),可以使用nr-ue——no-route-config启动UE。但是TUN接口总是在PDU会话建立后创建(第1项)。
注意:在同一台计算机上使用UE和核心网通常会出现问题。UERANSIM和核心网请使用两台不同的机器。(您可以使用虚拟机或非虚拟机。)
2.4 TUN接口的使用
如果您想手动使用该接口,只需将TCP/IP套接字绑定到uesimtunX接口即可。
ping -I uesimtun0 google.com
或者
sudo curl --interface uesimtun0 google.com
但是,我们也提供了我们的实验性的./nr-binder工具,以方便地利用UE的连接。
2.4.1 通过./nr-binder工具使用TUN接口
您可以使用./nr-binder工具将uesimtunX接口绑定到几乎任何应用程序。
注意:使用。/nr-binder必须启用自动路由配置。例如,如果你想使用nr-binder功能,不要使用no-routing-config启动UE。
注意:./nr-binder是实验性的,可能不适用于某些应用程序。
使用方式:./nr-binder {PDU-SESSION-IP-ADDRESS} {COMMAND} {ARGS}
例如
./nr-binder 10.45.0.2 curl google.com
这样,curl命令将使用UE的IP地址10.45.0.2与google连接。(这里10.45.0.2是您要使用的PDU会话的IP地址。您可能需要将其替换为您自己的PDU会话地址。)
你也可以使用网络浏览器,比如Firefox。例如:
./nr-binder 10.45.0.2 firefox
运行此命令后,所有在Firefox中发生的网络流量,都将使用UE的internet连接。
注意:在运行上述命令之前,请关闭所有Firefox进程。
3. Ueransim特性
概述
UERANSIM实现了以下技术:
- 5G独立终端(3GPP接入)
- 5G独立RAN (CU gNB)
从基本意义上讲,UE可以被认为是移动电话,gNodeB可以被认为是基站。
接口
UE/RAN视角有3个主界面:
- 控制接口(RAN和AMF之间)
- 用户界面(介于RAN和UPF之间)
- 无线接口(UE和RAN之间)
控制平面
控制平面有2个接口:
- NAS控制UE
- NGAP控制RAN。
NAS的特性
NAS层实现如下特性:
- 主认证和密钥协议
- 安全模式控制
- 识别
- 通用终端配置更新
- 初始和定期注册
- 终端和网络发起注销
- UE主动建立PDU会话
- 终端和网络发起PDU会话释放
- 服务请求
以下特性尚未实现:
- e-Call不活动,通知
- PDU会话授权、修改
对于NAS安全:
- 实现了所有的完整性和加密算法。(ia1, ia2, ia3, ea1, ea2, ea3)
- 所有主身份验证和密钥协商过程都被实现。(5g aka, eap aka ')
识别:
- 目前还没有实现NAI和加密SUCI。所有其他身份类型都可以使用(IMSI, IMEI, IMEISV)
注册:
- 实现了初始注册、移动更新注册、定期注册。
- 暂未实施紧急登记。
NGAP特性:
NGAP层实现了以下特性:
- PDU会话资源设置
- PDU会话资源释放
- 初始上下文设置
- UE上下文发布(NG-RAN节点启动和AMF节点启动)
- 终端环境修改
- UE初始消息
- 分页
- 下行NAS传输
- 上行NAS传输
- NAS未交付指示
- 重新路由NAS请求
- NG设置
- 错误提示
用户平面:
我们的RAN实现了用户平面的GTP协议。目前只支持IPv4。
无线接口:
UERANSIM不实现RRC层以下的5G无线电协议。5G无线电部分是通过端口4997的UDP协议模拟的。因此,PHY、MAC、RLC、PDCP在UERANSIM中没有实现。然而,主要的RRC程序在UERANSIM中可用。
附录
如果您无法连接到互联网,请确保满足以下条件:
- UERANSIM和核心网配置成功。
- PDU会话建立成功。
- 给nr-binder的IP地址与相关IP PDU Session的IP地址完全相同。
注意:UERANSIM中的路由配置是实验性的,它不是该软件的主要功能。UERANSIM只保证创建TUN接口,但IP路由配置不保证服务于任何目的。如本文档所述,您应该将应用程序直接绑定到TUN接口,以便利用UE的internet连接。
UERANSIM 配置和使用相关推荐
- OAI网络切片三切片配置
文章目录 1. 机器网络配置 2.核心网配置 3.ueransim配置 4.核心网与主机B路由构建 启动 关闭 问题解决 问题1 问题2 先看 基于之前已经创建的三个核心网,我们现在需要将服务器A与主 ...
- free5GC — 部署端到端 5G 实验网络
目录 文章目录 目录 free5GC UE/RAN 模拟器 部署 free5GC 核心网 部署环境 free5GC AIO VM 前期准备 执行部署 部署控制面网元 部署用户面网元 启动网元 测试验证 ...
- 飞腾-麒麟-ARM-5GC-UERANSIM
飞腾麒麟系统部署free5GC目录 组网图 Q&A 编译时访问go代理超时 mongodb启动失败 安装gtp5g失败 编译upf报错 运行free5GC测试脚本gtp5g报错 运行网元提示配 ...
- UERANSIM的使用
GitHub - aligungr/UERANSIM: Open source 5G UE and RAN (gNodeB) implementation. 上面是UERANSIM的源代码网址.UER ...
- 【OpenAirInterface】分立部署核心网与容器化ueransim仿真基站
分立部署OAI核心网与容器版ueransim 1.任务说明 2.部署前提 3.部署过程 3.1网络配置 3.2核心网启动 (此为错误发现过程) 3.3启动容器化ueransim(此为错误发现与解决过程 ...
- 分立部署Ueransim和5GCN_v1.5.0原理及实现
目录 1. 宿主机及虚拟机的互通 1.1 互通 1.2 虚拟机静态ip配置 2. 5GC部署 2.1 PC1启动核心网 2.2 核心网docker-compose文件的网络配置 public_net ...
- nginx配置http、https访问,nginx指定ssl证书,阿里云腾讯云华为云设置nginx https安全访问
nginx配置http.https访问 要设置https访问需要从对应的云厂商申请证书,并下载Nginx证书到服务器. 我这里从阿里云申请了免费的域名证书,然后将证书放置在服务器的/etc/ssl/. ...
- 在kotlin companion object中读取spring boot配置文件,静态类使用@Value注解配置
在kotlin companion object中读取配置文件 静态类使用@Value注解配置 class Config {@Value("\${name}")fun setNam ...
- 大数据学习01——配置虚拟机节点相关网络
1.配置mac地址和ip (1)更改适配器设置 找到这个后开始设置windows中的网络连接 (2)接着对三台虚拟机的mac地址和ip进行设置 1.mac地址设置 进入linux节点中的这个位置进行设 ...
最新文章
- php设置at定时,laravel定时任务
- data augmentation 数据增强方法总结
- oracle database 12cr2 使用 dbms_stat 采集统计信息
- C# 操作并口类,并口通信
- MongoDB初探系列之二:认识MongoDB提供的一些经常使用工具
- 读《大道至简》第四章有感
- python做var模型_【Python金融量化】VaR系列(五):Copula模型估计组合VaR
- bug-AttributeError: ‘NoneType‘ object has no attribute ‘append‘
- 关于MARATHON和容器的端口映射
- SQL Prompt快捷键
- Pointnet网络结构与代码解读
- Python学习笔记(六) python-nmap下载及搭建
- 系统崩溃,TCP协议栈
- mysql mtq_mysql重点词汇 - osc_r3mtqivi的个人空间 - OSCHINA - 中文开源技术交流社区
- 2021.3.14学习随笔
- 朱丹老师课程学习笔记:8、职场晋升-没人带怎么办?这样搜资料的小白也能变大神
- 00:编程入门--了解计算机
- c语言windows.h头文件详解
- java 发送邮件 ip被网易拉黑,发信IP或者发件人地址被网易加入了黑名单,原因如下及解决方法!...
- 各大公司数据结构与算法面试题解答(一)
热门文章
- 人工智能、深度学习、机器学习常见面试题41~55
- 人体解析(Human Parse)开源数据集整理
- 数据分析——用户流失分析
- src中的 “/”、“./”与“../”
- Java Web基础概述
- Tuscany插件的安装
- html中怎么制作太阳月亮交替,CSS3 简单的地球/太阳/月亮动画
- C++统计文件夹中文件个数
- android图片特效处理之锐化效果
- 刺刀还在,理想已经滑落——“中国黑客”10年嬗变