- GPRS Tunnelling Protocol
GPRS Tunneling Protocol (or GTP) is an IP based protocol used within
GSMand UMTSnetworks. It can be used with UDP or TCP. GTP version one is used only on UDP.
There are in fact three separate protocols, GTP-C, GTP-U and
GTP-C is used within the
GPRS core networkfor signalling between GPRS Support Nodes( GGSNs and SGSNs). This allows the SGSN to activate a session on the users behalf ( PDP contextactivation), to deactivate the same session, to adjust quality of serviceparameters or to update a session for a subscriber who has just arrived from another SGSN.
GTP-U is used for carrying user data within the GPRS core network and between the
Radio Access Networkand the core network. The user data transported can be packets in any of IPv4, IPv6or PPP formats. GTP'(GTP prime) uses the same message structure as GTP-C and GTP-U, but it is largely a completely separate protocol. It can be used for carrying charging data from the "Charging Data Function" of the GSM or UMTS network to the "Charging Gateway Function". In most cases, this should mean from many individual network elements such as the GGSNs to a centralised computer which then delivers the charging data more conveniently to the network operator's billing center.
The GTP protocol is implemented only by SGSNs and GGSNs. No other systems need to be aware of GTP. GPRS MSs are connected to a SGSN without being aware of GTP.
General Features of the GTP protocol
All variants of GTP have certain features in common. The structure of the messages is the same, with a GTP header following the UDP/TCP header.
GTPv1 headers contain the following fields: [3GPP TS 29.060 section 6]
All variations of GTP are transported over UDP.
As of 2004there are two versions defined, version 0 and version 1. Version 0 and version 1 differ considerably in structure. In version 0, the signalling protocol (the protocol which sets up the tunnels by activating the PDP context) is combined with the tunnelling protocol on one port. Version 1 is actually effectively two protocols, one for "control" (called GTP-C) and one for "user" data tunnelling (called GTP-U).
GTP-U is also used to transport user data from the RNC to the
SGSNin UMTSnetworks. However, in this case signalling is done using RANAPinstead of GTP-C.
Historical GTP Versions
The original version of GTP (version 0) had considerable differences from the current version (version 1).
* the tunnel identification was non random
* options were provided for transporting X.25
* the fixed port number 3386 was used for all functions (not just charging as in GTPv1).
* TCP was allowed as a transport option instead of UDP, but support for this was optional
* subscription related fields such as Quality of Service were more limited
The non random TEID in version 0 represented a security problem if an attacker had access to any roaming partner's network, or could find some other way to remotely send packets to the GPRS backbone. Version 0 is going out of use and being replaced by version 1 in almost all networks. Even so, the standard for the newer version states that the older version must be supported by the GSN. Fortunately, however the use of different port numbers allows easy blocking of version 0 through simple IP access lists.
GTP in standardisation
GTP was originally standardised within
ETSI(GSM standard 09.60). With the creation of the UMTSstandards this was moved over to the 3GPPwhich, as of 2005maintains it as 3GPP standard 29.060. GTP' uses the same message format, but its special uses are covered in standard 32.295 along with the standardised formats for the charging data it transfers.
* GSM standard 09.60, ETSI, 1996-98, this standard covers the original version 0 of GTP.
* "3GPP TS 29.060 V6.9.0 (2005-06)", 3rd Generation Partnership Project, 650 Route des Lucioles - Sophia Antipolis, Valbonne - FRANCE, 2005-06. This is the primary standard defining all of the GTP variants for GTP version 1.
* "3GPP TS 32.295 V6.1.0 (2005-06)", 3rd Generation Partnership Project, 650 Route des Lucioles - Sophia Antipolis, Valbonne - FRANCE, 2005-06. This standard covers using GTP for charging.
* [http://www.3gpp.org the 3GPP web site, home of the GTP standard]
Wikimedia Foundation. 2010.