5G 核心网媒体面的 GTP-U 协议
Posted 范桂飓
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5G 核心网媒体面的 GTP-U 协议相关的知识,希望对你有一定的参考价值。
目录
GTP 协议族
GTP(GPRS Tunnelling Protocol,GPRS 隧道协议)是一组基于 IP 的通信协议,用于 GSM、UMTS、EPS和 5GS 网络中承载 GPRS(General Packet Radio Service,通用分组无线业务)。
GTP 协议目前有 3 个版本:
- Version 2:使用于 EPC 核心网;
- Version 1:使用于 GSM 和 UMTS 网络,以及应用于 EPS、5GS 网络中以传输用户面数据;(NOTE:不存在 GTPv2-U 协议。在 EPS、5GS 网络中的 GTP-U 仍使用 GTPv1-U。)
- Version 0:是早期版本,被 1999 年标准化的 version 1 替代。
GTP 在移动通讯网络中有两个主要优势:
- GTP 固有的可鉴别隧道机制:UE 的业务承载由 GTP TEID 和 IP 地址来进行鉴别。
- GTP 可以为 UE 提供的移动性能力:UE 通过 GTP 能持续的通过同一个 GW-U/UPF 作为本地移动性的锚点,进而连接到 PDN/DN。
GTP 协议族包含了三种协议:
- GTP-C 协议(GTP 控制面):在 CP 中传输核心网的信令数据。是 GTP 的控制面部分,使用 UDP 端口 2123。在 EPS 中,GTPv2-C 协议负责在 S1、S5/S8 等接口上创建、维持和删除 GTP-U 隧道。它被用于控制面路径管理(Control Plane Path Management)、隧道管理(Tunnel Management)和移动性管理(Mobility Management)。它也控制转发位置变更消息、SRNS 上下文、并在 EPS 网间切换中创建转发隧道。
- GTP-U 协议(GTP 用户面):在 UP 中传输 UE 的业务数据。是 GTP 的用户面部分,使用 UDP 端口 2152。是一个的基于 IP 的隧道协议,它允许在各个 GTP-U Protocol Entity(协议实体)之间建立多个隧道。每个隧道由一个 GTP Header 中的 TEID(隧道端点标识符)标识,TEID 应当是一个动态分配的随机数。在 EPS 中,使用 GTPv1-U 协议在 S1、S5/S8 等接口上交换用户的业务数据;再 5GS 中,使用 GTPv1-U 协议在 N3、Xn/X2 等接口中交换用户的业务数据或 RN 控制数据。
- GTP’ 协议(GTP 计费传输):使用 TCP/UDP 端口 3386,被用于向 CGF(Charging Gateway Function,计费网关功能)传输计费数据,目前不在演进中使用了。
GTPv2 Header
- 版本号(Version): 标记 GTP 的版本,对于 GTPv2 来说,这个值始终是 “2”。
- 捎带消息标志位(Piggybacking flag):如果被置为 1,则在这条消息后面会有另外一条带有完整消息头的 GTP 消息。协议里具体规定了每种消息可以携带的消息类型。
- TEID 标志位(TEID flag):如果被置为 1,则 TEID 字段存在。其实只有 Echo Request 和 Echo Response 消息不携带 TEID 字段。
- 消息类型(Message Type):指示 GTP 消息的类型。关于消息类型的定义,请参考 3GPP TS 29.060 第 7.1 节。
- 总长度(Total length):指包括消息头和消息体的消息总长度,不包括消息头前 4 个字节的必选字段。
- TEID(Tunnel endpoint identifier,隧道端点标识):用于区分 GTP 隧道中的不同连接。
- 序列号(Sequence number):可选字段,当 E、S 或 PN 位中的任意一个取值为 1 时,这个字段存在。仅当 S 位为 1 时,这个字段必须被解析。
GTPv1-U 用户隧道协议
今天的主角是 GTP-U(User Plane Part of GTP,GPRS 用户平面部分)协议,是 GTP 的用户面部分,是一个的基于 IP/UDP 的隧道协议,它允许在各个 GTP-U Protocol Entity(协议实体)之间建立多个隧道。
IANA(因特网编号管理局)规定 GTP-U 协议使用 UDP dstPort 2152,而 srcPort 则由 Source GTP-U Protocol Entity(发送方协议实体)动态分配。GTP-U 支持通过动态分配 Source UDP Port 来支持负载均衡。
GTP-U 将 UE 发出的原始业务数据称为 T-PDU(Transport Protocol Data Unit,传输协议数据单元),T-PDU 在 GTP-U Protocol Entity 中被封装上了 GTP-U Header 之后就称之为 G-PDU(GTP Encapsulated User Plane Data Unit,GTP 封装的用户平面数据单元)。
- 注:PDU(Protocol Data Unit of end-to-end user protocol packet,端到端用户面协议的协议数据单元)。
GTP-U Header 中含有一个由 GTP-U Protocol Entity 上分配 TEID(Tunnel Endpoint Identifier,隧道端点标识符)指示了 T-PDU 属于哪个隧道。TEID 本质是一个动态分配的随机数。注意,G-PDU 一定包含了 GTP-U Header,但不一定会包含 T-PDU,也可能只包含 GTP-U Extension Header 或 TLV 元素。
GTP-U 的一个显著特性是 “单向的点对点隧道协议”,下图显示了由 UL(上行链路)和 DL(下行链路)的两条单向隧道组成的一个双向隧道。
- UL:从 RAN 到 UPF1(TEID=1),从 UPF1 到 UPF2(TEID=2)。
- DL:从 UPF2 到 UPF1(TEID=3),从 UPF1 到 RAN(TEID=4)。
GTP-U 的另一特性就是 “支持一个 GTP-U 隧道端点连接多个远程 GTP-U 端点”,使用的场景如下:
- 5GC 的双连接场景:对于同一 PDU Session 的上行链路业务,SMF 可以为主和辅 NG-RAN(双连接的两个RAN)分配相同的 UPF 上行链路 F-TEID(全量的 TEID)。
- IPv6 多归属场景:来自同一 PDU Session 的多个 PSA 的下行链路业务可由 SMF 分配相同的 BP 的 N9 F-TEID。
5G 对 GTPv1-U 协议的扩展
版本:
- GTPv1-U TS29.281 v15.3.0 (2018-06)
5GC 对 GTPv1-U 协议的 Extension Header 进行了扩展,增加了两个 Extension Header:
- NR RAN Container
- PDU Session Container
PDU Session Container
PDU Session Container 扩展头用在 N3 和 N9 用户面接口的 G-PDU(Service IP Layer)上,这个扩展头的长度是可变长的,其内容定义在 TS38.415 上。下面我们对 TS38.415 定义的 PDU Session Container 进行展开。
字段名称 | 解释 |
---|---|
PDU Type | 指示帧结构类型,当前只是用了 0 和 1,其它的值保留以后使用,长度:4bit。 |
Spare | 空闲字段,发送端应该设置为 0,接收端不解析此字段,长度:4bit。 |
QoS Flow Identifier (QFI) | 指示传输的报文属于哪条 QoS 流,长度:6bit。 |
Reflective QoS Indicator (RQI) | 指示是否激活用户面的反射 QoS;这个参数仅用于下行;如果这条 QoS 流的 RQA(Reflective QoS Activation)没有配置,则 NG-RAN 忽略 RQI 参数。 长度:1bit。0:不触发 Reflective QoS;1:触发 Reflective QoS 。 |
Padding | 用于字节对齐 |
NR RAN Container
NR RAN Container 的内容定义详见 TS38.425。
NR RAN Container 用于支撑 “NR user plane protocol” 功能。
The NR user plane protocol is located in the User Plane of the Radio Network layer over either the Xn or the X2 or the F1 interface. The NR user plane protocol is used to convey control information related to the user data flow management of data radio bearers.
即 NR RAN Container 用于 5G Xn-U、4G X2-U 和 F1-U 中,用于传输与 DRB 相关的数据流管理控制信息。所以 NR RAN Container 类型的 GTP-U 类型报文是不会内含 N3 或 N9 用户面接口的 G-PDU(Service IP Layer)的。
以上是关于5G 核心网媒体面的 GTP-U 协议的主要内容,如果未能解决你的问题,请参考以下文章