本記事は通信業界アドベントカレンダー 2021 の22日目の記事として執筆したものです。
その他の記事はQiitaのアドベントカレンダーページからどうぞ!
はじめに
5Gあるいは5Gサービスと聞くとモバイルキャリアにより提供されるネットワークサービスで、大手ベンダ製品を使ってモバイルネットワークが構築されているイメージを持たれる方も多いのではないでしょうか。
最近では、5Gネットワークをオープンソースソフトウェア(以下、OSS)で実現する動きが出始めており、個人でも手軽に5G環境を構築することが可能となっています。
本記事では、5GのOSSについて紹介したいと思います。
そもそも、モバイルネットワークとは?
「端末 (User Equipment)」、「無線アクセスネットワーク (Radio Access Network) 」、「コアネットワーク (Core Network)」の3要素から構成される無線通信設備を指しています。
端末=スマホ、無線アクセスネットワーク=基地局、コアネットワーク=認証サーバやルータ等をイメージするとわかりやすいかと思います。
5GのOSSについて
5GのOSSについて、構成要素(UE/RAN/CN)ごとにそれぞれコミュニティがあり、開発が行われています。
RAN
代表的な、OpenAirInterfaceCとUERANSIMについて記載します。それ以外にも、srsRANやSD-RANe等のOSSがあります。
-
- OpenAirInterface Software Alliance(OSA)が提供する3GPPプロトコルに準拠した無線アクセスネットワーク系(eNB/gNB/UE)のソフトウェア
- 3GPP仕様に則り開発されているため、リファレンスコードとしても利用される
-
- オープンソースの5G端末(UE)や無線アクセスネットワーク(RAN)を実装
- 主にコアネットワークと接続するための上位レイヤーのプロトコル(NGAP,NASなど)が実装されている
CN
代表的な、free5GCとOpen5GSについて記載します。それ以外にも、magmaやSD-Core等、様々なOSSがあります。
-
- 3GPP Realse15に準拠したオープンソースソフトウェアの5Gコアであり、StandAlone(SA)構成に対応
- 様々なネットワークファンクションを実装(NRF/AMF/AUSF/SMF/PCF/UDM/UDR/NSSF/UPF/N3IWF)
- コミュニティの動きも活発で、「free5GC forum」も存在
-
- C言語で実装された、オープンソースソフトウェアの5Gコア及びEPC
- 3GPP Realse16に準拠し、StandAlone(SA)構成に対応
-
- OpenAirInterface Software Alliance(OSA)が提供する3GPPプロトコルに準拠したコアネットワーク系(EPC and 5G)のソフトウェア
- 3GPP仕様に則り開発されているため、リファレンスコードとしても利用される
-
- 新興国にコネクティビティを届けることを目的に開発が始まったOSS。EPCの機能(A-GW)だけではなく集中管理機能(Orchestrator)やMNOとの連携機能(F-GW)を有する。
- 5Gコアについては、Telecom Infra Projectと連携して最小構成版Minimum Viable Core(MVC版)を開発中。
5GのOSSってどこまで使えるの?
5GのOSSも様々なコミュニティで開発が進んでいる状況で、群雄割拠の状態です。
OSS実装の完成度や、特徴について、free5GCを例に記載します。
- 小規模に実証実験を行うレベルまでは、5GコアのOSSも成長してきており、5G特有の機能・実装も進んでいます。
- 構築も簡単で導入しやすいのですが、商用を見据えると、性能面や運用面でまだまだ課題が残る状況です。
5GのOSS関連で困ったことがあったら
モバイルネットワークに関連するOSSの開発者・ユーザ同士で情報交換や新たな繋がりを形成する場として、Open Mobile Network Infra Communityもありますので、活用してみてはいかがでしょうか。
過去のMeetupやHands-onについてもYouTubeにて公開しております。
イベントの様子がわかると思いますので、ぜひご覧ください。
また、情報交換の場としてOpen Mobile Network Infra CommunityのSlackワークスペースも用意しています。
これまでの活動成果は以下のgithubにまとめております。ぜひご覧ください。
最後に
5GのOSSにより、モバイルネットワークを自営でかつ簡単に構築可能になりつつあります。
この機会にお手元のPCで5G環境を構築してみてはいかがでしょうか?