对于GTPv2协议头部的解析
参考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协议头部的解析的更多相关文章
- 对于GTPv1协议头部的解析
参考ETSI EN 301 347 GTP是GPRS Tunnelling Protocol 的简称.GTP分为GTPv0(已经淘汰),GTPv1 和GTPv2.下面,介绍的是GTPv1. GTPv1 ...
- HTTP协议头部与Keep-Alive模式详解
HTTP协议头部与Keep-Alive模式详解 .什么是Keep-Alive模式? 我们知道HTTP协议采用“请求-应答”模式,当使用普通模式,即非KeepAlive模式时,每个请求/应答客户和服务器 ...
- WIFI知识累计之802.11协议radiotap头解析方法
radiotap官方网站:http://www.radiotap.net/Radiotap 该网站详细介绍了radiotap的各个字段的长度和介绍,并包含解析代码项目地址,该文就在此网站的基础编写一些 ...
- UDP协议疑难杂症全景解析
转载:http://blog.csdn.net/dog250/article/details/6896949 UDP协议疑难杂症全景解析 2011-10-22 19:26 2989人阅读 评论(4) ...
- TCP/IP协议头部结构体(网摘小结)(转)
源:TCP/IP协议头部结构体(网摘小结) TCP/IP协议头部结构体(转) 网络协议结构体定义 // i386 is little_endian. #ifndef LITTLE_ENDIAN #de ...
- CAP 一致性协议及应用解析
https://mp.weixin.qq.com/s/26x8O1bRzurl84e3nM6TTA CAP 一致性协议及应用解析 原创: 有赞技术 有赞coder 1周前 文 | 云开 on 用户中心 ...
- TCP/IP协议头部结构体
TCP/IP协议头部结构体(转) 网络协议结构体定义 // i386 is little_endian. #ifndef LITTLE_ENDIAN #define LITTLE_ENDIAN (1) ...
- 简析TCP的三次握手与四次分手(TCP协议头部的格式,数据从应用层发下来,会在每一层都会加上头部信息,进行封装,然后再发送到数据接收端)good
2014-10-30 分类:理论基础 / 网络开发 阅读(4127) 评论(29) TCP是什么? 具体的关于TCP是什么,我不打算详细的说了:当你看到这篇文章时,我想你也知道TCP的概念了,想要更 ...
- Ethernet IP TCP UDP 协议头部格式
The Ethernet header structure is shown in the illustration below: 以太网头部14 bytes Destination Source L ...
随机推荐
- ThinkPHP的运行流程-2
Thinkphp为了提高编译的效率,第一次运行的时候thinkphp会把文件全部编译到temp目录下的~runtime.php文件,在第二次运行的时候会直接读取这个文件.所以我们在线下自己写代码测试的 ...
- 南邮PHP反序列化
题目如下: <?php class just4fun { var $enter; var $secret; } if (isset($_GET['pass'])) { $pass = $_GET ...
- Linux进程的创建函数fork()及其fork内核实现解析【转】
转自:http://www.cnblogs.com/zengyiwen/p/5755193.html 进程的创建之fork() Linux系统下,进程可以调用fork函数来创建新的进程.调用进程为父进 ...
- 作为一个新手的Oracle(DBA)学习笔记【转】
一.Oracle的使用 1).启动 *DQL:数据查询语言 *DML:数据操作语言 *DDL:数据定义语言 DCL:数据控制语言 TPL:事务处理语言 CCL:指针控制语言 1.登录 Win+R—cm ...
- React Native 快速入门之认识Props和State
眼下React Native(以后简称RN)越来越火,我也要投入到学习当中.对于一个前端来说,还是有些难度.因为本人觉得这是一个App开发的领域,自然是不同.编写本文的时候,RN的版本为0.21.0. ...
- Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f070058 android-studio 3.0 from canary 5 to canary 6
我升级android-studio到了3.0 canary 6打包编译安装出现如下错误: 07-11 13:00:39.523 8913-8913/dcpl.com.myapplication E/A ...
- PyQt实现测试工具
测试工具: 1. 基本界面实现: # coding:utf-8 import sys import os import os.path import re import time from PyQt4 ...
- Python中的raw_input()和input()
raw_input()和input()都是python中的内建函数,用于读取控制台用户的输入,但有所区别: [nr@localhost conf]$ python Python 2.7.5 (defa ...
- nginx报502修复日志
参考:https://www.baidu.com/link?url=PGd7mgvalnQp0MOVZTyDJIvr6_eJn1hmPlmsLpdj2vH6w3FzMt3pZEd_MKpoiqX1OF ...
- Codeforces 799B - T-shirt buying(STL)
题目链接:http://codeforces.com/problemset/problem/799/B 题目大意:有n件T恤,每件T体恤都分别有价格(每件衣服的价格不重复).前面的颜色.背部的颜色三种 ...