GTP

GPRS Tunnelling Protocols

Protocol
Introduced in R99
A suite of IP-based protocols used in 3GPP mobile networks to encapsulate and tunnel user data and control signaling between network nodes, primarily between the core network and radio access network. It enables mobility and session management by creating secure, logical connections over the IP backbone.

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

R99 Initial

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.

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

SpecificationTitle
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