Open5GS&&UeRANSim2:对安装在同一个VM上的OPEN5GS和UERANSIM进行配置和抓取wireshark报文

参考链接:

Configuring SCTP & NGAP with UERANSIM and Open5GS on a Single VM for the Open5GS & UERANSIM Series
https://www.youtube.com/watch?v=INgEX5L5fkE&list=PLZqpS76PykwIoqMdUt6noAor7eJw83bbp&index=5

Configuring RRC with UERANSIM and Open5GS on a Single VM for the Open5GS & UERANSIM Series
https://www.youtube.com/watch?v=ZM9jOCdElMs&list=PLZqpS76PykwIoqMdUt6noAor7eJw83bbp&index=6

Wireshark Dissector for Radio Link Simulation Protocol from UERANSIM
https://github.com/louisroyer/RLS-wireshark-dissector

OPEN5GS和UERANSIM目前状态:
现在OPEN5GS和UERANSIM安装在同一个virtual machine,并且没有修改默认配置。所以两者目前都使用的都是回环的local ip。

安装并运行wireshark

首先安装wireshark,wireshark的版本要求至少在3.0之上(包含nr-rrc dissector等)。
抓取RAN和AMF建立NGAP连接的报文。

sudo apt-get install wireshark
sudo wireshark &

选择Loopback:lo口抓取log
在这里插入图片描述
当UERANSIM的gnode模块通过…/build/nr-gnb -c open5gs-gnb.yaml连接到open5GS的AMF,可以看到有如下的SCTP和NGAP报文。AMF的ip是127.0.0.5,gnode的ip是127.0.0.1. AMF回复NGSetupResponse,表示NGAP连接成功建立。
在这里插入图片描述

配置SCTP和NGAP的参数

默认参数

OPEN5GS和UeRANSim装在同一个VM上,下面是软件默认配置。使用的网段是127.0.0.0/24,说明默认只有最有一个byte配置模块IP。
本文关注的是AMFD,即AMF的deamon进程/服务;以及GNB和UE。
GNB和UE通过建立在RLS(Radio Link Simulator)之上的RRC交互。 由于UeRANSIm只是GNB的模拟,不是真实的RAN,所以没有RLC,以及之下的MAC和PHYS层。UeRANSIm的RRC建立在自定义的RLS之上。
AFMD和GNB通过建立在SCTP(使用端口28412)的NGAP协议交互。

在Open5GS中,默认IP配置:
AMFD为127.0.0.5,
SMFD为127.0.0.4
UPFD为127.0.0.7
NRFD为127.0.0.10
AUSF为127.0.0.11
UDMD为127.0.0.12
UDRD为127.0.0.20
在这里插入图片描述

查看AMF配置

按照下图,AMF的配置文件是/etc/open5gs/amf.yaml
在这里插入图片描述
AMF的配置文件内容见下图,从NGAP配置可以看到N2口的AMF侧端点IP为127.0.0.5。由于NGAP建立在SCTP(默认端口38412)之上,所以不需要配置port。
SBI server配置为 ip:port =127.0.0.5:7777, 表示AMF和其他核心网模块交互的IP和端口。
图中最下面,AMF的network_name 为Open5GS,amf_name为open5GS_amf0

在这里插入图片描述

修改Gnb配置

修改GNB和UE的参数配置。首先将默认配置拷贝到gnb1.yaml和ue1.yaml中。
在这里插入图片描述
修改gnb1.yaml文件中,linkIP,ngapIP,gtpIP的值。默认都是127.0.0.1.
抓包的时候所有从gnb出去的报文都是127.0.0.1,不方便分析。
参考下图分别修改为127.0.0.101,127.0.0.100,127.0.0.200.
AMF的配置是127.0.0.5,和Open5GS的AMF默认配置相同,所以维持不变,不用修改。
在这里插入图片描述
修改后通过修改后的gnb1.yaml启动GNB,wireshark过滤127.0.0.5 ip。
可以看到GNB通过127.0.0.100成功连接AMF建立NGAP连接。
在这里插入图片描述

添加RLS dissector至wireshark (查看UE和GNB之间RRC交互)

UeRANSim 模拟UE和Gnode,没有空口的L2 L1层。所以RRC之下是自定义的RLS (Radio Link Simulator)层。
需要针对RLS添加RLS dissector,以查看UE和GNB之间的RRC消息。

确认wireshark plugin目录

在这里插入图片描述

拷贝RLS dissector至wireshark plugin目录

sudo git clone https://github.com/louisroyer/RLS-wireshark-dissector.git
在这里插入图片描述
重新进入wireshark可以看到RLS协议已经安装。
在这里插入图片描述

添加UE信息至Open5GS

首先将默认配置拷贝到ue1.yaml中. 下图是UE的配置文件。根据此文件的参数,将UE信息添加到Open5GS的webUI中。
根据ue1.yaml中的SUPI来填写IMSI。
SUPI是分配给每个用户并在3GPP规范TS 23.501中定义的5G全局唯一订阅永久标识符(SUPI)。SUPI值在5G Core中的USIM和UDM / UDR功能中提供。

在这里插入图片描述
打开open 5GS web UI. 点击’ADD A SUBSCRIBER’.
在这里插入图片描述
在create Subscriber窗口里只需要按照ue1的IMSI添加进去即可。其他都和ue1.yaml的配置相同,维持不变即可。
在这里插入图片描述
添加成功后,如下图:
在这里插入图片描述

修改UE配置

由于GNB的linkip在之前修改为127.0.0.101. 所以ue1.yaml的gnbSearchList修改为127.0.0.101
在这里插入图片描述

SUPI对应标准

见3GPP TS23.501 的5.9.2节。和 3GPP TS23.003 的2.2节。SUPI的其中一种类型就是IMSI,在UeRANSIm和Open5GS中配置的就是IMSI。
在这里插入图片描述
在这里插入图片描述

第一次UE连接GNB的日志

分别使用下图中命令先后拉起GNB和UE。
虽然log显示PDU session成功建立。
但是UE的log有如下报错:
[error] TUN interface could not be setup. Permission denied. Please run the UE with ‘sudo’
在这里插入图片描述

第二次以root权限连接UE和GNB

在这里插入图片描述
UeRANSim的tunnel interface
通过ip addr命令,可以看到成功建立了Tunnel Interface uesimtum0,ip为10.45.0.4.
在这里插入图片描述
从wireshark抓包,过滤nr-rrc,NGAP报文。下面两张图分别是在RRC和NGAP上传送的NAS Registration request消息。
RRC是127.0.0.1和127…0.0.101之间的ip连接,NGAP是127.0.0.100和127.0.0.5之间的ip连接。
在这里插入图片描述
在这里插入图片描述

UU空口的控制面协议栈

通过wireshark报文可以看到UeRANSim UU口的协议栈和真正UU口协议栈的差异。
在这里插入图片描述

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-21 11:06:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-21 11:06:01       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-21 11:06:01       82 阅读
  4. Python语言-面向对象

    2023-12-21 11:06:01       91 阅读

热门阅读

  1. 进程间通讯-信号量

    2023-12-21 11:06:01       58 阅读
  2. stable diffusion 极简入门 核心 概念介绍 使用

    2023-12-21 11:06:01       56 阅读
  3. Boost.Python与BOOST_TEST_EQ宏的示例编程

    2023-12-21 11:06:01       56 阅读
  4. 使用 Layui 的 template 模块来动态加载select选项

    2023-12-21 11:06:01       55 阅读
  5. Qt 软件界面点击QCombBox控件,造成整个界面移位

    2023-12-21 11:06:01       47 阅读
  6. Mybatis配置-映射器(mappers)

    2023-12-21 11:06:01       55 阅读
  7. Vite 打包时修改静态资源的路径

    2023-12-21 11:06:01       60 阅读