こんにちは!ネットワーク・ガジェットライターの私です。
日頃から最新のWi-Fi 7や5Gの爆速モバイル通信、そしてスマートホームの裏側を支える通信プロトコルにワクワクしている私ですが、今回は少しだけ視点を変えて、基地局とコアネットワークの裏側で繰り広げられている「超重要かつディープな世界」を覗いてみたいと思います。
テーマは、5Gの頭脳と手足を繋ぐ制御プロトコル「NGAP(Next Generation Application Protocol)」です。
「いきなりアルファベットの羅列で頭が痛くなりそう…」と思いましたよね?大丈夫です!教科書のような無機質な仕様書の解説は一旦横に置いて、私たちの身近にある「郵便配達システム」に例えながら、一歩ずつ優しく紐解いていきましょう。
—
そもそも「NGAP」ってなに?身近な例えで理解する5Gの裏側
私たちがスマホで動画を見たり、オンラインゲームをしたりするとき、空気を伝わってきた電波は、まず街中にある基地局(5Gの世界では gNB と呼びます)にキャッチされます。
しかし、基地局は単なる「中継アンテナ」に過ぎません。スマホの認証をしたり、「このユーザーにはこれだけの通信速度を許可しよう」と交通整理をしたりしているのは、ネットワークの奥深くにある頭脳、つまりコアネットワーク(その中の AMF という管理センター)です。
ここで問題が発生します。
「最前線にいる基地局(gNB)と、司令塔であるコアネットワーク(AMF)は、どうやって会話をしているのでしょうか?」
この2人の間で交わされる「業務連絡」の共通言語こそが NGAP なんです。
郵便配達システムに例えてみよう
イメージしやすいように、身近な「郵便配達」に置き換えてみましょう。
- スマホ = 手紙を出したい差出人
- gNB(基地局) = あなたの街の郵便局(窓口)
- AMF(コアネットワーク) = 全国の郵便配達ルートを管理する中央本局
あなたが窓口(gNB)に手紙を持っていったとき、窓口の人は「これは速達ですね」「宛先はあっちの本局(AMF)に確認しなきゃいけないな」と判断して、専用の伝票に記入して本局へ送りますよね。
このとき、窓口と本局の間でやり取りされる「業務連絡のルールや伝票の書き方」こそが、NGAPというプロトコルそのものなのです。
—
NGAPの足元を支える縁の下の力持ち:SCTPというトランスポート層
NGAPがどんな内容を話すのかを見る前に、この会話が「どんな封筒に入れて運ばれているのか」を知っておく必要があります。
通常、私たちがWebサイトを見る時は TCP や UDP という通信のきまり(トランスポート層)を使いますが、5Gの基地局とコアネットワークの制御には、SCTP(Stream Control Transmission Protocol) という、ちょっとマニアックだけど超タフなプロトコルが使われています。
なぜ普通のTCPじゃダメなの?
Web閲覧用の TCP は一本の道(ストリーム)でデータを運びますが、もし途中で通信が詰まると、後続のデータもすべて足止めされてしまいます。これを「ヘッド・オブ・ライン・ブロッキング」と呼びます。
一方、SCTPは、1つの接続の中に複数のレーン(マルチストリーム)を作ることができます。
例えば、あるスマホの「位置情報の更新」という連絡が少し遅れても、別のスマホの「これから電話をかけます」という緊急の連絡は、別のレーンをスイスイ通り抜けることができるのです。
基地局とコアネットワークの間では、何千、何万というスマホの制御信号が同時に飛び交います。だからこそ、渋滞に強いSCTPが選ばれているんですね。
—
NGAPの主要メッセージ:現場ではどんな会話がされているの?
それでは、NGAPの具体的な中身(メッセージ)を覗いてみましょう。現場のエンジニアがログを解析するときによく目にする、代表的なやり取りをいくつかピックアップしてご紹介します。
1. パスワード確認と初期設定:Initial UE Message
スマホの電源を入れたとき、あるいは新しく電波を掴んだとき、基地局(gNB)はAMF(コアネットワーク)に対してこう言います。
> 「ねえAMFさん、新しいお客さん(スマホ)がウチの窓口に来ましたよ!身分証明書(NASメッセージ)を預かったので確認してください!」
この第一声のメッセージを Initial UE Message と呼びます。これが5G通信のすべての始まりです。
2. 通信のパイプライン作成:Initial Context Setup Request / Response
AMFが「よし、このお客さんは登録済みだからOK!」と判断すると、今度はコアネットワークから基地局へ指示が飛びます。
> 「了解!じゃあ、このお客さんのために専用の通信レーン(無線ベアラ)を基地局側でも用意して、いつでもデータ通信できるようにセットアップしてあげて!」
これが Initial Context Setup Request です。基地局側が無事に準備を終えると、Initial Context Setup Response を返して「準備完了です!」と伝えます。
3. お引越し(ハンドオーバー):Handover Required / Request
新幹線や車で移動しているとき、スマホは別の基地局へと次々にバトンタッチ(ハンドオーバー)していきます。この時もNGAPが大活躍します。
移動元の基地局が「そろそろ電波が弱くなるので、隣の基地局へお引越しさせてあげてください」とAMFに頼むのが Handover Required。そして、AMFを経由して引越し先の基地局に「新しいお客さんがそっちに向かいます!」と伝えるのが Handover Request です。
—
現場で役立つ!NGAPパケット解析と設定のヒント
さて、ここからは少し実践的なお話をしましょう。プライベート5G(ローカル5G)の構築や、オープンRAN(O-RAN)の検証現場では、Wiresharkなどのパケットキャプチャツールを使ってNGAPのやり取りを覗き見ることがよくあります。
実際にオープンソースの5Gコア(Open5GSやfree5GCなど)や、シミュレータの設定ファイル(JSONやYAMLなど)を触るとき、SCTPやNGAPのポート番号が正しく設定されていないと、基地局とコアが永遠に握手を交わしてくれない(SCTPのAssociationが確立しない)というトラブルが起きがちです。
以下に、設定ファイルの一例と、トラブルシューティング時のポイントをご紹介します。
設定ファイル例(概念的なYAML設定のイメージ)
# 5Gコアネットワーク(AMF)側のSCTP/NGAPリスニング設定例
sctp_config:
# AMFのIPアドレス(バインドするインターフェース)
bind_ip: "192.168.100.10"
# NGAPが標準で使用するSCTPポート番号(IANA標準は 38412)
port: 38412
# 同時接続を処理するためのストリーム数設定
# インバウンド(受信)およびアウトバウンド(送信)のストリーム数を指定します
ppi: 0
num_ostreams: 30
num_istreams: 30
ngap_config:
# PLMN ID(Public Land Mobile Network ID: MCC + MNC)
# 日本のキャリアやローカル5Gの事業者コードをここに記述します
plmn_id:
mcc: "440"
mnc: "50"
amf_name: "amf.local5g.lab"
現場のトラブルシューティング:パケットが見えないときのチェックポイント
もし、基地局(gNB)を立ち上げたのにAMFと接続できない(NGAPのメッセージが流れない)ときは、以下の順番で泥臭く確認してみてください。
1. SCTPのレイヤーで止まっていないか?
pingが通るかだけでなく、sctp_testコマンドやwiresharkを使って、SCTPのハンドシェイク(INIT -> INIT-ACK -> COOKIE-ECHO -> COOKIE-ACK)が正常に完了しているかを確認します。ここが失敗している場合は、ファイアウォール(iptables / nftables / firewalld)がポート38412をブロックしている可能性大です。
2. PLMN IDが一致しているか?
- 基地局側の設定ファイルとAMF側の設定ファイルで、MCC(移動体国コード)とMNC(移動体ネットワークコード)の数値が1文字たりとも違っていないか確認しましょう。ここがミスマッチだと、NGAPの初期段階で盛大に弾かれます。
3. パケットキャプチャのフィルターを使いこなそう
- Wiresharkで大量のパケットからNGAPだけを抽出したいときは、フィルター欄に以下の式を入力すると一発で絞り込めます。
# WiresharkでNGAPのメッセージだけをフィルタリングするフィルター式
sctp.port == 38412 or ngap
このフィルターを使うだけで、雑多なパケットの海から、基地局とAMFが交わしている「業務連絡」だけを綺麗に抽出することができますよ。
—
まとめ:見えないネットワークの裏側に思いを馳せて
今回は、5Gの心臓部であるNGAPの基本構造と、トランスポート層を支えるSCTP、そして現場で役立つ視点についてお話ししました。
一見すると難解な「NGAP」という言葉も、「基地局という窓口と、コアネットワークという本局をつなぐ専用の伝票システム」だと捉えると、途端に親しみが湧いてきませんか?
私たちがスマホで何気なく動画を再生したり、テザリングで快適に仕事ができたりする背景には、こうした見えない場所で膨大なパケットたちが正確に、そしてタフに会話を繰り広げているドラマがあります。
今回の記事が、皆さんのインフラやネットワーク学習のちょっとした道しるべになれば幸いです。それではまた次回のマニアックなガジェット&ネットワークの世界でお会いしましょう!
コメント