Description
The GPRS Tunnelling Protocols (GTP) are a fundamental set of protocols defined by 3GPP for packet-switched mobile networks, including GPRS, UMTS, LTE, and 5G. GTP operates over IP networks and is primarily used to transport user data and control plane signaling between core network elements, such as the Serving GPRS Support Node (SGSN) and Gateway GPRS Support Node (GGSN) in 3G, or the Serving Gateway (SGW), Packet Data Network Gateway (PGW), and Mobility Management Entity (MME) in LTE/EPC. The protocol suite is divided into distinct variants: GTP-C for control plane signaling and GTP-U for user plane data tunneling. GTP creates logical tunnels identified by Tunnel Endpoint Identifiers (TEIDs), which are dynamically assigned during session establishment procedures like PDP Context Activation or EPS Bearer Setup. These tunnels encapsulate the original IP packets from the user equipment (UE), adding GTP headers that include the TEID, sequence numbers, and message type information, allowing the network to route traffic to the correct endpoint and manage mobility events like handovers seamlessly.
Architecturally, GTP is a client-server protocol where the GTP initiator (e.g., SGSN or SGW) sends requests to the GTP responder (e.g., GGSN or PGW). The control plane, GTP-C, handles session management functions such as creating, modifying, and deleting tunnels, as well as mobility management like updating tunnel endpoints during handovers. It uses a request-response mechanism with messages like Create PDP Context Request/Response. The user plane, GTP-U, is responsible for forwarding the actual user data packets within these established tunnels. It includes mechanisms for in-order delivery and loss detection via sequence numbers, though retransmission is typically handled by higher-layer protocols. GTP-U packets are transported over UDP/IP, providing a lightweight and efficient mechanism for data transfer.
In 5G systems, GTP continues to play a crucial role, particularly in the user plane between the User Plane Function (UPF) and the (R)AN, as defined in the 5G Core (5GC) architecture. While the control plane in 5GC primarily uses the HTTP/2-based Service-Based Interface (SBI), GTP-U remains the dominant protocol for user plane tunneling due to its proven efficiency and compatibility. The protocol has evolved to support new requirements such as network slicing, where multiple logical networks share the same physical infrastructure, and GTP tunnels can be associated with specific slice identifiers. Additionally, GTP supports various extensions and options, such as charging identifiers, quality of service (QoS) parameters, and support for different access technologies, making it a versatile and enduring component of mobile packet core networks.
Purpose & Motivation
GTP was created to address the fundamental challenge of providing seamless IP-based packet data services in mobile networks, enabling user mobility and session continuity. Prior to GTP, circuit-switched networks were dominant, but the rise of the internet demanded efficient packet-switched architectures. GTP solved the problem of tunneling user IP packets between distributed network nodes over an IP backbone, allowing the core network to manage subscriber sessions independently of the underlying radio access technology. It provided a standardized mechanism for encapsulating data, ensuring that packets could be routed correctly to and from mobile users as they moved, without requiring changes to the external packet data networks (PDNs) like the internet.
The protocol's design was motivated by the need to separate the control and user planes, a key principle in telecom networks. GTP-C handles signaling for session establishment, modification, and teardown, while GTP-U efficiently forwards user data. This separation allows for scalable and flexible network deployments, where control elements can be centralized and user plane elements distributed closer to the network edge. GTP also introduced critical mobility features, enabling handovers between base stations and core nodes without disrupting active data sessions, which was essential for supporting real-time services and always-on connectivity.
Historically, GTP originated in the GPRS specifications of 2.5G networks and has been continuously enhanced through 3G, 4G, and 5G releases. Its longevity is a testament to its effectiveness in solving core mobility and tunneling requirements. While alternative protocols have been considered, GTP's simplicity, robustness, and extensive deployment base have ensured its continued use, particularly in the user plane, even as control plane interfaces evolve towards HTTP/2-based services in 5G. It addresses limitations of earlier, more rigid architectures by providing a dynamic, tunnel-oriented approach that adapts to changing network conditions and subscriber locations.
Key Features
- IP-based tunneling protocol for encapsulating user data and control signaling
- Separation into GTP-C (control plane) and GTP-U (user plane) variants
- Uses Tunnel Endpoint Identifiers (TEIDs) for dynamic tunnel management
- Supports mobility functions like handover and session continuity
- Transport over UDP/IP for efficiency and low overhead
- Extensible header format with options for charging, QoS, and network slicing
Evolution Across Releases
Introduced GTP as part of the GPRS core network for UMTS. Defined GTP version 0 (GTPv0) for both control and user plane between SGSN and GGSN to support packet data services. Established basic tunneling, mobility management, and session management procedures for 3G packet-switched networks.
Introduced GTP-U as a separate protocol for the user plane, splitting from the earlier combined GTP. Enhanced support for real-time services and improved efficiency in data forwarding between RAN and core network nodes.
Formally defined GTP-C as the control plane protocol within the GTP suite for LTE/EPC. Introduced GTPv1-C and GTPv2-C for enhanced control signaling between MME, SGW, and PGW, supporting new EPS bearer management and mobility procedures.
Adapted GTP-U for 5G user plane between (R)AN and UPF, maintaining backward compatibility while supporting new 5GC features. GTP-C usage reduced in 5GC control plane in favor of HTTP/2-based SBI, but GTP-U remained essential for data tunneling.
Defining Specifications
| Specification | Title |
|---|---|
| TS 21.905 | 3GPP TS 21.905 |
| TS 23.060 | 3GPP TS 23.060 |
| TS 23.221 | 3GPP TS 23.221 |
| TS 23.228 | 3GPP TS 23.228 |
| TS 23.234 | 3GPP TS 23.234 |
| TS 23.327 | 3GPP TS 23.327 |
| TS 23.804 | 3GPP TS 23.804 |
| TS 23.857 | 3GPP TS 23.857 |
| TS 24.161 | 3GPP TS 24.161 |
| TS 25.401 | 3GPP TS 25.401 |
| TS 25.413 | 3GPP TS 25.413 |
| TS 25.414 | 3GPP TS 25.414 |
| TS 26.804 | 3GPP TS 26.804 |
| TS 26.806 | 3GPP TS 26.806 |
| TS 26.937 | 3GPP TS 26.937 |
| TS 29.060 | 3GPP TS 29.060 |
| TS 29.119 | 3GPP TS 29.119 |
| TS 29.274 | 3GPP TS 29.274 |
| TS 29.281 | 3GPP TS 29.281 |
| TS 32.251 | 3GPP TR 32.251 |
| TS 32.252 | 3GPP TR 32.252 |
| TS 32.272 | 3GPP TR 32.272 |
| TS 32.277 | 3GPP TR 32.277 |
| TS 32.295 | 3GPP TR 32.295 |
| TS 32.426 | 3GPP TR 32.426 |
| TS 33.108 | 3GPP TR 33.108 |
| TS 33.210 | 3GPP TR 33.210 |
| TS 33.863 | 3GPP TR 33.863 |
| TS 36.413 | 3GPP TR 36.413 |
| TS 36.414 | 3GPP TR 36.414 |
| TS 36.424 | 3GPP TR 36.424 |
| TS 36.444 | 3GPP TR 36.444 |
| TS 36.445 | 3GPP TR 36.445 |
| TS 38.414 | 3GPP TR 38.414 |
| TS 38.424 | 3GPP TR 38.424 |
| TS 38.474 | 3GPP TR 38.474 |
| TS 43.129 | 3GPP TR 43.129 |