PFCP(Packet Forwarding Control Protocol),报文转发控制协议,在3GPP TS 29.244中定义。
协议原版下载路径:http://www.3gpp.org/ftp/Specs/Archive/29_series/29.244/
1、PFCP协议栈如下图所示,主要存在5G CP Function和UP Function之间的N4接口,用于控制面与用户面的交互。PFCP报文是基于IP+UDP的。
2、PFCP采用request-respone的交互消息模式:
1)request消息的UDP目的端口号是8805,该端口是为PFCP注册预留的。request消息的UDP源端口是由发送实体本地申请的,多个request消息可以重用本地申请的UDP源端口;
2)respone消息的UDP目的端口使用对应的request消息的源端口,UDP源端口使用对应的request消息的目的端口,即respone消息的发送实体将其收到的request消息的udp源端口和目的端口互换;
3、PFCP消息格式
PFCP消息实体由变长消息头和零个或多个消息IE组成。
1)PFCP消息头通用格式如下所述,PFCP消息头采用变长格式,必须为4字节对齐,不足4字节的,填0.
字节1是一组bit位,最高3位是Version,当前版本都是1。MP是message priority的标志,S是SEID的标志。
字节2是消息类型,
字节3、4是两字节的消息长度,
接下来是可选项SEID,占8字节;
最后是3字节的序列号.
PFCP消息分为节点相关的消息和会话相关的消息,两种消息对应的PFCP头部不同,主要体现在可选字段SEID上。
a)节点相关的消息的PFCP消息头如下,这类消息的MP和S都为0,没有SEID字段;消息头长度为8字节
b)会话相关的消息的PFCP消息头如下,这类消息的S为1,即必有SEID字段,消息头长度为16,MP可能为0或1,MP为1时,最后一个字节的高4位为优先级。
2、消息IE
PFCP的消息IE按需求分为四大类:必备的,条件的,条件可选的和可选的。具体如何使用,由不同的消息来决定。
每个消息IE都是变长的,都有一个type核length字段。