GTP V0 和 GTP V1
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的更多相关文章
- 手脱UPX v0.89.6 - v1.02
声明: 只为纪录自己的脱壳历程,高手勿喷 这个壳的脱法很多一般都一步直达的,步过我喜欢ESP定律 1.载入OD,在入口下一行ESP定律运行一次 > pushad ; //入口 BE mov es ...
- 三、主流区块链技术特点及Hyperledger Fabric V1.0版本特点
一.Hyperledger fabric V1.0 架构 1.逻辑架构: 2.区块链网络 3.运行时架构 二.架构总结 1.架构要点 分拆Peer的功能,将Blockchain的数据维护和共识服务进行 ...
- 003-主流区块链技术特点及Hyperledger Fabric V1.0版本特点
一.Hyperledger fabric V1.0 架构 1.逻辑架构: 2.区块链网络 3.运行时架构 二.架构总结 1.架构要点 分拆Peer的功能,将Blockchain的数据维护和共识服务进行 ...
- Centos7.6部署k8s v1.16.4高可用集群(主备模式)
一.部署环境 主机列表: 主机名 Centos版本 ip docker version flannel version Keepalived version 主机配置 备注 master01 7.6. ...
- 82-基于Xilinx Virtex-5LXT FPGA的四路光纤PCIE卡(4路光纤卡)
基于Xilinx Virtex-5LXT FPGA的四路光纤PCIE卡(4路光纤卡) 1.板卡特点: 1) 主芯片采用Xilinx Virtex-5LXT FPGA. 前面板提供4路光纤接口,速率可 ...
- MATLAB读取一张RGB图片转成YUV格式
1.读入照片 控制输出的标志定义 clc;close all;clear YES = 1; NO = 0; %YES表示输出该文件,请用户配置 yuv444_out_txt = 1; yuv444_o ...
- Android中锁定文件的方法
androidSDK中并没有锁定文件相关的api. 但是android是基于linux操作系统的,linux比较底层,灵活性也更大,为了实现锁定文件的效果,大概有以下几种办法: 用chmod命令修改文 ...
- Matlab
Q:workspace没有显示变量的值 A:这是因为子程序里的变量是局部变量,他们的作用域就是子函数内部,会在流程控制回到主调函数前被系统自动释放掉,所以,一旦子程序运行完,你是不可能再查看子程序里的 ...
- BZOJ4078 : [Wf2014]Metal Processing Plant
设$D(A)\leq D(B)$,从小到大枚举$D(A)$,双指针从大到小枚举$D(B)$. 那么对于权值不超过$D(A)$的边,可以忽略. 对于权值介于$(D(A),D(B)]$之间的边,需要满足那 ...
随机推荐
- 网络请求怎么样和UI线程交互? Activity2怎么通知Activity1 更新数据
1.网络请求怎么样和UI线程交互? 目前我的做法是,建立线程池管理网络请求线程,通过添加task来新增网络请求.所有的网络操作通过统一的request来实现,网络返回结果通过回调onError和onS ...
- Xcode7 项目转 Xcode6 时 出现问题
target specifies product type 'com.apple.product-type.bundle.ui-testing', but there's no such produc ...
- 关于git托管的一些心得
GIT托管的一些心得 熟练运用软件进行GIT托管的好处 在上一周的学习中,我提出来了一个疑惑,就是为什么一定要用软件托管而不选择web托管,在这周的学习中,我通过实践体会到了一些运用软件托管的好处: ...
- 安装.NET CORE
需要安装两个包 https://github.com/dotnet/cli 1. .NET Core Installer 2. .NET Core SDK Installer
- 总体最小二乘(TLS)
对于见得多了的东西,我往往就习以为常了,慢慢的就默认了它的存在,而不去思考内在的一些道理.总体最小二乘是一种推广最小二乘方法,本文的主要内容参考张贤达的<矩阵分析与应用>. 1. 最小二乘 ...
- unity3d 纹理动画
不知道大家有没有玩过赛车游戏 赛车游戏的跑道有路标,如下图 玩过赛车游戏的都知道,大多数赛车游戏的路标是会动的,如上图,它会从右往左运动 不会发动态图,大家脑补一下吧 没有玩过赛车游戏的也不要紧,大家 ...
- Bootstrap3.0学习第二十一轮(JavaScript插件——工具提示)
详情请查看http://aehyok.com/Blog/Detail/27.html 个人网站地址:aehyok.com QQ 技术群号:206058845,验证码为:aehyok 本文文章链接:ht ...
- α发布后的感想(组长作业)
今天α发布后,组长作业,谈谈心得体会,谈谈哪些做的好的地方,哪些做的不好.耐撕团队组长因有事缺席,耐撕团队的α发布由齐同学来主持,所以这个作业由齐同学代理. 先谈谈耐撕团队在α发布会中齐同学认为做的好 ...
- WebView与JavaScript的交互
目录: 一.整体思路 二.简单例子实现过程 1.打开项目的asset目录,创建新的文件test.html 2.补充html代码:添加供本地调用的js方法.调用本地方法的js ...
- 传智168期JavaEE就业班 day03-js
* 课程回顾: * CSS * CSS的简介 * 层叠样式表. * CSS与HTML的结合(4种) * HTML的标签提供了属性 style="CSS的代码" * HTML提供了标 ...