コンテンツにスキップ

Handover — ハンドオーバー

難易度: 上級 / 想定学習時間: 45分 / 対象: Inter-gNB Handover(Xn-based / N2-based) / 主役NF: AMF, SMF, UPF / 主Interface: N2, N3, Xn

学習目標

このページを読み終えると、次のことができるようになります。

  • Why(なぜハンドオーバが必要か)を、移動中の通信継続・セッション/IP維持の観点で説明できる。
  • Xn-based HandoverN2-based Handover の違い(適用条件・コアの関与度)を対比して説明できる。
  • Path Switch(Xn HO 完了後に N3 の下りパスを新gNBへ張り替える手続き)が何をするか説明できる。
  • ハンドオーバにおける N3 パス切替(gNB側 TEID の更新、AMF→SMF→UPF の連携)の流れを追える。
  • ハンドオーバの主役が AMF(N2制御)SMF/UPF(N3パス切替) であることを、コア観点で説明できる。
  • Wireshark の Display Filter を使って、NGAP の Handover 系 / Path Switch のパケットを解析する着眼点を挙げられる。
  • 4G(EPC) の X2-based HO / S1-based HO と 5G の Xn-based / N2-based HO違いを対比できる。

前提知識

先に以下を理解しておくとスムーズです。まだの人は カリキュラム から始めてください。

  • Registration の完了(UEが登録済み=5GMM-REGISTERED であること) → Initial Registration
  • PDU Session の確立(切り替える対象となるユーザプレーンが張られていること) → PDU Session Establishment
  • N2 / N3(gNB⇔AMF の制御路、gNB⇔UPF のユーザプレーン路) → N2 / N3
  • 主要NFの役割 → AMF / SMF / UPF

この章で学べること

本章は Inter-gNB Handover(基地局間ハンドオーバー) に焦点を絞り、そのうち Xn-basedN2-based の2種を扱います。移動する UE の接続を、現在の基地局(Source gNB)から次の基地局(Target gNB)へ切り替え、通信を途切れさせない手続きです。

本章はコア(5GC)の関与に焦点を当てます。 すなわち、

  • AMF がどう N2 制御でハンドオーバを仲介・制御するか
  • SMF/UPF がどう N3 のユーザプレーンパスを新gNBへ切り替えるか

を中心に解説します。次のものは本章の範囲外です(触れますが詳細には立ち入りません)。

  • 無線(RRC)側の詳細手続き(RRC Reconfiguration によるハンドオーバ実行、無線リソース割当の詳細)
  • Measurement Report(測定報告)の詳細(UEがどう隣接セルを測定し、いつHOを起動するかの無線判定ロジック)
  • Intra-gNB Handover(同一gNB内のセル間切替)、Inter-System Handover(5G⇔4G間)などは範囲外です。Inter-System Handover は 4G-5G Interworking で扱います。

これらは無線アクセス側(gNB内部)の話題であり、コア観点の本章では概要にとどめます。


Why — なぜハンドオーバが必要か

Why(なぜ必要か)から始めます。 UE(スマートフォン等)は移動します。歩きながら、電車に乗りながら通信を続けるうちに、いま接続している基地局(Source gNB)の電波はどんどん弱くなり、逆に進行方向にある別の基地局(Target gNB)の電波が強くなります。

もしここで何もしなければ、電波の弱い基地局に固執したまま通話が切れ、動画が止まり、ダウンロードが中断します。これを防ぐには、通信を続けたまま接続先を「電波の良い基地局」へ乗り換える必要があります。この乗り換えが Handover(ハンドオーバー) です。

ハンドオーバで維持したいものは2つあります。

  1. セッションの継続 — 確立済みの PDU Session(データ通信の土管)を張り直さずに引き継ぐ。
  2. IPアドレスの維持 — アプリから見えるUEのIPアドレスが変わらない(TCP接続やアプリのセッションが切れない)。

これらを保ったまま、無線区間とコアのユーザプレーン経路だけをできるだけ無瞬断で切り替えるのがハンドオーバの目的です。

例え話: 通話しながらバトンをリレーする

ハンドオーバはリレー走者のバトンパスです。走者(UE)は走り続けたまま(=通信を続けたまま)、いまバトンを持つ走者(Source gNB)から次の走者(Target gNB)へバトン(UEの接続コンテキスト)を渡します。うまくいけば観客(ユーザ)は走り(通信)が途切れたことに気づきません。バトンパスの「受け渡しの調整」を走者同士で直接やるのが Xn-based、監督(AMF)を介してやるのが N2-based です。渡し終えたら「今度はこの走者が走っています」とコース管理(SMF/UPF)に伝えて、応援(下りデータ)の届け先を新走者へ切り替えます。これが Path Switch / N3パス切替 です。

Overview — 概要

ハンドオーバのトリガは基本的に無線品質の劣化です。UEの Measurement Report(測定報告、無線側の詳細は範囲外)をもとに Source gNB が「Target gNB へ移すべき」と判断してハンドオーバを起動します。目的はセッション/IPを維持したままの無瞬断パス切替です。

Inter-gNB Handover には、隣接gNB間の Xn インターフェースの有無・コア再配置の要否に応じて2種類あります。

観点 Xn-based Handover N2-based Handover
適用条件 Source-Target gNB 間に Xn があり、直接調整できる Xn が無い、または AMF/UPF の再配置が必要
HO準備/実行の調整役 gNB同士が Xn 上で直接調整 AMF が N2 上で仲介(Handover Required/Request/Command)
コアの関与 実行後の Path Switch(N3下りパス切替)のみ 準備段階から AMF が関与、必要ならUPF再配置
コア側の主なメッセージ NGAP Path Switch Request / Ack NGAP Handover Required / Request / Command / Notify
制御プロトコル XnAP(gNB間)+ NGAP(Path Switch) NGAP(N2上)
おおまかな速さ/軽さ 軽量・高速(コア関与が最小) 重い(コアが準備から関与)

(適用条件・メッセージ名は TS 23.502 の Handover 手続きに基づく。個別メッセージ名/順序の細部は Procedure で扱い、一部は要確認とする。)

flowchart LR
    UE([UE]) -.移動.-> UE2([UE])
    S["Source gNB"] -->|"Xn 直接調整
(Xn-based)"| T["Target gNB"] S -->|"N2 経由調整
(N2-based)"| AMF[AMF] AMF --> T T -->|"Path Switch / N3切替"| CORE{AMF→SMF→UPF}

Basic Concept — 初心者向け説明

ハンドオーバを理解するには、3つのキーワードを押さえます。

1. ハンドオーバとは何か(What)

Handover は、通信を続けたまま UE の無線接続を Source gNB → Target gNB へ移す手続きです。移すのは主に次の2つです。

  • UEコンテキスト — そのUEが誰で、どんなセキュリティ・どんな PDU Session/QoS Flow を持つか、という情報。これを Target gNB が引き継ぎます。
  • ユーザプレーンパス — 実データが流れる経路。無線区間(UE⇔gNB)と、コア側の N3(gNB⇔UPF)の両方を新gNB向けに切り替えます。

無線区間の切替(RRC Reconfiguration)は gNB とUEが担い、その詳細は本章の範囲外です。本章はコア側(N3)の切替に集中します。

2. Xn-based か N2-based かの選び方

  • Xn-based — Source と Target の gNB の間に Xn インターフェース(gNB同士を直接つなぐ線)がある場合。gNB同士が XnAP で直接「これから受け入れて」「準備OK」と調整します。コア(AMF)は準備には関与せず、実行後の Path Switch だけ担当します。軽くて速いのが利点です。
  • N2-based — Xn が無い、または AMF/UPF の再配置が必要な場合。gNB同士が直接話せないので、AMF が N2 経由で仲介します。Source gNB → AMF → Target gNB という三者調整になり、コアが準備段階から関与します。

まず Xn を試み、ダメなら N2

一般に隣接する gNB 間には Xn を張っておき、まず軽量な Xn-based HO を試みます。Xn が無い(未設定・別ドメイン等)場合や、コア側の再配置が必要な場合に N2-based HO が使われます。どちらを使うかは無線・コアの構成とオペレータ設計に依存します(実装依存)。

3. Path Switch と N3 パス切替

ハンドオーバで無線区間が Target gNB へ移っても、コア(UPF)から見た下りデータの届け先はまだ Source gNB のままです。これを新gNBへ向け直さないと、下りパケットが古い基地局に届いてしまいます。

  • Path Switch(パス切替) — Xn-based HO の完了後、Target gNB が NGAP Path Switch Request を AMF に送り、「このUEの下りパスを私(新gNB)に向けてください」と要求する手続きです。
  • N3 パス切替 — AMF がこれを受けて SMF に伝え、SMF が N4(PFCP)UPF の転送ルール(下り FAR の宛先)を 新gNBの N3 TEID/アドレスへ更新します。これで下り N3(GTP-U) が新gNBへ流れるようになります。

つまり Path Switch = 「新gNBがコアに引っ越し先を届け出る」N3パス切替 = 「UPFが下り配送先を新住所に書き換える」イメージです。N2-based HO でも同等の N3 切替が Handover 手続きの中で行われます。

IPは変わらない(アンカーUPF維持時)

多くのケースでは、UEに割り当てられた IPアドレスは変わりません。IPを終端するアンカーとなるUPF(PDU Session Anchor)を維持したまま、そのUPFとgNBの間(N3)だけを張り替えるからです。UPF再配置を伴う場合はこの限りではありません(FAQ、SSC mode の議論は PDU Session 参照)。


Architecture

Inter-gNB Handover に関わる要素と、それらを結ぶInterfaceです。Xn経路(gNB間直接)N2経路(AMF仲介) を描き分けています。

flowchart LR
    UE([UE])
    S["Source gNB"]
    T["Target gNB"]
    AMF[AMF]
    SMF[SMF]
    UPF[UPF]
    DN[(Data Network)]

    UE -. "移動" .-> T
    UE -- "無線(RRC)" --> S
    S == "Xn (XnAP): HO準備/実行 (Xn-based)" ==> T
    S -- "N2 (NGAP): Handover Required 等 (N2-based)" --> AMF
    AMF -- "N2 (NGAP): Handover Request/Command" --> T
    T -- "N2 (NGAP): Path Switch Request" --> AMF
    AMF -- "Nsmf (N11相当)" --> SMF
    SMF -- "N4 (PFCP)" --> UPF
    S -. "N3 (旧パス)" .-> UPF
    T == "N3 (GTP-U 新パス)" ==> UPF
    UPF == "N6" ==> DN

各要素の役割は次の通りです。

  • UE — 移動する端末。無線側で Target gNB へ切り替わる(RRC手続きは無線側・範囲外)。セッション/IPは維持される。
  • Source gNB(旧基地局) — 現在の接続元。HOを起動し、Xn-based ではXnで、N2-based ではN2(AMF)経由で Target gNB と調整する。切替後は旧N3パス上の残データを転送し得る(データフォワーディング)。
  • Target gNB(新基地局) — 移動先。UEコンテキストを受け入れ、Xn-based では完了後に Path Switch Request を AMF へ送る。
  • AMF — N2の司令塔。N2-based では Handover の準備/実行を制御し、Xn-based では Path Switch を受けて SMF へ橋渡しする。
  • SMF — セッション管理。AMFからの通知を受け、N4(PFCP)で UPF の N3 下りパスを新gNBへ更新する。必要ならUPF再配置を判断する。
  • UPF — ユーザプレーンの転送実体。SMFの指示で下り N3 の宛先(gNB側TEID/アドレス)を書き換える。アンカーUPF維持ならIPは不変。
  • Xn — 隣接 gNB 同士を直接結ぶインターフェース(プロトコルは XnAP)。

Interfaceの詳細は Interface辞典 を参照してください。

Network Function(登場NF)

ハンドオーバに登場するコア側NFの役割です。gNB は無線アクセス側であり、コアNFではありません(本章の主役はコア観点のため、gNBは無線側として扱います)。

NF この手順での役割 保持/取得する情報 この手順で使う主なAPI/IF 障害時の影響
AMF N2制御の司令塔。N2-based では HO準備/実行を仲介、Xn-based では Path Switch を受けて SMF へ橋渡し UEコンテキスト、Source/Target gNB の N2 情報 NGAP(Handover系 / Path Switch)、Nsmf_PDUSession(消費) HO制御が進まず、切替失敗・呼断のおそれ
SMF AMFの通知を受け、N4でUPFのN3下りパスを更新。UPF再配置の要否判断 PDU Session/QoS Flow、UPF情報、新旧 N3 TEID Nsmf_PDUSession(提供)、N4(PFCP) N3パス切替が完了せず下りデータが旧gNBへ
UPF 下り N3 の宛先(gNB側 TEID/アドレス)を書き換え。アンカー維持でIP不変 PDR/FAR/QER、N3 TEID、UE IP N4(PFCP)でSMFが制御 下りデータが新gNBへ届かない/パケットロス

(gNB間の HO 準備・実行そのものは無線アクセス側の役割であり、本表はコアNFに限定しています。)

Interface / Protocol

この手順で使うInterfaceとProtocolです。

Interface 区間 Protocol Transport この手順での用途
N2 gNB⇔AMF NGAP SCTP(port 38412) N2-based の Handover 系手続き、Xn-based の Path Switch Request/Ack
Xn gNB⇔gNB XnAP SCTP Xn-based の HO準備/実行(gNB間直接調整)
N3 gNB⇔UPF GTP-U UDP(port 2152) ユーザプレーンの新パス。TEID更新で下り宛先を切替
N4 SMF⇔UPF PFCP UDP UPFの下り FAR(新gNB N3 TEID)更新。→ Interface辞典 / Protocol辞典
N11相当(Namf/Nsmf) AMF⇔SMF SBI(HTTP/2, TLS, JSON) TCP/TLS AMF→SMF へのHO/パス切替通知(Nsmf_PDUSession_UpdateSMContext 等)

Xn(XnAP)の詳細は個別ページへ

Xn(XnAP)はハンドオーバの主役の一つです。インターフェースとしての位置づけ・プロトコル・手続きの詳細は Xn(gNB間)個別ページ を参照してください。本章では Inter-gNB HO の文脈に絞って概要を扱い、XnAP の個別メッセージ名/procedure の細部は 3GPP TS 38.423 に基づきます(一部要確認)。

Protocolの詳細は Protocol辞典、Interface一覧は Interface辞典 を参照してください。


Procedure — Call Flow

このページの心臓部です。 3GPP TS 23.502 §4.9.1(Handover procedures) に準拠した Inter-gNB Handover の主要手順を、Xn-basedN2-based に分けて Mermaid の sequenceDiagram で示します。

前提: Registration / PDU Session は確立済み

UEは既に 5GMM-REGISTEREDRegistration)で、切り替える対象の PDU Session(ユーザプレーン)が張られている(CM-CONNECTED)ことが前提です。無線品質劣化に基づく HO 起動判定(Measurement Report 等)は無線側であり本章の範囲外です。

無線(RRC)側の詳細は簡略化

以下の図では、UEと gNB の間の RRC Reconfiguration(無線ハンドオーバ実行)は概略として1ステップに簡略化しています。無線側の詳細手続きは本章の範囲外です。コア(AMF/SMF/UPF)の関与に注目してください。

Xn-based Handover

Source-Target gNB 間に Xn があり、gNB同士が直接調整するケースです。コアの関与は実行後の Path Switch(N3下りパス切替)が中心です。

sequenceDiagram
    autonumber
    participant UE
    participant S as Source gNB
    participant T as Target gNB
    participant AMF
    participant SMF
    participant UPF

    Note over UE,S: 無線品質劣化 → HO判定(Measurement Report 等・無線側/範囲外)
    S->>T: Handover Request (XnAP)
    Note right of S: TS 38.423(XnAP)
    T-->>S: Handover Request Acknowledge (XnAP)
    Note over S,T: Target がUEコンテキスト/リソースを準備
    S->>UE: HO実行指示(RRC Reconfiguration・概略/範囲外)
    Note over UE,T: UEが Target gNB へ無線同期・切替
    UE->>T: HO完了(RRC Reconfiguration Complete・概略/範囲外)
    opt データフォワーディング(任意)
        S-->>T: 未送達データを Xn 経由で転送
    end

    Note over T,AMF: ここからコアの Path Switch(N3下りパス切替)
    T->>AMF: Path Switch Request (NGAP)
    Note right of T: 新gNBの N3 TEID/アドレスを通知
    AMF->>SMF: Nsmf_PDUSession_UpdateSMContext(新gNB N3情報)
    SMF->>UPF: N4 Session Modification Request (PFCP)
(下りFARを新gNB N3 TEIDへ更新) UPF-->>SMF: N4 Session Modification Response Note over T,UPF: 下り N3(GTP-U) が新gNBへ切替 opt End Marker(旧パス終端の目印) UPF-->>S: End Marker(旧N3パスの最後を示す) end SMF-->>AMF: UpdateSMContext Response AMF-->>T: Path Switch Request Acknowledge (NGAP) T->>S: UE Context Release (XnAP) Note over UE,UPF: 切替完了・通信継続

N2-based Handover

Xn が無い、または AMF/UPF 再配置が必要なケースです。AMF が N2 経由で準備/実行を仲介します。

sequenceDiagram
    autonumber
    participant UE
    participant S as Source gNB
    participant AMF
    participant SMF
    participant UPF
    participant T as Target gNB

    Note over UE,S: 無線品質劣化 → HO判定(無線側/範囲外)
    S->>AMF: Handover Required (NGAP)
    Note right of S: Target gNB を指定 / TS 23.502 §4.9.1.3

    Note over AMF,SMF: 準備フェーズ(必要ならUPF再配置をSMFが判断)
    AMF->>SMF: Nsmf_PDUSession_UpdateSMContext(HO準備)
    SMF->>UPF: N4 Session Modification(必要なリソース準備)
    UPF-->>SMF: N4 Response
    SMF-->>AMF: UpdateSMContext Response

    AMF->>T: Handover Request (NGAP)
    T-->>AMF: Handover Request Acknowledge (NGAP)
    Note over AMF,T: Target が受入リソース/N3 TEID を準備

    AMF->>S: Handover Command (NGAP)
    S->>UE: HO実行指示(RRC Reconfiguration・概略/範囲外)
    Note over UE,T: UEが Target gNB へ切替
    UE->>T: HO完了(無線側/範囲外)
    T->>AMF: Handover Notify (NGAP)

    Note over AMF,UPF: 実行フェーズ(N3下りパスを新gNBへ確定)
    AMF->>SMF: Nsmf_PDUSession_UpdateSMContext(HO完了通知)
    SMF->>UPF: N4 Session Modification Request (PFCP)
(下りFARを新gNB N3 TEIDへ更新) UPF-->>SMF: N4 Session Modification Response opt End Marker UPF-->>S: End Marker(旧N3パス終端) end SMF-->>AMF: UpdateSMContext Response Note over AMF,S: 旧リソース解放 AMF->>S: UE Context Release Command (NGAP) Note over UE,UPF: 切替完了・通信継続

ステップ解説(番号は各図に対応)

Xn-based(上図)

  1. S→T: Handover Request(XnAP)。Source gNB が Target gNB に「このUEを受け入れて」と直接依頼(TS 38.423)。
  2. T→S: Handover Request Acknowledge(XnAP)。Target がUEコンテキスト/無線リソースを準備し承諾。 3-5. 無線側HO実行(概略/範囲外): Source が UE に RRC で実行を指示し、UEが Target gNB へ同期・切替、完了。(データフォワーディングは任意で S→T へ未送達データを転送。)
  3. T→AMF: Path Switch Request(NGAP)。Target gNB が「下りパスを私に向けて」と AMF へ要求。新gNBの N3 TEID/アドレスを通知。
  4. AMF→SMF: Nsmf_PDUSession_UpdateSMContext で新gNBのN3情報を伝達。
  5. SMF→UPF: N4 Session Modification(PFCP) で下り FAR の宛先を新gNBの N3 TEIDへ更新。→ 下り N3(GTP-U) が新gNBへ切替(旧パス終端の目印として End Marker が送られ得る)。
  6. AMF→T: Path Switch Request Acknowledge(NGAP)
  7. T→S: UE Context Release(XnAP)。旧gNBの当該UEリソースを解放。

N2-based(下図)

  1. S→AMF: Handover Required(NGAP)。Xn が使えないため AMF に仲介を依頼。Target gNB を指定。
  2. 準備フェーズ: AMF→SMF UpdateSMContext、SMF→UPF N4 Modification で必要なリソース(UPF再配置が要るなら新UPF準備)を整える。
  3. AMF→T: Handover Request(NGAP) / T→AMF Handover Request Acknowledge(NGAP)。Target が受入リソースと N3 TEID を準備。
  4. AMF→S: Handover Command(NGAP)。Source に「実行して良い」と指示。
  5. 無線側HO実行(概略/範囲外) → UEが Target へ切替。
  6. T→AMF: Handover Notify(NGAP)。Target 側で切替完了を通知。
  7. 実行フェーズ: AMF→SMF UpdateSMContext(HO完了)→ SMF→UPF N4 Modification で下り FAR新gNB N3 TEIDへ更新(End Marker が送られ得る)。
  8. 旧リソース解放: AMF→S UE Context Release Command(NGAP)

メッセージ名・順序は仕様/実装依存の部分あり

Handover Required / Handover Request / Handover Command / Handover Notify(N2-based, NGAP)、Handover Request / Handover Request Acknowledge(Xn-based, XnAP)、および Path Switch Request / Acknowledge(NGAP)の名称は TS 23.502 §4.9.1・TS 38.413(NGAP)・TS 38.423(XnAP)に基づきます。ただし準備/実行フェーズの細かなステップ分割、SMF/UPF 連携の正確なオペレーション名(UpdateSMContext 等)・回数・任意ステップ、UPF再配置の有無・タイミング、データフォワーディングや End Marker の扱いは版・構成・実装で差があり、一部は要確認です。特に N2-based の準備/実行の内部シーケンスは TS 23.502 §4.9.1.3 の複数ステップを簡略化しています。

参照: TS 23.502 §4.9.1(Handover procedures。Xn-based は §4.9.1.2、N2-based は §4.9.1.3 付近。細目章番号は要確認)、TS 38.413(NGAP: Handover系 / Path Switch)、TS 38.423(XnAP: Handover系)。

Signal Flow

主要Message/サービスオペレーションを表で整理します。IEは Message辞典 と整合させています。

Message / Operation Protocol 送信元→先 目的 主要IE(概略) 結果
Handover Request XnAP Source gNB→Target gNB Xn-based のHO準備依頼 UEコンテキスト、PDU Session/QoS Flow 情報 Target がリソース準備
Handover Request Acknowledge XnAP Target gNB→Source gNB 準備完了の承諾 準備済リソース、Target N3情報 無線側HO実行へ
Path Switch Request NGAP Target gNB→AMF Xn-based 完了後のN3下りパス切替要求 新gNB N3 TEID/アドレス、PDU Session ID AMFがSMFへ橋渡し
Path Switch Request Acknowledge NGAP AMF→Target gNB パス切替完了の応答 更新後のU-Plane情報 下りN3が新gNBへ確定
Handover Required NGAP Source gNB→AMF N2-based のHO仲介依頼 Target gNB識別、HO種別 AMFが準備フェーズ開始
Handover Request NGAP AMF→Target gNB N2-based の受入依頼 UEコンテキスト、PDU Session情報 Target が受入準備
Handover Request Acknowledge NGAP Target gNB→AMF 受入準備完了 Target N3 TEID/アドレス AMFが実行フェーズへ
Handover Command NGAP AMF→Source gNB HO実行指示 実行に必要な情報 Source がUEへ実行指示
Handover Notify NGAP Target gNB→AMF 切替完了通知 UE到達通知 N3切替を確定
Nsmf_PDUSession_UpdateSMContext SBI(HTTP/2) AMF→SMF HO/パス切替のSMF通知 新gNB N3情報、PDU Session ID SMFがN4更新をトリガ
N4 Session Modification Request PFCP SMF→UPF 下りFARを新gNB N3 TEIDへ更新 新gNB N3 TEID(FAR更新) 下りN3が新gNBへ切替
UE Context Release (Command) XnAP / NGAP (Src⇔Tgt) / AMF→Source gNB 旧gNBリソース解放 UE識別 旧側リソース解放

各Messageの詳細IE・参照Specは Message辞典 を参照してください(Handover系/Path Switch の個別IE名は版依存で一部要確認)。

State Machine

ハンドオーバ中の状態イメージを、UEの接続(CM: Connection Management)視点と、N2 HO 手続きの進行視点で概念化します(根拠: TS 23.501 §5.3(CM状態)/TS 23.502 §4.9.1(HO手続き)。状態名の一部は理解のための概念表現であり要確認)。

stateDiagram-v2
    [*] --> CONNECTED_SOURCE
    CONNECTED_SOURCE --> HO_PREPARATION: HO起動(無線品質劣化)
    HO_PREPARATION --> HO_EXECUTION: Target 準備完了(Ack / Command)
    HO_EXECUTION --> PATH_SWITCHING: UEがTargetへ切替完了
    PATH_SWITCHING --> CONNECTED_TARGET: N3下りパス切替完了(Path Switch Ack / N4更新)
    HO_PREPARATION --> CONNECTED_SOURCE: 準備失敗(HO中止)
    HO_EXECUTION --> CONNECTED_SOURCE: 実行失敗 / フォールバック
    CONNECTED_TARGET --> [*]
  • CONNECTED_SOURCE — Source gNB に接続してデータ通信中(CM-CONNECTED)。
  • HO_PREPARATION — HO準備中(Xn-based は Handover Request/Ack、N2-based は Handover Required→Request/Ack)。準備失敗なら Source へ戻る。
  • HO_EXECUTION — 無線側HO実行中(RRC切替。概略/範囲外)。失敗時はフォールバックし得る。
  • PATH_SWITCHING — コア側 N3 下りパス切替中(Path Switch / N4 Modification)。
  • CONNECTED_TARGET — Target gNB へ切替完了。通信継続。

状態名は概念表現・要確認

上図の状態名(HO_PREPARATION 等)は理解のための概念です。3GPP仕様上の厳密な状態機械(NGAP/XnAP の手続き状態、UEの CM/RM 状態)と1対1で一致するものではなく、状態名・遷移契機の一部は要確認です。CM状態(IDLE/CONNECTED, TS 23.501 §5.3)とは別レイヤの概念である点に注意してください。

Packet Analysis (Wireshark)

Inter-gNB Handover は N2(NGAP) / Xn(XnAP) / N3(GTP-U) にまたがるため、区間ごとにフィルタを使い分けます。

主要 Display Filter

Filter 意味 見る区間
ngap NGAP メッセージ全般(Handover系 / Path Switch) N2
xnap XnAP メッセージ全般(Xn-based のHO準備/実行) Xn
gtp GTP-U(N3のユーザプレーン。パス切替前後のTEID変化) N3
sctp.port == 38412 N2(NGAP) の SCTP ポート N2
pfcp PFCP(N4のUPF更新) N4

procedureCode 等の具体値は環境依存・要確認

NGAP の Handover 系 / Path Switch の ngap.procedureCode 値、XnAP の xnap 手続きコード、NAS/GTP-U の各数値は 3GPP の割当に基づきますが、Wireshark のバージョン/ディセクタ実装で表示・照合方法が異なる場合があります。具体的な数値は要確認とし、実機では GUI のプロトコル階層表示(procedureCode 名)で確認するのが確実です。本ページでは架空の数値を断定しません。

Decode の見どころ(主要ポイント)

  • NGAP の Handover 系 procedureCode — Handover Required / Request / Command / Notify(N2-based)。procedureCode 名でメッセージ種別を識別。
  • NGAP Path Switch Request / Acknowledge — Xn-based 完了後にコアへ届く、N3下りパス切替の要のメッセージ。
  • XnAP の Handover 手続き — Xn-based の gNB間直接調整(Handover Request / Acknowledge)。Xn区間をキャプチャできる場合のみ観測可能。
  • TEID の変化N3(GTP-U) の下りトンネルの宛先 TEID/アドレスがSource gNB→Target gNB へ切り替わる様子。切替直前直後で gtp.teid を比較すると、パス切替の効果が観察できる。End Marker で旧パスの終端も確認できる。

NGAP に情報がネストする構造

Handover 系の NGAP メッセージには、UEコンテキストや PDU Session/QoS Flow の情報が入れ子で運ばれます。Path Switch では新gNBの U-Plane(N3 TEID)情報が含まれます。

NGAP-PDU
 └─ HandoverRequired / PathSwitchRequest など
     └─ PDU Session Resource(QoS Flow / N3 TEID 情報)
         └─ (新旧 gNB の U-Plane トランスポート情報)

実際のpcapは環境依存(実装依存)

本ページのフィルタ・IE名は解析の指針です。Xn(XnAP)区間や N4(PFCP)/N3(GTP-U) はキャプチャ点によっては見えないことがあります。Open5GSfree5GC に複数gNB(またはgNBシミュレータ)を組み合わせたテストベッドを構築すると、Path Switch や N3 TEID 変化を実際に観察できます(実装依存)。

Configuration

ハンドオーバを成立させるための設定の構造レベルの要点です。具体値・ベンダー固有(Cisco 等)は実装依存であり、ここでは架空の値を書きません。ハンドオーバの準備・実行判定・Xnネイバー関係の多くは無線アクセス側(gNB)の設定であり、コア(5GC)側の設定は限定的です。

gNB 側(無線アクセス・範囲外だが要点のみ)

  • Xn ネイバー関係 — どの隣接 gNB と Xn を張るか(Xn-based HO の前提)。Xn が無い相手へは N2-based にフォールバックする。
  • Measurement / HO 判定パラメータ — 隣接セル測定のしきい値やヒステリシス等(無線側・詳細は範囲外)。

Xn/HO判定は無線側設定(本サイト範囲外)

Xn ネイバー設定や HO 起動しきい値は gNB(無線アクセス)側の設定であり、Open5GS / free5GC などのコア実装だけでは完結しません。無線側シミュレータ/実機の構成に依存します(実装依存・範囲外)。

コア(AMF/SMF/UPF)側

  • AMF — N2(NGAP) が確立され、Handover 系 / Path Switch 手続きを処理できること。複数 gNB を収容し、対象 UE のコンテキストを保持していること。
  • SMF/UPFPDU Session が確立済みで、N4(PFCP) アソシエーションが確立され、下り FAR の宛先(gNB側 N3 TEID)を更新できる構成であること。
  • UPF 再配置(N2-based で必要な場合)— 新UPFへの切替を行うなら、SMFのUPF選択と新旧UPF間の扱いが構成に依存する。

具体値・ベンダー固有は実装依存

設定キー名・階層・必須項目は Open5GS / free5GC / 商用ベンダー(Cisco 等)で異なります。上記は構造レベルの要点であり、実際のキー名や値は各実装のドキュメントで確認してください(実装依存)。架空の設定値は記載しません。

Trouble Shooting

代表的なハンドオーバ失敗の切り分けです。Cause値の詳細は Cause辞典 を参照してください。

症状 想定原因 確認ポイント 関連ログ/Packet 対処の方向性
(a) HO準備失敗(Target が受け入れられない) Target gNB のリソース不足、Xn未確立、コンテキスト移行失敗 Xn(XnAP) / N2(NGAP) の Handover Request/Ack の成否、Target 側リソース XnAP/NGAP Handover Request 応答、gNB/AMFログ Xnネイバー設定確認、Target 容量確認、N2-basedへのフォールバック確認
(b) Path Switch 失敗(下りパスが切替わらない) Path Switch Request が AMF/SMF/UPF まで通っていない、N4更新失敗 NGAP Path Switch Request/Ack、Nsmf/UpdateSMContext、N4 Modification NGAP Path Switch、PFCP(pfcp)、AMF/SMF/UPFログ AMF→SMF→UPF の連携疎通確認、下りFAR更新の成否確認
(c) データロス/パケット断が大きい データフォワーディング未実施、End Marker 未処理、切替タイミング不整合 Xn/N3 のフォワーディング、End Marker、切替前後のTEID GTP-U(gtp)の欠落、End Marker、UPFカウンタ フォワーディング構成確認、切替シーケンスのタイミング確認
(d) 下りデータが旧gNBへ届き続ける UPFの下りFARが旧gNB N3 TEIDのまま N4 Modification による下りFAR更新、UPFの転送先 PFCP Session Modification、GTP-Uの宛先TEID N4 Session Modification の完了確認、SMF→UPF連携確認

EPCとの比較

4G(EPC) 経験者が 5G のハンドオーバへ橋渡しできるよう対比します。4Gにも「基地局間直接」と「コア仲介」の2種があり、5Gはそれを Xn / N2 に対応させた設計です。

観点 4G / EPC 5G / 5GC
基地局間直接HO X2-based Handover(X2AP, TS 36.423) Xn-based Handover(XnAP, TS 38.423)
コア仲介HO S1-based Handover(S1AP, TS 36.413) N2-based Handover(NGAP, TS 38.413)
基地局間IF X2(eNB⇔eNB) Xn(gNB⇔gNB)
コア制御NF MME AMF
U-Plane切替の届け出 Path Switch Request(eNB→MME, X2-based完了後) Path Switch Request(gNB→AMF, Xn-based完了後)
U-Plane転送 GTP-U(S1-U/S5等) GTP-U(N3/N9
セッション/QoS単位 EPSベアラ PDU Session / QoS Flow

考え方は4Gから連続、名前と分離設計が進化

「隣の基地局と直接調整(X2/Xn)」か「コア経由で調整(S1/N2)」かという二分法は4Gから連続しています。5Gの主な進化は、名称(X2→Xn, S1→N2, MME→AMF)と、制御(AMF)・セッション管理(SMF)・転送(UPF)が分離されたことでN3パス切替がSMF/UPF連携(N4/PFCP)で行われる点です。Path Switch Request という考え方は4G(X2 HO)からそのまま受け継がれています。

Release差分

ハンドオーバ関連の主なトピックです。不確かなものは要確認とし、断定しません。

  • Rel-15 — 5GC の基本ハンドオーバ(Xn-based / N2-based Inter-gNB HO、Path Switch、N3パス切替)の基礎が確立。
  • Rel-16Conditional Handover(CHO、条件付きハンドオーバ) 等のモビリティ強化が導入された世代とされる(HO手続き本体・コア関与への織り込み範囲は要確認)。CHO はあらかじめ複数のTarget候補を準備し、条件成立時にUEが自律的に実行することでHO失敗(呼断)を低減する仕組み。
  • Rel-17 / Rel-18(5G-Advanced) — モビリティのさらなる拡張が継続(HO手続きへの具体差分は要確認)。

Release差分は要確認

各Releaseで「ハンドオーバ手続き自体」にどの機能がどこまで織り込まれたかは、対象TSの版差分を個別確認する必要があります。特に CHO の Rel-16 での位置づけと、コア(N3パス切替)への影響範囲は概観であり、具体項目は要確認です。

3GPP Specification

Spec 内容
TS 23.502 §4.9.1 Handover procedures(Xn-based §4.9.1.2 / N2-based §4.9.1.3 付近。本章Call Flowの根拠。細目章番号は要確認
TS 38.413 (NGAP各章) NGAP(Handover Required/Request/Command/Notify, Path Switch Request/Ack。個別章番号要確認
TS 38.423 (XnAP各章) XnAP(Xn-based の Handover 手続き。個別章番号要確認
TS 38.300 (HO概要章) NR 全体アーキテクチャ/ハンドオーバ概要(無線側の位置づけ。章番号要確認
TS 23.501 §4 / §5.3 システムアーキテクチャ・参照点(N2/N3/Xn)/CM・RM状態(章番号一部要確認
TS 29.244 PFCP(N4:下りFAR更新によるN3パス切替)
TS 29.281 GTP-U(N3のユーザプレーン、TEID/End Marker)

章番号の扱い

TS 23.502 §4.9.1 は本章Call Flowの骨格として参照しています。Xn-based / N2-based の細目章番号(§4.9.1.2 / §4.9.1.3 等)、TS 38.413/38.423/38.300 の個別章番号、TS 23.501 の該当章番号は版により異なる場合があり、一部は要確認としています。

FAQ

Q1. Xn が無いとどうなる?

Source-Target gNB 間に Xn が無い場合、gNB同士が直接調整できないため、N2-based Handover が使われます。この場合は AMF が N2 経由で Handover の準備/実行を仲介します(Handover Required → Handover Request/Ack → Handover Command)。Xn-based より手続きが重くなりますが、Xn が無くてもハンドオーバは成立します。

Q2. ハンドオーバでIPアドレスは変わる?

多くのケースでは変わりません。UEのIPを終端するアンカーUPF(PDU Session Anchor)を維持したまま、そのUPFと gNB の間(N3)だけを新gNBへ張り替えるためです。したがってTCP接続やアプリのセッションは切れません。ただし UPF再配置を伴う構成(SSC mode 等の方針による)では変わり得ます(PDU Session 参照。詳細は要確認)。

Q3. ハンドオーバは本当に無瞬断?

完全な無瞬断ではなく、瞬断を最小化する設計です。無線切替のわずかな間や、下りパス切替(Path Switch)が完了するまでの間に、多少のパケット遅延・欠落が生じ得ます。これを緩和するため、Source→Target のデータフォワーディングや、旧パス終端を示す End Marker が使われます。体感上は途切れを感じにくいのが目標です(実際の性能は無線・コア構成に依存=実装依存)。

Q4. Path Switch は誰が誰に要求する?

Xn-based HO の完了後に、Target gNB が AMF へ NGAP の Path Switch Request を送ります。「このUEの下りパスを(旧gNBではなく)新しい私に向けてください」という要求です。AMF はこれを SMF に伝え、SMF が N4(PFCP)UPF の下り転送先(FARの宛先=新gNB N3 TEID)を更新します。N2-based HO では、この下りパス切替が Handover 手続きの中(Handover Notify 後)で行われます。

Q5. Xn-based と N2-based で、コア(AMF/SMF/UPF)の関与はどう違う?

Xn-based では gNB同士が直接HOを済ませ、コアは実行後の Path Switch(N3下りパス切替)だけ関与します(軽量)。N2-based では AMF が準備段階から関与し、必要なら UPF再配置も行います(重い)。どちらも最終的に SMF/UPF が N3 の下りパスを新gNBへ切り替える点は共通です。

Summary

  • Handover は、移動する UE の接続を Source gNB → Target gNB へ、セッション/IPを維持したまま無瞬断に近い形で切り替える手続き。トリガは無線品質の劣化。
  • Inter-gNB HO には、Xn の有無・コア再配置の要否で Xn-based(gNB間直接+Path Switch)と N2-based(AMF仲介)の2種がある。
  • コア観点の主役は AMF(N2制御)SMF/UPF(N3パス切替)。無線(RRC)側の詳細と Measurement Report は本章の範囲外。
  • Path Switch は Xn-based 完了後に Target gNB が AMF へ下りパス切替を要求する手続き。AMF→SMF→UPF が N4(PFCP) で下り FAR を新gNB N3 TEID へ更新(N3パス切替)。
  • アンカーUPF維持ならIPは不変。データフォワーディング/End Marker でパケットロスを緩和。
  • 4Gの X2-based / S1-based HO に対応し、5Gは Xn-based / N2-basedPath Switch Request の考え方は4Gから継続。
  • 根拠は TS 23.502 §4.9.1 / TS 38.413(NGAP) / TS 38.423(XnAP) / TS 38.300 / TS 23.501(細目章番号・一部メッセージ順序は要確認)。

Practice — 理解度チェック・演習

理解度チェック

Q1. Xn-based と N2-based の一番の違いは何か?(解答)

HO準備/実行の調整役。Xn-based は Source-Target gNB同士が Xn(XnAP) で直接調整し、コアは実行後の Path Switch のみ関与。N2-based は AMF が N2(NGAP) で仲介し、コアが準備段階から関与する(Xn が無い/UPF再配置が必要な場合に使用)。

Q2. Path Switch は誰が誰に、何のために送るか?(解答)

Xn-based 完了後に、Target gNB が AMF へ NGAP Path Switch Request を送る。目的は N3 の下りパスを新gNBへ切り替えること。AMF→SMF→UPF が N4 で下りFARを更新する。

Q3. N3 パス切替で最終的に何を書き換えるか?(解答)

UPF の下り FAR の宛先を、Source gNB の N3 TEID/アドレス → Target gNB の N3 TEID/アドレスへ更新する(SMF が N4/PFCP で指示)。

Q4. ハンドオーバでUEのIPアドレスは通常どうなるか?(解答)

変わらない(アンカーUPF維持時)。IPを終端するUPFを維持したまま、gNB⇔UPF 間の N3 だけを張り替えるため。UPF再配置を伴う場合は変わり得る(要確認)。

Q5. 4Gの X2-based / S1-based HO は、5Gの何に対応するか?(解答)

X2-based → Xn-based(X2AP→XnAP)、S1-based → N2-based(S1AP→NGAP)。制御NFは MME→AMFPath Switch Request の考え方は4Gから継続。

演習

: 次の Xn-based Handover 主要ステップを正しい順に並べ替えてください。

A. Target gNB → AMF: Path Switch Request(NGAP)
B. Source gNB → Target gNB: Handover Request(XnAP)
C. SMF → UPF: N4 Session Modification(下りFARを新gNB N3 TEIDへ)
D. Target gNB → Source gNB: Handover Request Acknowledge(XnAP)
E. AMF → Target gNB: Path Switch Request Acknowledge(NGAP)
F. 無線側HO実行(UEがTarget gNBへ切替・概略/範囲外)
G. AMF → SMF: Nsmf_PDUSession_UpdateSMContext
解答

B → D → F → A → G → C → E

  • B: Source→Target 受入依頼(XnAP)
  • D: Target→Source 準備完了の承諾(XnAP)
  • F: 無線側HO実行(範囲外・概略)
  • A: Target→AMF Path Switch Request(NGAP)
  • G: AMF→SMF UpdateSMContext(新gNB N3情報)
  • C: SMF→UPF N4 Modification(下りFAR更新=N3パス切替)
  • E: AMF→Target Path Switch Request Acknowledge(NGAP)

※ 無線側の RRC 手続き(F)は概略。データフォワーディング/End Marker は任意で入り得る(実装依存)。

Next Step

理解を深めるための次の一歩です。