当前位置:   article > 正文

UERANSIM 配置和使用

ueransim

目录

1. 配置

2. 使用

2.1 基础用法-多用户接入

2.2 命令行界面的使用

2.3 数据平面的使用

2.4 TUN接口的使用

2.4.1 通过./nr-binder工具使用TUN接口

3. Ueransim特性

附录


我们参考Ueransim官网提供的资料,该教程使用的是下载源代码或克隆存储库的方式,与使用docker的方式大同小异:

  1. cd ~
  2. 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:

  1. $ nr-cli --dump
  2. imsi-001010000000001
  3. imsi-001010000000002
  4. imsi-001010000000003

执行nr-cli <node-name>命令后,如果给定的节点存在并在环境中运行,则会打开一个交互式shell。现在可以为该节点执行进一步的命令,例如

  1. user@pc:~/UERANSIM/build$ ./nr-cli UERANSIM-gnb-001-01-1
  2. --------------------------------------------------------------------------------------------
  3. $ commands
  4. amf-info | Show some status information about the given AMF
  5. amf-list | List all AMFs associated with the gNB
  6. info | Show some information about the gNB
  7. status | Show some status information about the gNB
  8. ue-count | Print the total number of UEs connected the this gNB
  9. ue-list | List all UEs associated with the gNB
  10. --------------------------------------------------------------------------------------------

您可以进一步调查子命令的用法和帮助信息,例如

  1. $ amf-info --help
  2. $ 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会话后,终端自动执行如下操作:

  1. 完成TUN接口的创建。
  2. 配置路由表、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实现了以下技术:                                                                                                       

  1. 5G独立终端(3GPP接入)
  2. 5G独立RAN (CU gNB)

从基本意义上讲,UE可以被认为是移动电话,gNodeB可以被认为是基站。

接口

UE/RAN视角有3个主界面:

  • 控制接口(RAN和AMF之间)
  • 用户界面(介于RAN和UPF之间)
  • 无线接口(UE和RAN之间)

控制平面

控制平面有2个接口:

  1. NAS控制UE
  2. 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连接

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/110636
推荐阅读
相关标签
  

闽ICP备14008679号