こんにちは、GMOインターネットグループ株式会社 ネットワークソリューションチームの梅崎です
今回は弊社にある実際のローカル5G環境のアンテナをFree5GCにつなげてみました
目次
構成
主に使ったもの
5Gコア | https://github.com/free5gc/free5gc 02638669e8daaa301775749a3a56cb66a143857b https://github.com/free5gc/gtp5g 652e8e512aa2371d0304253301ccf252cb41b357 |
OS | Ubuntu 22.04.2 LTS 5.15.0-67-generic |
サーバー | CPU : Intel(R) Xeon(R) CPU E5-2670 v3 @ 2.30GHz× 2ソケット(計24コア/48スレッド) メモリー : 128GB |
構築
NFのコンフィグは
https://github.com/free5gc/free5gc-compose/blob/master/config/
の内容をベースにしており
composeファイルはコンテナイメージを自分でビルドするものに変更しています
composeファイルで気をつけたこと
AMFへ外部からアクセスできるようにする
services:
amf:
ports:
- "0.0.0.0:38412:38412/sctp"
UPFのネットワークをホストのものに&networkのRoot権限を与える
これについてはアンテナに通知するUPFのIPアドレスが
UPF自身がbindするものになってしまうようでして
これを別のIPアドレスにする設定が分からず
とりあえずはホストのNICを直接使うようにしました
services:
amf:
upf:
cap_add:
- NET_ADMIN
network_mode: "host"
AMF, UPFだけ外部からアクセスできるようにしておけば大丈夫なようなので
これ以外は内部ネットワークでそれぞれのコンテナ(NF)同士が通信できるようにしています
設定ファイルの変更点
各NFの設定の内、plmnを実際に利用するものへ変更
snssaiはsst 1のsd 000001のみにし他は削除しています
registerIPv4, bindingIPv4, nrfUriなどのコンテナが利用するIPアドレスをサービス名に変更しています
(UPFについてはサーバー自体のIPアドレスを直接記載しました)
UPFとSMFの設定の内、端末用のIPアドレス帯を実際に利用するIPアドレス帯へ変更
AMFのNAS security parametersをとりあえず全部有効にしています
(おそらくアンテナとが利用するものの指定が足りなかったのか、これをしないとアンテナと接続できなかったです)
security: # NAS security parameters
integrityOrder: # the priority of integrity algorithms
- NIA1
- NIA2
- NIA0
cipheringOrder: # the priority of ciphering algorithms
- NEA1
- NEA0
- NEA2
あとはDebugレベルを変えたり
Free5GC自体のサンプルコンフィグと見比べて必要なさそうなコンフィグを消したりしてます
実機のアンテナと接続
※注※ 免許申請の際の構成図と変わるので、定期報告の際に構成を更新した旨を国へ連絡する必要があります
アンテナ側のコアのIPアドレスを今回構築したものへ変更したのですが、すぐには端末と接続できず
とはいえ繋がらない原因も3つぐらいで
・上記にも書いたUPFコンテナのアドレスがアンテナから見えない件
・security parametersが一致しない(?)件
・リリースタグがついているバージョンではうまく行かず、その時の最新版を利用する必要があった件
これを解決すれば普通に端末との通信ができるようになり
正直、事前に思っていたよりはかなりあっさりと接続できたなという印象です
(ただ、現状も設定が足りないのか、Free5GCとアンテナとの間の接続が切れ、アンテナ側が再起動を何度か繰り返してはいますが……)
最後に
エイヤッと試した割にあっさりとFree5GCと実機の接続ができ
良い意味で拍子抜けしたなと思ってしまっています
やっぱり標準化されたプロトコルっていいなと思います
一点気になるのは
Webコンソールがブラウザで開くと認証っぽいのはあるのですが
APIを直接Curlで叩くと管理者名だけで認証(?)が通るので
ここは自前で作るかしないとならないなと思います
また、今後はFree5GCのパフォーマンス試験や他の実装のコアも試してみようと考えています
特にパフォーマンスについては、アンテナ1つ程度であれば
もっともっとCPUが弱い安価なPCでも十分動作しそうなのでそれも試して見ようと思います
NFはgoでの実装なのでいっそラズパイでも動くのではと少し思っています
(ラズパイの場合、UPFが使っているカーネルモジュールがうまく動くのか知見が無いので確信は無いですが……)
ということで次回はFree5GCのパフォーマンス試験かラズパイへコアを乗っける構成を実施しようと思います
ブログの著者欄
採用情報
関連記事
KEYWORD
CATEGORY
-
技術情報(408)
-
イベント(147)
-
カルチャー(35)
-
デザイン(13)
TAG
- 5G
- Adam byGMO
- AI
- AWX
- BIT VALLEY
- blockchain
- ChatGPT
- cloudnative
- CloudStack
- CM
- CNDO
- CNDT
- CODEGYM Academy
- ConoHa
- CS
- CSS
- CTF
- DC
- Designship
- DevSecOpsThon
- Docker
- DTF
- GitLab
- GMO Developers Day
- GMO Developers Night
- GMO Hacking Night
- GMO kitaQ
- GMO SONIC
- GMOアドパートナーズ
- GMOアドマーケティング
- GMOイエラエ
- GMOグローバルサイン
- GMOデジキッズ
- GMOペイメントゲートウェイ
- GMOペパボ
- GMOリサーチ
- Go
- GTB
- Hardning
- Harvester
- HCI
- iOS
- IoT
- ISUCON
- JapanDrone
- Java
- JJUG
- K8s
- Kids VALLEY
- MetaMask
- MySQL
- NFT
- OpenStack
- Perl
- PHP
- PHPcon
- PHPerKaigi
- QUIC
- Rancher
- RPA
- Ruby
- Selenium
- splunk
- SRE
- SSL
- Terraform
- TLS
- TypeScript
- UI/UX
- VLAN
- VS Code
- インターンシップ
- オブジェクト指向
- オンボーディング
- お名前.com
- カルチャー
- コンテナ
- スクラム
- スペシャリスト
- ソフトウェアテスト
- チームビルディング
- ドローン
- ネットワーク
- プログラミング教育
- ブロックチェーン
- ゆめみらいワーク
- リモートワーク
- 基礎
- 多拠点開発
- 大学授業
- 宮崎オフィス
- 応用
- 技育プロジェクト
- 新卒
- 暗号
- 機械学習
- 決済
PICKUP