《5G核心网原理与实践》实践篇 · UPF 网元功能
N4接⼝PFCP协议中的SEID、CP F-SEID、UP F-SEID有啥区别?
爱卫生
2024年04月06日 01:50
Q:N4接口PFCP协议中的SEID、CP F-SEID、UP F-SEID有啥区别?
A:SEID是PFCP header也就是包头中的参数,不属于IE部分。8个字节的长度。唯一的标识N4会话。
原文是:
The SEID uniquely identifies a PFCP session at an IP address of a PFCP entity.
如图1:
而CP和UPF F-SEID都是属于IE(信息元素)即参数部分。不属于基本包头。
UP F-SEID由一个用户面网元地址和SEID组成。是由用户面分配的唯一标识符。
原文是:
UP F-SEID:When present, it shall contain the unique identifier allocated by the UP function identifying
the session.
UP F-SEID通常出现在UPF给SMF回的PFCP Session Establishment Response 消息中。
对应的还有一个CP F-SEID,出现在PFCP Session Establishment Request消息中。
SMF和UPF分别通过CP F-SEID和UP F-SEID来区分会话。
原文是
The SMF and the UPF identifies the PFCP session by its own CP F-SEID and UP F-SEID respectively.
总结1:
- 所以SEID是header部分,CP F-SEID、UP F-SEID是IE部分。
那我到底该用哪一个呢?感觉两个都是N4会话的标识。
别着急,看规范的原文:“
The PFCP entity communicates to the peer PFCP entity the SEID value at which it expects to receive all
subsequent control plane messages related to that PFCP session via the "F-SEID" IE.”
- 这句话不太好理解,但说明了SEID和F-SEID(包括CP和UP的F-SEID)的关系。
- 这句话意思就是Header中的SEID的值是怎么来的呢?是通过F-SEID来分配的。
(最开始的时候SEID是为空的,全0的值。需要通过F-SEID参数来分配。)
看一个例子:
1)SMF发起了N4会话建立请求,SEID为0,F-SEID包括两部分:
- SEID:0x000000001e331070
- IP地址:尾号76,也就是SMF侧的地址。
SMF分配的F-SEID也叫CP F-SEID。
这样SMF就完成了它这一侧的CP F-SEID的分配。
UP F-SEID也包括两部分:
- SEID: 0x7ca0000000000002
2)UPF回N4会话建立响应,分配了UP F-SEID。
- IP地址:尾号82,也就是UPF侧的地址。
然后可以看到,在该消息的Header部分的SEID是0x000000001e331070。这个实际上是SMF分配的。
所以在UPF的这个响应消息中,可以看到两个SEID。
上面那个SEID实际上是SMF的,把这个发给SMF,SMF根据这个SEID检查是否有对应的N4会话;
下面哪个SEID是UPF分配的,发给SMF。SMF后续如果要找UPF,就通过UPF分配的这个SEID来找它。
3)SMF发起了N4会话修改,发送PFCP Session Modification Request。
这个消息的header部分的SEID正是UPF在上一步所分配的。
这样UPF就可以根据这个SEID,在本地找到关联的N4会话了。