UWERANSIM - OAI5GC分立部署教程

news2024/10/6 18:27:51

环境:

Ubantu18.04
OAI-5GCv1.5.0
UERANSIMv3.2.6

网络: 

Host1:OAI-5GCens37:192.168.12.3
Host2:UERANSIMens40:192.168.12.33

 确保两台宿主机之间互通!

网络配置 

  • Host1 网络:OAI
ens37: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.12.3  netmask 255.255.255.0  broadcast 192.168.12.255
        inet6 fe80::20c:29ff:feed:a29d  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:ed:a2:9d  txqueuelen 1000  (Ethernet)
        RX packets 349  bytes 58585 (58.5 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 216  bytes 19769 (19.7 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 需要添加的命令(可选)

当我们基站和核心网分开部署时,大多数情况下,计算机未配置数据包转发。可以使用以下命令启用它。部署在一个虚拟机中时不需要。

sudo sysctl net.ipv4.conf.all.forwarding=1
sudo iptables -P FORWARD ACCEPT
  • Host2 网络:UERANSIM
ens40: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.12.33  netmask 255.255.255.0  broadcast 192.168.12.255
        inet6 fe80::20c:29ff:fe6a:9c3e  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:6a:9c:3e  txqueuelen 1000  (Ethernet)
        RX packets 2229  bytes 176319 (176.3 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 314  bytes 29557 (29.5 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

需要添加的命令

sudo ip route add 192.168.70.0/24 via 192.168.12.3 dev ens40
sudo ip route add 192.168.72.0/24 via 192.168.12.3 dev ens40

注意:跨设备的UERANSIM部署一定要添加除了到70.1的路由以外的72.1的路由,不然UERANSIM看起来接上了,其实nr-binder的用户数据无法传输! 

UERANSIM配置 

参考OAI官网给出的配置文件docker-compose-ueransim-vpp.yaml(见本文附录)

  • gNB
mcc: '208'          # Mobile Country Code value
mnc: '95'           # Mobile Network Code value (2 or 3 digits)

nci: '0x000000010'  # NR Cell Identity (36-bit)
idLength: 32        # NR gNB ID length in bits [22...32]
tac: 0xa000              # Tracking Area Code

linkIp: 192.168.12.33   # gNB's local IP address for Radio Link Simulation (与对应物理网卡ip一致)
ngapIp: 192.168.12.33   # gNB's local IP address for N2 Interface (与对应物理网卡ip一致)
gtpIp: 192.168.12.33    # gNB's local IP address for N3 Interface (与对应物理网卡ip一致)

# List of AMF address information
amfConfigs:
  - address: 192.168.70.132 # OAI核心网amf网元对应ip
    port: 38412

# List of supported S-NSSAIs by this gNB
slices:
  - sst: 222
    sd: 123

# Indicates whether or not SCTP stream number errors should be ignored.
ignoreStreamIds: true
  • UE
# IMSI number of the UE. IMSI = [MCC|MNC|MSISDN] (In total 15 digits)
supi: 'imsi-208950000000033'
# Mobile Country Code value of HPLMN
mcc: '208'
# Mobile Network Code value of HPLMN (2 or 3 digits)
mnc: '95'
# Routing Indicator
routingIndicator: '0000'

# Permanent subscription key
key: '0C0A34601D4F07677303652C0462535B'
# Operator code (OP or OPC) of the UE
op: '63bfa50ee6523365ff14c1f45f88737d'
# This value specifies the OP type and it can be either 'OP' or 'OPC'
opType: 'OPC'
# Authentication Management Field (AMF) value
amf: '8000'
# IMEI number of the device. It is used if no SUPI is provided
imei: '356938035643803'
# IMEISV number of the device. It is used if no SUPI and IMEI is provided
imeiSv: '0035609204079514'

# List of gNB IP addresses for Radio Link Simulation
gnbSearchList:
  - 192.168.12.33

# UAC Access Identities Configuration
uacAic:
  mps: false
  mcs: false

# UAC Access Control Class
uacAcc:
  normalClass: 0
  class11: false
  class12: false
  class13: false
  class14: false
  class15: false

# Initial PDU sessions to be established
sessions:
  - type: 'IPv4'
    apn: 'default'
    slice:
      sst: 222
      sd: 123

# Configured NSSAI for this UE by HPLMN
configured-nssai:
  - sst: 222
    sd: 123
# Default Configured NSSAI for this UE
default-nssai:
  - sst: 222
    sd: 123

# Supported integrity algorithms by this UE
integrity:
  IA1: true
  IA2: true
  IA3: true

# Supported encryption algorithms by this UE
ciphering:
  EA1: true
  EA2: true
  EA3: true

# Integrity protection maximum data rate for user plane
integrityMaxRate:
  uplink: 'full'
  downlink: 'full'

启动

核心网启动

docker-compose  -f docker-compose-basic-vpp-nrf.yaml up -d

ping测试

lab@lab-virtual-machine:~/UERANSIM/config$ ping 192.168.70.132 -c 4
PING 192.168.70.132 (192.168.70.132) 56(84) bytes of data.
64 bytes from 192.168.70.132: icmp_seq=1 ttl=63 time=0.906 ms
64 bytes from 192.168.70.132: icmp_seq=2 ttl=63 time=0.799 ms
64 bytes from 192.168.70.132: icmp_seq=3 ttl=63 time=0.761 ms
64 bytes from 192.168.70.132: icmp_seq=4 ttl=63 time=0.847 ms

--- 192.168.70.132 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3045ms
rtt min/avg/max/mdev = 0.761/0.828/0.906/0.057 ms
lab@lab-virtual-machine:~/UERANSIM/config$ ping 192.168.70.1 -c 4
PING 192.168.70.1 (192.168.70.1) 56(84) bytes of data.
64 bytes from 192.168.70.1: icmp_seq=1 ttl=64 time=0.779 ms
64 bytes from 192.168.70.1: icmp_seq=2 ttl=64 time=0.767 ms
64 bytes from 192.168.70.1: icmp_seq=3 ttl=64 time=0.603 ms
64 bytes from 192.168.70.1: icmp_seq=4 ttl=64 time=0.705 ms

--- 192.168.70.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3071ms
rtt min/avg/max/mdev = 0.603/0.713/0.779/0.074 ms

 基站启动

cd ~/UERANSIM/build

./nr-gnb -c ../config/open5gs-gnb.yaml
./nr-ue -c ../config/open5gs-ue.yaml

amf日志:

数据流测试: 

  • 首先查看一下网络
uesimtun0: flags=369<UP,POINTOPOINT,NOTRAILERS,RUNNING,PROMISC>  mtu 1400
        inet 12.1.1.4  netmask 255.255.255.255  destination 12.1.1.4
        inet6 fe80::7b49:fa87:b907:607b  prefixlen 64  scopeid 0x20<link>
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 500  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 10  bytes 592 (592.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  • ping测试
ping -I 12.1.1.3 192.168.70.1

容易发现通过tun0接口ping核心网网元是ping不通的 

  • nr-binder测试
lab@lab-virtual-machine:~/oai-cn5g-fed/docker-compose/gNB$ python3 TCPserve.py
lab@lab-virtual-machine:~/UERANSIM/build$ ./nr-binder 12.1.1.3 python3 TCPclient.py

结果

附录

version: '3.8'
services:
    ueransim:
        container_name: ueransim
        image: ueransim:latest
        privileged: true
        environment:
            # GNB Congig Parameters
            - MCC=208
            - MNC=95
            - NCI=0x000000010
            - TAC=0xa000
            - LINK_IP=192.168.70.141
            - NGAP_IP=192.168.70.141
            - GTP_IP=192.168.72.141
            - NGAP_PEER_IP=192.168.70.132
            - SST=222
            - SD=123
            - IGNORE_STREAM_IDS=true
            # UE Config Parameters
            - NUMBER_OF_UE=1
            - IMSI=208950000000031
            - KEY=0C0A34601D4F07677303652C0462535B
            - OP=63bfa50ee6523365ff14c1f45f88737d
            - OP_TYPE=OPC
            - AMF_VALUE=8000
            - IMEI=356938035643803
            - IMEI_SV=0035609204079514
            - GNB_IP_ADDRESS=192.168.70.141
            - PDU_TYPE=IPv4
            - APN=default
            - SST_0=222
            - SD_0=123
            - SST_C=222
            - SD_C=123
            - SST_D=222
            - SD_D=123
        networks:
            public_net:
                ipv4_address: 192.168.70.141
            public_net_access:
                ipv4_address: 192.168.72.141
        healthcheck:
            test: /bin/bash -c "ifconfig uesimtun0"
            interval: 10s
            timeout: 5s
            retries: 5
networks:
    public_net:
        external:
            name: demo-oai-public-net
    public_net_access:
        external:
            name: oai-public-access

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/455827.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

掌握 Web3 游戏数据分析,详述 4 个开发者需追踪的关键指标

引入&#xff1a;需要关注的关键指标包括哪些 区块链游戏在开发运营过程中需要追踪的关键指标包括红馆加密市场数据&#xff0c;DAU、MAU 和用户留存相关的用户数据、社交媒体参与数据&#xff0c;以及游戏内资产等生态系统相关数据。 主要观点&#xff1a; GameFi 项目与传统…

我国集成电路行业发展重心逐步转向芯片设计 高端设备材料领域国产化迫在眉睫

1、集成电路概念及其产业链图解 集成电路&#xff08;integrated circuit&#xff09;缩写为IC&#xff0c;是一种微型电子器件或部件&#xff0c;其是采用一定工艺将一块电路所需的晶体管、二极管、电阻、电容和电感等电子元器件制做在一块或几小块晶片或晶片上&#xff0c;然…

Navicat连接oracle数据库时报ORA-28547错的解决方法(亲测有效)

​ 文章目录 一. 问题说明二. 问题解决1. 查询Oracl版本2. 下载Oracle对应oci.dll文件3. 修改oci配置4. 重启Navicat并连接Oracle5. 总结navicat配置oci教程步骤 一. 问题说明 这是因为Navicat自带的oci.dll并不支持oracle11g&#xff0c;需要去官网下载对应支持的版本。 二.…

WIFI6模块AP6275系列选性参考和外围应用电路参考

AP6275系列是采用28纳米工艺的BCM43752方案设计、封装15x13mm/LGA-50&#xff0c;有SDIO接口和PCIe接口可选&#xff0c;同时还有蓝牙和WiFi天线是否共用区分&#xff1b;具体如下&#xff1a; AP6275S通信接口SDIO3.0WiFi/UARTBT5.3&#xff1b;吞吐量TX>450Mbps、RX>55…

Raft 共识算法1-Raft基础

Raft 共识算法1-Raft基础 Raft算法中译版地址&#xff1a;http://www.redisant.cn/etcd/contact 英原论文地址&#xff1a;https://raft.github.io/raft.pdf Etcd Assistant 是一款 etcd 可视化管理软件&#xff0c;便捷高效地操作您的 etcd 集群&#xff1b;支持多种键的视图&…

【Cisco Packet Tracer| 三.单交换机划分VLAN】

文章目录 一.实验原理二.连接实验拓扑图1.给主机和交换机之间连线2.给四台主机设置IP地址 三.未划分VLAN情况下查看4台主机间是否能ping通四.创建并划分VLAN1.创建VLAN2.划分VLAN 五.划分VLAN后查看4台主机间是否能ping通 一.实验原理 原理&#xff1a;单交换机连接4台主机&…

医药之家:国内首个三价轮状病毒疫苗上市!预防轮状病毒导致的婴幼儿腹泻

医药之家获悉&#xff0c;4月17日&#xff0c;国药集团中国生物兰州生物制品研究所自主研发的口服三价轮状病毒减毒活疫苗&#xff08;Vero细胞&#xff09;获批上市&#xff0c;这也是国内首个获准上市的三价轮状病毒疫苗。 轮状病毒是一种双链RNA病毒&#xff0c;常见于6个月…

若依系统部署在linux系统 验证码报错:FontConfiguration.getVersion报空指针异常

最近遇到一个问题&#xff1a;若依前后端分离后端服务部署到linnux系统后访问/capthaImage 报空指针异常&#xff01; 报错如下&#xff1a; 首先看问题sun.awt.FontConfiguration.getVersion(); 这是jdk的问题啊&#xff01; 首先查看linux系统的jdk信息 openjdk version &q…

数据库基础篇 《6. 多表查询》

目录 1. 一个案例引发的多表连接 1.1 案例说明 1.2 笛卡尔积&#xff08;或交叉连接&#xff09;的理解 1.3 案例分析与问题解决 2. 多表查询分类讲解 分类1&#xff1a;等值连接 vs 非等值连接 等值连接 非等值连接 ​编辑 分类2&#xff1a;自连接 vs 非自连接 分类3&…

C语言从入门到精通第7天(scanf、printf、getchar函数的使用)

scanf、printf、getchar函数的使用 printf函数scanf函数getchar函数 printf函数 在C语言中使用printf函数进行格式化的输出&#xff0c;它是一个可变的参数函数&#xff0c;参数的个数不定。在前面我们已经学习了各个类型的打印格式&#xff0c;这里就对最常见的输出格式进行介…

如何在模拟器里面脱360的壳

1.准备环境 1.夜神模拟器 2.pyhton3.8 3.frida的版本 16.0.17 4.frida-dexdump 2.设置adb连接 我们打开夜神模拟器所在的文件夹&#xff0c;里面有自带的adb&#xff0c;我们在这个文件夹里面打开cmd。在里面链接上夜神模拟器。 adb devices 我这边显示链接成功了。 3.…

全平台数据(数据库)管理工具 DataCap 管理 Rainbond 上的所有数据库

DataCap是用于数据转换、集成和可视化的集成软件&#xff0c;支持多种数据源、文件类型、大数据相关数据库、关系数据库、NoSQL数据库等。通过该 DataCap 可以实现对多个数据源的管理&#xff0c;对数据源下的数据进行各种操作转换&#xff0c;制作数据图表&#xff0c;监控数据…

蓝牙耳机哪个牌子的音质好一些?三百内音质最好的蓝牙耳机排行

近几年&#xff0c;随着蓝牙耳机的普及&#xff0c;越来越多的人喜欢在追剧、运动以及听歌时戴蓝牙耳机。蓝牙耳机的性能越来越强大&#xff0c;使用也越来越方便。下面&#xff0c;我来给大家推荐几款三百内音质好的蓝牙耳机&#xff0c;可以当个参考。 一、南卡小音舱Lite2蓝…

Ext4日志优化-iJournaling

背景 这几年随着SSD等高性能介质的普及&#xff0c;及其在大规模分布式存储系统上的应用。基于Append only的日志写入技术也应用得越来越多&#xff0c;这几天刚好有空&#xff0c;重读了Ext4文件系统的日志部分的内容&#xff0c;也正好看到一篇对Ext4日志技术进行优化的论文…

Measuement Comuputing 公司USB-1608GX设备EPICS驱动的安装和调试记录

1、USB-1608GX模块简介 单端输入的管脚图 差分输入管脚图 USB-1608GX模块具有以下功能&#xff1a; 1&#xff09; 16位模拟输入&#xff1a; 16路单端通道或者8路差分通道。每个通道可编程的范围&#xff1a;-1V-1V&#xff0c;-2V-2V&#xff0c;-5V-5V&#xff0c;-10V-10…

经典数据结构之2-3树

2-3树定义 2-3树&#xff0c;是最简单的B-树&#xff0c;其中2、3主要体现在每个非叶子节点都有2个或3个子节点&#xff0c;B-树即是平衡树&#xff0c;平衡树是为了解决不平衡树查询效率问题&#xff0c;常见的二叉平衡书有AVL树&#xff0c;它虽然提高了查询效率&#xff0c…

Mac AndroidStudio开发环境搭建

Mac AndroidStudio开发环境搭建 1.在Mac上配置环境变量 执行 open ~/.bash_profile (该文件是配置环境变量&#xff09; 如果提示没有 执行 touch ~/.bash_profile 进行创建 打开文件之后 新增jdk和android sdk 参考蓝色部分需要替换对应内容 #jdk export JAVA_HOME/Library/J…

【100个 Unity实用技能】 | InputField输入框组件实现输入限制,只能输入中文或特殊字符等

&#x1f3ac; 博客主页&#xff1a;https://xiaoy.blog.csdn.net &#x1f3a5; 本文由 呆呆敲代码的小Y 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f384; 学习专栏推荐&#xff1a;Unity系统学习专栏 &#x1f332; 游戏制作专栏推荐&#xff1a;游戏制作 &…

tar: invalid option -- ‘z‘

在嵌入式开发过程中&#xff0c;出现tar命令无法识别到z选项&#xff0c;说明我们系统的tar命令版本太旧了&#xff0c;需要进行版本更新 下载地址 ftp://alpha.gnu.org/gnu/tar/ 这里选择下载 tar-1.27.1.tar.gz 我发现这个网址有时候会缺少一些版本&#xff0c;其他版本…

NeRFStudio系列 Part 1:PipeLines概述

前言&#xff1a;Why NeRFStudio? NeRF社区是近两年来计算机领域最活跃的学术社区之一&#xff0c;各种具有milestone意义的算法层出不穷&#xff0c;各位作者的开源工作也做得非常扎实&#xff0c;非常多的工作都自带了code、data、project page。 但是后继者想要在这些伟大的…