参考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. python算法之近似熵、互近似熵算法

    理论基础 近似熵? 定义:近似熵是一个随机复杂度,反应序列相邻的m个点所连成折线段的模式的互相近似的概率与由m+1个点所连成的折线段的模式相互近似的概率之差. 作用:用来描述复杂系统的不规则性,越是不 ...

  2. django【ORM】 通过外键字段找对应类

    两个方法其实是一种,用哪个都行,看实例:   方法一: 从list_filter中的字符串,找到model对象的字段,然后得到这个外键对应的类 循环,把list_filter中对应的类所有对象 方法二 ...

  3. git@oschina.net源代码管理使用日记【转】

    转自:https://www.cnblogs.com/Juvy/p/3556902.html git的优势: 1 可以创建分支: 2 版本控制是基于每一次提交的,而不需要考虑每次提交了多少个文件. 下 ...

  4. ovirt系统磁盘删除后清理功能验证步骤

    测试步骤主要是针对ovirt系统磁盘的‘删除后清理’功能,如下图所示: 测试如下两种方式: 预置条件: 搭建iscsi服务器,且划分一个11G的盘 勾选删除后清理操作步骤:1 .在linux虚拟机 d ...

  5. python代码这样写会更优雅

    1.链式比较操作 age = 18 if age > 18 and age < 60: print("young man") pythonic if 18 < a ...

  6. Mybatis的初步使用

    MyBatis 是当下最流行的持久层框架,也是ORM框架,本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google ...

  7. Java-悲观锁和乐观锁

    Java中的乐观锁与悲观锁: 1. Java中典型的synchronized就是一种悲观锁,也就是独占锁,不过JDK1.6之后对synchronized已经做了许多优化,也不能说是完全的悲观锁了: 2 ...

  8. IEEEXtreme 10.0 - Full Adder

    这是 meelo 原创的 IEEEXtreme极限编程大赛题解 Xtreme 10.0 - Full Adder 题目来源 第10届IEEE极限编程大赛 https://www.hackerrank. ...

  9. lr11 controller打开提示cannot initialize driver dll,exiting

    解决:在win7要以管理员身份运行才行的 问题2:在使用loadrunner时,从vuser generator启动controller的时候可能出现:由于另一个程序正在运行中 此操作无法完成.请选择 ...

  10. Knockout简介

    1 Knockout简介 (Introduction) Knockout是一个轻量级的UI类库,通过应用MVVM模式使JavaScript前端UI简单化. Knockout有如下4大重要概念: 声明式 ...