PFCP と PDR / FAR / QER / URR — UPFはパケットをどう判定して転送するのか¶
学習目標¶
この章を読み終えると、次のことができるようになります。
- PFCP が User Packet を運ぶプロトコルではなく、UPFの処理ルールを設定するControl Protocol であることを説明できる
- PDR → FAR / QER / URR の参照関係(PDRが「どのPacketか」、他が「どう扱うか」)を説明できる
- UL と DL で PDR が何を見てMatchするか(F-TEID / UE IP Address / SDF Filter)が違う理由を説明できる
- FAR の Apply Action(FORW / DROP / BUFF / NOCP) と、CM-IDLE UEへのPaging の関係を説明できる
- PFCP Capture で PDR → FAR ID → FAR をたどり、TEID不一致などを見つけられる
前提知識¶
- PDU Session Establishment 深掘り — SMFが PFCP Establishment → Modification でUPFを設定する流れ
- Paging / Service Request — CM-IDLE UEへのDL Data到着からの手続き
- 補助: N4 / N3 / N6 / QoS / Charging
この章の焦点(Level ∞ マニアック)
前章では、SMFが N4 で UPF に「ルールを入れる」タイミングを見ました。この章では、そのルールの 中身 と、UPFがPacketを受け取ってから送り出すまでの判定順序を掘り下げます。
Why — UPFは「Internetへ送る箱」ではない¶
UPFは、受け取ったPacketごとに次を判断しています。
Packet が来た
↓ これはどのPDU Session・どのTrafficのPacket? ← PDR
↓ 転送する? 捨てる? 溜める? どこへ? ← FAR
↓ どの帯域・QoSで扱う? ← QER
↓ どれだけ使った? ← URR
送り出す(N3 / N6 / N9)
この判断のルールを UPF に設定するのが SMF で、そのためのプロトコルが PFCP(Packet Forwarding Control Protocol) です(TS 29.244 §4.1 / §5.1、要確認)。
例え話: UPFは「仕分けセンター」です。PDRは荷札の読み取り条件、FARは配送先と「保管 / 廃棄」の指示、QERは配送トラックの速度制限、URRは取扱量の帳簿。仕分けのルールブックを書いて渡すのが SMF です。
What — PFCP の位置づけ¶
Control Plane User Plane
SMF ════════ UPF gNB ════════ UPF ════════ DN
N4 / PFCP N3 / GTP-U N6
(ルールを設定する) (UEのPacketそのもの)
- PFCP は N4(SMF ⇔ UPF) の Control Protocol です(TS 29.244 §4.1 / §5.1、要確認)。UEのUser Packetそのものは運びません。SMFバッファリング等でUPF⇔SMF間にUser Packetを転送する場合も、PFCPではなくN4上のGTP-Uトンネルが使われます(TS 29.244 §5.3、TS 23.501 §5.8.3、要確認)。
- UEのData は N3 では GTP-U(TS 29.281 §5、要確認)で、N6 ではDNのプロトコルで運ばれます。
- PFCP は UDP 上で動作し、Node 単位の手続き(Association Setup / Heartbeat 等)と Session 単位の手続き(Session Establishment / Modification / Deletion / Report)があります(TS 29.244 §6 / §7、要確認)。
What — Packet Forwarding Model¶
TS 29.244 では、UPF内のPacket処理を次のモデルで定義しています(TS 29.244 §5.2.1、要確認)。
flowchart LR
P[Incoming Packet] --> PDR{"PDR lookup
(PDI と Precedence)"}
PDR -- "FAR ID" --> FAR["FAR
Apply Action / Forwarding Parameters"]
PDR -- "QER ID(s)" --> QER["QER
Gate / MBR / GBR / QFI"]
PDR -- "URR ID(s)" --> URR["URR
Volume / Time / Event 計測"]
FAR -- "BAR ID(任意)" --> BAR["BAR
Buffering"]
FAR --> OUT[N3 / N6 / N9 / CP-function]
| ルール | 正式名 | ひとことで | PDRからの参照 |
|---|---|---|---|
| PDR | Packet Detection Rule | どのPacketか(WHO / WHAT) | — |
| FAR | Forwarding Action Rule | どうするか、どこへ(ACTION / WHERE) | 通常1つ(FAR ID。Predefined Rule使用時・MAR ID使用時(ATSSS)を除く。TS 29.244 §7.5.2.2、要確認) |
| QER | QoS Enforcement Rule | どのQoSで(HOW FAST) | 0個以上(QER ID) |
| URR | Usage Reporting Rule | どれだけ使ったか(HOW MUCH) | 0個以上(URR ID) |
| BAR | Buffering Action Rule | バッファリングの扱い | FARから参照(任意) |
ATSSS 用の MAR(Multi-Access Rule)など、Releaseで追加されたルールもあります(本章では扱いません)。各ルールの5GS上のパラメータは TS 23.501 §5.8.2.11 にも整理されています(枝番は要確認)。
What — PDR(Packet Detection Rule)¶
PDR は、受信したPacketがどのPDU Session・どのTrafficに該当するか を判定するルールです。
PDR の主な中身¶
Create PDR
├─ PDR ID
├─ Precedence ← 複数Matchしたときの優先度
├─ PDI(Packet Detection Information)
│ ├─ Source Interface ← Access(N3側)/ Core(N6側)等
│ ├─ Local F-TEID ← ULでは主にこれでMatch
│ ├─ Network Instance
│ ├─ UE IP Address ← DLでは主にこれでMatch
│ ├─ SDF Filter ← 5-tupleなど
│ └─ QFI
├─ Outer Header Removal(任意) ← ULでGTP-U/UDP/IPを外す
├─ FAR ID
├─ URR ID(0個以上)
└─ QER ID(0個以上)
(IE構成は TS 29.244 §7.5.2.2、要確認)
UL と DL で Match の手がかりが違う¶
| 方向 | Packetの来方 | Source Interface | 主なMatch条件 |
|---|---|---|---|
| UL(UE → DN) | gNB から N3 の GTP-U で届く | Access | Local F-TEID(UPF側のIP + TEID)+必要に応じ QFI / SDF Filter |
| DL(DN → UE) | (PSA UPF・IP型PDU Sessionの場合)DN から N6 の素のIPで届く。TEIDは無い(N9経由のI-UPFではGTP-UのLocal F-TEIDでMatch) | Core | UE IP Address(宛先)+必要に応じ SDF Filter |
UL: gNB ──GTP-U (TEID=0x00000101)──► UPF
PDR #1: Source=Access, F-TEID=198.51.100.20/0x00000101 → MATCH
Outer Header Removal: GTP-U/UDP/IPv4 → 中身のIPをN6へ
DL: DN ──IP (dst=10.45.0.3)──► UPF
PDR #2: Source=Core, UE IP=10.45.0.3 (destination) → MATCH
FAR → Outer Header Creation で GTP-U に包んで gNB へ
Precedence — 複数のPDRがMatchしたら¶
同じPacketに複数のPDRがMatchし得るため、PDRには Precedence があります。UPFは、Matchしたうち Precedence値が最も小さい(=優先度が最も高い)PDR を選びます(TS 29.244 §5.2.1 / §8.2.11、要確認)。
DL Packet (dst=10.45.0.3, dst port=5060)
├─ PDR #2 Precedence=255 UE IP=10.45.0.3 → match
└─ PDR #3 Precedence=100 UE IP=10.45.0.3 + SDF(port 5060) → match
↓ 小さい方が優先
PDR #3 を適用(例: IMS用の別QoS Flowへ)
複数QoS Flowや Traffic Steering では、このPDR選択が意図通りかどうかが重要になります。
What — FAR(Forwarding Action Rule)¶
PDRでMatchしたPacketを どうするか を決めるのが FAR です。中心は Apply Action IE です(TS 29.244 §8.2.26、要確認)。
| Apply Action | 意味 |
|---|---|
| FORW | 転送する(Forwarding Parameters に従う) |
| DROP | 破棄する |
| BUFF | バッファリングする(BAR に従う) |
| NOCP | 最初のDL Packet到着を CP-function(SMF)へ通知する |
| DUPL | 複製する(Lawful Interception 等) |
Release によっては、ほかのフラグ(IP multicast 関連、DL Data通知の制御 等)も追加されています(要確認)。
Forwarding Parameters¶
Create FAR
├─ FAR ID
├─ Apply Action = FORW
└─ Forwarding Parameters
├─ Destination Interface ← Access(N3へ)/ Core(N6へ)等
├─ Network Instance
└─ Outer Header Creation(DLで使う)
├─ Description = GTP-U/UDP/IPv4
├─ TEID = 0x12345678 ← gNB側 TEID
└─ IPv4 Address = 192.0.2.10 ← gNB側 N3 IP
Outer Header Creation — DLでGTP-Uに包む¶
DN から来たDL Packetは素のIPです。gNBへ送るには、UPFが GTP-U で包む(Encapsulation) 必要があり、そのための宛先 IP と TEID が FAR の Outer Header Creation です(TS 29.244 §8.2.56、要確認)。
Inner: IP(dst=UE IP) | payload
↓ Outer Header Creation
Outer: IP(dst=gNB N3 IP) | UDP(2152) | GTP-U(TEID=gNB側) | IP(dst=UE IP) | payload
GTP-U のUDPポート 2152 は TS 29.281 §4.4.2 によります(要確認)。
この値は gNB が NGAP PDU Session Resource Setup Response で返したものです(Response Transfer 内の DL QoS Flow per TNL Information。TS 38.413 §8.2.1 / §9.3.4.2、要確認)。前章で、SMF が PFCP Session Modification で gNB の F-TEID を UPF へ反映したのは、この Outer Header Creation を埋めるためです。
なお、gNB が受信するDL GTP-U には、QFI を運ぶ PDU Session Container 拡張ヘッダが付きます(TS 38.415 §5.5.2.1、TS 29.281 §5.2.2.7、要確認)。
How — BUFF / NOCP と Paging のつながり¶
AN Release(TS 23.502 §4.2.6、要確認)やUP接続の非活性化で N3 トンネルが解放されると、UPFにはDLの送り先(gNB F-TEID)がありません。このときSMFは、DL FARを BUFF + NOCP にしておけます(UPFでバッファリングする場合。TS 23.501 §5.8.3、要確認)。
sequenceDiagram
participant DN
participant UPF
participant SMF
participant AMF
participant gNB
participant UE
DN->>UPF: DL Packet
Note over UPF: DL PDR match → FAR: BUFF + NOCP
UPF->>SMF: PFCP Session Report Request(Downlink Data Report)
SMF-->>UPF: PFCP Session Report Response
SMF->>AMF: Namf_Communication_N1N2MessageTransfer
AMF->>gNB: NGAP Paging
gNB->>UE: Paging
UE->>AMF: Service Request
Note over AMF,SMF: N2 SM 情報で新しい gNB F-TEID が SMF へ
SMF->>UPF: PFCP Session Modification(FAR: FORW + 新 Outer Header Creation)
UPF->>gNB: バッファしていたDL Packetを送出
- バッファリングは UPFで行う方式 と SMFで行う方式 があり、どちらを使うかはSMFが決めます(TS 23.501 §5.8.3、要確認)。
- DL Data 到着から Paging までの全体手順は TS 23.502 §4.2.3.3(Network Triggered Service Request)です。
- Service Request(UP接続の再活性化)や Handover では gNB から新しい DL F-TEID が通知されるため(TS 23.502 §4.2.3.2 / §4.9.1、要確認)、SMFは PFCP Session Modification で FAR の Outer Header Creation を更新します。
つまり、Paging の出発点には、UPF内の DL PDR → FAR(BUFF + NOCP) が存在しています。
What — QER(QoS Enforcement Rule)¶
QER は、Matchしたトラフィックに QoSを適用 するルールです(TS 29.244 §5.2 配下の QER handling / §7.5.2.5、枝番は要確認)。
Create QER
├─ QER ID
├─ Gate Status ← UL / DL それぞれ OPEN / CLOSED
├─ MBR ← Maximum Bit Rate(UL / DL)
├─ GBR(任意) ← Guaranteed Bit Rate
├─ QFI(任意) ← DLでGTP-Uヘッダに付けるQFI
└─ RQI(任意) ← Reflective QoS
- 1つのPDRから複数QERを参照でき、たとえば QoS Flow単位のMBR と PDU Session単位のSession-AMBR を別々のQERで表現できます(5GSでの対応は TS 23.501 §5.8.2.11、要確認)。
- Gate Status = CLOSED だと、FAR が FORW でもそのトラフィックは通りません(TS 29.244 §8.2.7 Gate Status、要確認)。「FORWなのに流れない」ときはQERも疑います。
- 具体的なRate制御方式(Token Bucket等)やHardwareへの実装は Vendor依存 です。
QoS Flow / 5QI / AMBR の概念は QoS を参照してください。
What — URR(Usage Reporting Rule)¶
URR は、トラフィックの 使用量を計測し、条件を満たしたらSMFへ報告 するルールです(TS 29.244 §5.2.2 / §7.5.2.4、要確認)。
Create URR
├─ URR ID
├─ Measurement Method ← VOLUM(バイト数)/ DURAT(時間)/ EVENT
├─ Reporting Triggers ← 閾値到達、Quota消費、周期 等
├─ Volume Threshold / Volume Quota(任意)
└─ Time Threshold / Time Quota(任意)
Usage Report は、PFCP Session Report Request(UPF起点)、Session Modification Response、Session Deletion Response などでSMFへ返ります(TS 29.244 §7.5.8 / §7.5.5 / §7.5.7、要確認)。
URR = Charging そのもの ではない
URR は UPFでの計測・報告ルール です。その結果をSMFが Converged Charging(Nchf、CHF)でどう使うかは別の層です(TS 32.255 §5 / TS 32.290 §5、節番号は要確認)。詳しくは Charging を参照してください。
How — PFCP の Session 手続き¶
| 手続き | 方向 | 主な用途 | 規定 |
|---|---|---|---|
| Session Establishment | SMF → UPF | PDU Session開始時に PDR / FAR / QER / URR を Create | TS 29.244 §7.5.2 / §7.5.3 |
| Session Modification | SMF → UPF | gNB F-TEIDの反映、Service Request / Handover、QoS変更(Create / Update / Remove) | TS 29.244 §7.5.4 / §7.5.5 |
| Session Deletion | SMF → UPF | PDU Session Release。最終の Usage Report を受け取る | TS 29.244 §7.5.6 / §7.5.7 |
| Session Report | UPF → SMF | Downlink Data Report、Usage Report、Error Indication Report 等 | TS 29.244 §7.5.8 / §7.5.9 |
SMF UPF
│ Session Establishment Request │
│ Create PDR #1 (UL) → FAR #1 │
│ Create PDR #2 (DL) → FAR #2 │
│ Create FAR #1: FORW → Core │
│ Create FAR #2: (gNB F-TEID未定) │
│ Create QER / URR │
│─────────────────────────────────►│
│◄─────────────────────────────────│ Response: Created PDR (Local F-TEID)
│ │
│ Session Modification Request │
│ Update FAR #2: FORW + │
│ Outer Header Creation (gNB) │
│─────────────────────────────────►│
Establishment 時点の DL FAR の Apply Action をどう設定しておくか(例: gNB F-TEID が来るまで BUFF / DROP)は SMF実装依存 です。
PDU Session 確立時に、SMFがUPFのPacket Processing Pipelineをプログラムする と考えると理解しやすくなります。
Packet Analysis (Wireshark)¶
Display Filter¶
| フィルタ | 用途 |
|---|---|
pfcp |
N4 全体 |
gtp |
N3 の GTP-U(WiresharkではGTPv1-Uも gtp で表示) |
ngap |
gNB F-TEID(PDU Session Resource Setup Response)との突き合わせ用 |
フィールド名はWiresharkの版で異なるため断定しません(要確認)。
PDR → FAR ID → FAR をたどる¶
PFCP Session Establishment Request
├─ Create PDR
│ ├─ PDR ID: 2
│ ├─ Precedence: 255
│ ├─ PDI
│ │ ├─ Source Interface: Core
│ │ └─ UE IP Address: 10.45.0.3 (destination)
│ ├─ FAR ID: 2 ─────┐
│ └─ QER ID: 1 │
└─ Create FAR │
├─ FAR ID: 2 ◄─────┘
└─ Apply Action: ...
PFCP Session Modification Request
└─ Update FAR
├─ FAR ID: 2
├─ Apply Action: FORW
└─ Update Forwarding Parameters
├─ Destination Interface: Access
└─ Outer Header Creation: GTP-U/UDP/IPv4, TEID 0x12345678, 192.0.2.10
(値は架空例です。要キャプチャ)
Wireshark上でも、PDR の FAR ID と FAR の FAR ID をリンクさせて読む のが基本です。PFCP Response の Cause(例: Request accepted)も必ず確認します(TS 29.244 §8.2.1、要確認)。
Trouble Shooting — PFCPは成功したのにPingが通らない¶
「PFCP Session Establishment / Modification が Request accepted」だけでは不十分です。次を順に確認します。
① UL PDR は存在する?(Source Interface = Access)
② UL PDR の Local F-TEID は、gNBが実際に使っている TEID と一致する?
③ UL PDR → FAR の参照(FAR ID)は正しい?
④ UL FAR は FORW? Destination Interface = Core?
⑤ DL PDR は UE IP Address に Match する?(UE IPの割当値と一致?)
⑥ DL FAR は FORW?(BUFF / DROP のまま残っていない?)
⑦ DL FAR の Outer Header Creation の gNB IP は正しい?
⑧ DL FAR の TEID は gNB が通知した値と一致する?
⑨ QER の Gate Status が CLOSED / MBR が極端に低い、になっていない?
⑩ N3 / N6 の IP Routing は正常?
| 症状 | 想定原因 | 確認ポイント | Packet |
|---|---|---|---|
| ULのみNG | UL PDR の F-TEID と gNB の送信先TEID不一致、Outer Header Removal 設定 | Created PDR の Local F-TEID と、SMFが作る NGAP PDU Session Resource Setup Request Transfer の UL NG-U UP TNL Information(TS 38.413 §9.3.4.1、要確認) | pfcp / ngap / gtp |
| DLのみNG | DL FAR が BUFF / DROP のまま、Outer Header Creation の TEID / IP 誤り | Modification Request の Update FAR | pfcp / ngap |
| 特定アプリだけNG | Precedence の設計ミスで意図しないPDRにMatch、Gate CLOSED | PDR の Precedence / SDF Filter、QER | pfcp |
| CM-IDLE UEに着信が来ない | DL FAR に NOCP が無い、Session Report が SMF で処理されていない | FAR の Apply Action、Session Report Request / Response | pfcp |
| 課金量が合わない | URR の Measurement Method / Trigger 設定、PDR と URR の紐付け漏れ | Create URR と PDR の URR ID | pfcp |
TEID mismatch を見つける¶
NGAP PDU Session Resource Setup Response → gNB: DL TEID = 0x12345678
PFCP Session Modification (Update FAR) → UPF: DL TEID = 0x87654321
→ mismatch
NGAP で gNB が通知した Tunnel 情報 と PFCP の FAR / Outer Header Creation を並べて比較するのが最も効率的です。
3GPP仕様とVendor実装の境界¶
| 3GPPが定義するもの | Vendor / 運用が決めるもの |
|---|---|
| PFCP のメッセージと IE(PDR / FAR / QER / URR / BAR、PDI、Apply Action、Outer Header Creation 等) | show upf session / show pdr / show far 等のCLI |
| Packet Forwarding Model(PDR選択と Precedence、ルール間の参照) | Hardware Flow Table、DPDK Worker、SmartNIC / ASIC へのOffload |
| Usage Reporting の測定方式・トリガー・報告手続き | 内部 Packet Pipeline の実装、Rate制御アルゴリズム |
| Buffering の方式(UPF / SMF)と DL Data 通知、BAR によるバッファ量の目安(Suggested Buffering Packets Count 等。TS 29.244 §7.5.2.6、要確認) | 実際のバッファ容量・超過時の破棄方針、PDR・Precedence の番号付け方針 |
たとえば「FAR を Linux kernel、DPDK、SmartNIC、ASIC のどこにプログラムするか」は3GPPでは規定しません。
EPC(4G)との比較¶
| 項目 | 4G EPC(CUPS) | 5GC |
|---|---|---|
| CP / UP 分離 | SGW-C / PGW-C ⇔ SGW-U / PGW-U(Sxa / Sxb) | SMF ⇔ UPF(N4) |
| プロトコル | PFCP(TS 29.244) | PFCP(TS 29.244、同一仕様) |
| QoS の単位 | EPS Bearer(TFT) | QoS Flow(QFI) を QER / PDR で表現 |
| DLのGTP-U | Bearer単位のTEID | PDU Session 単位の N3 Tunnel+QFI(PDU Session Container) |
PFCP は Rel-14 の CUPS(TS 23.214 §4 / TS 29.244 §4.1、要確認)で導入され、5GC の N4 でもそのまま使われています。
3GPP Specification¶
| 仕様 | 節 | 内容 |
|---|---|---|
| TS 29.244 | §5.2.1 | Packet Forwarding Model / PDR選択(要確認) |
| TS 29.244 | §5.2.2 / §5.2 配下 | Usage Reporting / QoS Enforcement(枝番は要確認) |
| TS 29.244 | §6 / §7 | PFCP 手続き / メッセージ(要確認) |
| TS 29.244 | §7.5.2 / §7.5.3 | Session Establishment Request / Response |
| TS 29.244 | §7.5.2.2 / §7.5.2.4 / §7.5.2.5 | Create PDR / Create URR / Create QER(要確認) |
| TS 29.244 | §7.5.4 / §7.5.5 | Session Modification Request / Response |
| TS 29.244 | §7.5.6 / §7.5.7 | Session Deletion Request / Response |
| TS 29.244 | §7.5.8 / §7.5.9 | Session Report Request / Response |
| TS 29.244 | §8.2.1 / §8.2.11 / §8.2.26 / §8.2.56 | Cause / Precedence / Apply Action / Outer Header Creation(要確認) |
| TS 23.501 | §5.8.2.11 | N4 Session のパラメータ(PDR / FAR / QER / URR 等。枝番は要確認) |
| TS 23.501 | §5.8.3 | Buffering(UPF / SMF。要確認) |
| TS 23.502 | §4.2.3.3 | Network Triggered Service Request |
| TS 29.281 | §4.4.2 / §5 / §5.2.2.7 | GTP-U(UDPポート / ヘッダ / PDU Session Container 拡張ヘッダ。要確認) |
| TS 38.415 | §5.5.2.1 | PDU Session Container(QFI。要確認) |
| TS 32.255 / TS 32.290 | §5 | 5G Data Connectivity Charging / Converged Charging(節番号は要確認) |
| TS 23.214 | §4 | EPC CUPS(PFCPの導入。要確認) |
| TS 23.502 | §4.2.3.2 / §4.9.1 | UE Triggered Service Request / Handover(要確認) |
| TS 29.244 | §4.1 / §5.1 / §5.3 | PFCPの概要 / N4上のUser Plane転送(要確認) |
| TS 38.413 | §8.2.1 / §9.3.4.1 / §9.3.4.2 | PDU Session Resource Setup / Request Transfer(UL NG-U UP TNL Information)/ Response Transfer(DL QoS Flow per TNL Information)(要確認) |
Summary¶
- PFCP は N4 で SMF が UPF に Packet処理ルールを設定する Control Protocol。User Packet は N3 の GTP-U で流れる
- PDR = どのPacketか、FAR = どうする・どこへ、QER = QoS、URR = 使用量計測。PDR が FAR / QER / URR を ID で参照する
- UL は主に Local F-TEID、DL は主に UE IP Address で PDR に Match。複数Matchは Precedence が小さい方 が優先
- FAR の Outer Header Creation が DL の宛先(gNB IP / TEID)。だから SMF は gNB F-TEID を PFCP Modification で反映する
- CM-IDLE では DL FAR を BUFF + NOCP にでき、Session Report → Paging につながる
- PFCP が Request accepted でも User Plane が通るとは限らない。NGAP の F-TEID と PFCP の値を突き合わせる
理解度チェック¶
Q1. UPFがN3からUplink GTP-U Packetを受信しました。適切なPDRへMatchした後、そのPDRが FAR ID = 20 を参照しています。このFARの主な役割として最も適切なのはどれか。A. PacketがどのPDU Session/Trafficに該当するかを検出する / B. Packetの使用量を計測してUsage Reportを生成する / C. MatchしたPacketをForward、Drop、Bufferなど、どのように処理するか決定する / D. UEとAMF間のNAS Integrity Algorithmを選択する
正解: C。FAR は Apply Action(FORW / DROP / BUFF / NOCP 等)と Forwarding Parameters で「どうするか・どこへ」を決めます(TS 29.244 §5.2.1 / §8.2.26、要確認)。A は PDR、B は URR の役割です。D は NAS Security の話で、PFCP とは無関係です。
Q2. DL Packet には GTP-U の TEID がありません。UPFは何を見て DL PDR に Match させますか。
主に PDI の UE IP Address(宛先IP)と Source Interface = Core、必要に応じて SDF Filter を見ます。UL のように Local F-TEID で Match するのは、N3 から GTP-U で届く Packet の場合です。
Q3. 同じDL Packetに PDR #2(Precedence 255)と PDR #3(Precedence 100)の両方がMatchしました。どちらが適用されますか。
PDR #3 です。Precedence は値が小さいほど優先度が高く、UPF は Match したうち最も優先度の高い PDR を適用します(TS 29.244 §5.2.1 / §8.2.11、要確認)。
Q4. CM-IDLE UE 宛ての DL Packet が UPF に届いたのに Paging が始まりません。PFCP で何を確認しますか。
DL FAR の Apply Action に BUFF と NOCP(UPFバッファリングの場合)が設定されているか、UPF が PFCP Session Report Request(Downlink Data Report) を SMF へ送っているか、SMF が Response を返しその後 Namf_Communication_N1N2MessageTransfer を送っているかを確認します。SMFでバッファリングする方式の場合は、DL FAR の転送先が CP-function になっているかを確認します(TS 23.501 §5.8.3、要確認)。
Q5. PFCP Session Establishment / Modification はどちらも Request accepted でしたが、DL だけ届きません。最も効率的な確認方法は何ですか。
NGAP PDU Session Resource Setup Response で gNB が通知した DL の IP / TEID と、PFCP Update FAR の Outer Header Creation の IP / TEID を並べて比較します。あわせて DL FAR の Apply Action が FORW になっているか、QER の Gate Status が CLOSED になっていないかを確認します。
Next Step¶
- PFCP がいつ送られるか → PDU Session Establishment 深掘り
- DL Data からの Paging / Service Request → Paging / Service Request
- QoS Flow / 5QI / AMBR → QoS
- 使用量の行き先 → Charging
- メッセージ・IE → PFCP辞典 / N4