参考3GPP TS 29.060

GTP的头部是可变的,GTP-C(control)和GTP-U(user)共同使用一个头部。

GTP Header头部:

-Version 用来标识GTP协议的版本,在这里应该设置为1。

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

-(*) 空闲比特,发送端置为0,接收端忽略这一位。

-Extension Header flag (E)。这一bit用来说明Next Extension Header域是否有意义。当这一位为0的时候,Next Extension Header要么不存在,要么存在但是也不被使用。当这一位为1的时候,Next Extension Header域要被解释和使用。

-Sequence number flag (S)。这一bit用来说明Sequence number 域是否有意义。当这一位为0的时候,Sequence number 要么不存在,要么存在但是也不被使用。当这一位为1的时候,Sequence number 域要被解释和使用。

-N-PDU Number flag (PN)。这一bit用来说明N-PDU Number域是否有意义。当这一位为0的时候,N-PDU Number 要么不存在,要么存在但是也不被使用。当这一位为1的时候,N-PDU Number 域要被解释和使用。

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

-Length。载荷的长度,以字节为单位。

-Tunnel Endpoint Identifier (TEID)。TEID唯一的在接收GTP-U或GTP-C协议的实体上定义了一个隧道端点。GTP隧道接收方在本地定义了一个TEID,这个TEID供发送端使用。TEID通过GTP-C消息进行交换。

可选的字段

-Sequence Number 。G-PDUs(GTP头+传输数据)的可选字段。当信令数据从发送的数据返回一个数据的时候,它可以是传输的标志,直接从发送数据的头部当中取出复制出来该字段,然后填充到发送字段。

-N-PDU。这个字段用在内部SGSN路由区域,和内部的一些系统交换区域。

-Next Extension Header。这个字段定义了Extension Header的类型。

Extension Header的格式:

-长度字段,定义了Extension Header长度,单位是4字节。

-type。定义了Extension Header的类型。当全部为0的时候,表示下面没有扩展了。

对于GTPv2协议头部的解析的更多相关文章

  1. 对于GTPv1协议头部的解析

    参考ETSI EN 301 347 GTP是GPRS Tunnelling Protocol 的简称.GTP分为GTPv0(已经淘汰),GTPv1 和GTPv2.下面,介绍的是GTPv1. GTPv1 ...

  2. HTTP协议头部与Keep-Alive模式详解

    HTTP协议头部与Keep-Alive模式详解 .什么是Keep-Alive模式? 我们知道HTTP协议采用“请求-应答”模式,当使用普通模式,即非KeepAlive模式时,每个请求/应答客户和服务器 ...

  3. WIFI知识累计之802.11协议radiotap头解析方法

    radiotap官方网站:http://www.radiotap.net/Radiotap 该网站详细介绍了radiotap的各个字段的长度和介绍,并包含解析代码项目地址,该文就在此网站的基础编写一些 ...

  4. UDP协议疑难杂症全景解析

    转载:http://blog.csdn.net/dog250/article/details/6896949 UDP协议疑难杂症全景解析 2011-10-22 19:26 2989人阅读 评论(4)  ...

  5. TCP/IP协议头部结构体(网摘小结)(转)

    源:TCP/IP协议头部结构体(网摘小结) TCP/IP协议头部结构体(转) 网络协议结构体定义 // i386 is little_endian. #ifndef LITTLE_ENDIAN #de ...

  6. CAP 一致性协议及应用解析

    https://mp.weixin.qq.com/s/26x8O1bRzurl84e3nM6TTA CAP 一致性协议及应用解析 原创: 有赞技术 有赞coder 1周前 文 | 云开 on 用户中心 ...

  7. TCP/IP协议头部结构体

    TCP/IP协议头部结构体(转) 网络协议结构体定义 // i386 is little_endian. #ifndef LITTLE_ENDIAN #define LITTLE_ENDIAN (1) ...

  8. 简析TCP的三次握手与四次分手(TCP协议头部的格式,数据从应用层发下来,会在每一层都会加上头部信息,进行封装,然后再发送到数据接收端)good

    2014-10-30 分类:理论基础 / 网络开发 阅读(4127) 评论(29)  TCP是什么? 具体的关于TCP是什么,我不打算详细的说了:当你看到这篇文章时,我想你也知道TCP的概念了,想要更 ...

  9. Ethernet IP TCP UDP 协议头部格式

    The Ethernet header structure is shown in the illustration below: 以太网头部14 bytes Destination Source L ...

随机推荐

  1. 某团队线下赛AWD writeup&Beescms_V4.0代码审计

    还是跟上篇一样.拿别人比赛的来玩一下.  0x01 预留后门 连接方式: 0x02 后台登录口SQL注入 admin/login.php 在func.php当中找到定义的check_login函数 很 ...

  2. 在Linux 系统上运行多个tomcat

    --原来的不动,添加环境变量(.bash_profile)export JAVA_HOME=/home/public/jdk1.8.0_131export JRE_HOME=$JAVA_HOME/jr ...

  3. JSOI 2017 退役记

    意料之中,真的要退役了. 懒得写游记了. Round 2 的时候状态一直不太清醒,最后混了个rank19,准备AFO吧.

  4. PlantUML——3.Graphviz的安装

    官网:http://www.graphviz.org/Home.php   由于plantuml使用Graphviz来生成相关图形(只有序列图可以不依赖它),其它图形都需要, 因此得安装它,否则生成图 ...

  5. Java学习笔记()ArrayList

    1.什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和ILis ...

  6. es6js promise在ie中报错“未定义”

    解决办法,我使用https://cdn.bootcss.com/es6-promise/4.1.1/es6-promise.auto.min.js直接引入在html中,也可以安装相应的babel-po ...

  7. Mono for Android 学习一 环境的搭建

    JAVA SDK和Android SDK下载安装 1.疑问:用mono for android 开发为什么必须要java sdk的支持 答:因为android  sdk是java开发的,所以和它相关的 ...

  8. 易普优APS(高级计划排程)演绎饭局模型(通俗的告诉您ERP计划与APS计划的区别)

    一天中午,老张突然回到家里对妻子说:“亲爱的老婆,晚上几个同事要来家里吃饭.这次我专门回家来要用最先进的ERP理念来完成咱家的请客过程了,要把这次宴会搞成一次ERP家宴.你看,我已经用CRM客户关系管 ...

  9. 第12课:Spark Streaming源码解读之Executor容错安全性

    一.Spark Streaming 数据安全性的考虑: Spark Streaming不断的接收数据,并且不断的产生Job,不断的提交Job给集群运行.所以这就涉及到一个非常重要的问题数据安全性. S ...

  10. 【C#】Lamada表达式演变过程

    static void Main() { //第一步 委托实例调用 Func<string, int> test = new Func<string, int>(getLeng ...