コンテンツにスキップ

PCF / SM Policy Association / PCC Rule — PolicyはどうやってUE・gNB・UPFに届くのか

難易度: 上級(マニアック) / 想定学習時間: 40分 / 前提: GFBR / MFBR / AMBR / ARP, PFCP と PDR / FAR / QER / URR, Policy / 主役: PCF, SMF / 主Interface: N7(Npcf_SMPolicyControl), N1, N2, N4

学習目標

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

  • SM Policy Association が PDU Session ごとに SMF⇔PCF 間で作られる関係であり、Npcf_SMPolicyControl_Create で確立されることを説明できる
  • PCFの判断材料(SMFからの入力 / UDRのPolicy Data / AF要求 など)を挙げられる
  • PCC Rule の構成要素(SDF template、Precedence、QoS parameters、Charging、Gate status)を説明できる
  • PCFはUE・gNB・UPFを直接設定しないこと、SMFが PCC Rule を QoS Rule(N1)/ QoS Flow Level QoS Parameters(N2)/ PDR・QER・URR(N4) に翻訳することを図で説明できる
  • PCF-initiated SM Policy Association Modification から Network requested PDU Session Modification へつながる流れを説明できる
  • 「Policyが来ない」「PCFは正しいのにUPFが違う」「RANだけ違う」を、Interfaceを横断して切り分けられる

前提知識

この章の焦点(Level ∞ マニアック)

Policy では「PCFがPCC Ruleを作りN7でSMFへ配る」全体像を、N7 ではSBIとしての性質を扱いました。この章では、PCC Rule の中身が、SMFでどう分解・翻訳されて UE・gNB・UPF の別々の設定になるのか、そして その対応関係をTraceでどう突き合わせるか を掘り下げます。N7のHTTP/2・JSONの詳細は次章 N7 SBI解析、AF起点の要求は AF / N5 で扱います。


Why — QoSの「値」を決める人と「実行する」人は別

前章までで、5QI・GFBR・MFBR・Session-AMBR・ARP といった QoSの値 を見てきました。では、ある加入者のある通信に、その値を 誰が決め、誰が各ノードに設定する のでしょうか。

  • 値を決めるには、加入者契約(UDR)・接続先(DNN / S-NSSAI)・アプリの要求(AF)・事業者ポリシー を総合的に見る必要があります。これは個々のノードではなく、Policy専門のNFに集約した方が一貫します → PCF。
  • 一方で、UE・gNB・UPF はそれぞれ 別のプロトコル(NAS / NGAP / PFCP)と別の情報形式 で設定されます。この3者すべてと会話できるのは、PDU Session を管理する SMF です。

そこで 5GC は、PCFが判断し(Policy Decision)、SMFが翻訳・展開する(Policy Enforcement の制御) という分業を採っています(TS 23.503 §4.2 / §6.2.1、要確認)。

例え話: PCFは「本社の料金・サービス企画部」、SMFは「現場の工事責任者」です。企画部は「この顧客の動画は最大10 Mbps」という 方針書(PCC Rule) を書きますが、配線工事はしません。工事責任者が方針書を読み、端末向けの説明書(QoS Rule)、基地局向けの指示書(QoS Profile)、交換機向けの設定(PDR / QER)に 書き分けて 配ります。


What — SM Policy Association

PCFが持つ Policy Association の種類

PCFは相手NFごとに Policy Association を持ちます。本章が扱うのは SM Policy Association です。

Policy Association 相手 サービス 単位 主な中身 手続き
AM Policy Association AMF Npcf_AMPolicyControl(N15) UE Service Area Restriction、RFSP、UE-AMBR 等 TS 23.502 §4.16.1〜§4.16.3
SM Policy Association SMF Npcf_SMPolicyControl(N7) PDU Session PCC Rule、Session Rule、Policy Control Request Trigger TS 23.502 §4.16.4〜§4.16.6
UE Policy Association AMF(UEへ透過配送) Npcf_UEPolicyControl UE URSP 等 TS 23.502 §4.16.11 以降(要確認)

SM Policy Association は PDU Session 1つにつき1つ 作られ、PDU Session の確立で生まれ、Release で終わります(TS 23.502 §4.16.4 / §4.16.6)。

SM Policy Association のライフサイクル

操作 方向 契機 規定
Npcf_SMPolicyControl_Create SMF → PCF PDU Session 確立 TS 23.502 §4.16.4 / §5.2.5.4.2(枝番は要確認)、TS 29.512 §4.2.2(要確認)
Npcf_SMPolicyControl_Update SMF → PCF Policy Control Request Trigger の条件成立(UE IPアドレス割当、位置・RAT変更 等)、UE要求のQoS変更 TS 23.502 §4.16.5.1、TS 29.512 §4.2.4(要確認)
Npcf_SMPolicyControl_UpdateNotify PCF → SMF PCF側のPolicy変更(AF要求、UDRのPolicy Data変更 等) TS 23.502 §4.16.5.2、TS 29.512 §4.2.3(要確認)
Npcf_SMPolicyControl_Delete SMF → PCF PDU Session Release TS 23.502 §4.16.6、TS 29.512 §4.2.5(要確認)

PCCは「条件付き」

SMFがPCFとSM Policy Associationを作るのは、動的PCC(dynamic PCC)を使う場合 です(TS 23.502 §4.3.2.2.1 step 7、step番号は要確認)。PCFを使わない構成では、SMFのローカル設定(ローカルポリシー。設定方法は実装依存)で QoS が決まります。どちらを使うかは 事業者の構成・実装依存 です。


What — PCFは何を材料にPolicyを決めるのか

PCFがPCC判断に使える入力は TS 23.503 §6.2.1.2(Input for PCC decisions、要確認)に列挙されています。代表的なものを、どこから来るか で整理します。

flowchart LR
    SMF["SMF
Npcf_SMPolicyControl_Create / Update"] -->|"SUPI, DNN, S-NSSAI,
RAT/Access Type, ULI,
UE IP, 加入Session-AMBR,
加入default QoS"| PCF["PCF
Policy Decision"] UDR["UDR
Policy Data"] -->|"N36 / Nudr
SM Policy Data,
Usage Monitoring Data"| PCF AF["AF
(直接 or NEF経由)"] -->|"N5 / Npcf_PolicyAuthorization
メディア・アプリ情報"| PCF CHF["CHF"] -->|"N28 Spending Limit
(Policy Counter状態)"| PCF OP["事業者ポリシー
(PCFローカル設定)"] --> PCF PCF -->|"SmPolicyDecision
PCC Rule / Session Rule / PCRT"| SMF
入力元 代表的な情報 経路・規定
SMF SUPI、PDU Session ID、PDU Session Type、DNN、S-NSSAI、Access Type、RAT Type、User Location Information、UE IPアドレス、加入Session-AMBR / 加入default QoS(SMFがUDMから取得した値) N7 Create / Update(TS 23.502 §4.16.4 / §4.16.5.1)
UDR SM Policy Data(DNN / S-NSSAI ごとの許可サービス、加入者カテゴリ等)、Usage Monitoring Data N36(Nudr_DM_Query / Subscribe。TS 23.502 §4.16.4、§5.2.12、枝番は要確認)
AF 対象フロー(IP 5-tuple やアプリID)、メディア種別、要求帯域 N5(Npcf_PolicyAuthorization)。外部AFはNEF経由(AF / N5、NEF / N33)
CHF Policy Counter の状態(例: 月間容量の消費段階) N28(Spending Limit Control。TS 23.502 §4.16.4 / §4.16.8、要確認)
事業者ポリシー 料金プランごとのルール、時間帯ルール等 PCFローカル設定(実装依存)

ここで重要なのは、加入者の「契約上の」Session-AMBR / default QoS は UDM → SMF → PCF と流れ、PCFが「認可済み(authorized)」の値として SMF に返す ことです(TS 23.503 §6.4、要確認)。PCFがいる構成では、SMFが最終的に使うのは PCF が認可した値です。


What — PCFの出力: SmPolicyDecision

PCFの判断結果は、N7上では SmPolicyDecision というデータ構造で SMF に渡されます(TS 29.512 §5.6.2.4、要確認)。中身は大きく次の3種類です。

種類 単位 中身 規定
Session Rule PDU Session 認可済み Session-AMBR、認可済み default QoS(default QoS Flowの5QI / ARP) TS 23.503 §6.4(要確認)
PCC Rule Service Data Flow(SDF) どのトラフィックを、どのQoS・課金・Gateで扱うか TS 23.503 §6.3
Policy Control Request Trigger(PCRT) PDU Session 「この事象が起きたらPCFへ報告せよ」という条件(位置変更、RAT変更、UE IP割当 等) TS 23.503 §6.1.3.5(要確認)

PCC Rule の構成(TS 23.503 §6.3.1)

TS 23.503 §6.3.1 の表(PCC rule information、要確認)を、用途別にまとめます。

PCC Rule
├─ Rule identifier                 ← PDU Session内で一意
├─ Service data flow detection     ← どのトラフィックか
│   ├─ Precedence                  ← 複数ルールが重なったときの評価順
│   └─ SDF template                ← 次のいずれか
│       ├─ SDF filter のリスト      ← Packet Filter(IP 5-tuple 等)の集合
│       └─ Application identifier  ← アプリIDで検出
├─ Policy control                  ← どう扱うか
│   ├─ Gate status                 ← 通す / 止める
│   ├─ 5QI / ARP                   ← QoSクラスと優先・横取り
│   ├─ UL / DL Maximum bitrate     ← SDF単位の上限
│   ├─ UL / DL Guaranteed bitrate  ← GBRの場合
│   └─ QoS Notification Control 等
├─ Charging                        ← どう課金するか
│   ├─ Charging key(Rating Group)
│   ├─ Service identifier
│   ├─ Charging method / Measurement method
│   └─ ...
├─ Usage monitoring control        ← 使用量の監視
└─ Traffic steering 関連(AF influence 等)
グループ 代表パラメータ 最終的にどこで効くか
SDF detection SDF template、Precedence UE(QoS Rule のPacket Filter)、UPF(PDR の SDF Filter)
QoS 5QI、ARP、MBR / GBR gNB(QoS Flow Level QoS Parameters)、UE(QoS Flow Description)、UPF(QER)
Gate Gate status UPF(QER の Gate Status)
Charging Charging key(Rating Group) 等 UPF(URR で計測)→ SMF → CHF

Dynamic / Predefined の2種類(TS 23.503 §6.3.1、要確認)

  • Dynamic PCC Rule: PCFが中身ごと生成してSMFへ送る。
  • Predefined PCC Rule: 中身は 事前設定 されていて、PCFは 名前(Rule identifier)で有効化/無効化 だけを指示する。SMFは PFCP の Activate Predefined Rules IE(TS 29.244 §7.5.2.2、要確認)で名前を UPF に指示する場合があり、その構成では UPF側にも同名の事前定義ルール が必要です。 Predefined を使うと、N7には Rule ID しか流れないため、「N7を見ても中身が分からない」「SMF / UPF 側の設定漏れでルールが効かない」という事象が起き得ます。Predefined Rule の命名・設定方法、中身を SMF / UPF のどちらに置くかは 実装依存 です。 補足: PCFを使わず SMF のローカル設定だけで適用するルール("static" と呼ばれることがある)は TS 23.503 §6.3.1 の分類外で、呼び方・設定方法は 実装依存 です。

How — SM Policy Association の確立

Call Flow(PDU Session Establishment の中で)

TS 23.502 §4.3.2.2.1 では、SMFは PCF Selection の後に SM Policy Association を確立し(step 7a / 7b)、UE IPアドレス割当後に SMF-initiated Modification で情報を補います(step 9)。いずれも step番号は版により異なるため要確認です。§4.16.4 の中身と合わせて簡略化すると次のとおりです。

sequenceDiagram
    participant UE
    participant AMF
    participant SMF
    participant PCF
    participant UDR
    participant UPF
    UE->>AMF: PDU Session Establishment Request (N1)
    AMF->>SMF: Nsmf_PDUSession_CreateSMContext
    Note over SMF: UDMから SM加入データ取得
(加入Session-AMBR / default QoS) Note over SMF: PCF Selection (NRF Discovery 等) SMF->>PCF: Npcf_SMPolicyControl_Create
(SUPI, DNN, S-NSSAI, RAT, ULI, 加入QoS 等) PCF->>UDR: Nudr_DM_Query (SM Policy Data) UDR-->>PCF: Policy Data PCF->>UDR: Nudr_DM_Subscribe (変更通知の購読) Note over PCF: Policy Decision PCF-->>SMF: 201 Created + SmPolicyDecision
(Session Rule, PCC Rule, PCRT) Note over SMF: UPF Selection・UE IP割当 SMF->>PCF: Npcf_SMPolicyControl_Update
(PCRT条件成立 例: UE IP割当) PCF-->>SMF: 更新されたPolicy (あれば) Note over SMF: QoS Flow binding・QFI割当
(PCC Rule を翻訳) SMF->>UPF: PFCP Session Establishment
(PDR / FAR / QER / URR) SMF->>AMF: Namf_Communication_N1N2MessageTransfer
(N1: QoS Rules 等 / N2: QoS Flow情報)

Signal Flow

# メッセージ 区間 意味 規定
1 PCF Selection SMF(⇔ NRF) DNN / S-NSSAI 等でPCFを選ぶ。AMFから PCF ID を受け取る場合もある TS 23.501 §6.3.7.1
2 Npcf_SMPolicyControl_Create SMF → PCF SM Policy Association 確立要求 TS 23.502 §4.16.4
3 Nudr_DM_Query / Subscribe PCF → UDR Policy Data の取得と変更通知の購読(PCFが未保持の場合) TS 23.502 §4.16.4
4 Create Response(SmPolicyDecision) PCF → SMF Session Rule / PCC Rule / PCRT を返す TS 23.502 §4.16.4、TS 29.512 §4.2.2(要確認)
5 Npcf_SMPolicyControl_Update SMF → PCF PCRT条件の成立を報告(例: UE IP 割当) TS 23.502 §4.16.5.1
6 PFCP Session Establishment SMF → UPF PCC Rule を PDR / QER / URR / FAR に翻訳して設定 TS 29.244 §7.5.2
7 N1N2MessageTransfer → NGAP / NAS SMF → AMF → gNB / UE QoS Flow情報(N2)と QoS Rule(N1) PDU Session Establishment 深掘り

BSFを配置している場合、PCFは SM Policy Association に対応する Binding 情報を BSF に登録します(Nbsf_Management_Register。TS 23.502 §5.2.13.2.2。登録の契機(UE IP / MAC 確定時。§4.16.4 / §4.16.5.1)は要確認)。AFが「このUEのセッションを担当するPCF」を見つけるための仕組みで、詳細は BSF / PCF Binding で扱います。

Create が失敗したときの SMF の振る舞いは実装依存

PCF Selection の失敗や Create のエラー応答時に、SMFが PDU Session を拒否するか、ローカルポリシーで継続するか は事業者設定・実装依存です。「PCFが落ちていたのにセッションは張れた(でもQoSが期待と違う)」という事象は、このフォールバックで説明できる場合があります。


How — 最重要図: PCFは直接設定しない。SMFが翻訳する

PCFは UPFへPFCPを送らず、gNBへNGAPを送らず、UEへ5GSMメッセージを送りません。PCFの出力はあくまで N7 上の SmPolicyDecision で、それを各ノードの言語に翻訳するのは SMF です。

flowchart TD
    PCF["PCF
SmPolicyDecision
PCC Rule + Session Rule"] -->|"N7
Npcf_SMPolicyControl"| SMF["SMF = 翻訳者
QoS Flow binding
QFI割当"] SMF -->|"N4 PFCP
PDR / QER / URR / FAR"| UPF["UPF
検出・Gate・帯域・計測"] SMF -->|"Namf_Communication_N1N2MessageTransfer
N1 SM container + N2 SM information"| AMF["AMF
中継のみ"] AMF -->|"NAS 5GSM
QoS Rules / QoS Flow Descriptions / Session-AMBR"| UE["UE
ULパケット → QFI"] AMF -->|"NGAP
QFI + QoS Flow Level QoS Parameters"| GNB["gNB
QoS Flow → DRB"]
PCF ──X──► UPF     PFCPは話さない(N4の制御側はSMF)
PCF ──X──► gNB     NGAPは話さない(N2の相手はAMF)
PCF ──X──► UE      SMのQoS Ruleは送らない(N1 SMの相手はSMF)

PCFがUEに何かを届ける唯一の道も AMF 経由

PCFは UE Policy(URSP 等)をUEへ届けますが、これも AMF経由のNAS透過配送 です(TS 23.502 §4.2.4.3、要確認)。SM の QoS Rule とは別物で、PCFが無線やUser Planeに直接触れることはありません。

SMFは何をしているのか — QoS Flow binding と翻訳

TS 23.501 §5.7.1.5(QoS Flow mapping、要確認)は、SMFの役割を次のように整理しています。

  1. QoS Flow binding: 各 PCC Rule を、既存の QoS Flow に入れるか、新しい QoS Flow を作るかを決める。判断に使う binding parameter は 5QI と ARP(ほかに QNC、Priority Level、Averaging Window、MDBV が設定されていればそれらも)です(TS 23.503 §6.1.3.2.4、要確認)。binding parameter が同じ PCC Rule は同じ QoS Flow にまとめられます。
  2. QFI の割当: QoS Flow ごとに SMF が QFI を割り当てる。
  3. 翻訳: QoS Flow / PCC Rule の情報を、UE・gNB・UPF のそれぞれに必要な形へ分解する。
PCC Rule / Session Rule の要素 N1 → UE(TS 24.501) N2 → gNB(TS 38.413) N4 → UPF(TS 29.244)
SDF template(UL部分) QoS Rule の Packet Filter — (gNBにPacket Filterは渡らない) UL PDR の SDF Filter
SDF template(DL部分) QoS Rule に DL 向け Packet Filter を含めることは可能だが UE の UL 分類には使われない(含めるかは SMF の判断。TS 23.501 §5.7.6.1、要確認) — DL PDR の SDF Filter
Precedence QoS Rule precedence — PDR Precedence
(SMFが割当)QFI QoS Rule の QFI QFI QER の QFI(DL のマーキング)
5QI / ARP QoS Flow Description(5QI。ARPはUEへは送られない) QoS Flow Level QoS Parameters(5QI、ARP) —(UPFは5QIを直接扱わない。QFIで表現)
GBR / MBR(SDF単位。GBR Flow の場合) QoS Flow Description(Flow単位の GFBR / MFBR) GBR QoS Flow Information(Flow単位の GFBR / MFBR) QER の GBR / MBR
SDF単位の MBR — — QER の MBR(SDF用PDRに紐付け)
Gate status — — QER の Gate Status
Charging key 等 — — URR(計測結果は SMF → CHF)
Session Rule: Session-AMBR Session-AMBR IE PDU Session Aggregate Maximum Bit Rate Session単位の QER(MBR)

(N1: TS 24.501 §9.11.4.12 QoS flow descriptions / §9.11.4.13 QoS rules / §9.11.4.14 Session-AMBR、N2: TS 38.413 §9.3.1.12 QoS Flow Level QoS Parameters、N4: TS 29.244 §7.5.2.2 / §7.5.2.5。いずれも節番号は要確認)

PCC Rule と各ノードの設定は1対1ではない

  • 複数の PCC Rule が 1つの QoS Flow にまとめられることがある(binding parameter が同じ場合)。
  • 1つの PCC Rule から UL用・DL用の2つのPDR が作られることが多い。
  • gNB は SDF を知らない。gNBが知るのは「QFI = x の QoS Flow は 5QI / ARP / ビットレートがこれ」だけです。
  • PCC Rule ID と PFCP の PDR ID / QER ID の対応付けは SMF 内部で管理され、N4 上には PCC Rule ID は現れない のが一般的です(番号の付け方は実装依存)。ただし Predefined PCC Rule の場合、SMF が PFCP の Activate Predefined Rules IE(TS 29.244 §7.5.2.2、要確認)で名前を UPF に指示することがあります。
  • QoS Flow 単位の GFBR / MFBR は、SMF が同じ Flow に束ねた PCC Rule の GBR / MBR から導出します(TS 23.501 §5.7.1.5 / TS 23.503 §6.1.3.2.4、要確認)。

例え話: 同じ「動画は最大10 Mbps」という方針でも、端末への説明書には「この宛先へのパケットにはこの番号札(QFI)を付けて」、基地局への指示書には「番号札xの荷物はこの優先度で」、交換機への設定には「この条件に合うパケットは10 Mbpsで絞り、量を数えて」と、相手が理解できる言葉だけ が書かれます。


How — Policy は Session 確立後にも変わる

PCF-initiated SM Policy Association Modification(TS 23.502 §4.16.5.2)

PCFは、確立済みの SM Policy Association に対して Policy を変更できます。代表的な契機は次のとおりです(TS 23.502 §4.16.5.2、要確認)。

契機 例
AF からの要求 Npcf_PolicyAuthorization_Create / Update(VoNRの音声メディア、動画アプリの帯域要求 等)
UDR の Policy Data 変更 料金プラン変更による Nudr_DM_Notify
CHF の Policy Counter 変化 月間容量の段階が変わった(Spending Limit)
PCF 内部の判断 時間帯ルール等(実装依存)

Network requested PDU Session Modification(TS 23.502 §4.3.3.2)

PCFからの UpdateNotify を受けた SMF は、必要に応じて PDU Session Modification を起動します。TS 23.502 §4.3.3.2 では、PCF起点の場合が step 1b として位置付けられています(step番号は要確認)。

sequenceDiagram
    participant UE
    participant gNB
    participant AMF
    participant SMF
    participant PCF
    participant UPF
    Note over PCF: 契機: AF要求 / Policy Data変更 等
    PCF->>SMF: Npcf_SMPolicyControl_UpdateNotify
(PCC Rule の追加 / 変更 / 削除) SMF-->>PCF: 204 No Content 等 Note over SMF: QoS Flow binding を再評価
既存Flowへ追加 or 新Flow作成 SMF->>AMF: Namf_Communication_N1N2MessageTransfer
(N1: PDU Session Modification Command
N2: PDU Session Resource Modify Request Transfer) AMF->>gNB: NGAP PDU Session Resource Modify Request gNB->>UE: RRC Reconfiguration (NAS: Modification Command) gNB-->>AMF: PDU Session Resource Modify Response AMF->>SMF: Nsmf_PDUSession_UpdateSMContext (N2 SM情報) SMF->>UPF: PFCP Session Modification
(Create/Update PDR, QER, URR) UPF-->>SMF: PFCP Session Modification Response UE->>AMF: PDU Session Modification Complete (N1) AMF->>SMF: Nsmf_PDUSession_UpdateSMContext (N1 SM情報) Note over SMF: 必要なら UPF を再更新し
PCF へ結果を報告 (Npcf_SMPolicyControl_Update)
  • UE が CM-IDLE の場合、N1/N2 を届ける前に Network Triggered Service Request(Paging)が必要になります(TS 23.502 §4.2.3.3、§4.3.3.2 内の条件は要確認)。
  • 図は TS 23.502 §4.3.3.2 の基本フロー(N2 の応答を受けた後に N4 を更新)に沿った代表例です(step番号は要確認)。N4 を先に事前設定する実装もあります(実装依存)。全体像は PDU Session Modification / Release を参照してください。
  • 変更が UPFだけで完結する 場合(後述のパターンA)、SMFは N1 / N2 を送らないことがあります。どこまで送るかは変更内容と SMF実装 によります。
  • PDU Session Modification の NAS 側は TS 24.501 §6.3.2(Network-requested PDU session modification、要確認)、NGAP 側は TS 38.413 §8.2.3(PDU Session Resource Modify)です。

SMF-initiated と PCRT

逆方向の SMF-initiated SM Policy Association Modification(TS 23.502 §4.16.5.1)は、PCFが事前に指定した Policy Control Request Trigger の条件が成立したときに使われます。たとえば「RAT Typeが変わったら報告」「UE IPが割り当てられたら報告」です。PCFは報告を受けて Policy を見直し、応答で新しい PCC Rule を返すことができます。


How — 実務例: Video だけ帯域制御する

「特定の動画配信サービスのトラフィックだけ、DL最大10 Mbpsに制限したい」という要件を考えます。PCC Rule の作り方によって、SMFが更新する範囲が変わる点に注目してください。

パターンA: 既存の Non-GBR QoS Flow に入れて、SDF単位で絞る

PCC Rule "video-limit"
├─ Precedence: 100(default ルールより優先)
├─ SDF template: DL  from 203.0.113.0/24 port 443 to UE   ← 架空例
│                UL  from UE to 203.0.113.0/24 port 443
├─ 5QI / ARP: default QoS Flow と同じ値(Non-GBR)
└─ DL Maximum bitrate: 10 Mbps
  • binding parameter(5QI / ARP)が default QoS Flow と同じなので、新しい QoS Flow は作られず、既存の QFI にまとめられます(TS 23.503 §6.1.3.2.4、要確認)。
  • SMF は UPF に、SDF Filter 付きの PDR(Precedence 100)と、DL MBR = 10 Mbps の QER を追加します。
  • gNB の QoS Flow パラメータは変わらないため、N2 には何も流れない ことがあり得ます。UE に QoS Rule を追加するかどうか(UL分類を変える必要があるか)は SMF の判断です(実装依存/要確認)。

Non-GBR トラフィックの SDF単位 MBR

PCC Rule の UL / DL Maximum bitrate は SDF に対して認可される値です(TS 23.503 §6.3.1、要確認)。これを UPF の QER(PDR に紐付く MBR)で強制するのが一般的な実装ですが、Non-GBR の SDF単位 MBR の強制を定める TS 23.501 の該当節は要確認です。

パターンB: 専用の GBR QoS Flow を作る

AF からの要求(例: ライブ配信の品質確保)で、GBR を持つ専用 QoS Flow を作る場合は、binding parameter(5QI / ARP)が異なるため 新しい QFI が割り当てられ、N4・N2・N1 のすべて が更新されます。

flowchart LR
    A["PCC Rule 追加"] --> B{"binding parameter
(5QI, ARP 等) が
既存Flowと同じ?"} B -- "Yes (パターンA)" --> C["既存QFIへbinding
主に N4 だけ更新
(N1は SMF判断)"] B -- "No (パターンB)" --> D["新QFIを割当
N4 + N2 + N1 を更新
(PDU Session Modification)"]

実際の商用網では、動画の識別を IP 5-tuple だけでなく Application identifier(UPFのアプリ検出。PFD は NEF 経由で提供され得る。TS 23.502 §4.18、要確認)で行うこともあり、検出精度や方式は 実装依存 です。


How — AF が関わる場合(概略)

アプリ側が QoS を要求する場合、AF が PCF に要求し、PCF がそれを PCC Rule に変換します。

AF ──N5: Npcf_PolicyAuthorization_Create──► PCF
                                             │ (加入者・事業者ポリシーで承認 / 変更 / 拒否)
                                             ▼
                          Npcf_SMPolicyControl_UpdateNotify
                                             ▼
                                            SMF ──► N4 / N2 / N1
  • AF の要求は「要求」であり、そのまま通るとは限りません(Policy)。
  • AF が対象UEのセッションを担当する PCF を見つけるには BSF を使います(BSF / PCF Binding)。
  • N5 の詳細は次々章 AF / N5 / Application Session、外部AFの NEF 経由は NEF / N33 で扱います。

Packet Analysis (Wireshark)

Policy の問題は 1つのInterfaceだけを見ても解けません。N7 → N4 → N2 → N1 → N3 を同じ PDU Session について横断します。

Display Filter

フィルタ 用途
http2 N7(SBI)全体。TLS の場合は鍵が必要
http2.headers.path contains "npcf-smpolicycontrol" N7 の操作に絞る(フィールド名は版で要確認)
json SmPolicyDecision 等の JSON ボディ
pfcp N4(Create / Update PDR・QER・URR)
ngap N2(PDU Session Resource Setup / Modify)
nas-5gs N1(PDU Session Establishment Accept / Modification Command。NASが暗号化されている場合は復号設定が必要)
gtp N3(PDU Session Container の QFI)

SBI の TLS サポートは必須ですが、PLMN 内での適用はオペレータ判断です(TS 33.501 §13.1、要確認)。Open5GS / free5GC 等のラボでは平文 HTTP/2 で構成されることもあります(設定依存)。HTTP/2 / JSON の詳細な読み方は次章 N7 SBI解析 で扱います。

Decode例(概念表現)

以下は TS 29.512 の OpenAPI 定義に沿った 概念表現 で、属性名は要確認、値は架空例です(要キャプチャ)。

POST /npcf-smpolicycontrol/v1/sm-policies  →  201 Created
SmPolicyDecision
├─ sessRules
│   └─ "sess-1"
│       ├─ authSessAmbr: { uplink: "100 Mbps", downlink: "200 Mbps" }
│       └─ authDefQos:   { 5qi: <Non-GBR値>, arp: { ... } }
├─ pccRules
│   └─ "video-limit"
│       ├─ pccRuleId:  "video-limit"
│       ├─ precedence: 100
│       ├─ flowInfos:
│       │   └─ flowDescription: "permit out 6 from 203.0.113.0/24 443 to assigned"
│       │      flowDirection:   BIDIRECTIONAL
│       └─ refQosData: [ "qos-video" ]
├─ qosDecs
│   └─ "qos-video"
│       ├─ 5qi:    <default QoS Flowと同じ値>
│       └─ maxbrDl: "10 Mbps"
└─ policyCtrlReqTriggers: [ ... ]
  • flowDescription は RFC 6733 の IPFilterRule 形式を流用した表現です(TS 29.512 から TS 29.214 §5.4.2 Flow-Description AVP を参照する形、要確認)。
  • PCC Rule は QoS の値を直接持たず、refQosData で qosDecs を 参照 する構造です。Trace では参照先まで追います。

対応する N4 側(概念表現、要キャプチャ):

PFCP Session Modification Request
├─ Create PDR
│   ├─ PDR ID: 10
│   ├─ Precedence: 100
│   ├─ PDI: Source Interface = Core, UE IP Address, SDF Filter (203.0.113.0/24 443)
│   ├─ FAR ID: 2
│   └─ QER ID: 10, 1           ← SDF用QER と Session-AMBR用QER
└─ Create QER
    ├─ QER ID: 10
    ├─ Gate Status: UL OPEN / DL OPEN
    ├─ MBR: DL 10 Mbps
    └─ QFI: (default QoS Flow と同じ)

見る順番

flowchart LR
    A["① N7
Create / UpdateNotify
PCC Rule と qosDecs"] --> B["② N4
PDR の SDF Filter・Precedence
QER の MBR・Gate・QFI"] B --> C["③ N2
QFI と
QoS Flow Level QoS Parameters"] C --> D["④ N1
QoS Rules・
QoS Flow Descriptions"] D --> E["⑤ N3
GTP-U の QFI"]

比較表を作る

項目 N7(PCF → SMF) N4(SMF → UPF) N2(SMF → gNB) N1(SMF → UE)
対象フロー flowDescription: 203.0.113.0/24 443 SDF Filter: 同左 (なし) QoS Rule Packet Filter(UL)
優先度 precedence: 100 PDR Precedence: 100 (なし) QoS Rule precedence
QFI (PCFは知らない) QER QFI: 1(架空例) QFI: 1 QoS Rule QFI: 1
帯域 maxbrDl: 10 Mbps QER MBR DL: 10 Mbps (Non-GBRなら Flow 単位の MBR は無い) (同左)

PCFは QFIを知らない(QFIを割り当てるのはSMF)ことに注意してください。N7とN4を相関させる第一の鍵は SDF(Packet Filter) です。Precedence の値は SMF が変換し得る(N1 の QoS rule precedence は1オクテット等。変換方法は実装依存)ため、値の一致ではなく 順序関係 で比べます。


Trouble Shooting

① Policy が来ない(期待したQoSにならない)

UPFを見る前に、上流から順に確認します。

① PCF Selection は成功した?(NRF Discovery、SMFのPCF設定)
② Npcf_SMPolicyControl_Create は 201 Created?(4xx / 5xx ではない?)
③ SmPolicyDecision に期待した PCC Rule / Session Rule が入っている?
④ PCC Rule が Predefined(Rule ID だけ)なら、SMF(Activate Predefined Rules を使う構成では UPF も)に同名ルールが設定されている?
⑤ SMF は PCC Rule を受け入れた?(SMF ログ、Update での失敗報告)
⑥ N4 / N2 / N1 へ正しく展開された?

② PCFは正しいのに UPF が違う

N7 の SmPolicyDecision と N4 の Create / Update QER・PDR を SDF をキーに 並べ、Precedence は順序関係で比べます。差があれば、原因は SMF の翻訳(binding・単位変換・ルール統合) か、UPFが Request を受理していない(PFCP Cause)かのどちらかです。

③ UPF は正しいが RAN だけ違う

N2 の PDU Session Resource Setup / Modify Request Transfer 内の QoS Flow Setup Request List / QoS Flow Add or Modify Request List、その中の QFI と QoS Flow Level QoS Parameters を確認します(TS 38.413 §9.3.4.1 / §9.3.4.3、要確認)。N2 には SDF 情報が無いため、「UPFでは SDF ごとに違う扱いなのに gNB では同じ QoS Flow」は、パターンAの binding では 正常 です。

症状 想定原因 確認ポイント ログ Packet 解決方法
PDU Session は張れるが PCC Rule が全く効かない PCF Selection 失敗後に SMF がローカルポリシーで継続(実装依存) Create の有無と応答コード SMF ログ http2 NRF / PCF 設定、PCF の稼働を確認
Create が 4xx / 5xx 加入者の Policy Data が UDR に無い、必須属性不足 等 ProblemDetails の cause PCF ログ http2 / json Policy Data 投入、SMF の送信内容を確認(N7 SBI解析)
PCC Rule ID は届くが効かない Predefined PCC Rule が SMF / UPF に未設定 SmPolicyDecision の中身が ID のみか、N4 の Activate Predefined Rules SMF / UPF ログ json / pfcp SMF / UPF 側ルール定義を追加
PCFの MBR と UPF の QER が違う SMF の翻訳・単位変換、複数ルールの統合 N7 qosDecs と N4 Create QER SMF ログ json / pfcp SMF の PCC→PFCP 変換設定・版を確認
特定アプリだけ期待QoSにならない Precedence の衝突、SDF template の誤り N7 precedence と N4 PDR Precedence(順序関係)/ SDF Filter SMF / UPF ログ pfcp PCC Rule の Precedence / フィルタを修正
UPF は正しいが無線品質が変わらない N2 に QoS Flow 変更が載っていない、gNB が拒否 Modify Request / Response の QFI、Failed リスト gNB / AMF ログ ngap binding 方針(新Flowが必要か)、gNB の受付可否を確認
UL だけ期待した QoS Flow に乗らない UE へ QoS Rule が届いていない / Packet Filter 誤り Modification Command の QoS rules UE / SMF ログ nas-5gs SMF の QoS Rule 生成を確認
AF 要求後に何も変わらない UpdateNotify が送られていない、BSF で PCF が見つからない N5 応答、N7 UpdateNotify の有無 PCF ログ http2 AF / N5・BSF の経路を確認

3GPP仕様とVendor実装の境界

3GPPが定義するもの Vendor / 運用が決めるもの
SM Policy Association の手続き(Create / Update / UpdateNotify / Delete) PCF の Policy DB スキーマ、ルール記述言語、GUI
PCC Rule / Session Rule / PCRT の情報要素 料金プランを PCC Rule に落とす設計、Rule ID の命名
QoS Flow binding の原則(binding parameter) SMF の PCC Rule キャッシュ、Pod / DB 構成
N1 QoS Rule / N2 QoS Flow Level QoS Parameters / N4 PDR・QER・URR の形式 PCC Rule ID と PDR / QER ID の対応付け方、番号の振り方
Dynamic / Predefined PCC Rule という概念、PFCP の Activate Predefined Rules Predefined Rule の設定方法と置き場所(SMF / UPF)、PCF 不使用時のローカルポリシー、PCF 不達時のフォールバック動作
N7 の Npcf_SMPolicyControl API(TS 29.512) show policy session 等の CLI、トレース機能

「PCFから受けた Policy を SMF のどの Pod / DB にキャッシュするか」は3GPPの規定外です。


EPC(4G)との比較

項目 4G EPC 5GC
Policy 判断 PCRF PCF
Policy の受け手 PCEF(PGW 内) SMF(翻訳)+ UPF(実施)
Interface Gx(Diameter、TS 29.212) N7(SBI、TS 29.512)
確立 CCR-Initial / CCA Npcf_SMPolicyControl_Create
網側からの変更 RAR / RAA(PCRF → PCEF) Npcf_SMPolicyControl_UpdateNotify
受け手側からの報告 CCR-Update / CCA(Event Trigger) Npcf_SMPolicyControl_Update(PCRT)
終了 CCR-Termination / CCA Npcf_SMPolicyControl_Delete
PCC Rule → 実体 Bearer binding(EPS Bearer、UEへは TFT) QoS Flow binding(QFI、UEへは QoS Rule)
AF 連携 Rx(Diameter) N5(Npcf_PolicyAuthorization)
枠組み仕様 TS 23.203 TS 23.503

PCC Rule という考え方は TS 23.203 §6.3(要確認)から継承されています。ただし PCRF = PCF、PGW = SMF という単純な1対1置換で考えると誤解します。4G の PCEF は PGW 内で「受け取って実施」まで担いましたが、5G では SMF が翻訳し、UPF・gNB・UE がそれぞれ実施する 構造に分かれています。Gx の Bearer binding は TS 23.203 §6.1.1.4(要確認)です。


3GPP Specification

仕様 節 内容
TS 23.503 §4.2 / §6.2.1 Policy Framework のアーキテクチャ / PCF の機能(要確認)
TS 23.503 §6.2.1.2 Input for PCC decisions(要確認)
TS 23.503 §6.3 / §6.3.1 PCC Rule の構成、Dynamic / Predefined(枝番は要確認)
TS 23.503 §6.4 PDU Session 関連 Policy(Session Rule、要確認)
TS 23.503 §6.1.3.2.4 / §6.1.3.5 QoS Flow binding / Policy Control Request Trigger(要確認)
TS 23.502 §4.16.4 SM Policy Association Establishment
TS 23.502 §4.16.5.1 / §4.16.5.2 SMF-initiated / PCF-initiated SM Policy Association Modification(枝番は要確認)
TS 23.502 §4.16.6 SM Policy Association Termination
TS 23.502 §4.3.2.2.1 UE-requested PDU Session Establishment(PCF連携の位置。step番号は要確認)
TS 23.502 §4.3.3.2 UE or network requested PDU Session Modification
TS 23.502 §5.2.5.4 Npcf_SMPolicyControl サービス(枝番は要確認)
TS 23.501 §5.7.1.5 QoS Flow mapping(SMFによる binding と QoS Rule / QoS Profile / SDF 情報の生成。要確認)
TS 23.501 §6.3.7.1 PCF discovery and selection
TS 29.512 §4.2.2〜§4.2.5 / §5.6.2 Npcf_SMPolicyControl の操作 / データモデル(要確認)
TS 29.513 §7 PCC の QoS パラメータ mapping(要確認)
TS 24.501 §6.3.2 / §9.11.4.12〜§9.11.4.14 Network-requested PDU session modification / QoS flow descriptions・QoS rules・Session-AMBR(要確認)
TS 38.413 §8.2.3 / §9.3.1.12 / §9.3.4.1 / §9.3.4.3 PDU Session Resource Modify / QoS Flow Level QoS Parameters / Setup・Modify Request Transfer(要確認)
TS 29.244 §7.5.2.2 / §7.5.2.5 / §7.5.4 Create PDR / Create QER / Session Modification Request(要確認)
TS 23.203 §6.1.1.4 / §6.3 EPC の Bearer binding / PCC Rule(比較用、要確認)
TS 29.212 §4 Gx(比較用、要確認)

Summary

  • SM Policy Association は PDU Session ごとの SMF⇔PCF の関係。Create で確立、Update(SMF起点)/ UpdateNotify(PCF起点)で変更、Delete で終了
  • PCFは SMFからの入力(DNN・S-NSSAI・RAT・位置・加入QoS)、UDRの Policy Data、AF要求、CHF の状態 を材料に判断する
  • 出力は Session Rule(Session-AMBR・default QoS)、PCC Rule(SDF template・Precedence・QoS・Gate・Charging)、PCRT
  • PCFは UE・gNB・UPF を直接設定しない。SMF が QoS Flow binding と QFI 割当を行い、QoS Rule(N1)/ QoS Flow Level QoS Parameters(N2)/ PDR・QER・URR(N4) に翻訳する
  • gNB は SDF を知らない。N7 と N4 は SDF(Precedence は順序関係)で、N4 と N2 / N1 は QFI で相関させる
  • 確立後の Policy 変更は PCF-initiated Modification(§4.16.5.2)→ Network requested PDU Session Modification(§4.3.3.2)。binding 次第で N4 だけ、または N4 + N2 + N1 が更新される

理解度チェック

Q1. PCFがSMFへ新しいQoS Policyを通知しました。このPolicyをUPFへ反映する基本的な経路として最も適切なのはどれか。A. PCFがUPFへ直接PFCP Session Modification Requestを送信する / B. PCFがAMF経由でUPFへNGAP QoS Updateを送信する / C. PCFからPolicy Decisionを受けたSMFが、必要なPDR/QER等へ変換し、N4 PFCPを使ってUPFへ反映する / D. PCFがN3 GTP-U PacketのQFIを書き換えることでUPFへPolicyを通知する

正解: C。N4(PFCP)の制御側は SMF で、PCFは PFCP を話しません(A は誤り)。NGAP は AMF⇔gNB のプロトコルで UPF には届きません(B は誤り)。N3 の QFI は User Plane のマーキングで、Policy の通知手段ではありません(D は誤り)。PCF の UpdateNotify を受けた SMF が PDR / QER 等に翻訳し、PFCP Session Modification で UPF に反映します(TS 23.502 §4.16.5.2 / §4.3.3.2)。

Q2. N7 の SmPolicyDecision を見ても、PCC Rule に QFI が見当たりません。設定漏れでしょうか。

設定漏れではありません。QFI を割り当てるのは SMF で、PCF は PCC Rule に 5QI / ARP 等の QoS パラメータを与えるだけです。SMF が binding parameter(5QI、ARP 等)を見て既存の QoS Flow にまとめるか新しい QoS Flow を作るかを決め、QFI を付けます(TS 23.501 §5.7.1.5 / TS 23.503 §6.1.3.2.4、要確認)。N7 と N4 を相関させるときは、QFI ではなく SDF(Packet Filter) をキーにし、Precedence は順序関係で比べます。

Q3. 動画トラフィックに DL MBR 10 Mbps の PCC Rule を追加しました。UPF の QER には反映されましたが、NGAP には PDU Session Resource Modify が流れていません。異常ですか。

異常とは限りません。PCC Rule の 5QI / ARP が既存の default QoS Flow と同じなら、SMF はそれを 既存の QoS Flow に binding し、SDF単位の MBR は UPF の QER で強制します。gNB の QoS Flow パラメータは変わらないため、N2 の更新が不要な場合があります。gNB は SDF を知らず、QFI 単位の QoS しか扱わないためです。新しい GBR Flow が必要な PCC Rule であれば、N2 / N1 も更新されるはずです。

Q4. SmPolicyDecision に PCC Rule の ID だけがあり、SDF template や QoS が含まれていません。考えられることと確認先は何ですか。

Predefined PCC Rule の可能性があります。中身は SMF に事前設定されており、PCF は Rule ID で有効化だけを指示します(TS 23.503 §6.3.1、要確認)。この場合、確認先は PCF ではなく SMF のルール定義(PFCP の Activate Predefined Rules で UPF に名前を渡す構成では UPF のルール定義 も)です。SMF / UPF に同名のルールが無い、または中身が想定と違うと、N7 は正常でも Policy が効きません。

Q5. 4G の Gx の RAR(Re-Auth-Request)に相当する 5GC の操作は何で、その後に何が起きますか。

Npcf_SMPolicyControl_UpdateNotify(PCF → SMF)です。SMF は新しい PCC Rule を QoS Flow に binding し直し、必要に応じて Network requested PDU Session Modification(TS 23.502 §4.3.3.2)を起動して、PFCP Session Modification(N4)、PDU Session Resource Modify(N2)、PDU Session Modification Command(N1)で反映します。


Next Step