コンテンツにスキップ

N9 — UPF ⇔ UPF(GTP-U / UPF間ユーザプレーン)

難易度: 中級 / 想定学習時間: 15分 / 接続点: UPF ⇔ UPF / Protocol: GTP-U (over UDP 2152) / 関連Interface: N3 / N4 / N6

学習目標

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

  • N9が複数のUPFを結ぶユーザプレーンインターフェースであり、SBIではないことを説明できる。
  • N9のProtocol(GTP-U)と、その下位Transport(UDP/IP、ポート2152)を言える。
  • N9が使われるUPF縦続構成(I-UPF↔PSA-UPF、ホームルーテッドローミング、UL CL/Branching Point)を挙げられる。
  • N9がN3と同じGTP-U・TEID・QFIを用い、制御はN4(PFCP)でSMFが行うことを説明できる。
  • 4G(EPC)のS5/S8(SGW⇔PGW間のGTP-U)との対応関係を説明できる。

前提知識

先に以下を理解しておくとスムーズです。

  • GTP-U と UDP/IP の位置づけ → Protocol辞典
  • N9を終端するNF → UPF
  • 対になる制御プレーン(UPFの設定) → N4
  • 基地局とUPFを結ぶユーザプレーン → N3
  • Interfaceの考え方 → Interface辞典

Why — なぜ必要なのか

多くの解説では、ユーザデータは「gNB → 1台のUPF → データ網」とまっすぐ流れる絵で説明されます。しかし実際の網では、UPFが複数台、数珠つなぎ(縦続)になることがよくあります。たとえばUEが移動して基地局から遠い場所へ行っても、セッションの出口(アンカ)は動かしたくない。あるいはローミング先の網から自国の網へ折り返したい。こうしたとき、中間のUPFと出口のUPFを別々に立て、その間をつなぐ道が要ります。

この「UPFとUPFの間を、実ユーザデータのトンネルでつなぐ道」がN9です。N9が無ければ、UPFを複数段に分けた構成そのものが成り立ちません。

例え話をすると、ユーザデータを運ぶUPFを土管に例えるなら、N3が「基地局と土管を繋ぐパイプ」であるのに対し、N9は土管と土管を繋ぐ連結パイプです。土管が1本で足りる場所ならN9は登場しませんが、土管を何本も連結する場所では、その継ぎ目としてN9が必ず現れます。

なお、N9はN4のような制御用のインターフェースでも、N11のようなSBI(サービスベース)でもありません。実データを運ぶだけのユーザプレーン参照点です。

Overview — 概要

N9は UPF ⇔ UPF を結ぶユーザプレーンインターフェースです。上を流れるProtocolは GTP-U(GPRS Tunneling Protocol - User plane)、その下は UDP over IP で、N3と全く同じ仕組みを使います。

N9が登場する代表的な構成は次のとおりです。

構成 UPFの役割分担
I-UPF ↔ PSA-UPF 基地局寄りの中間UPF(I-UPF)と、セッション出口を固定するアンカUPF(PSA: PDU Session Anchor)を分離
ホームルーテッドローミング 訪問先網(VPLMN)のUPFと自国網(HPLMN)のUPFをまたいで折り返す
UL CL / Branching Point 上りトラフィックを行き先ごとに振り分けるUPFと、その先のアンカUPFを分ける

いずれもUPFとUPFの間を GTP-Uトンネル でつなぎ、N3と同じ2つの識別子を使います。

識別子 何を識別するか 搬送場所
TEID (Tunnel Endpoint ID) GTP-Uトンネル(≒どの端点へ届けるか) GTP-U基本ヘッダ
QFI (QoS Flow Identifier) セッション内のQoS Flow(優先度の異なる流れ) GTP-U拡張ヘッダ(PDU Session Container, TS 38.415)

Basic Concept — 初心者向け説明

N9を、荷物を運ぶ宅配便の中継所どうしを結ぶ便に例えます。

UEのデータ(元のIPパケット)は、N3で最初のUPFに届いた時点ですでに封筒(GTP-U)で包まれて運ばれています。N9では、その封筒を次のUPFへさらにリレーします。

  • 封筒(GTP-Uトンネル) = 元のパケットを丸ごと包む外装。中身(ユーザのIPパケット)はそのまま。
  • 宛先ラベル(TEID) = 封筒の表に貼る番号。受け側UPFは、このラベルを見て「どのトンネルの荷物か=どのセッションか」を判断します。
  • 優先度シール(QFI) = 「速達」「普通」の区別。UPFをまたいでもQoSの区別を保てるよう、封筒に貼られたままリレーされます。

道は上り・下りの2方向です。UE→gNB→I-UPF→PSA-UPF→データ網が上り(Uplink)、その逆が下り(Downlink)。N3と同様、上りと下りではラベル(TEID)が別々に付けられ、各UPFの端点が「自分が受け取るときに使う番号」を持ちます。これらの番号を誰がどう割り当てるかは、UPF自身ではなく制御役のSMFがN4(PFCP)経由で両UPFに設定します(後述)。

Protocol / Transport

項目 内容
Protocol GTP-U(GPRS Tunneling Protocol - User plane)— TS 29.281
下位Transport UDP over IP
ポート UDP 2152(GTP-Uのwell-knownポート。4G/5G共通、N3と同じ)
特徴 TEIDによるトンネル識別。ユーザのIPパケットをT-PDU(=カプセル化される元のユーザIPパケット)としてカプセル化
QoS搬送 GTP-U拡張ヘッダの PDU Session Container で QFI を搬送(TS 38.415)

N9はSBIではない

N9はGTP-U over UDPのユーザプレーン参照点であり、SBI(サービスベースインターフェース)ではありません。したがってHTTP/2やNfXX形式のサービス名(Npcf等)といったサービス概念は一切登場しません。N9で使われるのは、N3と同じGTP-U(TS 29.281)だけです。UPFの設定・制御は別線のN4(PFCP)が担います。

Architecture

N9がI-UPF(中間UPF)とPSA-UPF(アンカUPF)をつなぎ、その両方をSMFがN4で制御する様子を示します。

flowchart LR
  gNB["gNB (基地局)"]
  IUPF["I-UPF (中間)"]
  PSA["PSA-UPF (アンカー)"]
  DN["DN (データ網)"]
  SMF["SMF"]

  gNB =="N3 (GTP-U)"==> IUPF
  IUPF =="N9 (GTP-U)"==> PSA
  PSA =="N6"==> DN
  SMF -."N4 (PFCP)".-> IUPF
  SMF -."N4 (PFCP)".-> PSA

図の読み方: ユーザデータは gNB → I-UPF →(N9)→ PSA-UPF → DN と流れます。太い実線(==>)がユーザプレーン(GTP-Uトンネル)で、N3・N9・N6が同じ流れの上に並びます。点線(-.->)のN4(PFCP)は制御用の別線で、SMFが両方のUPF(I-UPFとPSA-UPF)に設定を配る役目です。N9はこの「土管と土管の継ぎ目」に当たります。

データ転送の流れ

N9のトンネルは、PDU Session確立(およびその変更)の中で、UPF縦続構成が必要になったときに確立されます。

  1. UPFの設定: SMFがN4(PFCP)で、I-UPFとPSA-UPFそれぞれに PDR(パケット検出規則)/FAR(転送動作規則)/TEID を設定します。これによりN9のGTP-Uトンネルが上り・下りの2本できあがります。
  2. 上りパケット: gNBからN3で届いたユーザデータを、I-UPFがN9のGTP-Uトンネルに載せ替えてPSA-UPFへ転送。PSA-UPFがカプセルを外し、N6でデータ網へ出します。
  3. 下りパケット: データ網からN6で入ったパケットを、PSA-UPFがN9でI-UPFへ、I-UPFがN3でgNBへとリレーします。
  4. QoS識別: 各パケットはGTP-U拡張ヘッダ(PDU Session Container)の QFI によってQoS Flowが識別され、UPFをまたいでも優先度の扱いが保たれます。

手続きの詳細は重複を避けるため PDU Session確立 を参照してください。ここでは「N9=UPFを縦続させたときにUPF間を結ぶユーザデータの土管」という位置づけを押さえれば十分です。

主なMessage

N9で流れるのはN3と同じGTP-Uメッセージです。土管に徹するProtocolのため制御メッセージは少なめで、大半は実データを運ぶG-PDUです。

メッセージ 用途
G-PDU ユーザのIPパケット(T-PDU)をカプセル化して運ぶ、本来の主役
Echo Request / Response 対向UPF端点の疎通確認(パスの生存確認)
Error Indication 不明なTEID宛のパケットを受けた等、エラーの通知
End Marker パス切替(UPF張り替え等)時に、旧パスの最後のパケットを示す目印

各メッセージの厳密な種別・用途の詳細は要確認とし、Message辞典 を参照してください。

Packet Analysis (Wireshark)

N9はGTP-U、その下はUDPとして観測されます。N3と見た目は同じで、現れるのはUPF同士のIPアドレス間という点が違います。

目的 Display Filter
GTP-Uメッセージを抽出 gtp
N9ポートで絞る udp.port == 2152
特定トンネルを追う gtp.teid == 0x...(TEIDで絞る)

Decodeの見どころ:

  • GTP-Uヘッダの TEID で、どのトンネル(≒どのUEのどのセッション)かを識別できます。上り・下りでTEIDが異なる点はN3と同じです。
  • 拡張ヘッダ(PDU Session Container, TS 38.415) に載る QFI で、そのパケットがどのQoS Flowに属するかが分かります。
  • G-PDUでは、GTP-Uヘッダの内側に内包されたユーザのIPパケットがさらにデコードされます。
  • N9はユーザプレーンなので、キャプチャにはSCTPやHTTP/2は現れません。それらが見えたら、それはN9ではなくN2(NGAP)やSBIの通信です。

EPCとの比較

  • 4Gでは: SGWとPGWを結ぶ S5/S8 上を GTP-U(TS 29.281)が流れ、ユーザデータをTEIDでトンネル識別しました(S5は同一事業者内、S8はローミング時)。
  • 5Gでは: UPF分割により、その SGW⇔PGW間のユーザプレーン(S5/S8-U) に相当する区間が N9(UPF ⇔ UPF) になりました。Protocolは同じGTP-U(TS 29.281)で、QoS識別が QFI ベースになった点が加わります(S5/S8-UとN9の対応は要確認)。
4G (EPC) 5G (5GC)
S1-U(eNB ⇔ SGW) N3(gNB ⇔ UPF)
S5/S8(SGW ⇔ PGW、GTP-U部分) N9(UPF ⇔ UPF)
GTP-U(TS 29.281) GTP-U(TS 29.281、共通)
QoSはEPS Bearer単位 QoS Flow単位、QFIをGTP-U拡張ヘッダで搬送

UPF分割がN9を生んだ

4Gではユーザプレーンの機能がSGWとPGWに分かれ、その間をS5/S8(GTP-U部分)がつないでいました。5GではこれらがUPFに統合されつつも、縦続構成では複数UPFに分割でき、その継ぎ目がN9になります。GTP-U自体は4Gから受け継いだ枯れたProtocolで、5Gでの主な変化はBearerベースからQoS Flowベースへ移り、QFIをGTP-U拡張ヘッダで運ぶようになった点です。

3GPP Specification

  • 3GPP TS 29.281 — GTP-U(GPRS Tunneling Protocol - User plane、N3と共通)。個別章番号は要確認
  • 3GPP TS 38.415 — PDU Session User Plane Protocol(PDU Session ContainerによるQFI搬送)。個別章番号は要確認
  • 3GPP TS 23.501 §5.6 / §5.8 — UPFおよびユーザプレーンの機能。個別章番号は要確認
  • 3GPP TS 23.501 §4 — システムアーキテクチャと参照点(N9の定義)。個別章番号は要確認

Summary

  • N9は UPF ⇔ UPF を結ぶユーザプレーンインターフェースで、ProtocolはGTP-U(TS 29.281)。SBIではない
  • 下位Transportは UDP over IP、ポートは 2152(N3と共通)。
  • I-UPF↔PSA-UPF、ホームルーテッドローミング、UL CL/Branching PointなどのUPF縦続構成で、UPF間をトンネルする。
  • N3と同じ TEID(トンネル識別)・QFI(QoS Flow識別、PDU Session Container / TS 38.415)を用い、制御はSMFがN4(PFCP)で両UPFに設定する。
  • 4GのS5/S8(SGW⇔PGW間のGTP-U部分)に相当する(対応関係は要確認)。

Next Step

  • UPF — N9を終端するNF
  • N3 — 基地局とUPFを結ぶ、N9と同じGTP-Uのユーザプレーン
  • N4 — 両UPFを制御する制御プレーン(PFCP)
  • N6 — PSA-UPFとデータ網を結ぶ参照点
  • Interface辞典 — 各参照点の確認