Skip to content

Oai5g ubu22

2023/9/5 編集中

A. はじめに

OpenAirInterface5Gで開発された、5GのContainer Network Function (CNF)一式をUbuntu22のDocker環境で動かしてみます。そのビルド手順と起動手順を説明します。

OAI5G-1

  • CNF間の通信内容(N1、N2、SBI、N3、N4、N6)がWireSharkで観察できます。現状、コンテナ間通信は2つのブリッジ(L2SW)に集約されています(今後、参照点別に分離したい)。見にくい場合は、WireSharkのフィルタ機能を使ってください。
  • NR-UEコンテナのシェルから、gNB、UPF、DNを経由して実際のインターネットに接続できます(ping 8.8.8.8などが疎通できます)。
  • NR-UEとDNのコンテナにはiperfが組み込んであり、Uプレーン(NR-UE─gNB─UPF─DN)のスループット性能を計測できます。
  • 複数のNR-UEを同時起動できます。
  • 「Ubuntu18のみで動作する」と本家サイトに記載がありますが、Ubuntu22でも動いたのでこちらで解説します。調子良くない場合は、Ubuntu18をお試し下さい。インテルCPU用のマイクロコードを充てる等、動作環境が限定されている(?)ようです。

OAI5G-2

CNF一覧

CNF 役割 参照点(プロトコル) 備考
oai-nr-ue NR-UE N1(NAS) iperf実装
oai-gnb gNB N1, N2(NGAP), N3(GTPU) CU/DUに分離可能
oai-amf AMF N2, N12(SQL/TCP), N11(SBI)
mysql AUSF/UDM N12
oai-nrf NRF (SBI)
oai-smf SMF N11, N4(PFCP)
oai-spgwu UPF N3, N4, N6(IP) PGW-Uを拡張したもの
oai-ext-dn DN N6 iperf実装

ブリッジ(L2SW)一覧

ブリッジ名 収容参照点
public_net N1, N2, N3, N12, N11, N4
traffic_net N6

B. ビルド手順と起動手順

B.1 OpenAirInterface5Gから、コンフィギュレーション情報を取得します

B.2 Ubuntu22でDocker環境とDocker Compose環境を構築します

B.3 DockerHubから、CNFのコンテナをダウンロードします

B.4 Docker ComposeでNR-UE以外をビルド&起動します

B.5 Docker ComposeでNR-UEをビルド&起動します

B.6 NR-UEコンテナにログインします

B.7 DNコンテナにログインします

C. コンテナ間通信の観察

D. 今後