コンテンツにスキップ

QoS Flow / QFI / 5QI — 5GのQoSは何に紐付くのか

難易度: 上級(マニアック) / 想定学習時間: 35分 / 前提: QoS, PFCP と PDR / FAR / QER / URR / 主役: UE, gNB, SMF, UPF(PCF) / 主Interface: N1, N2, N3, N4

学習目標

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

  • 5GのQoSが PDU Session でも TEID でもなく QoS Flow に紐付く ことを、TS 23.501 §5.7.1 の言葉で説明できる
  • TEID / QFI / 5QI の3つを「何を識別するか」「どこに載るか」で区別できる
  • 5QI が指す QoS characteristics(Resource Type / Priority Level / PDB / PER 等)と、GBR / Non-GBR / Delay-critical GBR の違いを説明できる
  • 1つのQoS決定が UE(QoS rule)・gNB(QoS profile)・UPF(PDR / QER) の3か所へ別の形で配られ、N3上ではQFIだけ が共通のタグになることを説明できる
  • QFI mismatch を N1 / N2 / N4 / N3 の値を並べて切り分け、Wireshark で QFI の値を 5QI と読み違えない

前提知識

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

QoS では「PDU Session > QoS Flow > DRB」の構造と、PCF/SMFが決めてUPF/NG-RANが実施する分離を学びました。この章では、QoS Flow がどの識別子で表され、その識別子がどのメッセージのどのIEに載り、どこで食い違うと何が起きるか を、IEレベルとTrace解析の観点で掘り下げます。帯域値(GFBR / MFBR / AMBR)と ARP は次章 GFBR / MFBR / AMBR / ARP で扱います。


Why — 「Bearer単位」をやめたのはなぜか

1台のUEの中には、性質の違うTrafficが同時に流れます。

UE
├─ Voice              低遅延・低ロスが最優先
├─ Video              一定のThroughputが欲しい
├─ Web                ベストエフォートで十分
└─ Background update  遅れてもよい

4G EPC では、QoSを変えたいTrafficごとに EPS Bearer を張り、Bearerごとに別の GTP-U Tunnel(TEID)を用意しました。QoSの単位と転送路の単位が一致していたのです。

5GSでは、これを分離しました。転送路は PDU Session単位の1本のN3 Tunnel にまとめ、その中を流れるPacketに QFI というタグを付けて、タグごとにQoSを変えます(TS 23.501 §5.7.1.1 / §5.7.1.6、枝番は要確認)。QoSを追加・変更するたびにTunnelを作り直す必要がなくなり、無線側もQoS FlowをDRBへ柔軟に束ねられるようになりました。

例え話: 4Gは「荷物の等級ごとに別のトラックを走らせる」方式、5Gは「1台のトラック(N3 Tunnel)に、等級シール(QFI)を貼った荷物を混載する」方式です。シールの番号は「何番の荷物グループか」を示すだけで、等級の中身(速達か普通か)は別の台帳(5QI → QoS characteristics)に書いてあります。


What — QoS Flow モデル(TS 23.501 §5.7.1)

QoS Flow は QoS 差別化の最小単位

TS 23.501 §5.7.1.1 は、次のように定義しています(要旨。枝番は要確認)。

  • 5G QoSモデルは QoS Flow に基づく。QoS Flow は PDU Session 内のQoS差別化の最小粒度
  • QoS Flow は QFI(QoS Flow ID) で識別される。同じQFIを持つUser Plane Trafficは同じ転送扱いを受ける
  • QFI は PDU Session 内で一意。N3(およびN9)ではカプセル化ヘッダに載る
  • QFI は動的に割り当ててもよいし、5QI と同じ値にしてもよい

最後の1点が、後で「QFIと5QIの混同」を生む原因になります。

QoS Flow は3つの部品で表現される

同じ節は、1つのQoS Flowが次の3つで特徴付けられるとしています。

部品 誰が持つ 誰が渡す 何に使う
QoS profile (R)AN(gNB) SMF → AMF → gNB(N2)、または (R)AN に事前設定 無線リソース・DRB・スケジューリング
QoS rule(1つ以上) UE SMF → AMF → UE(N1)、または Reflective QoS でUEが導出 ULパケットのQoS Flowへの分類
UL / DL PDR(1つ以上) UPF SMF → UPF(N4) Packet検出とQoS適用(QER参照)
flowchart TD
    SMF["SMF
QoS Flow を決定し QFI を割り当て"] -- "N1: QoS rules +
QoS flow descriptions" --> UE["UE
UL分類"] SMF -- "N2: QoS Flow Setup Request List
(QFI + QoS Flow Level QoS Parameters)" --> GNB["gNB
QoS Flow → DRB"] SMF -- "N4: PDR (PDIのQFI) /
QER (DLに付けるQFI)" --> UPF["UPF
検出・適用・マーキング"] UE == "無線: DRB (SDAP)" ==> GNB GNB == "N3: GTP-U + QFI" ==> UPF

SMFが下した1つの決定が3か所へ別の形で配られ、User Plane上で3者をつなぐ共通のキーは QFI だけです。だからQFIが食い違うと、どこか1か所だけが別のQoS Flowだと思い込んだ状態になります。

1つのPDU Session と QoS Flow の関係

UE
└─ PDU Session ID = 1(DNN = ims)
    ├─ N3 Tunnel: UL TEID = 0x00000101(UPF側) / DL TEID = 0x12345678(gNB側)
    │
    ├─ QoS Flow  QFI = 1  → 5QI = 5   (IMS Signalling, Non-GBR)  ← default QoS rule が指すFlow
    └─ QoS Flow  QFI = 2  → 5QI = 1   (Conversational Voice, GBR)

UE
└─ PDU Session ID = 2(DNN = internet)
    ├─ N3 Tunnel: 別の TEID
    └─ QoS Flow  QFI = 1  → 5QI = 9   (Non-GBR)  ← 別Sessionなので QFI=1 が再び使える

(値は架空例。5QIの意味は後述の Table 5.7.4-1 による)

  • QFI は PDU Session の中でだけ一意 です。PDU Session ID = 1 の QFI=1 と、PDU Session ID = 2 の QFI=1 は無関係です。
  • QFI の値が 5QI の値と一致する必要はありません(上の例では QFI=2 が 5QI=1)。

What — TEID と QFI と 5QI を区別する

識別子 何を識別するか 一意な範囲 どこに載るか 誰が値を決めるか
TEID GTP-U Tunnel の受信側エンドポイント 受信ノード内 GTP-U 基本ヘッダ(TS 29.281 §5.1、要確認) 受信する側(UL: UPF または SMF、DL: gNB)
QFI PDU Session 内の QoS Flow PDU Session 内 N3/N9: GTP-U拡張ヘッダの PDU Session Container(TS 38.415 §5.5.2、要確認)。N1 / N2 / N4 のシグナリングにも登場 SMF(TS 23.501 §5.7.1.5、要確認)
5QI QoS characteristics の組(品質の種類) 標準化値は全網共通の意味。運用者定義値もある シグナリングだけ(N2 QoS profile、N1 QoS flow description、N7 PCC Rule 等)。User Packetには載らない PCF(PCC Rule)または SMF の設定
Outer IP (gNB ⇔ UPF)
UDP (dst 2152)
GTP-U  TEID = 0x12345678          ← どの PDU Session の Tunnel か
 └─ Extension Header: PDU Session Container
      ├─ PDU Type = DL PDU SESSION INFORMATION
      └─ QFI = 2                  ← その Session 内のどの QoS Flow か
Inner IP (UE の Packet)

5QI はこの Packet のどこにも無い  ← QFI=2 の 5QI は、N2/N1 のシグナリングを見て初めて分かる

1 TEID に複数 QFI が乗る

UPFは1つのPDU SessionのPDUを、5GCと(R)ANの間の 1つのTunnel で送り、カプセル化ヘッダにQFIを入れます(TS 23.501 §5.7.1.6、要確認)。したがって通常は「1 TEID : 複数 QFI」です。例外として、Dual Connectivity で QoS Flow を MN / SN に分ける場合や、URLLC の冗長伝送では1つのPDU Sessionに複数のN3 Tunnelが張られることがあります(TS 23.501 §5.33.2 ほか、要確認)。


What — 5QI と QoS characteristics(TS 23.501 §5.7.3 / §5.7.4)

5QI は「QoS characteristics への参照」

5QI は、QoS characteristics の組を指すスカラー値です(TS 23.501 §5.7.2.1)。標準化5QIは Table 5.7.4-1 の値と1対1で対応するため、値だけを送ればよく、特性値そのものはシグナリングしません。5QIには標準化5QIのほか、ANに事前設定された(pre-configured)5QIと、動的に割り当てる(dynamically assigned)5QIがあります。標準化5QIとpre-configured 5QIは値だけを送り、動的に割り当てた5QIだけは特性値をQoS profileの一部として明示的に送ります(TS 23.501 §5.7.2.1 / §5.7.3.1。NGAPでは Non-Dynamic 5QI Descriptor / Dynamic 5QI Descriptor の CHOICE。TS 38.413 §9.3.1.12、要確認)。

QoS characteristic 意味 規定
Resource Type GBR / Delay-critical GBR / Non-GBR TS 23.501 §5.7.3.2
Priority Level QoS Flow間のスケジューリング優先度。値が小さいほど優先 TS 23.501 §5.7.3.3
Packet Delay Budget(PDB) UE〜UPF(N6終端)間でPacketが遅延し得る上限。CN部分(CN PDB)を含む TS 23.501 §5.7.3.4
Packet Error Rate(PER) リンク層で処理されたが上位層へ正しく届かなかったPDUの割合の上限 TS 23.501 §5.7.3.5
Averaging Window GFBR / MFBR を評価する時間窓(GBR / Delay-critical GBR のみ) TS 23.501 §5.7.3.6
Maximum Data Burst Volume(MDBV) 5G-AN PDB の期間内に5G-ANが処理すべき最大データ量(Delay-critical GBR のみ) TS 23.501 §5.7.3.7

(枝番は版により移動し得るため要確認)

Resource Type — GBR / Non-GBR / Delay-critical GBR

Resource Type 帯域保証 特徴 典型的な用途(Table 5.7.4-1 の例示)
GBR あり(GFBR) 専用の網リソースを確保する。GFBR / MFBR を持つ 会話型音声・会話型映像
Delay-critical GBR あり(GFBR) PDB を厳密に扱い、MDBV を持つ。PDBを超えて遅れたPacketは損失として数える(その期間のデータ量がMDBVを超えず、かつGFBRを超えていない場合に限る。TS 23.501 §5.7.3.4、要確認) 工場自動化、V2X など URLLC 系
Non-GBR なし 帯域を保証しない。Session-AMBR / UE-AMBR の天井の下で共有 IMS Signalling、一般データ

「Delay-critical GBR QoS Flow」という第3のFlow種別があるわけではない

QoS Flow の種別は GBR QoS Flow / Non-GBR QoS Flow の2つで、Delay-critical GBR は 5QI の Resource Type の1つです(TS 23.501 §5.7.1.1 / §5.7.3.2、要確認)。Delay-critical GBR の 5QI を持つFlowは、GBR QoS Flow として GFBR / MFBR を伴って扱われます。

標準化5QI の代表例(TS 23.501 Table 5.7.4-1)

5QI Resource Type Default Priority Level PDB PER 例示されているサービス
1 GBR 20 100 ms 10^-2 Conversational Voice
5 Non-GBR 10 100 ms 10^-6 IMS Signalling
9 Non-GBR 90 300 ms 10^-6 Video(Buffered Streaming)、TCP系(www、e-mail 等)
82 Delay-critical GBR 19 10 ms 10^-4 Discrete Automation(MDBV 255 bytes)

ごく一部の抜粋です。表はReleaseごとに行・注記・値が追加・改訂されているため、実際の設計では対象Releaseの Table 5.7.4-1 を必ず参照してください(値は要確認)。

  • Priority Level は5QIの既定値を上書きできる: QoS profileで Priority Level を明示すれば、標準化5QIの既定値と異なる優先度を使えます(TS 23.501 §5.7.3.3、要確認)。
  • 5QIは「品質の約束の種類」であって「帯域値」ではない: 何Mbpsを保証するか(GFBR)、どこまで出すか(MFBR)は5QIとは別のパラメータです(次章)。

What — Default QoS Flow と QoS Rule(UE側)

「Default QoS Flow」は default QoS rule が指すFlow

3GPPの本文で中心になる概念は default QoS rule です。TS 23.501 §5.7.1.4 は次を定めています(要旨、要確認)。

  • PDU Session ごとに default QoS rule が必ず1つ ある。PDU Session確立時にUEへ送られる
  • default QoS rule は、全ULパケットを許可する Packet Filter Set を持てる唯一のQoS ruleで、その場合は最も低い優先度(最大の precedence 値)を使う
  • default QoS rule が紐付くQoS Flowは、PDU Sessionの存続中ずっと確立されたままになる

現場で「Default QoS Flow」と呼ぶのは、この default QoS rule に紐付くQoS Flow のことです。4Gの Default Bearer に近い役割ですが、「PDU Session = Default Flow」ではありません。

QoS rule の中身(TS 24.501 §9.11.4.13)

NASの QoS rules IE では、1つのQoS ruleは概ね次の要素で構成されます。

QoS rule
├─ QoS rule identifier (QRI)        ← PDU Session 内で QoS rule を識別
├─ Rule operation code              ← create / delete / modify ...
├─ DQR bit                          ← 1 = default QoS rule
├─ Number of packet filters
├─ Packet filter list
│   └─ Packet filter
│       ├─ Packet filter direction  ← UL only / DL only / bidirectional
│       ├─ Packet filter identifier
│       └─ Components               ← remote address, protocol, remote port 等
├─ QoS rule precedence              ← 小さいほど先に評価
├─ Segregation bit
└─ QFI                              ← この rule に Match したULパケットを載せる QoS Flow

(主要フィールドの抜粋。符号化の詳細は TS 24.501 §9.11.4.13 を参照)

  • QRI と QFI は別物 です。複数のQoS ruleが同じQFIを指すことができます(1つのQoS Flowに複数のPacket Filter群を紐付ける)。
  • QoS Flow 側のパラメータ(5QI、GBR Flow なら GFBR / MFBR 等)は、別IEの QoS flow descriptions(TS 24.501 §9.11.4.12)でQFIごとにUEへ渡されます。PDU SESSION ESTABLISHMENT ACCEPT では Authorized QoS rules / Authorized QoS flow descriptions として運ばれます(TS 24.501 §8.3.2)。

UL traffic classification

UEは、ULパケットを QoS rule の precedence 値の小さい順 に Packet Filter と照合し、最初にMatchしたruleのQFIを付けて送ります。どのruleにもMatchしなければ、そのULパケットは破棄されます(TS 23.501 §5.7.1.7、要確認)。

UL packet: TCP dst port 443
  ├─ QoS rule QRI=2  precedence=10   filter: UDP remote port 5004  → no match
  ├─ QoS rule QRI=3  precedence=20   filter: TCP remote port 443   → MATCH → QFI = 3
  └─ QoS rule QRI=1  precedence=255  DQR=1 (match-all)              (評価されない)

match-all の default QoS rule が最後の受け皿になるため、通常は「どれにもMatchせず破棄」は起きません。default QoS rule に match-all を入れない設計にすると、どのruleにもMatchしないULパケットはUEで捨てられます。

Reflective QoS は本章では概略のみ

UPFがN3のPDU Session ContainerでRQIを付け、gNBがそれをSDAPヘッダのRQIでUEへ伝え、UEがそれを契機にDLパケットからULのQoS ruleを導出する Reflective QoS(TS 23.501 §5.7.5、TS 37.324 §6.2.2、要確認)を使うと、QoS ruleを明示シグナリングせずにUL分類を成立させられます。この場合、UE内には「シグナリングで受け取ったQoS rule」と「導出したQoS rule」が混在するため、解析時はどちらでMatchしたかを意識します。


How — QoS Flow はどう作られ、どこへ配られるか

Call Flow(PDU Session Establishment に埋め込まれる部分)

QoS Flowは単独の手続きでは作られず、PDU Session Establishment(TS 23.502 §4.3.2.2.1)や PDU Session Modification(TS 23.502 §4.3.3.2)の中で確立・追加・変更されます。

sequenceDiagram
    participant UE
    participant gNB
    participant AMF
    participant SMF
    participant PCF
    participant UPF
    UE->>AMF: PDU Session Establishment Request (UL NAS Transport)
    AMF->>SMF: Nsmf_PDUSession_CreateSMContext
    opt 動的PCC
        SMF->>PCF: Npcf_SMPolicyControl_Create
        PCF-->>SMF: SM Policy Decision (PCC Rules, Session Rules)
    end
    Note over SMF: PCC Rule を QoS Flow へ束ねる (QoS Flow binding)
QFI を割り当て、QoS rule / QoS profile / QER を作る SMF->>UPF: PFCP Session Establishment (Create PDR / QER) UPF-->>SMF: PFCP Session Establishment Response SMF->>AMF: Namf_Communication_N1N2MessageTransfer
(N1: Accept + QoS rules / N2: QoS Flow Setup Request List) AMF->>gNB: NGAP PDU Session Resource Setup Request Note over gNB: QoS Flow → DRB を決定 (RAN実装) gNB->>UE: RRC Reconfiguration (SDAP設定 + NAS Accept) gNB-->>AMF: PDU Session Resource Setup Response
(DL QoS Flow per TNL Information / QoS Flow Failed to Setup List) AMF->>SMF: Nsmf_PDUSession_UpdateSMContext SMF->>UPF: PFCP Session Modification (DL FAR に gNB F-TEID) Note over UE,UPF: 以降 UL は UE が QoS rule で分類、DL は UPF が QER の QFI を付与

Signal Flow — QoS Flow 情報の載り物

# 区間 メッセージ QoS Flow に関する主な中身 規定
1 PCF → SMF(N7) SM Policy Decision PCC Rule(QoS data: 5QI、ARP、GBR系の値 等)、Session Rule(authorized Session-AMBR、authorized default QoS) TS 29.512 §4.2.2 / §5.6.2(要確認)
2 SMF 内部 — QoS Flow binding: 同じ binding parameters(5QI、ARP 等)を持つPCC Ruleを同じQoS Flowへ束ね、QFIを決める TS 23.501 §5.7.1.5 / TS 23.503 §6.1.3.2.4(要確認)
3 SMF → UPF(N4) PFCP Session Establishment / Modification UL PDR の PDI に QFI、QER に Gate Status / MBR / GBR / DL で付与する QFI TS 29.244 §7.5.2.2 / §7.5.2.5(要確認)
4 SMF → gNB(N2、AMF経由) PDU Session Resource Setup Request Transfer QoS Flow Setup Request List: QoS Flow Identifier + QoS Flow Level QoS Parameters(QoS Characteristics / ARP / GBR QoS Flow Information 等)、PDU Session Aggregate Maximum Bit Rate TS 38.413 §9.3.4.1 / §9.3.1.12(要確認)
5 SMF → UE(N1、AMF・gNB経由) PDU SESSION ESTABLISHMENT ACCEPT Authorized QoS rules(QFI・DQR・Packet Filter)、Authorized QoS flow descriptions(QFI ごとの 5QI 等)、Session-AMBR TS 24.501 §8.3.2 / §9.11.4.12 / §9.11.4.13
6 gNB → SMF(N2、AMF経由) PDU Session Resource Setup Response Transfer DL QoS Flow per TNL Information(gNB F-TEID と、そのTunnelで運ぶ QFI の一覧)、QoS Flow Failed to Setup List(Flow単位の拒否とCause) TS 38.413 §9.3.4.2(要確認)

既存のPDU SessionにQoS Flowを追加・変更する場合は、N2 は PDU Session Resource Modify Request(TS 38.413 §8.2.3)の QoS Flow Add or Modify Request List、N1 は PDU SESSION MODIFICATION COMMAND が使われます(TS 24.501 §8.3.9、要確認)。

gNB は QoS Flow 単位で拒否できる

PDU Session Resource Setup が「成功」でも、Response Transfer の QoS Flow Failed to Setup List に一部のQFIが入っていれば、そのQoS Flowだけは無線側で確立されていません。「PDU Sessionは張れたのにVoiceだけ品質が出ない」ときは、まずここを見ます。UEにはNAS Acceptで該当QFIのQoS ruleがすでに届いているため、SMFは該当QoS rule / QoS Flowを削除する後続処理を行います(TS 23.502 §4.3.2.2.1、要確認)。

SMF の default QoS はどこから来るか

default QoS rule が指すQoS Flowの 5QI / ARP は、UDMの加入者データ(subscribed default QoS)を出発点に、PCFが使われる場合はPCFの判断(Session Rule の authorized default QoS)で決まります(TS 23.501 §5.7.2.7、要確認)。PCFを使わない構成では、UDMの値をそのまま使うか、SMFのローカル設定で変更します(変更方針は実装依存)。PCFとSMの関係、PCC Ruleの詳細は PCF / SM Policy Association / PCC Rule で扱います。


How — RAN側: QoS Flow → DRB(SDAP)

gNBは、受け取ったQoS profileを基に、QoS FlowをDRB(Data Radio Bearer)へマッピングします。このマッピングを担うのが無線側の SDAP(Service Data Adaptation Protocol) レイヤです(TS 37.324 §4.4 / §5.3、TS 38.300 §12、要確認)。

flowchart LR
    subgraph N3["N3 Tunnel (1 TEID)"]
        Q1["QFI 1
5QI 5"] Q2["QFI 2
5QI 1"] Q3["QFI 3
5QI 9"] end subgraph RAN["gNB (SDAP)"] D1["DRB 1"] D2["DRB 2"] end Q1 --> D1 Q3 --> D1 Q2 --> D2 D1 --> UE["UE"] D2 --> UE
  • どのQoS FlowをどのDRBに載せるか、DRBを何本作るかはgNBが決める(RAN実装依存)。複数QoS Flowを1つのDRBに束ねる(N:1)こともできます。4Gの「E-RAB = DRB」の1:1とは異なります。
  • マッピングは RRC の SDAP設定(mapped QoS Flows、default DRB 等)でUEへ通知されます(TS 38.331 の SDAP-Config、節番号は要確認)。ULで、マッピングが設定されていないQFIのパケットは default DRB へ載せます(TS 37.324 §5.2.1、要確認)。
  • SDAPヘッダ(設定されている場合)にもQFIが入ります(TS 37.324 §6.2.2、要確認)。つまりQFIは 無線(SDAPヘッダ)→ N3(PDU Session Container) と2つの異なるヘッダで運ばれます。

How — UPF側: PDR / QER と QFI マーキング

UL:  gNB ──GTP-U (TEID=0x00000101, QFI=2)──► UPF
       PDR #11  PDI: Source=Access, F-TEID=0x00000101, QFI=2   → MATCH
         └─ QER #21: Gate UL=OPEN, MBR/GBR ...

DL:  DN ──IP (dst=UE IP, UDP 5004)──► UPF
       PDR #12  PDI: Source=Core, UE IP, SDF Filter (UDP 5004)  → MATCH
         ├─ FAR #12: Outer Header Creation (gNB F-TEID)
         └─ QER #22: Gate DL=OPEN, MBR/GBR ..., QFI = 2       ← DL GTP-U に付ける QFI

(値は架空例)

方向 QFI の役割 規定
DL UPFが PDR で QoS Flow を判別し、QER の QFI を PDU Session Container に書き込む。外側IPヘッダの DSCP も QoS Flow 単位(5QI と ARP に基づく)でマーキングし得る TS 23.501 §5.7.1.6 / TS 29.244 §7.5.2.5(要確認)
UL UL PDR の PDI に QFI を含めれば、Tunnel(F-TEID)に加えて QFI でも Match させられる。UPF は UL パケットの QFI が UE へ与えた QoS rule と整合しているかを検証する TS 23.501 §5.7.1.7 / TS 29.244 §7.5.2.2(要確認)
  • 5QI そのものは PFCP の QER には入りません。UPFが知る必要があるのは「どのPacketを(PDR)」「どの帯域・ゲートで(QER)」「どのQFIで(QER)」扱うかです。
  • 5QI / ARP から DSCP 値への対応表、Rate制御のQueue / Algorithm は 運用者設定・Vendor実装 です。
  • PDR / QER そのものの読み方は PFCP と PDR / FAR / QER / URR、PDIの照合条件は PDR / PDI / F-TEID / SDF Filter / Precedence を参照してください。

End-to-End で一本につなぐ

flowchart LR
    A["UE App"] --> B["QoS rule
precedence順に照合"] B --> C["QFI 決定"] C --> D["SDAP
QFI → DRB"] D --> E["gNB"] E --> F["N3 GTP-U
TEID + QFI"] F --> G["UPF UL PDR
F-TEID + QFI"] G --> H["QER"] H --> I["N6 / DN"]

Packet Analysis (Wireshark)

Display Filter

フィルタ 用途
gtp N3 の GTP-U
gtp.ext_hdr.pdu_ses_con.qos_flow_id == 2 PDU Session Container の QFI で絞る(フィールド名は版依存、要確認)
gtp.teid == 0x12345678 && gtp.ext_hdr.pdu_ses_con.qos_flow_id == 2 1つのTunnel内の特定QoS Flowだけを見る(同上)
ngap QoS Flow Setup Request List / QoS Flow Level QoS Parameters
ngap.qosFlowIdentifier / ngap.fiveQI NGAP 上の QFI と 5QI(フィールド名は版依存、要確認)
pfcp Create PDR(PDIのQFI)/ Create QER(QFI)
nas-5gs PDU SESSION ESTABLISHMENT ACCEPT の QoS rules / QoS flow descriptions

NASが暗号化されているとQoS ruleは読めない

PDU SESSION ESTABLISHMENT ACCEPT は NASセキュリティ確立後に送られるため、通常は暗号化されており、キャプチャだけでは QoS rules を読めません(試験環境の null 暗号や鍵を与えた復号では読めます)。一方、NGAP の QoS Flow Setup Request List は NAS暗号の外側にあるため、QFI と 5QI の対応はまず NGAP で確認する のが現実的です(N2自体を IPsec 等で保護している場合は別途復号が必要。TS 33.501 §9.2、要確認)。

Decode例(概念表現)

以下は表示構造の概念表現で、値は架空例です(要キャプチャ)。

NGAP PDUSessionResourceSetupRequest
 └─ PDUSessionResourceSetupListSUReq
     └─ PDUSessionResourceSetupItemSUReq
         ├─ pDUSessionID: 1
         ├─ pDUSessionNAS-PDU          ← 中に PDU SESSION ESTABLISHMENT ACCEPT(暗号化され得る)
         └─ PDUSessionResourceSetupRequestTransfer
             ├─ PDUSessionAggregateMaximumBitRate
             ├─ UL-NGU-UP-TNLInformation: 198.51.100.20 / TEID 0x00000101
             └─ QosFlowSetupRequestList
                 ├─ QosFlowSetupRequestItem
                 │   ├─ qosFlowIdentifier: 1
                 │   └─ qosFlowLevelQosParameters
                 │       ├─ qosCharacteristics: nonDynamic5QI → fiveQI: 5
                 │       └─ allocationAndRetentionPriority
                 └─ QosFlowSetupRequestItem
                     ├─ qosFlowIdentifier: 2
                     └─ qosFlowLevelQosParameters
                         ├─ qosCharacteristics: nonDynamic5QI → fiveQI: 1
                         ├─ allocationAndRetentionPriority
                         └─ gBR-QosInformation (MFBR / GFBR)

GTP-U (N3, DL)
 ├─ TEID: 0x12345678
 └─ PDU Session Container
     ├─ PDU Type: DL PDU SESSION INFORMATION (0)
     └─ QoS Flow Identifier: 2          ← 「5QI 2」ではない。NGAPで見ると 5QI = 1

見る順番

flowchart LR
    A["① NGAP
QFI と 5QI の対応表を作る"] --> B["② NAS
QoS rule の QFI と
Packet Filter (読める場合)"] B --> C["③ PFCP
PDI の QFI / QER の QFI"] C --> D["④ GTP-U
実パケットの TEID + QFI"]

最初に ① で 「このPDU Sessionでは QFI x = 5QI y」という対応表 を作ってから、② 〜 ④ の値を当てはめていきます。

Wireshark で QFI と 5QI を混同しない

GTP-U に QFI = 7 と表示されていても、「5QI 7 のFlowだ」とは判断できません。QFIはPDU Session内のQoS Flowの番号で、5QIはそのFlowの品質の種類です。SMFが QFI = 5QI となるように割り当てている環境では偶然一致しますが(TS 23.501 §5.7.1.1 はそれを許容)、一致は保証されません。5QIは必ずNGAP(またはNAS)のシグナリングで確認 します。


Trouble Shooting

症状 想定原因 確認ポイント ログ Packet 解決方法
PDU Sessionは確立したが、追加したQoS Flow(例: Voice)だけ品質が出ない gNBがそのQoS Flowだけ拒否した Response Transfer の QoS Flow Failed to Setup List と Cause gNB / AMF のNGAPログ(実装依存) ngap 5QI・GBR値・gNBの対応能力を確認
特定アプリのULがDefault Flowに入ってしまう QoS ruleのPacket Filter誤り、precedenceの順序誤り Authorized QoS rules の Packet Filter と precedence SMF のQoS rule生成ログ(実装依存) nas-5gs(復号できる場合)/ gtp のQFI PCC Ruleのフロー記述・precedence設計を見直す
ULで特定QFIのパケットだけUPFで捨てられる UL PDR の PDI の QFI と実パケットの QFI が不一致 Create PDR の QFI、N3 の QFI UPF のPDR不一致・ドロップ統計(実装依存) pfcp / gtp SMFが生成するPDRのQFIを修正
DLが想定と違うDRB・優先度で送られる QER の QFI 誤り(N2で通知したQFIと不一致) Create QER の QFI と QoS Flow Setup Request List の QFI UPF / gNB ログ(実装依存) pfcp / ngap / gtp QERのQFIを修正。未知QFIをgNBがどう扱うかは実装依存
GTP-Uにそもそも PDU Session Container が付いていない UPF / gNB の実装・設定不備 GTP-U の Next Extension Header Type 両端のN3ログ gtp 5GC用の N3 設定を確認(TS 29.281 §5.2.1 / §5.2.2.7 / TS 38.415、要確認)
「QFI=7 なのに 5QI 7 の品質になっていない」と報告された QFIと5QIの混同 NGAP の qosFlowIdentifier と fiveQI の組 — ngap QFI→5QI対応表を作って再評価

QFI mismatch の切り分け

QFIは4か所(N1 / N2 / N4 / N3)に現れるため、同じ PDU Session について4つの値を横に並べる のが最も速い方法です。

見る場所 IE 値(例) 判定
N2 NGAP QoS Flow Setup Request List の QoS Flow Identifier(5QI=1) 2 基準
N1 NAS Authorized QoS rule の QFI(Voice用 Packet Filter) 2 OK
N4 PFCP Create QER の QFI(Voice用 DL PDR から参照) 9 NG
N3 GTP-U DL Voice パケットの PDU Session Container の QFI 9 N4 に追随して NG
flowchart TD
    S["期待QFI と N3 のQFI が違う"] --> D{"方向は?"}
    D -- "DL" --> Q["PFCP QER の QFI と
NGAP の QFI を比較"] Q -- "QER が違う" --> F1["SMF の QER 生成を修正"] Q -- "QER は正しい" --> P["DL PDR の Match を確認
(Precedence / SDF Filter)"] D -- "UL" --> R["NAS QoS rule の QFI と
Packet Filter を確認"] R -- "rule は正しい" --> G["gNB の DRB→QFI 扱いと
UL PDR の QFI を確認"] R -- "rule が違う" --> F2["SMF の QoS rule 生成を修正"]

逆に N3のQFIは期待どおりなのに品質だけおかしい なら、QFIの問題ではなく、QERのGate / MBR / GBR、gNBのDRBマッピングとスケジューリング、輸送網のDSCP扱いを疑います。


3GPP仕様とVendor実装の境界

3GPPが定義するもの Vendor / 運用が決めるもの
QoS Flow モデル、QFI の一意性(PDU Session内)、QoS profile / QoS rule / PDR の三本立て QFI の採番方針(連番か、QFI = 5QI にするか)
標準化5QI と QoS characteristics(Table 5.7.4-1) 運用者定義5QIの特性値、5QI / ARP → DSCP の対応表
QoS rules / QoS flow descriptions の符号化(TS 24.501) PCC Rule・Packet Filter の設計、default QoS の値
NGAP の QoS Flow Setup Request List / Failed to Setup List(TS 38.413) gNB の DRB 本数、QoS Flow → DRB の束ね方、スケジューラ
SDAP ヘッダと QoS Flow → DRB マッピングの手順(TS 37.324) gNBがNGAPで設定されていないQFIをN3 DLで受信したときの扱い
PFCP の QER(Gate / MBR / GBR / QFI)、PDU Session Container(TS 38.415) UPF の Queue・Rate制御アルゴリズム(tc / DPDK / ASIC 等)、show qos-flow 等のCLI

「QERで指定したRateをUPFのどのQueue / Algorithmで守るか」「gNBがどのスケジューラでPDBを守るか」は3GPPの規定範囲外です。


EPC(4G)との比較

項目 4G EPC 5GC
QoSの単位 EPS Bearer QoS Flow
識別子 EPS Bearer ID(EBI) QFI(PDU Session内で一意)
品質の種類 QCI 5QI
転送路との関係 Bearerごとに GTP-U Tunnel(TEID)が別 PDU Sessionごとに1本のN3 Tunnel + QFI
User Packet上のQoS識別 TEIDで暗黙に区別 PDU Session Container の QFI で明示
基本のQoS Default Bearer default QoS rule に紐付くQoS Flow
追加のQoS Dedicated Bearer 追加のQoS Flow(同じPDU Session内)
UE側の分類 UL TFT QoS rule(Packet Filter + precedence + QFI)
無線側 E-RAB と DRB が 1:1 QoS Flow → DRB は gNB が決める(N:1 可)
  • 5QI=1 と QCI=1、5QI=5 と QCI=5 は対応します(TS 23.501 §5.7.4)。その他の値の対応、および Priority Level の付け方の差(例: 5QI 1 は 20、QCI 1 は 2)の詳細は要確認です。
  • EPC との相互接続(N26)では、QoS flow description に EPS bearer identity を含めて、QoS FlowとEPS Bearerの対応をUEへ知らせます(TS 24.501 §9.11.4.12、要確認)。詳しくは Interworking を参照してください。

3GPP Specification

仕様 節 内容
TS 23.501 §5.7.1.1 QoS Flow / QFI(PDU Session内で一意、QFI = 5QI も可)(枝番は要確認)
TS 23.501 §5.7.1.2 / §5.7.1.3 / §5.7.1.4 QoS profile / QoS Flow の制御 / QoS rules(default QoS rule)(要確認)
TS 23.501 §5.7.1.5 / §5.7.1.6 / §5.7.1.7 QoS Flow mapping(QFI割当)/ DL traffic / UL traffic(要確認)
TS 23.501 §5.7.2.1 / §5.7.2.7 5QI / Default values(要確認)
TS 23.501 §5.7.3.1〜§5.7.3.7 QoS characteristics(Resource Type / Priority Level / PDB / PER / Averaging Window / MDBV)(要確認)
TS 23.501 §5.7.4(Table 5.7.4-1) 標準化5QI と QoS characteristics の対応
TS 23.501 §5.7.5 Reflective QoS
TS 23.501 §5.33.2 冗長伝送(1 PDU Sessionに複数N3 Tunnelの例。要確認)
TS 23.502 §4.3.2.2.1 / §4.3.3.2 PDU Session Establishment / Modification
TS 23.503 §6.1.3.2.4 QoS Flow binding(要確認)
TS 24.501 §8.3.2 / §8.3.9 PDU SESSION ESTABLISHMENT ACCEPT / PDU SESSION MODIFICATION COMMAND(要確認)
TS 24.501 §9.11.4.12 / §9.11.4.13 QoS flow descriptions / QoS rules
TS 38.413 §8.2.1 / §8.2.3 PDU Session Resource Setup / Modify
TS 38.413 §9.3.4.1 / §9.3.4.2 / §9.3.1.12 Setup Request Transfer(QoS Flow Setup Request List)/ Setup Response Transfer / QoS Flow Level QoS Parameters(要確認)
TS 38.415 §5.5.2 PDU Session Container(DL / UL PDU SESSION INFORMATION、QFI、RQI)(要確認)
TS 29.281 §5.1 / §5.2.1 / §5.2.2.7 GTP-U ヘッダ / 拡張ヘッダ / PDU Session Container(要確認)
TS 29.244 §7.5.2.2 / §7.5.2.5 Create PDR(PDIのQFI)/ Create QER(要確認)
TS 29.512 §4.2.2 / §5.6.2 Npcf_SMPolicyControl_Create / データ型(PCC Rule、Session Rule)(要確認)
TS 37.324 §4.4 / §5.2.1 / §5.3 / §6.2.2 SDAP の機能 / UL データ転送 / QoS Flow → DRB マッピング / ヘッダ形式(要確認)
TS 38.300 §12 NG-RAN の QoS(要確認)
TS 33.501 §9.2 N2 の保護(要確認)

Summary

  • 5GのQoSは QoS Flow に紐付く。QoS Flowは QFI で識別され、QFIはPDU Session内でだけ一意
  • TEID = Tunnel、QFI = Session内のQoS Flow、5QI = QoS characteristicsの種類。User Packetに載るのは TEID と QFI だけで、5QIはシグナリングにしか無い
  • 1つのPDU Sessionは通常 1本のN3 Tunnel を使い、その中を複数QFIが流れる(1 TEID : 複数 QFI)
  • 5QI は Resource Type(GBR / Delay-critical GBR / Non-GBR)、Priority Level、PDB、PER 等を指す。帯域値は5QIとは別
  • 「Default QoS Flow」は default QoS rule(DQR=1) が指すFlow。UEはQoS ruleを precedence順に照合してULのQFIを決める
  • SMFの1つの決定が UE(QoS rule)/ gNB(QoS Flow Setup Request List)/ UPF(PDR・QER) に配られ、gNBはSDAPで QoS Flow → DRB を決める
  • QFI mismatch は N2 → N1 → N4 → N3 の値を並べて切り分ける。Wiresharkの QFI = 7 を 5QI 7 と読まない

理解度チェック

Q1. あるPDU Sessionに QFI = 7 のQoS Flowがあり、特定の5QIが設定されています。QFIと5QIの関係として最も適切なのはどれか。A. QFIはGTP-U Tunnelそのものを識別し、5QIはそのTunnelのTEIDを表す / B. QFIはPDU Session内のQoS Flowを識別し、5QIはそのQoS Flowに適用されるQoS characteristicsを指す識別子である / C. QFIと5QIは同じ値でなければならず、名称だけが異なる / D. QFIはAMFを識別し、5QIはSMFを識別する

正解: B。QFIはPDU Session内でQoS Flowを識別し(TS 23.501 §5.7.1.1)、5QIはQoS characteristics(Resource Type、Priority Level、PDB、PER 等)への参照です(TS 23.501 §5.7.2.1 / §5.7.3)。Tunnelを識別するのはTEIDで(A は誤り)、QFIを5QIと同じ値にすることは許容されていますが義務ではありません(C は誤り)。D は無関係です。

Q2. 1つのPDU Sessionに QoS Flow が3つ(QFI 1 / 2 / 3)あります。通常の構成(Dual Connectivity や冗長伝送なし)で、DLのN3 GTP-U TEIDはいくつ使われますか。また、gNBは3つのFlowをどう見分けますか。

1つ です。UPFはPDU SessionのPDUを5GCと(R)ANの間の1つのTunnelで送り、Flowの区別はGTP-U拡張ヘッダ(PDU Session Container)の QFI で行います(TS 23.501 §5.7.1.6、TS 38.415 §5.5.2、要確認)。gNBは QFI と、NGAPで受け取ったQoS profileを基に、各パケットを対応するDRBへ載せます。

Q3. UEのQoS ruleは2つだけで、どちらも特定ポート向けのPacket Filterしか持っておらず、DQR=1 のruleにも match-all フィルタが入っていません。どのフィルタにもMatchしないULパケットはどうなりますか。

UEは QoS rule を precedence の小さい順に照合し、どれにもMatchしないULパケットは破棄します(TS 23.501 §5.7.1.7、要確認)。通常は default QoS rule に match-all の Packet Filter Set を入れて最後の受け皿にするため、この設計では「特定アプリ以外のULが一切出ない」事象になり得ます。NASの Authorized QoS rules で DQR ビットと Packet Filter を確認します。

Q4. NGAPでは Voice 用QoS Flowを QFI = 2(5QI = 1)として通知したのに、N3のDL Voiceパケットは QFI = 9 で流れています。まず何を確認しますか。

DLのQFIはUPFが QER の QFI に従って付与するため、まず PFCP の Create QER(または Update QER)の QFI と、そのQERを参照している DL PDR を確認します(TS 29.244 §7.5.2.5、要確認)。QERのQFIが 9 ならSMFのQER生成の誤り、QERは2なのに9が付くなら、意図しないDL PDR(Precedence / SDF Filter)にMatchしている可能性があります。gNBが未知のQFI 9 をどう扱うかは実装依存です。


Next Step