N7 — SMF ⇔ PCF(Npcf_SMPolicyControl 参照点)¶
学習目標¶
このページを読み終えると、次のことができるようになります。
- 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) との対応関係を説明できる。
前提知識¶
先に以下を理解しておくとスムーズです。
- SBA / SBI と HTTP/2・TLS の位置づけ → Protocol辞典
- N7の両端のNF → SMF / PCF
- PCC rule・QoS(5QI/QFI)・SM Policy連携の使われ方 → PDU Session
- Interfaceと参照点の考え方 → Interface辞典
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(:path に npcf-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プロトコルの確認