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随机分配,相对安全性较好 |