本测试用例验证的核心场景是:多UE、多DNN场景下的会话绑定信息创建。具体来说,我们将看到两个UE(UE A和UE B)分别建立不同DNN的PDU会话,并被分配到不同的PCF,验证BSF能否正确存储多条会话绑定记录。
会话绑定的本质
会话绑定本质上是将以下两组信息"绑定"在一起:
这样,当AF后续通过BSF查询"某个IP地址对应的PCF是谁"时,BSF就能精确返回答案。
详细消息流程图
sequenceDiagram
participant UE_A as UE A
participant UE_B as UE B
participant SMF as SMF/BSF
participant PCF1 as PCF1
participant PCF2 as PCF2
Note over UE_A, PCF1: 场景1: UE A建立DNN1会话
UE_A->>SMF: PDU Session Establishment Request (DNN1)
SMF->>PCF1: POST /npcf-smpolicycontrol/v1/policies
Note right of SMF: Npcf_SMPolicyControl_Create<br/>携带: SUPI A, IPv6 A1, DNN1, S-NSSAI
PCF1-->>SMF: 201 Created (含smPolicyId)
Note over SMF: BSF存储绑定信息1:<br/>SUPI A + DNN1 + IPv6 A1 <-> PCF1
Note over UE_A, PCF2: 场景2: UE A建立DNN2会话
UE_A->>SMF: PDU Session Establishment Request (DNN2)
SMF->>PCF2: POST /npcf-smpolicycontrol/v1/policies
Note right of SMF: Npcf_SMPolicyControl_Create<br/>携带: SUPI A, IPv6 A2, DNN2, S-NSSAI
PCF2-->>SMF: 201 Created (含smPolicyId)
Note over SMF: BSF存储绑定信息2:<br/>SUPI A + DNN2 + IPv6 A2 <-> PCF2
Note over UE_B, PCF2: 场景3: UE B建立DNN1会话
UE_B->>SMF: PDU Session Establishment Request (DNN1)
SMF->>PCF2: POST /npcf-smpolicycontrol/v1/policies
Note right of SMF: Npcf_SMPolicyControl_Create<br/>携带: SUPI B, IPv6 B1, DNN1, S-NSSAI
PCF2-->>SMF: 201 Created (含smPolicyId)
Note over SMF: BSF存储绑定信息3:<br/>SUPI B + DNN1 + IPv6 B1 <-> PCF2
flowchart LR
subgraph 绑定信息创建流程
A["SMF收到PDU会话建立请求"] --> B["SMF选择PCF"]
B --> C["SMF向PCF发起SMPolicyControl_Create"]
C --> D["PCF返回201 Created"]
D --> E["BSF存储绑定信息: SUPI+DNN+S-NSSAI+IP <-> PCF ID"]
end
style A fill:#e3f2fd,stroke:#1565c0,stroke-width:2px
style E fill:#c8e6c9,stroke:#2e7d32,stroke-width:3px
测试目的
验证SMF能够在UE的PDU会话流程建立成功后,保存该UE PDU会话相关信息和对应SMF所选的PCF ID或地址。验证内置BSF支持对SMF中UE的PDU会话上下文保存的该UE PDU会话相关信息、对应SMF所选的PCF ID或地址、pcfInfo进行访问,将上述信息作为该UE PDU会话的会话绑定信息。
测试前置条件
-
网络中SMF(内置BSF)、PCF网元系统及操作维护台运行正常。
-
网元SMF(内置BSF)、PCF服务注册成功。
-
根据DNN1选择的PCF为融合网元PCF/PCRF。
-
UE A和UE B已在UDM开户,签约5G业务。
-
服务化接口的信令监控与分析工具准备就绪。
测试步骤
-
UE A发起附着(注册),SMF收到PDU会话流程建立请求后,向选定的PCF1发送HTTP POST请求Npcf_SMPolicyControl_Create操作,POST消息携带UE A的SUPI A、UE IPv6 A1、DNN1等信息。PCF处理成功后给SMF返回201 Created响应。
-
UE A携带DNN2向SMF发起PDU会话流程建立请求,SMF向选定的PCF2发送HTTP POST请求Npcf_SMPolicyControl_Create操作,POST消息携带UE A的SUPI A、UE IPv6 A2、DNN2等信息。PCF处理成功后给SMF返回201 Created响应。
-
UE B发起附着(注册),SMF收到PDU会话流程建立请求后,向选定的PCF2发送HTTP POST请求Npcf_SMPolicyControl_Create操作,POST消息携带UE B的SUPI B、UE IPv6 B1、DNN1等信息。PCF处理成功后给SMF返回201 Created响应。
-
在SMF内置BSF上通过维护管理接口进行会话绑定信息查询,验证各UE的绑定信息是否正确存储。
测试结果验证(预期)
-
UE A附着成功后,检查SMF中UE A的用户上下文包含有UE PDU会话相关信息(UE IPv6 A1、DNN1、S-NSSAI、SUPI A)和对应SMF所选的PCF ID或地址。如SMF可获取UE的GPSI,还应包含GPSI。
-
UE A建立DNN2的PDU会话后,检查SMF中UE A的用户上下文包含有UE PDU会话相关信息(UE IPv6 A2、DNN2、S-NSSAI、SUPI A)和对应SMF所选的PCF ID或地址。如SMF可获取UE的GPSI,还应包含GPSI。
-
UE B附着成功后,检查SMF中UE B的用户上下文包含有UE PDU会话相关信息(UE IPv6 B1、DNN1、S-NSSAI、SUPI B)和对应SMF所选的PCF ID或地址。如SMF可获取UE的GPSI,还应包含GPSI。
-
在SMF内置BSF上通过维护管理接口进行会话绑定信息查询,可以查到三条独立的会话绑定记录。
2 信令深度解析
本测试的核心信令交互发生在SMF与PCF之间,通过Npcf_SMPolicyControl_Create服务完成策略关联的建立,同时在SMF内置BSF中自动创建会话绑定信息。
(注:为保护网络安全,以下log中的SUPI/IMSI标识、网元IP及实例ID等敏感信息已做严格脱敏处理)
2.1 UE A第一条PDU会话建立(DNN1 → PCF1)
UE A发起第一条PDU会话建立请求,SMF根据DNN(Internet9)选择PCF1,并向PCF1发送策略关联创建请求。
UE A用户上下文详情:
[local]SMF09#epg smf user-info identifier-type imsi value 460XX00000XXXX
mobile-user-information:
subscriber-information:
imsi: 460XX00000XXXX
msisdn: 86138000XXXXX
imei:
active-pdu-sessions:
active-pdu-session:
pdu-session-id: 5
dnn-in-use: Internet9
an-type: 3GPP
ssc-mode: SSC_MODE_1
ue-address-1:
ipv6: 2a01:172:2401:0:e07:8460:a62b:18c/64
# UE的IPv6地址前缀
ue-address-2:
ipv4: 10.XX.XX.XX
# UE的IPv4地址(已脱敏)
ip-address-allocation-method: Shared IP Pool
ipv6-address-allocation-method: Shared IP Pool
single-nssai:
slice-service-type: 9
# SST=9, 运营商自定义切片类型
slice-differentiator: 000001
nr-location:
tai:
plmn-id: mncXX.mcc460
tac: 7
ncgi:
plmn-id: mncXX.mcc460
nr-cell-id: 393216
amf-information:
amf-id: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
address: 10.XX.XX.XX:8080
n3-interface:
ran-fteid:
teid: 1342267282
address: 10.XX.XX.XX
upf-fteid:
teid: 249561089
address: 10.XX.XX.XX
n4-interface:
local-fseid:
seid: 931282336
address: 10.XX.XX.XX
remote-fseid:
seid: 1071856711314178049
address: 10.XX.XX.XX
qos-flows:
qos-flow:
qos-flow-id: 5
fiveQi: 5
allocation-retention-priority:
priority-level: 1
pre-emption-capability: Disabled
pre-emption-vulnerability: Disabled
session-ambr:
uplink-kbps: 50000
downlink-kbps: 150000
关键参数解读:
imsi |
460XX00000XXXX |
UE A的SUPI(IMSI格式) |
msisdn |
86138000XXXXX |
UE A的GPSI(MSISDN格式) |
dnn-in-use |
Internet9 |
数据网络名称,即APN的5G版本 |
ipv6 |
2a01:172:2401:0:... |
UE A的PDU会话1的IPv6地址 |
slice-service-type |
9 |
S-NSSAI的SST值,标识切片类型 |
fiveQi |
5 |
默认QoS流的5QI值 |
snssai-sst |
切片SST |
值为9,标识运营商自定义切片 |
snssai-sd |
切片SD |
切片差异化标识 |
ueIp |
UE IP地址 |
UE的IPv6地址,是AF查询绑定的关键索引 |
dnn |
数据网络名称 |
Internet9,标识会话访问的目标网络 |
supi |
用户永久标识 |
IMSI格式的SUPI,唯一标识用户 |
gpsi |
通用公共订阅标识 |
MSISDN格式,用于外部标识 |
pcfId |
PCF实例ID |
UUID格式,标识管理该会话的PCF实例 |
pcfDiameterHost |
PCF Diameter主机名 |
用于Rx接口兼容(4G/5G互操作) |
pcfDiameterRealm |
PCF Diameter域 |
用于Rx接口路由 |
pcfIpEndPoints |
PCF IP端点 |
AF/PCF访问PCF的服务地址和端口 |
协议参考:根据3GPP TS 29.513第4.2节和TS 29.551第5.2.2节,会话绑定信息的创建通过Nbsf_Management服务的POST /pcbbindings操作完成。绑定信息中必须包含能够唯一标识PDU会话的参数组合(如IP地址+DNN+S-NSSAI,或SUPI+DNN+S-NSSAI),以便后续AF通过这些参数精确查找对应的PCF。
2.3 UE A第二条PDU会话建立(DNN2 → PCF2)
同一个UE A可以建立第二条PDU会话,使用不同的DNN(apn9)。SMF根据DNN选择不同的PCF(PCF2),BSF中会创建第二条独立的绑定记录。
BSF查询绑定信息2:
[local]SMF09#epg smf sbi bsf-services show-pcf-binding-info address 10.XX.XX.XY
pcf-binding-information:
snssai-sst: 9
snssai-sd: 000001
ueIp: 2a01:172:2401:1:817a:c6da:7c01:2fc8
dnn: apn9
supi: 460XX00000XXXX
gpsi: 86138000XXXXX
pcfId: 4444c290-3621-4d72-b718-e0194603ab11
pcfDiameterHost: rxDiam-Host.com
pcfDiameterRealm: rxDiam-Realm.com
pcfIpEndPoints: 10.XX.XX.XY:9091
对比两条绑定记录:
| 对比项 |
绑定信息1 (DNN1) |
绑定信息2 (DNN2) |
| SUPI |
460XX00000XXXX |
460XX00000XXXX |
| GPSI |
86138000XXXXX |
86138000XXXXX |
| DNN |
Internet9 |
apn9 |
| IPv6 |
2a01:172:2401:0:... |
2a01:172:2401:1:... |
| S-NSSAI |
SST=9, SD=000001 |
SST=9, SD=000001 |
| PCF ID |
2244c290-... |
4444c290-... |
| PCF IP |
10.XX.XX.XX:9091 |
10.XX.XX.XY:9091 |
关键发现:
-
同一个UE A建立了两条PDU会话(两个不同的DNN),BSF中对应两条独立的绑定记录;
-
两条绑定记录的SUPI和GPSI相同,但DNN和IP地址不同,对应不同的PCF实例;
-
这验证了BSF支持同一用户多会话的绑定信息存储能力。
2.4 UE B的PDU会话建立(DNN1 → PCF2)
UE B作为另一个用户,同样发起PDU会话建立请求,使用DNN1(Internet9)。SMF为其选择PCF2。
UE B用户上下文详情:
[local]SMF09#epg smf user-info identifier-type imsi value 460XX00000XXYY
mobile-user-information:
subscriber-information:
imsi: 460XX00000XXYY
msisdn: 86138000XXXYY
active-pdu-sessions:
active-pdu-session:
pdu-session-id: 5
dnn-in-use: Internet9
an-type: 3GPP
ssc-mode: SSC_MODE_1
ue-address-1:
ipv6: 2a01:172:2401:3:3e7d:da46:1f24:b0b/64
ue-address-2:
ipv4: 10.XX.XX.XZ
single-nssai:
slice-service-type: 9
slice-differentiator: 000001
nr-location:
tai:
plmn-id: mncXX.mcc460
tac: 7
ncgi:
plmn-id: mncXX.mcc460
nr-cell-id: 327680
amf-information:
amf-id: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
address: 10.XX.XX.XX:8080
n4-interface:
local-fseid:
seid: 712099648
address: 10.XX.XX.XX
remote-fseid:
seid: 1071856711314178052
address: 10.XX.XX.XX
qos-flows:
qos-flow:
qos-flow-id: 5
fiveQi: 5
allocation-retention-priority:
priority-level: 1
pre-emption-capability: Disabled
pre-emption-vulnerability: Disabled
session-ambr:
uplink-kbps: 50000
downlink-kbps: 150000
BSF查询绑定信息3:
[local]SMF09#epg smf sbi bsf-services show-pcf-binding-info address 10.XX.XX.XZ
pcf-binding-information:
snssai-sst: 9
snssai-sd: 000001
ueIp: 2a01:172:2401:3:3e7d:da46:1f24:b0b
dnn: Internet9
supi: 460XX00000XXYY
gpsi: 86138000XXXYY
pcfId: 2244c290-3621-4d72-b718-e0194603ab11
pcfDiameterHost: rxDiam-Host.com
pcfDiameterRealm: rxDiam-Realm.com
pcfIpEndPoints: 10.XX.XX.XX:9091
三条绑定记录全景对比:
| 对比项 |
绑定1 (UE A + DNN1) |
绑定2 (UE A + DNN2) |
绑定3 (UE B + DNN1) |
| SUPI |
460XX00000XXXX |
460XX00000XXXX |
460XX00000XXYY |
| GPSI |
86138000XXXXX |
86138000XXXXX |
86138000XXXYY |
| DNN |
Internet9 |
apn9 |
Internet9 |
| S-NSSAI |
SST=9 |
SST=9 |
SST=9 |
| PCF |
PCF1 (2244c290) |
PCF2 (4444c290) |
PCF1 (2244c290) |
关键发现:
-
绑定1和绑定3使用了相同的DNN(Internet9),但SUPI不同,被分配到相同的PCF1。这说明PCF选择策略与DNN相关,同一DNN的会话可能由同一PCF管理;
-
绑定1和绑定2属于同一用户(相同SUPI),但DNN不同,被分配到不同的PCF。这验证了BSF支持按DNN粒度区分会话绑定;
-
三条绑定记录各自独立存储,BSF通过IP地址作为主索引进行查询。
2.5 【硬核附加】Nbsf_Management的SBI接口深度解析
本测试中,SMF内置BSF自动完成了会话绑定信息的创建,无需显式的SBI接口调用。但在独立BSF部署场景下,PCF需要通过Nbsf_Management服务向BSF注册绑定信息。
sequenceDiagram
participant SMF
participant PCF
participant BSF as 独立BSF
Note over SMF, BSF: 独立BSF场景下的绑定创建
SMF->>PCF: Npcf_SMPolicyControl_Create
Note right of SMF: SMF向PCF发起策略关联创建
PCF->>BSF: POST /nbsf-management/v1/pcbbindings
Note right of PCF: Nbsf_Management<br/>PCC Binding Registration<br/>携带: SUPI, DNN, S-NSSAI, UE IP, PCF ID
BSF-->>PCF: 201 Created
Note left of BSF: 返回bindingId<br/>绑定信息存储成功
PCF-->>SMF: 201 Created (含smPolicyId)
POST /pcbbindings请求体示例:
{
"supi": "imsi-460XX00000XXXX",
"gpsi": "msisdn-86138000XXXXX",
"dnn": "Internet9",
"snssai": {
"sst": 9,
"sd": "000001"
},
"ipv4Addr": "10.XX.XX.XX",
"ipv6Addr": "2a01:172:2401:0:e07:8460:a62b:18c",
"pcfId": "2244c290-3621-4d72-b718-e0194603ab11",
"pcfFqdn": "pcf1.example.com",
"pcfIpEndPoints": [
{
"ipv4Address": "10.XX.XX.XX",
"port": 9091
}
],
"pcfDiameterHost": "rxDiam-Host.com",
"pcfDiameterRealm": "rxDiam-Realm.com"
}
Nbsf_Management服务操作列表:
| 操作 |
HTTP方法 |
URI |
说明 |
| PCC Binding Registration |
POST |
/pcbbindings |
创建新的绑定信息 |
| PCC Binding Update |
PUT/PATCH |
/pcbbindings/{bindingId} |
更新已有绑定信息 |
| PCC Binding Delete |
DELETE |
/pcbbindings/{bindingId} |
删除绑定信息 |
| PCC Binding Get |
GET |
/pcbbindings |
查询绑定信息(按条件过滤) |
协议参考:根据3GPP TS 29.551第5.2.2节,Nbsf_Management的PCC Binding Registration操作要求请求体中至少包含以下参数之一来标识PDU会话:SUPI+DNN+S-NSSAI,或IPv4地址,或IPv6地址+IPv6前缀长度。BSF根据这些参数的组合来唯一确定一条绑定记录。当PCF向BSF注册绑定信息时,BSF会生成一个全局唯一的bindingId作为该绑定记录的标识,PCF在后续的更新和删除操作中需要使用此ID。
3 测试结论
| 验证项 |
结果 |
说明 |
| UE A第一条PDU会话建立 |
OK |
SMF选择PCF1,BSF创建绑定信息1 |
| UE A第二条PDU会话建立 |
OK |
SMF选择PCF2,BSF创建绑定信息2 |
| UE B的PDU会话建立 |
OK |
SMF选择PCF1,BSF创建绑定信息3 |
| 同一用户多会话绑定 |
OK |
UE A的Internet9和apn9分别绑定不同PCF |
| 不同用户同DNN绑定 |
OK |
UE A和UE B的Internet9绑定到相同PCF1 |
| 绑定信息完整性 |
OK |
包含SUPI、GPSI、IP、DNN、S-NSSAI、PCF ID等全量信息 |
| PCF Diameter信息 |
OK |
包含Diameter Host/Realm,支持Rx接口兼容 |
本测试用例全面验证了BSF在多用户、多DNU场景下的会话绑定信息创建能力。测试结果表明,BSF能够正确地为每个PDU会话创建独立的绑定记录,包含完整的UE标识、会话标识和PCF信息。绑定信息中的IP地址、DNN、S-NSSAI等字段为后续AF查询PCF提供了精确的索引能力。所有信令交互与3GPP TS 29.513和TS 29.551规范一致。
关于作者:爱卫生,从事通信教学18年,出版过《5G核心网原理与实践》等4本专业书籍。学5G核心网、IMS,来51学通信就对了!知识星球:200+小时视频、3000+精华文章、1年答疑群。公众号/知识星球:51学通信,微信:gprshome201101