好的,我们继续进行深度解析。

深度解析 3GPP TS 29.244:第5.2.3-5.2.5节 FAR, BAR & QER (转发、缓冲与QoS执行规则)

本文技术原理深度参考了3GPP TS 29.244 V18.9.0 (2025-03) Release 18规范,并结合3GPP TS 23.501 V18.9.0 (2025-03)的系统架构,重点解读“第5.2节 Packet Forwarding Model”中关于核心执行规则的章节,包括5.2.3 (Forwarding Action Rule), 5.2.4 (Buffering Action Rule) 和 5.2.5 (QoS Enforcement Rule)。本文旨在为读者全方位剖析PFCP协议中定义数据包“处置动作”的三大核心规则。

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

在之前的系列文章中,我们已经深入剖析了PFCP分组转发模型的“侦察兵”——**PDR(包检测规则)**和“会计师”——URR(使用情况报告规则)。我们知道,PDR解决了“IF”的问题,即如何从纷繁复杂的数据洪流中精准识别出特定业务或用户的流量。而URR则解决了“How Much”的问题,即如何度量这些流量的使用情况。

然而,仅仅识别和度量是不够的。网络的核心价值在于对数据流进行有效的处置和保障。这正是本文将要深入探讨的核心内容:构成“THEN”动作的执行规则。当一个数据包被PDR成功匹配后,它的“命运”将交由一组功能强大且高度协同的规则来决定。这些规则构成了从流量转发、服务质量保障到临时缓冲的完整执行链,它们分别是:

  • FAR (Forwarding Action Rule):转发行为规则,作为数据流的“导航员”,决定数据包的前进方向——是转发、是丢弃,还是需要临时“靠边停车”(缓冲)。
  • BAR (Buffering Action Rule):缓冲行为规则,是FAR的“配套设施”,如同“仓库管理员”,当FAR指令数据包需要缓冲时,BAR将提供详细的仓储策略。
  • 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.

我们将继续跟随主角“鹰眼-01”摄像头,但场景将引入新的挑战,以生动地诠释这些规则如何协同工作:

场景深化:“鹰眼-01”在完成一轮高强度的质检任务后,为了节省电力,进入了5G网络为其配置的**CM-IDLE(连接管理空闲)**状态。此时,它与网络之间的无线连接已释放,但其在核心网的注册状态(RM-REGISTERED)和PDU会话依然保持。突然,中央控制室的管理员下发了一条紧急指令,要求“鹰眼-01”立即调整云台角度。这个指令数据包到达了UPF,但此时通往“鹰眼-01”的用户面路径已经“断开”。UPF该如何处理这个“无处可去”的数据包?这正是FAR的缓冲动作与BAR协同工作的经典场景。

1. FAR (Forwarding Action Rule):数据流向的“导航员”

**转发行为规则(FAR)**是PDR匹配成功后必须执行的核心规则之一(除非被专用于多接入的MAR替代)。它明确指示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…

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

1.1 应用动作 (Apply Action):决定数据包的“命运”

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

  • FORW (Forward) - 转发:这是最常见的动作。它指示UPF将数据包发送到下一跳。在“鹰眼-01”正常工作时,其上行视频流和下行控制流关联的FAR都设置了FORW标志。
  • DROP (Drop) - 丢弃:指示UPF直接丢弃数据包。这可用于实现防火墙功能,例如,SMF可以下发一条高优先级的PDR/FAR组合,匹配并DROP掉所有来自某个已知恶意IP地址的流量。
  • BUFF (Buffer) - 缓冲:指示UPF将数据包(通常是下行数据)暂存起来。这就是我们新场景的关键。当“鹰眼-01”处于CM-IDLE状态时,其下行PDR关联的FAR的Apply Action就会被SMF修改为BUFF
  • NOCP (Notify CP) - 通知控制面:该标志通常与BUFF标志一同使用。它指示UPF在缓冲第一个下行数据包时,需要向CP功能(SMF)发送一个“下行数据通知”(Downlink Data Notification)。SMF收到此通知后,便会启动网络侧寻呼流程,唤醒UE,重建无线和N3隧道,以便下发缓冲的数据。
  • DUPL (Duplicate) - 复制:指示UPF将数据包复制一份,并根据**复制参数(Duplicating Parameters)**将其发送到另一个目的地,常用于合法监听(LI)等场景。

1.2 转发参数 (Forwarding Parameters):规划数据包的“路径”

Apply Action包含FORW时,FAR中必须包含**转发参数(Forwarding Parameters)**来提供具体的转发路径信息。

  • forwarding, buffering and/or duplicating parameters, which the UP function shall use if the Apply Action parameter requests the packets to be forwarded, buffered or duplicated respectively.

转发参数的核心组件包括:

  • 目的接口(Destination Interface):指定数据包的逻辑出接口。例如,对于“鹰眼-01”的上行视频流,Destination InterfaceCore side(核心网侧),表示数据将从N6接口发往数据网络。对于下行控制指令,则为Access side(接入侧),表示数据将从N3接口发往RAN。
  • 外层头创建(Outer Header Creation):这是实现隧道转发的灵魂指令。它指示UPF在转发数据包前需要添加何种封装头。
    • 场景示例:处理“鹰眼-01”的下行控制指令时,FAR中的Outer Header Creation会包含一个GTP-U/UDP/IP头的创建指令。其中,目标IP地址是为“鹰眼-01”服务的基站(gNB)的N3接口地址,GTP-U头中的**TEID(隧道端点标识符)**是gNB为这条N3隧道分配的ID。UPF就像一个打包工人,将原始数据包(AI服务器发给摄像头的指令)装进一个写着正确“收件地址”(gNB IP和TEID)的“快递箱”(GTP-U隧道)里,然后投递出去。

1.3 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复制参数,当动作为复制时,提供复制流的转发路径信息。

2. BAR (Buffering Action Rule):CM-IDLE状态下的“仓库管理员”

**缓冲动作规则(BAR)**是FAR功能的延伸。它不被PDR直接关联,而是通过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.

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

BAR最典型的应用场景,正是处理处于CM-IDLE状态UE的下行数据。此时,UE为了省电,释放了与基站的RRC连接,核心网侧对应的N3用户面隧道也被释放。当有下行数据到达UPF时,UPF无法直接送达UE,此时就必须执行缓冲。

BAR的核心参数为缓冲策略提供了明确的限制,以防止UPF内存被耗尽:

  • 下行缓冲时长(DL Buffering Duration):指示UPF最多可以缓冲多长时间的数据。超出此时长后到达的数据包将被丢弃。
  • 下行缓冲建议包数(DL Buffering Suggested Packet Count):指示UPF最多可以缓冲多少个数据包。超出此数量后到达的数据包将被丢弃。

场景示例:唤醒“鹰眼-01”

  1. “鹰眼-01”进入CM-IDLE。AMF通知SMF,SMF随即通过PFCP Session Modification流程,更新了“鹰眼-01”下行PDR关联的FAR,将其Apply ActionFORW修改为BUFF+NOCP,并确保其关联了正确的BAR ID
  2. 中央控制室的紧急云台调整指令到达UPF。
  3. UPF匹配到下行PDR,发现关联的FAR要求执行BUFF。UPF将该指令数据包存入缓冲区,并遵循BAR中定义的时长和包数限制。
  4. 由于FAR中还设置了NOCP,UPF立即向SMF发送Downlink Data Notification消息。
  5. SMF收到通知,触发AMF对“鹰眼-01”进行寻呼(Paging)。
  6. “鹰眼-01”被唤醒,响应寻呼,发起UE Triggered Service Request流程,重建RRC连接和N3隧道。
  7. SMF在Service Request流程中,再次通过PFCP Session Modification,将FAR的Apply Action改回FORW,并向UPF下发新的N3隧道信息。
  8. UPF将缓冲区中的指令数据包通过新建的N3隧道下发给“鹰眼-01”,摄像头成功执行了云台调整。

2.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可缓存的最大数据包数量。
MT-EDT Control Information(仅适用于5G CIoT)请求UPF在数据通知中上报下行数据包的大小。

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

**QoS执行规则(QER)**负责在UPF上对数据流实施具体的服务质量控制。一个PDR可以关联零个、一个或多个QER,这意味着一个数据流可以同时受到多种QoS策略的约束。

3.1 QER的核心控制手段

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

  • 门控状态 (Gate Status):这是一个简单的“开关”,可以是OpenClosed。当状态为Closed时,所有匹配该QER的数据包都将被UPF直接丢弃。这为动态启停业务流(例如,预付费业务到期)提供了一个高效的手段。
  • MBR (Maximum Bitrate) / GBR (Guaranteed Bitrate)最大比特率保证比特率,分别用于速率限制和带宽保障。
    • 场景示例:为保障“鹰眼-01”实时质检的图像质量,其视频流关联的QER中会设置一个较高的UL GBR(如50 Mbps)和UL MBR(如80 Mbps)。
  • QFI (QoS Flow Identifier)QoS流标识符。QER最重要的功能之一,是指示UPF在GTP-U隧道的外层头上打上指定的QFI标记。无线接入网((R)AN)会根据这个QFI,将数据流映射到合适的无线承载(Data Radio Bearer)上,从而在空口上提供差异化的调度优先级。例如,一个代表实时视频的QFI会让RAN优先调度“鹰眼-01”的数据,以保证低时延。
  • 反射QoS (Reflective QoS):通过在QER中设置RQI(Reflective QoS Indication)标志启用。当UPF处理带有RQI标记的下行数据包时,它会在GTP-U头中插入一个RQI标记。UE收到这个包后,会自动创建一条“派生QoS规则”,将具有相同五元组的上行流量映射到与下行相同的QoS Flow中。这极大地简化了对称性业务(如视频会议、在线游戏)的QoS配置,无需网络侧为上行流再单独下发QoS规则。

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

下表根据规范原文中的 Table 7.5.2.5-1: Create QER IE within PFCP Session Establishment Request 对创建QER时的关键字段进行了整理和解释。

关键信息元素 (IE)描述与作用
QER IDQER的唯一标识符,用于被PDR关联。
Gate Status门控状态,控制流量的开启(Open)或关闭(Closed)。
Maximum Bitrate (MBR)最大比特率,定义流量的速率上限。
Guaranteed Bitrate (GBR)保证比特率,为GBR QoS Flow提供承诺速率。
QFIQoS流标识符,用于指示(R)AN在空口进行差异化调度。
RQI (Reflective QoS)反射QoS指示。当在QER中设置时,指示UPF对下行包打上RQI标记。
Averaging Window平均窗口,定义MBR和GBR的计算时间窗口。

FAQ环节

Q1:FAR、BAR 和 QER 之间是什么关系?它们是如何协同工作的?

A1: 这三者是PFCP分组转发模型中负责“执行”的核心规则,以PDR为中心协同工作。一个数据包被PDR匹配后:

  • 必须关联一个FAR,FAR决定其宏观“命运”,如转发(FORW)、丢弃(DROP)或缓冲(BUFF)。
  • 如果FAR的动作是缓冲(BUFF),那么它必须通过BAR ID引用一个BAR。BAR则提供了详细的缓冲策略,如最大缓冲多久、最多缓冲多少包。
  • 同时,该PDR可以关联一个或多个QER。QER独立于FAR和BAR,负责对数据包实施QoS策略,如速率限制(MBR/GBR)、门控和优先级标记(QFI)。 简单来说,FAR是“总指挥”,BAR是“缓冲战术手册”,QER是“服务质量条例”,三者共同构成了对一个数据包的完整处置方案。

Q2:FAR中的“外层头创建(Outer Header Creation)”具体作用是什么?

A2: “外层头创建”是实现5G核心网用户面隧道转发的核心指令。在5G网络中,用户数据通常是在GTP-U隧道中传输的。例如,从UPF到基站(gNB)的下行数据,需要被封装在一个GTP-U/UDP/IP头中。这个外层头的目标IP地址是gNB的IP地址,TEID(隧道端点标识符)是gNB为这个PDU会话分配的隧道ID。FAR中的“Outer Header Creation”就包含了这些精确的封装信息。当UPF要转发一个下行数据包时,它会根据FAR的这个指令,为原始IP包“穿上”一层GTP-U的“外衣”,然后根据“外衣”上的地址将其正确地投递到对应的gNB。同理,在UPF之间(N9接口)转发也需要类似的封装。

Q3:BAR最主要的应用场景是什么?它和UE的CM-IDLE状态有什么关系?

A3: BAR最主要的应用场景就是处理UE处于CM-IDLE(连接管理空闲)状态时的下行数据。在CM-IDLE状态下,UE为了省电,会释放与基站的无线连接(RRC连接),核心网侧对应的N3用户面隧道也会被释放。此时,如果有下行数据到达服务于该UE的UPF,UPF无法直接将数据发送给UE。这时,SMF会预先或动态地将该UE下行流量关联的FAR动作修改为缓冲(BUFF),并指向一条BAR。UPF便会根据BAR中定义的缓冲时长缓冲包数的策略,将数据包暂存起来,同时通知SMF有数据到达。SMF随后会触发网络对UE进行寻呼,唤醒UE重建连接,再将缓冲的数据下发。

Q4:QER中的“门控(Gating)”和FAR中的“丢弃(DROP)”有什么区别?

A4: 两者都能实现丢弃数据包的效果,但它们的语义和应用场景有所不同。FAR中的DROP动作通常用于实现静态的、基于策略的过滤,类似于防火墙规则。例如,永久性地阻止某个IP地址或应用的流量。而QER中的Gate Status(门控状态)则更像一个动态的“水龙头开关”。它通常用于基于会话状态或计费策略的动态控制。例如,一个在线计费业务,当用户的预付费余额用尽时,PCF会通知SMF,SMF便通过PFCP消息将该业务流对应的QER的Gate Status设置为“Closed”,从而立即停止该业务的流量。当用户充值后,再将其设置为“Open”恢复业务。门控提供了一种在不删除PDR/FAR规则的情况下,快速启停业务流的灵活机制。

Q5:QER中的QFI和MBR/GBR有什么关系?它们各自作用于网络中的哪个部分?

A5: QFI(QoS流标识符)和MBR/GBR(最大/保证比特率)都是QoS保障的关键参数,但作用层面不同。MBR/GBR是速率参数,由UPF直接执行。UPF会对通过的数据包进行整形或策略(policing),确保其速率不超过MBR,并尽力保障其速率不低于GBR。而QFI是一个标签或标识符,UPF会根据QER的指示,将这个QFI值打在GTP-U隧道的外层头上。这个标签的主要“消费者”是无线接入网((R)AN)。RAN看到不同的QFI,就会知道这个数据流的QoS需求(例如低时延、高可靠等),从而在空口资源调度(如无线信道分配、HARQ重传策略等)上给予不同的优先级处理。简而言之,MBR/GBR是UPF执行的“有线”部分的速率控制,而QFI是传递给RAN的“无线”部分的调度指令。