当前位置: 首页>开发笔记>正文

openwrt 機場,【OpenAirInterface】分立部署核心網與容器化ueransim仿真基站

openwrt 機場,【OpenAirInterface】分立部署核心網與容器化ueransim仿真基站

分立部署OAI核心網與容器版ueransim

  • 1.任務說明
  • 2.部署前提
  • 3.部署過程
    • 3.1網絡配置
    • 3.2核心網啟動 (此為錯誤發現過程)
    • 3.3啟動容器化ueransim(此為錯誤發現與解決過程)
      • 3.3.1直接啟動問題發現
      • 3.3.2問題解決
  • 4.說明及純享版開啟流程
    • 4.1開啟流程純享版

1.任務說明

openwrt 機場。有兩臺機器,服務器A與主機B,A與B通過網線直連,在A上部署OAI基礎核心網,在B上部署docker 版ueransim,實現ueransim的成功接入。

我使用的服務器A與主機B上此前已下載部署過核心網與ueransim,此篇文章主要解決如何在兩臺機器上分立部署的問題。

在一臺機器上進行部署的詳細鏈接:基于Docker的UERANSIM多基站接入5GCN

2.部署前提

仿真終端、服務器A上在windows系統中安裝了VM虛擬機,其上安裝ubuntu18.04系統。下載部署成功了OAI核心網(版本v1.5.0)。

主機B上在windows系統中安裝了VM虛擬機,其上安裝ubuntu18.04系統。下載了OAI核心網(用于測試)與docker版 ueransim仿真基站,并測試可以成功接入。

3.部署過程

3.1網絡配置

首先需要進行兩臺機器的網絡配置,讓兩臺機器可以互相ping通。

服務器A上網絡配置如下:

將服務器的NIC4接口與虛擬機的VMnet4映射橋接起來,在虛擬機種選中使用VMnet4網絡
在這里插入圖片描述
在這里插入圖片描述
對主機B進行相似操作
在這里插入圖片描述
在這里插入圖片描述
然后配置兩個虛擬機使用到網絡為靜態IP,以使兩機器能長期通信

#打開配置網絡文件
sudo vim /etc/netplan/01-network-manager-all.yaml   

此為服務器A上配置
在這里插入圖片描述
此為主機B上配置,兩機器上保持網段在同一網段
在這里插入圖片描述

#應用改網絡設置
sudo netplan apply

然后測試兩機器是否接通,通過互相ping的方式,可以互相ping通在這里插入圖片描述

3.2核心網啟動 (此為錯誤發現過程)

#核心網網絡轉發的配置
sudo sysctl net.ipv4.conf.all forwarding=1
sudo iptables -P FORWARD ACCEPT
#進入核心網啟動文件夾
cd /oai-cn5g-fed/docker-compose
#啟動核心網
docker-compose -f docker-compose-basic-vpp-nrf.yaml up -d

嘗試啟動核心網啟動成功
在這里插入圖片描述

在主機B上添加路由轉發,轉發到服務器A上的demo-oai網橋(錯誤的多余步驟,正確的路由轉發見后文

#192.168.70.0來自于核心網啟動的docker-compose.yaml文件里network下的設置
sudo ip route add 192.168.70.0/24 via 192.168.12.3 dev ens33
sudo ip route add 192.168.72.0/24 via 192.168.12.3 dev ens33

在主機B上測試是否可以ping到核心網,其中192.168.70.1是核心網demo-oai網橋,成功ping通,說明主機B可以與核心網進行通信
在這里插入圖片描述

3.3啟動容器化ueransim(此為錯誤發現與解決過程)

3.3.1直接啟動問題發現

啟動ueranism,發現無法啟動,ueransim1的啟動需要依托網絡demo-oai-public-net,主機B上并沒有創建這個網絡,服務器A上啟動OAI核心網后是創建了這個網絡的。
很顯然,這里涉及到了容器之間的跨機器工作問題,主機B上啟動docker版ueransim依賴demo-oai-public-net網絡,但主機B上的容器無法找到武器A上創建的網絡,同時涉及到docker-compose網絡配置的問題

在這里插入圖片描述
下圖分別為核心網docker-compose文件與ueransim的docke-compose文件中的網絡配置
在這里插入圖片描述

在這里插入圖片描述

3.3.2問題解決

思路:修改ueransim的docker-compose文件,使其可以連接到服務器A上的核心網

先對docker-compose文件中各個參數的意義有所了解如:基于Docker的UERANSIM多基站接入5GCN
學習容器跨主機進行通信Docker容器跨主機通訊的幾種方式

主要參考鏈接為:兩種常用的跨主機Docker容器互通方法
跨主機容器通信

文章中將兩臺機器的docker0網橋連接起來,docker啟動的時候會在主機上自動創建一個docker0網橋,實際上是一個Linux網橋,所有容器的啟動如果在docker run的時候沒有指定網絡模式的情況下都會掛載到docker0網橋上。這樣容器就可以和主機甚至是其他容器之間通訊了。我們使用的是自己創建的網橋demo-oai-public-net ,所以不是接通docker0,而是接通兩個機器上的demo-oai-public-net。
在docker版ueransim的docker-compose.yaml文件里加入所需的網橋:

原來
在這里插入圖片描述
現在:
之所以如此添加是因為啟動的核心網是docker-compose-basic-nrf-vpp版本,此更改依據要接入的核心網版本進行對應的更改。
在這里插入圖片描述
除此以外其他相關設置如:LINK_IP、 NGAP_IP、GTP_IP 、NGAP_PEER_IP、GNB_IP_ADDRESS也需進行相應更改

ueransim docker-compose.yaml文件更改后全文如下:

version: '3.8'
services:
#對名字進行了更改,避免重名ueransim33:container_name: ueransim33image: ueransim:latestprivileged: trueenvironment:# GNB Congig Parameters- MCC=208- MNC=95- NCI=0x000000010- TAC=0xa000#此三個ip網段對應本地創建的demo-oai的網段,最后141可更改,但此三個需相同- LINK_IP=192.168.60.141 - NGAP_IP=192.168.60.141- GTP_IP=192.168.62.141#此為核心網amf的接入ip- 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#此為ue接入gnb的ip,更改為LINK_IP- GNB_IP_ADDRESS=192.168.60.141- PDU_TYPE=IPv4- APN=default- SST_0=222- SD_0=123- SST_C=222- SD_C=123- SST_D=222- SD_D=123networks:#下面網絡均更改與最下面的networks一致public_net:ipv4_address: 192.168.60.141public_net_access:ipv4_address: 192.168.62.141healthcheck:test: /bin/bash -c "ifconfig uesimtun0"interval: 10stimeout: 5sretries: 5#創建出與核心網同名網橋,但網段不同避免沖突
networks:public_net:driver: bridgename: demo-oai-public-netipam:config:- subnet: 192.168.60.0/24driver_opts:com.docker.network.bridge.name: "demo-oai"public_net_access:name: oai-public-accessipam:config:- subnet: 192.168.62.0/24driver_opts:com.docker.network.bridge.name: "cn5g-access"

結構圖如下:
在這里插入圖片描述
將主機B上容器接入服務器A上demo-oai網橋,在主機B上添加如下路由:

sudo route add -net 192.168.70.0/24 gw 192.168.12.3
sudo route add -net 192.168.72.0/24 gw 192.168.12.3

在這里插入圖片描述
將服務器A與主機B上demo-oai網橋接通,在服務器A上添加如下路由:

sudo route add -net 192.168.60.0/24 gw 192.168.12.33
sudo route add -net 192.168.62.0/24 gw 192.168.12.33

在這里插入圖片描述

啟動docker版 ueransim

docker-compose -f ueransim33.yaml up -d

在這里插入圖片描述
查看ueransim日志:

docker ueransim33 logs

成功開啟了uesimtun0,代表啟動成功:
在這里插入圖片描述

4.說明及純享版開啟流程

服務器A與主機B上添加的路由規則重啟后會消失,所以每次都需重新添加

4.1開啟流程純享版

上面主要進行了幾個工作 :

  1. 基礎準備:兩機器上核心網與ueransim的下載與部署測試;
  2. 兩機器網線直連
  3. 兩機器設置靜態ip可以互相ping通
  4. 兩機器設置路由轉發以及ueransim的docker-compose.yaml文件修改,讓主機B的ueransim容器數據可以傳入服務器A的核心網網橋demo-oai里
  5. 啟動核心網
  6. 啟動基站

其中1、2、3以及4中yaml文件的修改是一勞永逸的,詳情參照上文。其他步驟是每次開啟都需重新操作的,如下:

服務器A設置路由轉發:

sudo sysctl net.ipv4.conf.all.forwarding=1
sudo iptables -P FORWARD ACCEPT
sudo route add -net 192.168.60.0/24 gw 192.168.12.33

主機B設置路由轉發:

sudo route add -net 192.168.70.0/24 gw 192.168.12.3

服務器A開啟核心網:

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

主機B開啟ueransim:

docker-compose -f ueransim33.yaml up -d

查看是否生成uesimtun0:

docker ueransim33 logs

https://www.zydui.com/afcf0V28CAwVRClUG.html
>

相关文章:

  • openwrt 機場
  • 仿真終端
  • 接入網 核心網 承載網
  • 自組網基站
  • ieee節點仿真怎么弄
  • 容器化部署的優勢
  • 基站rru設備
  • 分布式基站
  • vscode搭建nodejs環境,關于VS code ESP-IDF 提示“loading ‘build.ninja‘: 系統找不到指定的文件” 的解決方案
  • 什么是應用軟件并舉例,16.應用舉例
  • 【面經】美團春招三輪面經分享~涵蓋眾多知識點
  • 2021年面試題目,面試題--新增
  • magic king怎么讀,magick++ 簡介
  • 微信怎么設置定時發送,朋友圈可以定時發送嗎?
  • can not connect to rpc service,RPC service
  • ftpserver安卓版,FTPServer
  • server u使用教程,Server-U
  • rpc服務器,RPC 和 Web Service 有什么區別?
  • rpc服務器,web service和rpc的區別
  • psexec
  • dhclient命令,hpe?3par命令行查看狀況腳本
  • hp存儲默認管理口地址,HP3par 多路徑存儲磁盤使用方法
  • hp3par命令行手冊,3par命令集
  • 存儲器芯片的地址范圍,存儲器芯片類別有哪些?
  • 在pc機中各類存儲器,1.14各類存儲器芯片
  • 存儲芯片漲價最新消息,存儲器芯片
  • Windows/Linux性能監控軟件>csv文件,方便生成圖表
  • sqlserver nvarchar,【SQL開發實戰技巧】系列(四十五):Oracle12C常用新特性?VARCHAR2/NVARCHAR2類型最大長度由40
  • arcgis怎么導入地圖,Arcgis路網導入3dmax批量改成道路面
  • 定義animal父類,定義一個父類Animal eat方法 , 定義兩個子類 Dog 特有方法keepHome , Cat 特有方法 catchMouse ;并
  • 手機連接兩個藍牙方法,打開藍牙的設置
  • iconfont圖標免費嗎,關于阿里矢量圖標彩色icon使用
  • ps制作賽博朋克風格,如何用ps做出賽博朋克的風格?
  • ue4綠幕實時導入場景,如何在UE4中制作賽博朋克LED效果
  • 產品經理有哪些培訓課程,2023年全國NPDP產品經理國際認證火熱招生啦
  • B端產品需要什么能力,NPDP認證|B端產品經理是如何做競品調研的?
  • 超級工具,Supershell 一款牛叉閃閃的工具
  • buffer在c語言中是什么意思,QBuffer 用法理解