GTP概述
GTP(GPRS Tunnelling Protocol)协议应用在SGSN 和GGSN 之间,为各个移动台(MS) 建立GTP 通道,GTP 通道是 GPRS服务节点(GSN) 之间的安全通道,两个主机可通过该通道交换数据,所有的PTP 分组数据协议的PDUs 应由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随机分配,相对安全性较好 |