好的,我们继续对3GPP TS 29.244规范进行深度解读。

深度解析 3GPP TS 29.244:5.2.2-5.2.5节 Packet Forwarding Rules (分组转发规则详解:URR, FAR, BAR & QER)

本文技术原理深度参考了3GPP TS 29.244 V18.9.0 (2025-03) Release 18规范,并结合3GPP TS 23.501 V18.9.0 和 TS 23.502 V18.9.0 的架构与流程,重点解读“第5.2节 Packet Forwarding Model”中关于核心转发规则的章节,包括5.2.2 (URR), 5.2.3 (FAR), 5.2.4 (BAR) 和 5.2.5 (QER)。本文旨在为读者全方位剖析PFCP协议中定义数据包“处置动作”的四大核心规则。

引言:从“识别”到“执行”的完整闭环

在上一篇文章中,我们深入探讨了PFCP分组转发模型的“第一道门”——包检测规则(PDR)。我们了解到,PDR如同用户面(UPF)中的“侦察兵”,它的核心使命是根据控制面(SMF)下发的指令,精准地识别出特定的数据流。这构成了整个数据处理流程中“IF”的判断条件。

然而,仅仅识别出数据包是远远不够的。网络还需要知道“THEN”该如何处置这些被识别出的数据包。这正是本篇文章将要深入剖析的核心内容。PFCP协议定义了一套功能强大且高度协同的规则体系,用于精确定义数据包在被PDR匹配后的“命运”。这些规则构成了从QoS保障、流量转发、计费统计到临时缓冲的完整执行链,它们分别是:

  • URR (Usage Reporting Rule):使用情况报告规则,扮演着“会计师”的角色,负责测量流量并按需上报。
  • FAR (Forwarding Action Rule):转发行为规则,是数据流的“导航员”,决定数据包的前进方向。
  • BAR (Buffering Action Rule):缓冲行为规则,作为“仓库管理员”,定义了数据包在需要暂存时的具体策略。
  • QER (QoS Enforcement Rule):QoS执行规则,如同服务质量的“宪兵”,确保数据流的服务质量得到保障。

A PDR contains a set of information (Packet Detection Information - PDI) used to match packets. To one PDR corresponds:

  • zero or one FARs, which contains instructions related to the processing of the packets…
  • zero, one or more QERs, which contains instructions related to the QoS enforcement of the traffic;
  • zero, one or more URRs, which contains instructions related to traffic measurement and reporting.

这四类规则与PDR紧密关联,共同构成了PFCP分组转发模型的核心。我们将继续沿用智能工厂的场景,通过“鹰眼-01”摄像头在工作中产生的三种不同类型的数据流,来生动地诠释这些规则如何协同工作,实现对用户面流量的精细化、差异化处理。

  • 高优先级视频流 (发往边缘AI服务器)
  • 低优先级遥测流 (发往云端监控平台)
  • 双向控制流 (与边缘AI服务器进行信令交互)

1. URR (Usage Reporting Rule):流量统计的“会计师”

**使用情况报告规则(URR)**是实现计费、策略控制和网络监控功能的基础。它指示UPF如何对匹配了特定PDR的流量进行测量,并在满足预设条件时生成使用报告上报给SMF。

The CP function shall provision URR(s) for a PFCP session in a PFCP Session Establishment Request or a PFCP Session Modification Request to request the UP function to:

  • measure the network resources usage in terms of traffic data volume, duration (i.e. time) and/or events, according to the provisioned Measurement Method; and
  • send a usage report to the CP function, when the measurement reaches a certain threshold, periodically or when detecting a certain event, according to the provisioned Reporting Triggers…

1.1 URR的核心参数:测量方法与报告触发器

SMF通过URR向UPF下达的指令,主要包含两个维度:“测什么”(测量方法)和**“何时报”**(报告触发器)。

1.1.1 测量方法 (Measurement Method)

URR中的Measurement Method字段定义了统计的维度。

  • VOLUM (Volume):测量数据量,包括上行、下行和总流量。
  • DURAT (Duration):测量时长,即数据流处于活动状态的时间。
  • EVENT (Event):测量事件数量,例如应用的启动/停止次数。
  • Combined Volume/Duration:同时测量数据量和时长。

1.1.2 报告触发器 (Reporting Triggers)

URR中的Reporting Triggers字段定义了UPF应在何时生成并发送使用报告。常见的触发器包括:

  • PERIO (Periodic Reporting):周期性报告。SMF会指定一个周期(Measurement Period),UPF会按此周期定时上报。
  • VOLTH (Volume Threshold):数据量门限。当累计流量达到SMF设定的门限时触发报告。
  • TIMTH (Time Threshold):时长门限。当累计活动时长达到SMF设定的门限时触发报告。
  • START (Start of Traffic) / STOPT (Stop of Traffic):应用流量的开始/停止。这需要UPF具备一定的深度包检测能力来识别应用的生命周期。
  • QUHTI (Quota Holding Time):配额持有时间。当在指定时间内没有任何数据包通过时触发报告,用于检测不活跃的会话。
  • VOLQU (Volume Quota) / TIMQU (Time Quota):数据量/时长配额。当用户用尽SMF下发的配额时触发报告。

场景示例:为“鹰眼-01”配置URRs 为了对“鹰眼-01”的三种数据流进行差异化统计,SMF会创建并关联至少三条URRs:

  • URR-Video (关联PDR-Video):
    • Measurement Method: VOLUM (测量流量)
    • Reporting Triggers: VOLTH (流量门限)
    • Volume Threshold: 1 GB (上行/下行/总流量)
    • 作用:每当“鹰眼-01”的高优先级视频流累计使用1GB流量时,UPF就向SMF报告一次,用于大流量业务的准实时监控。
  • URR-Telemetry (关联PDR-Telemetry):
    • Measurement Method: VOLUM
    • Reporting Triggers: PERIO (周期性)
    • Measurement Period: 30 minutes
    • 作用:UPF每30分钟向SMF报告一次遥测流的累计使用情况,用于生成周期性的运营报表。
  • URR-Control (关联PDR-Control):
    • Measurement Method: EVENT
    • Reporting Triggers: START, STOPT
    • 作用:当UPF检测到“鹰眼-01”与AI服务器的TCP控制连接建立(START)或断开(STOPT)时,立即上报事件。这对于监控关键控制信令的在线状态非常有用。

1.2 门限 (Threshold) vs. 配额 (Quota)

在URR中,门限(Threshold)和配额(Quota)是两个核心但易于混淆的概念。

  • 门限 (Threshold):是一种“报告”机制。当用量达到门限时,UPF仅生成并发送报告,但不影响数据包的正常转发。报告后,UPF会根据SMF的指令重置或调整门限,继续测量。
  • 配额 (Quota):是一种“控制+报告”机制。当用量达到配额时,UPF除了生成报告,还会立即执行预设的控制动作

the CP function may provision… the Volume Quota IE, to request the UP function to stop forwarding packets… and, if no Volume Threshold is provisioned, to also generate a usage report, when the measured traffic reaches the quota;

这个控制动作通常是停止转发数据包,或者应用一条特殊的转发规则(通过FAR ID for Quota Action指定),例如将用户的流量重定向到一个提醒充值的页面。配额机制是实现在线计费(OCS)的关键。

1.3 URR的关键信息元素 (IE)

规范原文中的 Table 7.5.2.4-1: Create URR IE within PFCP Session Establishment Request 详细定义了创建URR时所需的信息元素。我们将其关键字段整理并解释如下:

关键信息元素 (IE)描述与作用
URR IDURR的唯一标识符,用于被PDR关联。
Measurement Method测量方法,定义了测量的维度(流量、时长、事件)。
Reporting Triggers报告触发器,定义了上报报告的条件。
Measurement Period测量周期,配合PERIO触发器使用。
Volume/Time/Event Threshold流量/时长/事件门限,配合VOLTH/TIMTH/EVETH触发器使用。
Volume/Time/Event Quota流量/时长/事件配额,配合VOLQU/TIMQU/EVEQU触发器使用。
Monitoring Time监控时间点,用于在特定时刻(如资费变更时)触发报告,并将该时间点前后的用量分开统计。
Linked URR ID关联URR ID。当本URR触发报告时,也会同时触发所关联的URR一并上报用量,用于生成组合报告。
FAR ID for Quota Action当配额用尽时,指示UPF应用的特殊FAR ID,实现流量重定向或丢弃等控制。

2. FAR (Forwarding Action Rule):数据流向的“指挥官”

**转发行为规则(FAR)**是PDR匹配成功后必须执行的核心规则之一,它明确指示UPF应如何处置数据包,是决定数据包“命运”的指挥官。

a FAR, which contains instructions related to the processing of the packets as follows:

  • an Apply Action parameter, which indicates whether the UP function shall:
  • forward, duplicate, drop or buffer the packet…

2.1 FAR的核心:应用动作与转发参数

FAR的指令集主要由两部分构成:宏观的应用动作(Apply Action)和具体的转发参数(Forwarding Parameters)

2.1.1 应用动作 (Apply Action)

Apply Action字段是一组标志位的集合,定义了对数据包的最终“命运”裁决:

  • FORW (Forward)转发。这是最常见的动作,指示UPF将数据包发送到下一跳。
  • DROP (Drop)丢弃。用于实现防火墙、黑名单或门控关闭等功能。
  • BUFF (Buffer)缓冲。通常在UE处于CM-IDLE状态,下行数据无法立即送达时使用。UPF会将数据包暂存,并可以选择性地通过NOCP标志通知SMF。
  • DUPL (Duplicate)复制。将数据包复制一份,发送到另一个目的地,常用于合法监听(LI)等场景。

2.1.2 转发参数 (Forwarding Parameters)

Apply Action包含FORWDUPL时,FAR中必须包含Forwarding Parameters来提供具体的转发路径信息:

  • Destination Interface (目的接口):指定数据包的逻辑出接口,如Access side(发往无线侧)、Core side(发往数据网络侧)。
  • Outer Header Creation (外层头创建):指示UPF在转发前需要添加的封装头。这是实现隧道转发的核心。例如,对于下行数据,这里会指定送往基站的GTP-U隧道信息(基站IP地址和TEID)。
  • Forwarding Policy (转发策略):引用UPF上预配置的流量导向策略,用于实现更复杂的N6流量路由,例如将流量送入一个服务功能链(SFC)。

场景示例:为“鹰眼-01”配置FARs

  • FAR-Video-UL (关联PDR-Video-UL):
    • Apply Action: FORW
    • Forwarding Parameters:
      • Destination Interface: Core side
    • 作用:将“鹰眼-01”的上行视频流从N6接口直接转发至边缘AI服务器。
  • FAR-Control-DL (关联PDR-Control-DL):
    • Apply Action: FORW
    • Forwarding Parameters:
      • Destination Interface: Access side
      • Outer Header Creation: [GTP-U头信息,包括为鹰眼-01服务的基站IP和N3隧道TEID]
    • 作用:将来自AI服务器的下行PTZ控制指令,正确地封装进通往基站的N3隧道,并发往“鹰眼-01”。

2.2 FAR的关键信息元素 (IE)

规范原文中的 Table 7.5.2.3-1: Create FAR IE within PFCP Session Establishment Request 详细定义了创建FAR时所需的信息元素。关键字段整理如下:

关键信息元素 (IE)描述与作用
FAR IDFAR的唯一标识符,用于被PDR关联。
Apply Action应用动作,定义对数据包的宏观处置(转发、丢弃、缓冲、复制)。
Forwarding Parameters转发参数,当动作为转发或复制时,提供详细的路径信息。
BAR ID缓冲动作规则ID。当动作为缓冲时,指向一个BAR,获取详细的缓冲策略。
Duplicating Parameters复制参数,当动作为复制时,提供复制流的转发路径信息。

3. BAR (Buffering Action Rule):数据缓冲的“仓库管理员”

**缓冲动作规则(BAR)**是FAR功能的延伸,它本身不被直接关联,而是通过FAR中的BAR ID被引用。当FAR的Apply Action被设置为BUFF(缓冲)时,UPF就会根据关联的BAR中的指令来执行具体的缓冲操作。

A BAR provides instructions to control the buffering behaviour of the UP function for all the FARs of the PFCP session set with an Apply Action parameter requesting the packets to be buffered and associated to this BAR.

3.1 BAR的应用场景与核心参数

BAR最典型的应用场景是处理UE进入CM-IDLE状态后的下行数据。此时,从数据网络发往UE的数据包到达UPF,但通往基站的N3隧道已释放,数据无法送达。这时,与该下行流关联的PDR所指向的FAR就会指示UPF执行缓冲动作。

BAR的核心参数定义了缓冲的策略:

  • DL Buffering Duration (下行缓冲时长):指示UPF最多可以缓冲多长时间的数据。
  • DL Buffering Suggested Packet Count (下行缓冲建议包数):指示UPF最多可以缓冲多少个数据包。

一旦超出任一限制,UPF就会开始丢弃新到达的数据包。同时,当第一个数据包被缓冲时,FAR中的NOCP(Notify CP)标志位会指示UPF是否需要立即向SMF发送一个“数据到达通知”(Data Notification)。SMF收到通知后,就会启动网络侧寻呼流程,唤醒UE,重建N3隧道,并将缓冲的数据下发给UE。

3.2 BAR的关键信息元素 (IE)

规范原文中的 Table 7.5.2.6-1: Create BAR IE within PFCP Session Establishment Request 定义了创建BAR时所需的信息元素。

关键信息元素 (IE)描述与作用
BAR IDBAR的唯一标识符,用于被FAR引用。
DL Buffering Duration下行缓冲时长,定义了数据包在UPF中可以被缓存的最大时间。
DL Buffering Suggested Packet Count下行缓冲建议包数,定义了UPF可以缓存的最大数据包数量。

4. QER (QoS Enforcement Rule):服务质量的“宪兵”

**QoS执行规则(QER)**负责在UPF上对数据流实施具体的服务质量控制,确保高价值业务获得优先保障,同时限制低优先级业务对网络资源的过度占用。

zero, one or more QERs, which contains instructions related to the QoS enforcement of the traffic;

4.1 QER的核心控制手段

QER通过一系列参数,实现了对流量的精细化QoS控制。

  • Gate Status (门控状态):这是一个简单的“开关”,可以是Open(打开)或Closed(关闭)。当状态为Closed时,所有匹配该QER的数据包都将被UPF直接丢弃。这为动态启停业务流提供了一个高效的手段。
  • MBR (Maximum Bitrate) / GBR (Guaranteed Bitrate)最大比特率保证比特率。MBR为数据流设置了速率上限,而GBR则为需要稳定带宽的业务(如VoNR、实时视频)提供了带宽保障。
  • QFI (QoS Flow Identifier)QoS流标识符。QER指示UPF在GTP-U隧道的外层头上打上指定的QFI。无线接入网((R)AN)会根据这个QFI,将数据流映射到合适的无线承载上,从而在空口上提供差异化的调度优先级。
  • Reflective QoS Indication (RQI)反射QoS指示。对于下行流量,QER可以指示UPF在GTP-U头中插入RQI标记。UE收到带有RQI标记的下行包后,会自动创建一个上行“派生QoS规则”,将具有相同五元组的上行流量映射到与下行相同的QoS Flow中,从而实现上下行业务QoS的自动匹配。

场景示例:为“鹰眼-01”配置QERs

  • QER-Video (关联PDR-Video):
    • Gate Status: Open
    • UL GBR/MBR: 50 Mbps / 80 Mbps
    • QFI: 8 (假设8是运营商定义的代表高清实时视频的5QI值)
    • 作用:保证“鹰眼-01”的视频流至少有50Mbps的上行带宽,最高不超过80Mbps,并在空口上获得高优先级调度。
  • QER-Telemetry (关联PDR-Telemetry):
    • Gate Status: Open
    • QFI: 9 (假设9是代表尽力而为(Best Effort)业务的5QI值)
    • 作用:遥测流作为非GBR流量,其速率将受限于整个PDU会话的总速率上限(Session-AMBR),并在空口上获得普通优先级调度。

4.2 QER的关键信息元素 (IE)

规范原文中的 Table 7.5.2.5-1: Create QER IE within PFCP Session Establishment Request 详细定义了创建QER时所需的信息元素。

关键信息元素 (IE)描述与作用
QER IDQER的唯一标识符,用于被PDR关联。
Gate Status门控状态,控制流量的开启或关闭。
Maximum Bitrate (MBR)最大比特率,定义流量的速率上限。可应用于SDF、QoS Flow或整个会话(Session-AMBR)。
Guaranteed Bitrate (GBR)保证比特率,为需要带宽保障的GBR QoS Flow提供承诺速率。
QFIQoS流标识符,用于指示(R)AN在空口进行差异化调度。
RQI (Reflective QoS)反射QoS指示。当在QER中设置时,指示UPF对下行包打上RQI标记,触发UE侧的反射QoS行为。

FAQ环节

Q1:URR中的门限(Threshold)和配额(Quota)有何本质区别?

A1:门限(Threshold)和配额(Quota)都用于基于用量触发动作,但它们的本质目的不同。门限是一种报告机制,当用量达到门限时,UPF会向SMF发送一份使用报告,但并不会阻止数据包的继续转发。这主要用于流量监控和离线计费。而配额是一种控制机制,当用量达到配额(即用尽)时,UPF不仅会发送报告,更关键的是会立即执行控制动作,通常是停止转发数据包或应用一条特殊的重定向/丢弃规则(通过FAR ID for Quota Action指定)。这是实现在线计费(预付费)的核心功能,可以有效防止用户超额使用服务。

Q2:一个PDR可以关联多个URR或QER吗?如果可以,UPF如何处理?

A2:是的,一个PDR可以关联零个、一个或多个URR零个、一个或多个QER。当一个数据包匹配到这个PDR时,UPF会同时应用所有与之关联的URRs和QERs。例如,一个视频流的PDR可以同时关联两个URR:一个用于实时上报大流量块(如每1GB),另一个用于周期性上报(如每小时),以满足不同维度的监控需求。同样,它也可以关联两个QER:一个用于设置GBR/MBR,另一个用于打上特定的DSCP标记。这种“多对多”的关联关系极大地增强了策略配置的灵活性。

Q3:FAR和BAR之间是什么关系?为什么需要BAR这样一个独立的规则?

A3:FAR(转发行为规则)和BAR(缓冲动作规则)是主从关系。FAR是主规则,定义了对数据包的宏观处置,其中一种动作是“缓冲”(BUFF)。当FAR决定要缓冲数据包时,它会通过一个BAR ID来引用一条BAR。BAR作为从规则,提供了关于如何缓冲的具体细节,例如最大缓冲时长或最大缓冲包数。将缓冲的具体策略从FAR中分离出来,设计成独立的BAR,主要是为了复用。在同一个PFCP会话中,可能有多条不同的数据流(对应不同的FARs)在UE空闲时都需要缓冲,而它们的缓冲策略(如时长、包数)可能是相同的。这时,所有这些FARs就可以引用同一个BAR,从而简化了信令配置,避免了在每个FAR中重复定义相同的缓冲参数。

Q4:QER中的Session-AMBR和GBR/MBR有什么区别?它们如何协同工作?

A4:Session-AMBR(会话聚合最大比特率)和GBR/MBR(保证/最大流比特率)是作用于不同层级的速率控制参数。Session-AMBR是针对整个PDU会话中所有非GBR流量的总速率限制。而GBR/MBR是针对单个QoS Flow(通常是一个或一组SDF)的速率控制。它们协同工作如下:对于一个GBR QoS Flow,UPF会确保其速率不低于GBR,且不超过MBR。对于一个非GBR QoS Flow,它没有自己的GBR保障,其速率上限受限于它自身的MBR(如果配置了)和整个PDU会话的Session-AMBR。UPF会确保该会话下所有非GBR流的总速率之和不超过Session-AMBR。简单来说,GBR/MBR是对“VIP通道”的精细化控制,而Session-AMBR是为所有“普通通道”设置的一个总的交通流量上限。

Q5:什么是反射QoS(Reflective QoS)?它是如何通过QER启用的?

A5:反射QoS是一种简化上行业务QoS配置的机制。在传统方式下,为上下行匹配的业务流配置QoS需要网络侧(SMF)分别为上下行创建独立的QoS规则。而启用反射QoS后,网络只需为下行流配置好QoS。当UPF处理这些下行数据包时,如果其匹配的PDR所关联的QER中设置了RQI(反射QoS指示),UPF就会在发往UE的GTP-U包头中插入一个RQI标记。UE的NAS层收到这个带有RQI标记的下行包后,会自动“学习”这个包的IP五元组和QFI,并生成一条派生的上行QoS规则。这条规则会自动将具有相同五元组(源目的IP/端口反转)的上行数据包映射到与下行相同的QoS Flow中,从而实现了上下行QoS的自动匹配,大大减少了信令开销。