GTP概述

GTP(GPRS Tunnelling Protocol)协议应用在SGSN 和GGSN 之间,为各个移动台(MS) 建立GTP 通道,GTP 通道是 GPRS服务节点(GSN) 之间的安全通道,两个主机可通过该通道交换数据,所有的PTP 分组数据协议的PDUs 应由GTP 协议进行封装。

GTP协议格式

GTP协议头部格式如下:

Version:版本号,目前基本都是1,即GTP v1版本;如果是0,即GTP v0版本。

Protocol type:1为GTP’,0为GTP-C或GTP-U。

GTP V0和GTP V1 比较表格

GTP作为SGSN和GGSN之间的一种Tunnel协议,是建立在UDP之上的一种应用层协议,分为GTPv0和GTPv1不同的版本。

GTP VO

 

GTP V1

Information element

Presence requirement

 

Information element

Presence requirement

Routeing Area Identity (RAI)

Optional

 

Routeing Area Identity (RAI)

Optional

Quality of Service Profile

Mandatory

 

Quality of Service Profile

Mandatory

Recovery

Optional

 

Recovery

Optional

Selection mode

Mandatory

 

Selection mode

Conditional

Flow Label Data I

Mandatory

 

Tunnel Endpoint Identifier Data I

Mandatory

Flow Label Signalling

Mandatory

 

Tunnel Endpoint Identifier Control Plane

Conditional

End User Address

Mandatory

 

End User Address

Conditional

Access Point Name

Mandatory

 

Access Point Name

Conditional

Protocol Configuration Options

Optional

 

Protocol Configuration Options

Optional

SGSN Address for signalling

Mandatory

 

SGSN Address for signalling

Mandatory

SGSN Address for user traffic

Mandatory

 

SGSN Address for user traffic

Mandatory

 

 

 

Trace Reference

Optional

 

 

 

Trace Type

Optional

MSISDN

Mandatory

 

MSISDN

Conditional

Private Extension

Optional

 

Private Extension

Optional

 

 

 

IMSI

Conditional

 

 

 

TFT

Conditional

 

 

 

Trigger Id

Optional

 

 

 

OMC Identity

Optional

 

 

 

APN Restriction

Optional

 

 

 

RAT Type

Optional

 

 

 

User Location Information

Optional

 

 

 

MS Time Zone

Optional

 

 

 

CAMEL Charging Information Container

Optional

 

 

 

NSAPI

Mandatory

 

 

 

Linked NSAPI

Conditional

 

 

 

Charging Characteristics

Conditional

    相关术语

APN:Access Point Name,接入点名称,在GGSN中用于标识一个指定的外部网络和一种服务的ISP,在SGSN中可根据APN通过DNS域名解析得到与此APN对应的GGSN地址。

TEID:Tunnel Endpoint Identifier,GTP v1的概念,用于表示一条隧道(PDP),分为数据面TEID(TEID(U))和控制面TEID(TEID(C)),由SGSN和GGSN自己分配。

NSAPI:Network Service Access Point Identifier,和TEID(C)或IMSI一起用于标示同一用户激活的不同上下文,范围[0,15],其中0~4系统保留,因此对于一个用户(UE)而言,最多可以建立11条隧道。

TID:GTPv0的概念,由IMSI+NSAPI构成,和TEID作用相同。

TFT:Traffic Flow Template,是GSN在接收或转发用户数据时,用于区分二次激活的PDP上下文,TFT唯一的标识了同一TEID或同一PDP Address下的不同的PDP上下文。当同一个TEID或PDP Address下只有一个活跃的PDP上下文时,不需要为该PDP上下文指定一个TFT,因为所有下行的数据都直接通过该上下文对应的隧道传输。当同一个TEID或PDP Address下有多个活跃的PDP上下文时,那么就需要为每一个PDP上下文指定一个TFT,GGSN接收到发送给MS的G-PDU时,将使用该TFT来对应G-PDU传输时应该使用的PDP上下文。如果在二次激活时,所有该PDP地址下的PDP上下文都已经被分配了一个TFT,那么这一次的二次激活就可以无需再指定一个TFT。即,对应同一个TEID或PDP地址下的不同的PDP上下文,要么全都有各自的TFT,要么,只能有一个PDP上下文没有TFT。

    总结

GTP作为SGSN和GGSN之间的一种Tunnel协议,是建立在UDP之上的一种应用层协议,分为GTPv0和GTPv1不同的版本。

GTP协议分为GT-C,GTP-U和GTP’协议。其中,GTP-C是信令控制协议,GTP-U是封装用户数据协议,GTP’是计费相关的协议,其中控制平面用来创建、删除GTP Tunnel,以及对GTP Tunnel的属性进行修改,数据平面主要是用来传输用户的数据报文。

比较项

GTP v0

GTP v1

协议出处

[GSM TS 09.60]

[3GPP TS 29.060]

QoS信息

R97/98

R99

适用系统

GPRS

GPRS和UMTS

路径端口

3386(用户面、控制面和计费关联在一个端口)

2152(用户面);2123(控制面); 3386(计费)

路径协议

UDP和TCP可选(用户面和计费);UDP(控制面)

UDP(用户面和控制面);UDP和TCP可选(计费)

隧道标识

IMSI+NSAPI

SGSN和GGSN独立分配

二次激活

不支持

发起二次激活时,控制面TEID和之前PDP的TEID相同,用户面TEID重新分配

DT支持

不支持DTI标识

DTI标识

CC支持

不支持

支持CC计费属性

安全相关

固定的TID易受攻击

TID随机分配,相对安全性较好

GTP V0 和 GTP V1的更多相关文章

  1. 手脱UPX v0.89.6 - v1.02

    声明: 只为纪录自己的脱壳历程,高手勿喷 这个壳的脱法很多一般都一步直达的,步过我喜欢ESP定律 1.载入OD,在入口下一行ESP定律运行一次 > pushad ; //入口 BE mov es ...

  2. 三、主流区块链技术特点及Hyperledger Fabric V1.0版本特点

    一.Hyperledger fabric V1.0 架构 1.逻辑架构: 2.区块链网络 3.运行时架构 二.架构总结 1.架构要点 分拆Peer的功能,将Blockchain的数据维护和共识服务进行 ...

  3. 003-主流区块链技术特点及Hyperledger Fabric V1.0版本特点

    一.Hyperledger fabric V1.0 架构 1.逻辑架构: 2.区块链网络 3.运行时架构 二.架构总结 1.架构要点 分拆Peer的功能,将Blockchain的数据维护和共识服务进行 ...

  4. Centos7.6部署k8s v1.16.4高可用集群(主备模式)

    一.部署环境 主机列表: 主机名 Centos版本 ip docker version flannel version Keepalived version 主机配置 备注 master01 7.6. ...

  5. 82-基于Xilinx Virtex-5LXT FPGA的四路光纤PCIE卡(4路光纤卡)

    基于Xilinx Virtex-5LXT FPGA的四路光纤PCIE卡(4路光纤卡) 1.板卡特点: 1)  主芯片采用Xilinx Virtex-5LXT FPGA. 前面板提供4路光纤接口,速率可 ...

  6. MATLAB读取一张RGB图片转成YUV格式

    1.读入照片 控制输出的标志定义 clc;close all;clear YES = 1; NO = 0; %YES表示输出该文件,请用户配置 yuv444_out_txt = 1; yuv444_o ...

  7. Android中锁定文件的方法

    androidSDK中并没有锁定文件相关的api. 但是android是基于linux操作系统的,linux比较底层,灵活性也更大,为了实现锁定文件的效果,大概有以下几种办法: 用chmod命令修改文 ...

  8. Matlab

    Q:workspace没有显示变量的值 A:这是因为子程序里的变量是局部变量,他们的作用域就是子函数内部,会在流程控制回到主调函数前被系统自动释放掉,所以,一旦子程序运行完,你是不可能再查看子程序里的 ...

  9. BZOJ4078 : [Wf2014]Metal Processing Plant

    设$D(A)\leq D(B)$,从小到大枚举$D(A)$,双指针从大到小枚举$D(B)$. 那么对于权值不超过$D(A)$的边,可以忽略. 对于权值介于$(D(A),D(B)]$之间的边,需要满足那 ...

随机推荐

  1. 20135316王剑桥 linux第十一周课实验笔记

    getenv函数 1.获得环境变量值的函数 2.参数是环境变量名name,例如"HOME"或者"PATH".如果环境变量存在,那么getenv函数会返回环境变量 ...

  2. [转载]Java应用程序中的内存泄漏及内存管理

    近期发现测试的项目中有JAVA内存泄露的现象.虽然JAVA有垃圾回收的机制,但是如果不及时释放引用就会发生内存泄露现象.在实际工作中我们使用Jprofiler调用java自带的 jmap来做检测还是很 ...

  3. C#基础之yield与Singleton

    1.实例解析yiled的作用 最近参加java笔试题第一次见到yield这个关键字,既然遇见了那肯定要掌握,下面是C#中关于yield关键字的总结.yield这个关键字作用于迭代器块中,其最本质的功能 ...

  4. Zebra_Dialog 弹出层插件

    . Default dialog box, no custom settings. Click here to open. $.Zebra_Dialog('<strong>Zebra_Di ...

  5. 22.C#分组和查询延续及选择综合症(十一章11.6-11.7)

    对于昨天的连接还有一个知识点没有说,那就是分组连接.是11.5中的内容,补上. 分组连接的格式:join 元素 in 序列 on 条件表达式 into 新的序列 内连接和分组连接之间的一个重要差异(即 ...

  6. 幻灯片插件FlexSlider -- Amaze UI幻灯片参数

    用了Amaze UI 的人就知道,其幻灯片插件是 data-am-slider='{}'来传参数的:(以下代码来自Amaze UI 官网) <div data-am-widget="s ...

  7. Java sun的JDK

    JDK概述 JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品.自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Softwa ...

  8. struts2理解

    (1) Struts2(一)---struts2的环境搭建及实例 (2) struts2(二)---ModelDriven模型驱动 (3) Struts2属性驱动与模型驱动 (4)

  9. 【CodeForces 297C】Splitting the Uniqueness

    题意 序列s有n个数,每个数都是不同的,把它每个数分成两个数,组成两个序列a和b,使ab序列各自去掉个数后各自的其它数字都不同. 如果存在一个划分,就输出YES,并且输出两个序列,否则输出NO. 分析 ...

  10. 获取手机的gps定位

    只要手机有GPS模块,可以用HTML5的Geolocation接口获取 在HTML5中,geolocation作为navigator的一个属性出现,它本身是一个对象,拥有三个方法: - getCurr ...