5G核心网学习平台
BSF 实践篇 #03

5GC实践篇之BSF篇第12篇:PCRF地址映射与Rx接口会话绑定

《5G核心网原理与实践》实践篇 · BSF 网元功能

5GC实践篇之BSF篇第12篇:PCRF地址映射与Rx接口会话绑定

作者:爱卫生


1 测试背景与用例简介

在5G核心网与4G EPS互操作、以及5G VoNR的IMS语音场景中,策略控制架构面临着服务化接口(SBI)与传统Diameter接口的衔接挑战。5G中的PCF通过SBI(N7/N28等)提供服务,而传统的IMS AF(如P-CSCF)和DRA仍然使用Diameter Rx接口进行策略授权。BSF的PCF/PCRF地址映射功能正是解决这一跨协议衔接问题的关键桥梁。

本篇聚焦于这一核心场景:5G VoNR用户发起IMS语音业务时,BSF如何帮助DRA将Rx接口的AAR(AA-Request)消息路由到正确的PCF/PCRF融合网元

PCF地址映射的核心问题

在融合组网中,PCF和PCRF可以是合设网元(PCF/PCRF),同时支持5G SBI接口和4G Diameter接口。问题的核心在于:

  • SMF通过SBI接口选择PCF时,获取的是PCF的SBI服务地址(如IP:Port);

  • IMS AF通过DRA发起Rx接口请求时,需要的是PCF/PCRF的Diameter路由信息(如rxDiamHost、rxDiamRealm);

  • BSF需要在两者之间建立映射,将SBI侧的PCF信息转换为Diameter侧的路由信息。

测试验证要点

本篇验证的核心能力是BSF的PCRF地址映射/记录功能,具体包括:

  1. PCF/PCRF向NRF注册时携带Diameter信息(rxDiamHost、rxDiamRealm);

  2. SMF在PDU会话建立过程中获取并存储PCF的Diameter路由信息;

  3. DRA通过BSF查询时,BSF返回PCF的完整Diameter信息,支持Rx接口会话绑定。

详细消息流程图


sequenceDiagram

    participant PCF1 as PCF/PCRF1

    participant PCF2 as PCF/PCRF2

    participant NRF as NRF

    participant SMF as SMF/BSF

    participant DRA as DRA

    participant AF as IMS AF

    Note over PCF1, NRF: 步骤1: PCF向NRF注册Diameter信息

    PCF1->>NRF: Nnrf_NFManagement_NFRegister<br/>携带PCF info: rxDiamHost, rxDiamRealm, dnnList

    PCF2->>NRF: Nnrf_NFManagement_NFRegister<br/>携带PCF info: rxDiamHost, rxDiamRealm, dnnList

    NRF-->>PCF1: 201 Created

    NRF-->>PCF2: 201 Created

    Note over SMF, NRF: 步骤2: SMF发现PCF获取Diameter信息

    SMF->>NRF: Nnrf_NFDiscovery_Request (查询PCF服务)

    NRF-->>SMF: 200 OK (返回PCF info含rxDiamHost, rxDiamRealm)

    Note over SMF: 步骤3: BSF存储绑定<br/>IP + rxDiamHost + PCF ID

    Note over AF, SMF: 步骤4: DRA查询BSF获取PCF Diameter信息

    AF->>DRA: AAR (Rx接口, 携带UE IP地址)

    DRA->>SMF: GET /pcfBindings (查询UE IP对应的PCF信息)

    Note right of DRA: Nbsf_Management_Discovery_Req

    SMF-->>DRA: 200 OK (含pcfDiamHost, pcfDiamRealm, pcfIpEndPoints)

    Note left of SMF: 返回PCF的Diameter路由信息和SBI地址

    DRA->>AF: AAA (携带PCF/PCRF Diameter路由信息)

    Note left of DRA: DRA基于rxDiamHost路由AAR到PCF/PCRF

    DRA->>PCF1: AAR (Rx接口, 路由到正确的PCF/PCRF)

    PCF1-->>DRA: AAA (Rx接口策略授权响应)


flowchart LR

    subgraph PCRF地址映射全流程

        A["PCF向NRF注册Diameter信息"] --> B["SMF通过NRF发现PCF"]

        B --> C["SMF建立PDU会话获取PCFinfo"]

        C --> D["BSF存储IP-PCF-Diameter映射"]

        D --> E["DRA查询BSF获取Diameter路由"]

        E --> F["DRA将AAR路由到PCF或PCRF"]

    end

    style A fill:#e3f2fd,stroke:#1565c0,stroke-width:2px

    style D fill:#fff9c4,stroke:#f57f17,stroke-width:3px

    style F fill:#c8e6c9,stroke:#2e7d32,stroke-width:2px


2 协议规范与关键技术

2.1 相关协议参考

  • TS 29.551(Nbsf_Management服务):第6.1.6节定义了PcfBinding数据结构,其中包含pcfDiamHostpcfDiamRealm字段,用于存储PCF的Diameter路由信息。

  • TS 29.513(PCF策略控制):定义了N7/Rx接口的交互流程。第4.2节描述了PCF如何同时支持SBI和Diameter接口。

  • TS 23.501(5G系统架构):第5.8.2.6节描述了BSF在策略控制架构中的角色,特别是在Rx/N5接口会话绑定中的功能。

  • TS 29.510(NRF服务):定义了NF Profile中pcfInfo字段的格式,包括dnnListsupiRangesrxDiamHostrxDiamRealm

2.2 PCF Info中的Diameter路由信息

PCF/PCRF向NRF注册时,在nfProfile的pcfInfo字段中携带以下Diameter路由信息:

字段 说明 示例
dnnList PCF支持的DNN列表 ["Internet2", "apn2"]
supiRanges PCF服务的SUPI范围 46088000002XXXX
rxDiamHost Rx接口Diameter主机名 rxDiam-Host.com
rxDiamRealm Rx接口Diameter域名 rxDiam-Realm.com

SMF在通过NRF发现PCF时,获取这些信息并在PDU会话建立过程中传递给BSF。BSF将这些信息与UE的IP地址、DNN、S-NSSAI等信息一起存储为会话绑定记录。

2.3 Rx接口会话绑定的关键路径


IMS AF(P-CSCF) --Rx/AAR--> DRA --Nbsf_Discovery--> BSF(SMF内置)

                                              |

                                              v

                                    返回: pcfDiamHost + pcfDiamRealm

                                              |

                                              v

                              DRA根据Diameter路由信息将AAR

                              转发到正确的PCF/PCRF

DRA收到IMS AF的AAR消息后,需要确定该AAR应该路由到哪个PCF/PCRF。DRA使用用户IP地址查询BSF,BSF返回包含Diameter路由信息的绑定记录,DRA据此完成路由。


3 消息流程与详细解读

3.1 测试前置条件

  1. 网络中BSF、IMS AF、DRA、NRF、PCF/PCRF(合设)网元系统及操作维护台运行正常;

  2. DRA上已配置用户IP地址段和BSF地址的对应关系,或可通过服务发现获取该对应关系;

  3. PCF/PCRF1和PCF/PCRF2已完成向NRF的服务注册;

  4. 5G VoNR用户A(IMSI: 4608800000XXXXXX)和B(IMSI: 4608800000XXXXXY)已附着成功。

3.2 步骤一:PCF/PCRF向NRF注册

PCF/PCRF1和PCF/PCRF2分别向NRF发送Nnrf_NFManagement_NFRegister请求,在nfProfile中携带PCF info(DNN、rxDiamHost、rxDiamRealm)。

NRF注册消息的关键参数:


Nnrf_NFManagement_NFRegister Request:

  nfProfile:

    nfType: PCF

    nfInstanceId: 2244c290-3621-4d72-b718-e0194603ab11

    pcfInfo:

      dnnList: ["Internet2"]

      rxDiamHost: "rxDiam-Host.com"

      rxDiamRealm: "rxDiam-Realm.com"

3.3 步骤二:SMF发现PCF并建立PDU会话

SMF为用户A和B的IMS PDU会话分别选择PCF1和PCF2。SMF通过NRF发现PCF时,获取pcfInfo中的Diameter信息,并在PDU会话建立过程中将这些信息存储在内置BSF中。

3.4 步骤三:DRA查询BSF获取PCF Diameter信息

用户A发起VoNR语音业务时,IMS AF通过DRA发起Rx AAR请求。DRA使用用户A的IP地址查询BSF:


flowchart TD

    A["IMS AF收到SIP INVITE"] --> B["AF向DRA发送AAR"]

    B --> C["DRA提取UE IP地址"]

    C --> D["DRA查询BSF: GET /pcfBindings"]

    D --> E["BSF返回绑定信息含pcfDiamHost"]

    E --> F["DRA根据rxDiamHost路由AAR"]

    F --> G["PCF或PCRF处理AAR并返回AAA"]

    G --> H["IMS AF收到策略授权响应"]

    style E fill:#fff9c4,stroke:#f57f17,stroke-width:2px

    style F fill:#c8e6c9,stroke:#2e7d32,stroke-width:2px


4 关键信令参数分析

4.1 用户A的PDU会话信息

用户A(IMSI: 4608800000XXXXXX)已建立Internet2的PDU会话,分配IPv4和IPv6双栈地址:


[local]SMF02#epg smf user-info identifier-type imsi value 4608800000XXXXXX

mobile-user-information:

    subscriber-information:

        imsi: 4608800000XXXXXX

        msisdn: 86138000XXXXXX

        imei: 49172000XXXXXX0

        active-pdu-sessions:

            active-pdu-session:

                pdu-session-id: 5

                dnn-in-use: Internet2

                an-type: 3GPP

                ssc-mode: SSC_MODE_1

                ue-address-1:

                    ipv6: 2a01:172:2401:0:657a:4ecc:b212:498a/64

                ue-address-2:

                    ipv4: 172.24.1.2

                single-nssai:

                    slice-service-type: 2

                    slice-differentiator: 000001

4.2 用户B的PDU会话信息

用户B(IMSI: 4608800000XXXXXY)已建立apn2的PDU会话:


[local]SMF02#epg smf user-info identifier-type imsi value 4608800000XXXXXY

mobile-user-information:

    subscriber-information:

        imsi: 4608800000XXXXXY

        msisdn: 86138000XXXXXY

        active-pdu-sessions:

            active-pdu-session:

                pdu-session-id: 5

                dnn-in-use: apn2

                an-type: 3GPP

                ssc-mode: SSC_MODE_1

                ue-address-1:

                    ipv4: 172.24.1.2

                single-nssai:

                    slice-service-type: 2

                    slice-differentiator: 000001

4.3 DRA查询BSF的用户A绑定信息

DRA使用用户A的IP地址(172.24.1.2)和ipDomain(bsfipdomain1)查询BSF:


curl -v --http2 --http2-prior-knowledge -X GET \

  "http://10.10.32.250:30086/nbsf-management/v1/pcfBindings\

  ?ipDomain=bsfipdomain1&ipv4Addr=172.24.1.2"

> GET /nbsf-management/v1/pcfBindings?ipDomain=bsfipdomain1&ipv4Addr=172.24.1.2

> Host: 10.10.32.250:30086

< HTTP/2.0 200

< content-type: application/json

< content-length: 278

{

    "ipv6Prefix": "2a01:172:2401:0:657a:4ecc:b212:498a",

    "dnn": "Internet2",

    "pcfDiamHost": "rxDiam-Host.com",

    "supi": "4608800000XXXXXX",

    "pcfIpEndPoints": [{"ipv4Address": "10.10.32.34", "port": 9091}],

    "snssai": {"sst": 2, "sd": "000001"},

    "gpsi": "86138000XXXXXX",

    "pcfDiamRealm": "rxDiam-Realm.com"

}

4.4 DRA查询BSF的用户B绑定信息

DRA使用用户B的IP地址(172.24.1.2)和ipDomain(bsfipdomain2)查询BSF:


curl -v --http2 --http2-prior-knowledge -X GET \

  "http://10.10.32.250:30086/nbsf-management/v1/pcfBindings\

  ?ipDomain=bsfipdomain2&ipv4Addr=172.24.1.2"

> GET /nbsf-management/v1/pcfBindings?ipDomain=bsfipdomain2&ipv4Addr=172.24.1.2

> Host: 10.10.32.250:30086

< HTTP/2.0 200

< content-type: application/json

< content-length: 246

{

    "dnn": "apn2",

    "ipv4Addr": "172.24.1.2",

    "pcfDiamHost": "rxDiam-Host.com",

    "supi": "4608800000XXXXXY",

    "pcfIpEndPoints": [{"ipv4Address": "10.10.32.32", "port": 9091}],

    "snssai": {"sst": 2, "sd": "000001"},

    "gpsi": "86138000XXXXXY",

    "pcfDiamRealm": "rxDiam-Realm.com"

}

4.5 绑定信息中的关键Diameter字段分析

字段 用户A 用户B 说明
pcfDiamHost rxDiam-Host.com rxDiam-Host.com Diameter主机名
pcfDiamRealm rxDiam-Realm.com rxDiam-Realm.com Diameter域名
pcfIpEndPoints 10.10.32.34:9091 10.10.32.32:9091 PCF SBI地址
dnn Internet2 apn2 各自的DNN
supi 4608800000XXXXXX 4608800000XXXXXY 不同的SUPI

关键发现: 两个用户虽然使用了相同的IP地址(172.24.1.2),但通过不同的ipDomain(bsfipdomain1和bsfipdomain2)区分,BSF能够正确返回各自对应的PCF绑定信息。DRA根据返回的pcfDiamHostpcfDiamRealm将Rx AAR消息路由到正确的PCF/PCRF。

4.6 BSF查询响应参数详解

Nbsf_Management_Discovery响应消息(PcfBinding结构):

参数 类型 说明
ipv4Addr string UE的IPv4会话地址
ipv6Prefix string UE的IPv6地址前缀
dnn string 数据网络名称
supi string 用户永久标识符
gpsi string 通用公共订阅标识符
snssai object 网络切片信息(sst + sd)
pcfId string PCF实例ID(UUID格式)
pcfIpEndPoints array PCF的SBI服务端点(IP + 端口)
pcfDiamHost string PCF的Diameter主机名(用于Rx路由)
pcfDiamRealm string PCF的Diameter域名(用于Rx路由)

5 测试验证与数据解读

5.1 验证一:PCF注册时携带Diameter信息

检查PCF1和PCF2向NRF发送的Nnrf_NFManagement_NFRegister消息中携带了pcfInfo,包括DNN列表(dnnList)、SUPI范围(supiRanges)以及Diameter路由信息(rxDiamHost、rxDiamRealm)。

5.2 验证二:SMF获取并存储PCF的Diameter信息

SMF在建立PDU会话过程中,通过NRF发现PCF时获取pcfInfo。SMF将PCF的Diameter信息存储在PDU会话上下文中,供BSF查询使用。

5.3 验证三:BSF返回完整的Diameter路由信息

DRA基于用户IP地址和ipDomain查询BSF时,BSF成功返回200 OK响应,包含完整的PcfBinding信息。特别关键的是响应中包含了pcfDiamHostpcfDiamRealm字段,使DRA能够将Rx接口请求路由到正确的PCF/PCRF。

5.4 验证四:不同用户路由到不同PCF

两个用户虽然使用相同的IPv4地址(172.24.1.2),但通过不同的ipDomain参数查询BSF,分别获得了不同的PCF绑定信息:

  • 用户A查询返回PCF1的Diameter信息(pcfIpEndPoints: 10.10.32.34:9091);

  • 用户B查询返回PCF2的Diameter信息(pcfIpEndPoints: 10.10.32.32:9091)。

5.5 测试结果汇总

验证项 预期结果 实际结果 结论
PCF注册携带Diameter信息 NRF注册含rxDiamHost 确认携带 通过
SMF获取PCFinfo 包含Diameter信息 确认获取 通过
BSF存储Diameter映射 绑定信息含pcfDiamHost 确认存储 通过
DRA查询用户A绑定 返回PCF1 Diameter信息 200 OK, 含rxDiamHost 通过
DRA查询用户B绑定 返回PCF2 Diameter信息 200 OK, 含rxDiamHost 通过
ipDomain区分相同IP 正确区分不同用户 返回不同PCF 通过

6 小结与思考

本篇验证了BSF的PCF/PCRF地址映射功能——在5G与4G融合组网中,BSF如何帮助DRA将Diameter Rx接口请求路由到正确的PCF/PCRF。测试结果表明:

  1. NRF注册完整性:PCF/PCRF向NRF注册时正确携带了Diameter路由信息(rxDiamHost、rxDiamRealm),这是地址映射的基础;

  2. BSF映射正确性:SMF在PDU会话建立过程中获取PCF的Diameter信息并存储在BSF中,BSF查询时能完整返回Diameter路由信息;

  3. ipDomain区分能力:当不同用户使用相同的IP地址时,通过ipDomain参数能够正确区分,BSF返回各自对应的PCF绑定信息。

延伸思考:

  • Diameter与SBI共存:在5G网络全面SBI化的演进过程中,Diameter接口将逐步被SBI接口替代。但在IMS语音、计费等场景中,Diameter接口仍有较长的生命周期。BSF的地址映射功能是这一过渡期的关键支撑。

  • 多DRA场景:当网络中部署多个DRA时,BSF需要支持多个DRA的并发查询。在高负载场景下,BSF的查询性能需要满足实时性要求。

  • 安全考虑:BSF返回的PCF Diameter路由信息是策略控制基础设施的关键数据,需要确保只有授权的DRA/AF才能查询这些信息。

协议参考:根据3GPP TS 29.551第6.1.6节,PcfBinding数据结构中包含pcfDiamHostpcfDiamRealm可选字段。当PCF同时支持SBI和Diameter接口时,这些字段用于存储PCF的Diameter路由信息。BSF在响应Nbsf_Management_Discovery请求时,应返回完整的绑定信息,包括Diameter路由信息。


扫码关注「51学通信」,每天学一点5G核心网。知识星球会员享200+小时视频课程+3000+精华文章+1年专属答疑群,公众号回复"会员"了解详情。

← 返回 BSF 实践篇