gtp协议用wireshark解析_IP

    GTP 可以提供移动性的功能。 使用 GTP,网络的终端能够在网络中移动位置,各个端点集之间可以建立多个隧道,从而根据业务不同可以提供不同的 Qos,可以隐藏 IP,安全性更高。

1. 定义概念

    GTP-U Message:  GTP-U(用户平面)消息是用户平面消息或信令消息。用户平面消息用于在 GTP-U 体之间承载用户数据分组。在网络节点之间的信令消息用于路径管理(path management)和隧道管理(tunnel management)。

   GTP-U peer:  实现任何基于 GTP 用户平面协议的至少一侧的节点。 RNC,SGSN,GGSN,eNodeB,SGW,ePDG,gNB,N3IWF,UPF,PGW或TWAN或MME。

   GTP-U Tunnel:  每个节点以 TEID, IP 地址和 UDP 端口号标识一个 GTP-U 隧道。必须在 GTP-U 实体之间开启转发数据包。  

   GTP-U Tunnel Endpoint:  GTP-U 隧道端点标识所接收的 GTP-U 分组所针对的用户平面上下文(例如,EPS承载,PDU会话或RAB)。给定的 GTP-U 隧道端点可以从多个源 GTP-U peer 接收 GTP-U分 组。(例如一个 UPF 上的 GTP-U 端点可从多个UPF 接收 GTP-U 分组)

   GTP-PDU:GTP 协议数据单元,可以是 G-PDU 或信令消息

   G-PDU:在GTP 网络节点间发送的用户数据包(T-PDU)加 GTP-U 报头

   Signalling Message: 在 GTP 网络节点间发送的 GTP-U 消息,用于路径管理消息或隧道管理消息

   T-PDU:T-PDU 是在 GTP-U 隧道中隧道传输的有效载荷

   1.1 GTP-U Tunnel

    GTP-U Tunnel 用来在给定的 GTP-U 端点承载包裹的 T-PDU 和信令消息。TEID 在 GTP 包头指示了 T-PDU 属于哪一个隧道。分组被 GTP-U 复用和解复用在隧道中

 

2. GTP-PDU Stacks

gtp协议用wireshark解析_UDP_02

                                                               Figure: 4.4-1 G-PDU Protocol Stack

 

gtp协议用wireshark解析_信令_03

                                             Figure: 4.4-2 Signalling Message Protocol Stack

5GC对GTPv1-U协议的Extension Header进行了扩展,增加了两个Extension Header

   2.1 UDP/IP

    UDP/IP 是在 GTPv1 版本中定义为传输 GTP 消息的唯一路径协议


GTP-U 消息  UDP 目的端口号是  2152,它是  GTP-U 的注册端口


 


 

3. GTP-U header

    必要的字段

   -  Version, 用来决定 GTP 协议的版本,该版本应该设置为 1

   -  Protocol Type(PT),这一位用作为协议标识符在 GTP(PT为1)还是 GTP'(PT为0)。GTP' 在 3GPP TS 32.295 中定义,并且它的头部的含义和 GTP 一样的

   -  Extension Header flag (E),这一位指示 Next Extension Header 域是否有意义。当设置为 0 时,Next Extension Header 不存在,如果存在也不被解释。当设置为 1 时,Next Extension Header 域要被解释

   -  Sequence number flag (S),这一位指示 Sequence number 域是否有意义。当设置为 0 时,Sequence number 要么不存在,如果村在也不被解释。当这设置为 1 时,Sequence number 域要被解释

   -  N-PDU Number flag (PN),指示 N-PDU Number 是否有意义。当设置为 0,N-PDU Number 不存在,或者存在不被解释,当设置 1,N-PDU Number 将被解释

   -  Message Type,定义了 GTP 的消息类型,包括 GTP-C 和 GTP-U

   -  Length,指示了 payload 的长度,以字节为单位

   -  Tunnel Endpoint Identifier (TEID),该字段明确标识接收 GTP-U 协议实体中的隧道终结点,GTP 隧道的接收端在本地分配发送方必须使用的 TEID 值

gtp协议用wireshark解析_IP_04

                                                                   Figure 5.1-1: Outline of the GTP-U Header

    可选的字段

   -  Sequence Number,

   -  N-PDU Number,

   -   Next Extension Header Type

    发送请求 GTP 消息 

gtp协议用wireshark解析_gtp协议用wireshark解析_05

    reply GTP 消息

gtp协议用wireshark解析_gtp协议用wireshark解析_06

 

4. GTP-U Extension Header 扩展头

gtp协议用wireshark解析_信令_07

                                                    Figure 5.2.1-1: Outline of the Extension Header Format

   -  Extension Header Length,定义了 Extension Header 长度,单位是 4 字节倍数

   -  Extension Header types,定义一堆 TS 29.281 章节5

 

5. 信令消息

  • 路径管理消息
  • 隧道管理消息
  • 位置管理消息
  • 移动管理消息
  • 信令消息的可靠传递
  • 信息元素

   5.1 路径管理消息 (主要用于测试路径的活动性)

    Echo Request

       每隔一定时间向另一个 GSN 或者 RNC 发送 Echo Request 询问路径的活动性

    Echo Response

       请求的响应。同时在 Echo Response 中可以携带 Restart Counter 值

    Version Not Supported

        仅包含 GTP 头,指示给定的 UDP/IP 地址上的 GTP 实体能够支持的最新的 GTP 版本

   5.2 隧道管理消息

    Error Indication 用于指示错误,当本端收到对端 G-PDU,而对应的 G-TPU 上下文不存在或未激活时,本端向对端发送 Error Indication 消息,指示错误

gtp协议用wireshark解析_UDP_08

                                               Table 7.3.1-1: Information Elements in an Error Indication

名词缩写

    GTP:GPRS Tunnel Protocol,GPRS隧道传输协议

    G-PDU:GTP encapsulated user Plane Data Unit,GTP 包裹的用户面数据单元

参考:

    TS 29.281

    TS 29.060