コンテンツにスキップ

N7 — SMF ⇔ PCF(Npcf_SMPolicyControl 参照点)

難易度: 中級 / 想定学習時間: 20分 / 接続点: SMF ⇔ PCF / Protocol: HTTP/2 + JSON (SBI) / 関連Interface: N15, N5, N4

学習目標

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

  • N7が SBI(Service Based Interface) であり、N2(NGAP/SCTP)やN4(PFCP/UDP)とはProtocol/Transportが根本的に異なることを説明できる。
  • N7の実体がPCFの提供するサービス Npcf_SMPolicyControl(TS 29.512) であることを説明できる。
  • SMFが SM Policy Association を確立して PCC rule を取得する流れを説明できる。
  • 「参照点N7」と「サービスNpcf_SMPolicyControl」が同じものの2つの見方であることを説明できる。
  • 4G(EPC)の Gx(PCEF/PGW ⇔ PCRF, Diameter) との対応関係を説明できる。

前提知識

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

Why — なぜ必要なのか

SMFはPDUセッションを組み立てる際、「この通信をどのQoSで流すか」「どう課金するか」「このフローを通す/止めるか(ゲーティング)」を決めなければなりません。しかしこれらをSMF自身が勝手に決めると、事業者のサービス規約(ゴールド会員は帯域優先、動画は定額 等)を変えるたびにSMFを直す羽目になります。

そこで、事業者ポリシーの元締めである PCF に「この加入者・このセッションはどう扱う?」と問い合わせる道が要ります。これがN7です。SMFはN7でPCFにポリシーを尋ね、PCFは加入者データ(UDR由来)や事業者規約から判断した PCC rule(指示書) を返します。N7が無ければ(またはPCF連携しなければ)、SMFは静的な既定値でしかセッションを扱えず、加入者ごと・アプリごとのきめ細かい動的PCCができません。

例え話: N7は、現場担当(SMF)が規約部門(PCF)に判断を仰ぐホットラインです。現場は勝手に規約を決めず、この専用回線で「この客はどんなQoS/課金で?」と問い合わせ、規約部門の回答(PCC rule)に従って回線を張ります。

Overview — 概要

N7は SMF ⇔ PCF を結ぶ参照点です。ただしN7はSBI(Service Based Interface)である点が、N2(NGAP/SCTP)やN4(PFCP/UDP)と決定的に異なります。SBIとはNF同士がWeb API(HTTP)でサービスを呼び合う仕組みで、共通の転送として HTTP/2 + JSON(RESTful)over TLS を用います。

N7の実体は、PCFが提供するサービス Npcf_SMPolicyControl(TS 29.512) です。SMFはこのサービスを呼び出して SM Policy Association(SMポリシーの結び付き)を確立し、認可された PCC rule(QoS・課金・ゲーティング)を取得します。

参照点N7とサービスNpcf_SMPolicyControlは同じものの2つの見方

3GPPのアーキテクチャ図では 参照点として N7(SMF⇔PCF) が示されますが、SBA(サービス化)ではこれが実体として PCFのサービス Npcf_SMPolicyControl として実装されます。つまり「N7」と「Npcf_SMPolicyControl」は、同じSMF⇔PCF間の連携を、参照点の視点/サービスの視点で見たものです。どちらも指しているものは同一で、呼び方(視点)が違うだけ、と捉えてください。

Basic Concept — 初心者向け説明

N7を、現場担当と規約部門の問い合わせに例えます。

あなたのスマホがデータ通信を始めようとすると、セッション担当のSMFが動きます。SMFは「この客にどんな品質(QoS)で、どんな課金で通せばいい?」を自分では決めず、規約部門のPCFに問い合わせます(SM Policy Association の確立)。PCFは会員名簿(加入者データ)と会社の規約を照らし合わせ、PCC rule(指示書)を返します。SMFはこの指示書どおりにUPF(土管)へ「この品質で流せ」と設定します。

このPCFへの問い合わせは、専用の電話回線(N2やN4のような専用プロトコル)ではなく、社内Webシステム(HTTP)でリクエストを投げて回答をもらうイメージです。これが SBI(Service Based Interface)=NF同士がWeb API(HTTP/2)で会話する仕組みです。要求も応答も、人間に読みやすい JSON という書式でやり取りされます。

このWeb APIでは、操作対象(PCC ruleなどのリソース)に「住所(URI)」を与え、そこにPOSTなどのHTTP操作を投げて作成・更新・削除します。この作法をRESTfulと呼びます。

Protocol / Transport

項目 内容
Protocol HTTP/2 + JSON(RESTful)— SBI(Service Based Interface)の共通スタック
サービス Npcf_SMPolicyControl(PCFが提供)— TS 29.512
SBI framework TS 29.500 / TS 29.501 系(SBIの共通規約・OpenAPI定義)
下位Transport TCP、TLS で保護(機密性・完全性・認証)— TS 33.501
ポート SBIの待受ポートは実装依存(NRF登録のエンドポイントで解決)。特定番号は断定しない
特徴 専用L4プロトコルではなくWeb技術ベース。HTTPメソッド(POST/PUT/DELETE)+リソースURIで操作。RESTful

N2/N4のような専用L4ではなくWeb技術ベース

N2は NGAP over SCTP:38412、N4は PFCP over UDP という専用の下位プロトコルを持ちますが、N7にはそれらは一切当てはまりません。N7はSBIなので、他のSBI(N8/N10/N11/N15 等)と同じく HTTP/2 over TLS を共通の土台として使います。したがってN7の解析にSCTP固有のフィルタやポート番号を流用してはいけません。

Architecture

N7がSMFとPCFを結び、SMFがN4でUPFを制御し、PCFがN15/N5で他NF・AFとも連携する文脈を示します。

flowchart LR
  SMF["SMF"]
  PCF["PCF"]
  UPF["UPF (転送)"]
  AMF["AMF"]
  AF["AF (アプリ)"]
  UDR[("UDR (ポリシーデータ)")]

  SMF == "N7 (Npcf_SMPolicyControl / HTTP2)" ==> PCF
  AMF -- "N15 (Npcf_AMPolicyControl)" --> PCF
  AF -- "N5 (Npcf_PolicyAuthorization)" --> PCF
  PCF -- "Nudr (ポリシー取得)" --> UDR
  SMF == "N4 (PFCP)" ==> UPF

  classDef ctrl fill:#efe,stroke:#3a3,stroke-width:2px;
  class SMF,PCF ctrl;

図の読み方: 太い線(==>)のN7がSMF⇔PCFのポリシー問い合わせ(SBI/HTTP2)。PCFは同じくSBIのN15でAMFと、N5でAFとも連携し、Nudrで加入者ポリシーをUDRから取り出します。SMFはPCFから得たPCC ruleを、N4(PFCP)でUPFへ反映します(右の太線)。N7は「決めるための問い合わせ」、N4は「決めた結果の反映」という役割分担に注目してください。

利用Procedure

N7は PDU Session のライフサイクルの中で、SMFがPCFへポリシーを問い合わせる際に使われます。

  • SM Policy Association Establishment(確立): PDU Session確立時、SMFがPCFへ問い合わせ、PCC rule(認可QoS・課金)を取得する。取得したPCC ruleに基づき、SMFはUPFの転送規則やQoS Flow(QFI/5QI)を N4(PFCP) で設定する。
  • SM Policy Association Modification(変更): セッション途中でポリシーが変わる場合(SMF起因の更新、またはPCFからの通知)に、PCC ruleを更新する。
  • SM Policy Association Termination(解放): セッション解放時に、SM Policy Associationを終了する。

このPCF連携は任意/条件付きで、動的PCC構成のときに行われます。PCFと連携しない(静的PCC)構成では、SMFの既定QoSでセッションが継続されます(構成依存)。

手順の詳細な流れ(メッセージシーケンス、条件、IE等)は PDU Session の「SM Policy Association(PCF連携)」の記述に集約されています。手順の細部はそちらを参照してください。

主なMessage

N7はSBIなので、メッセージはHTTPメソッド + リソース操作の形を取ります(NGAPのようなprocedureCodeではなくRESTful操作)。代表的なサービスオペレーションは次のとおりです。

サービスオペレーション HTTP操作(概念例) 用途
Npcf_SMPolicyControl_Create POST(リソース生成) SM Policy Association確立、PCC rule取得
Npcf_SMPolicyControl_Update POST(更新オペレーション呼び出し) SMF起因のポリシー更新要求
Npcf_SMPolicyControl_UpdateNotify POST(PCF→SMFへ通知callback) PCFからSMFへのPCC rule変更通知
Npcf_SMPolicyControl_Delete DELETE(リソース削除) SM Policy Association解放

HTTP操作の対応は概念整理です: 上表の「HTTP操作」は理解のための対応づけであり、各オペレーションの正確なメソッド・リソースURI・呼び出し方向はTS 29.512のOpenAPI定義に従います。厳密なメソッド割り当ては要確認とします。各メッセージの詳細は Message辞典 を参照してください。

Packet Analysis (Wireshark)

N7はSBIなので、キャプチャ上は HTTP/2 として観測されます(NGAP/SCTPのようなL4専用プロトコルは現れません)。

目的 Display Filter
HTTP/2メッセージを抽出 http2
ヘッダのパスで絞る(概念) http2.headers.path:pathnpcf-smpolicycontrol を含む)
JSONボディを見る json(復号後)

Decodeの見どころ:

  • N7は TLSで暗号化されます。中身(HTTP/2ヘッダやJSONボディ)を見るには復号鍵(TLSセッションキー等)が必要です。鍵が無ければ tls の暗号化ペイロードとしてしか見えません。
  • 復号できれば、HTTP/2の ヘッダ:method = POST等、:path.../npcf-smpolicycontrol/... を含むリソースパス)でオペレーションを識別できます。
  • ボディは JSON(PCC rule、QoS情報、課金情報等)で、人間に読みやすい構造で入っています。
  • N2のNGAP(バイナリ、SCTP上)と違い、N7はWeb的(HTTP/JSON)である点が観察の要です。SCTP固有のフィルタ(sctp.port 等)は使いません

EPCとの比較

  • 4Gでは: SMポリシー・課金ルールは PCRF(Policy and Charging Rules Function) が決定し、PCEF側(PGW)とは Gx インターフェース(Diameterベース)で連携していました(TS 29.212)。PCC framework(PCC ruleによるQoS・課金・ゲーティング制御)は4Gから存在します。
  • 5Gでは: PCRFの役割を PCF が引き継ぎ、Gx相当が N7(Npcf_SMPolicyControl)SBI化されました。PCC frameworkの思想は継続しつつ、Diameterから HTTP/2 + JSON(SBI) へ置き換わっています(TS 29.512)。
4G (EPC) 5G (5GC)
Gx(PCEF/PGW ⇔ PCRF) N7(SMF ⇔ PCF)
Diameter(専用L4上) SBI: HTTP/2 + JSON over TLS
TS 29.212(Gx) TS 29.512(Npcf_SMPolicyControl)
PCEF(PGWに内蔵) SMF(PCFにPCC ruleを問い合わせ、UPFへ反映)

PCC framework自体(PCC ruleによる制御思想)は4Gから継続しています。5Gでの主な変化は、Diameterベースの専用IFから SBI(HTTP/2+JSON)化された点です。

3GPP Specification

  • 3GPP TS 29.512 — Npcf_SMPolicyControl サービス(SM Policy = PCC rule, N7)。個別章番号は要確認
  • 3GPP TS 29.500 / TS 29.501 — SBI framework(技術規約 / 設計原則・OpenAPI)。個別章番号は要確認
  • 3GPP TS 23.503 — ポリシー・課金制御フレームワーク(PCC framework, PCC rule のポリシーモデル)
  • 3GPP TS 23.501 §4 — システムアーキテクチャと参照点(N7の定義)
  • 3GPP TS 33.501 — SBIのセキュリティ(TLS等)。個別章番号は要確認

注記(要確認): N7の実体が Npcf_SMPolicyControl(TS 29.512)であること、SBI共通framework が TS 29.500/29.501 系であること、参照点N7とサービスNpcfが同じ連携の2つの見方であることは、3GPPアーキテクチャの一般的整理です。各サービスオペレーションの細目章番号・正確なリソースURIは Release により差異があるため個別には要確認とします。

Summary

  • N7は SMF ⇔ PCF を結ぶ参照点だが、SBI(Service Based Interface)である点がN2(NGAP/SCTP)・N4(PFCP/UDP)と根本的に異なる。
  • Protocolは HTTP/2 + JSON(RESTful)over TLS、実体はPCFのサービス Npcf_SMPolicyControl(TS 29.512)
  • SMFは SM Policy Association を確立し、PCC rule(QoS・課金・ゲーティング) を取得して、N4(PFCP)でUPFへ反映する。
  • 参照点N7 = サービスNpcf_SMPolicyControl は同じSMF⇔PCF連携の2つの見方(本サイトでAMF⇔SMFを「N11相当(Namf/Nsmf)」と呼ぶのと同じ二重性 → SMF)。
  • 4Gの Gx(PGW/PCEF ⇔ PCRF, Diameter, TS 29.212) に相当し、5Gでは SBI化(TS 29.512)された。

Next Step

  • PCF — N7の相手側。PCC rule/URSP等ポリシーの中枢
  • SMF — N7を利用してPCC ruleを取得し、N4でUPFへ反映するNF
  • PDU Session — SM Policy Association確立の手順(詳細)
  • Interface辞典 — N15(AMF⇔PCF)・N3/N4/N6 ほか参照点の確認
  • Message辞典 / Protocol辞典 — 用語・SBIプロトコルの確認