一、GTP协议(GPRS Tunneling Protocol)是一种基于IP/UDP的数据协议,广泛用于2G(GSM)、3G(UMTS)、4G(LTE)和5G(NR)网络。GTP可以分解成:GTP-C、GTP-U和GTP。其中:GTP-C在核心网络中用于网关支持节点和服务支持节点之间的信令。
二、GTP与4G在LTE系统中用于EPC内传送IP数据包通信协议。如(1)所示:GTP-C用于通过S11和S5传递控制信号,而GTP-U用于通过S1和S5传递应用程序有效载荷。
图1.4G(LTE)中GTP协议应用三、TEID生成TEID(Tunnel Endpoint IDentifier-隧道端点标识符)由每个节点在初始连接过程中生成。生成中包括:S11 MME DL TEID和S5 SGW DL TEID--它们分别由MME和Serving GW生成并包含。生成结果中包括:S5 PGW UL TEID和S11 SGW UL TEID,它们分别由PGW和Serving GW生成并包含。图(2)显示了呼叫流程并描述了TEID如何在网元之间交换;在收到创建会话请求后:
Serving GW使用收到的S11 MME DL TEID建立通向MME下行链路GTP-C隧道。
MME使用接收到的S11 SGW UL TEID建立通向服务GW的上行链路GTP-C隧道。
GTP-U的TEID中包含在承载相关消息的主体(例如创建承载请求/响应、修改承载请求/响应)。
3.1 新生成的TEID包含在每条发送消息的主体中传递给对端节点。对端节点根据接收到的TEID感知GTP的终点;当消息通过现有的GTP隧道时,对端节点的TEID将包含在发送消息的GTP头中。图3示例显示了TEID包含在从 MME发送到服务GW的创建会话请求中。
图3.TEID生成请求消息3.2 TEID生成响应中(图4)包含了TEID,从MME收到的TEID被用在其标头(Header)中,而新生成的Serving GW的TEID被包含在body中。
图4.生成TEID的消息
四、TEID生命周期
4.1 GTP-C会话的生命周期与UE的IP-CAN连接生命周期一起持续。它在UE连接到网络时开始,在UE离开网络时结束。如果有多个 PDN,则每个UE只有一个GTP-C会话。图5显示了由相同TEID定义的相同 GTP-C会话生命周期。在此示例中有两个创建会话请求,每个请求用于不同PDN。每个创建会话响应之后是用于建立默认EPS承载的修改承载请求;最后Create Bearer Request是建立专用的EPS承载。
图5.EPS承载请求和响应4.2 GTP-生命周期取决于EPS承载的属性。与默认EPS承载关联的GTP-U连接与GTP-C连接具有相同的生命周期,而与专用EPS承载关联的GTP-U连接将在IP-CAN连接的生命周期内动态创建和删除。
五、TEID使用当为同一个APN建立了多个EPS承载并且需要验证特定服务数据流是否通过正确的EPS承载时,TEID可以成为一个有用的工具来找出它。图6显示了从UE向IMS Core发送的SIP REGISTER的GTP-U数据包。GTP标头中的TEID表示“0x005b8422”。
图6.SIP REGISTER的GTP-U数据图7显示相同的TEID出现在修改承载请求的主体中(这个修改承载请求是针对QCI=5的EPS承载)。
图7.承载修改中的TEID联系客服