Description
GTP-C is the control plane variant of the GPRS Tunnelling Protocol, specifically designed to handle signaling messages between core network elements for session management, mobility management, and tunnel management. It operates over UDP port 2123 and is used in networks from 3G to 5G, though its role has evolved with architectural changes. In 3G UMTS networks, GTP-C communicates between the Serving GPRS Support Node (SGSN) and Gateway GPRS Support Node (GGSN) to manage Packet Data Protocol (PDP) contexts. In LTE/EPC, it is used between the Mobility Management Entity (MME), Serving Gateway (SGW), and Packet Data Network Gateway (PGW) to manage EPS bearers and handle mobility events like handovers and tracking area updates. The protocol employs a request-response model, where initiating nodes send messages like Create Session Request, and responding nodes reply with corresponding response messages, conveying parameters such as Tunnel Endpoint Identifiers (TEIDs), QoS profiles, and charging identifiers.
Architecturally, GTP-C messages are encapsulated within GTP headers that include a version field, message type, sequence number, and TEID for control plane tunnels. Key procedures include session management (activation, modification, deactivation), bearer management (establishment and teardown of data radio bearers), and mobility management (updating tunnel endpoints during inter-node handovers). For example, during an initial attach procedure in LTE, the MME uses GTP-C to send a Create Session Request to the SGW, which forwards it to the PGW, resulting in the establishment of a default EPS bearer and the assignment of user plane TEIDs for GTP-U tunnels. GTP-C also supports error handling and recovery mechanisms, with cause codes indicating success or failure of operations.
In 5G networks, the control plane architecture shifted towards a Service-Based Interface (SBI) using HTTP/2, reducing the reliance on GTP-C for core network signaling. However, GTP-C may still be used in certain interworking scenarios or legacy interfaces. The protocol includes multiple versions, with GTPv2-C being prominent in LTE and beyond, offering enhanced features like support for multiple PDN connections, improved mobility between 3GPP and non-3GPP access, and better error reporting. GTP-C is critical for maintaining session continuity and efficient resource utilization, as it dynamically manages the user plane paths based on subscriber mobility and service requirements.
Purpose & Motivation
GTP-C was developed to provide a standardized control signaling mechanism for managing GTP tunnels in packet-switched mobile networks, addressing the need for dynamic session and mobility management. Prior to its formalization, early GPRS implementations used combined GTP for both control and user plane, which lacked scalability and clear separation of concerns. The creation of GTP-C as a distinct protocol allowed for optimized signaling procedures, enabling efficient establishment, modification, and teardown of user plane tunnels as subscribers move or change services. It solved the problem of coordinating multiple network elements (e.g., SGSN, GGSN, MME, SGW) to maintain consistent session state and ensure seamless handovers.
The motivation for GTP-C stemmed from the evolution towards all-IP core networks in 3GPP Release 8 with the System Architecture Evolution (SAE) and LTE. As networks became flatter and more distributed, a robust control plane protocol was needed to manage the increased complexity of bearer management and mobility across multiple gateways. GTP-C provided a reliable, connectionless signaling mechanism over UDP, balancing efficiency with the ability to handle numerous simultaneous sessions. It also introduced enhancements over earlier versions, such as support for dual-addressing (IPv4 and IPv6), improved charging correlation, and better interworking with non-3GPP accesses like Wi-Fi.
Historically, GTP-C addressed limitations of proprietary or less flexible signaling methods by offering a uniform interface that could evolve with network generations. While 5G has moved to HTTP/2-based control plane interfaces for most core functions, GTP-C's legacy remains important in 4G networks and during migration phases. Its purpose extends to enabling advanced features like quality of service (QoS) differentiation, where control messages carry QoS parameters to configure user plane tunnels appropriately, ensuring that services like video streaming or VoIP receive the necessary network resources.
Classification
Detected Changes Across Releases
from 3GPP Change RequestsSpecific changes extracted from the „Change history“ tables of 3GPP specifications (17 CRs across 5 releases). Complements the general historical overview above with the evidence-based evolution of this function.
Studied in Rel-8, normative work from Rel-15.
In Release 15, the GTP-C function was enhanced to support the separation of control plane and user plane addresses for the GGSN, providing alternative addresses for each plane. This allows for more flexible network architecture deployments. Additionally, procedures were defined for GTP-C to manage the new GTP-U Extension Header for the PDU Session Container, which is essential for 5GS interworking.
- Alternative GGSN addresses for control Plane and user traffic TS 29.060CR1061
- GGSN control plane and user plane addresses TS 29.060CR1062
- GTP-U Extension Header Handling TS 29.281CR0083
- New GTP-U extension header for 5GS TS 29.281CR0086
- New GTP-U Extension Header for the PDU Session Container TS 29.281CR0089
- Unpredictability of GTP TEID for PGW GTP-U TS 29.281CR0088
+ 3 more changes
In Release 16, the GTP-C function was updated to implement the conclusions of TR 29.892 for GTP-U, ensuring alignment between the control and user plane protocol specifications. Furthermore, GTP-C was enhanced to support the establishment and management of tunnels for the new N19 user plane interface dedicated to 5G Virtual Network group communication. These updates allowed GTP-C to facilitate the necessary control plane procedures for these new 5G capabilities.
In Release 17, specific enhancements were introduced for GTP-C, including the capability to signal Alternative GGSN Addresses for both Control Plane and User Traffic via dedicated Information Elements. This provides additional flexibility and redundancy for tunnel endpoint selection. Furthermore, the release added procedures for the detection of the restart of a GTP-U entity, improving control plane awareness of user plane status.
In Release 18, no specific new features or changes were introduced for the GTP-C (GPRS Tunnelling Protocol for Control Plane) function itself. The provided Change Request title and grounding context exclusively detail an addition to the GTP-U (User Plane) protocol, specifically a new GTP-U Extension Header for the PDU Set Information Container. Therefore, Release 18 contained enhancements for GTP user plane data encapsulation but no noted updates to the GTP control plane signaling protocol.
- New GTP-U Extension Header for the PDU Set Information Container TS 29.281CR0128
In Release 19, the GTP-C function was updated to include fixes for the GTP-U Tunnel Status Information and Recovery Time Stamp Information Elements. These enhancements ensure more reliable tunnel management and recovery procedures between network nodes like SGSNs and GGSNs. The changes refine how critical tunnel state and timing data is handled within the GTP control plane signaling.
- Fixing the GTP-U Tunnel Status Information and Recovery Time Stamp IEs TS 29.281CR0134
Explore further
Broader topics and technologies where GTP-C plays a role.
Defining Specifications
3GPP specifications that define or reference GTP-C, with the latest known release. Sourced from the 3GPP document catalog — see methodology.
| Specification | Title | Release |
|---|---|---|
| TS 29.060 vj00 | GPRS Tunnelling Protocol (GTP) version 1 | Rel-19 |
| TS 29.281 vj20 | GTPv1-U Protocol Specification | Rel-19 |
| TS 33.117 vk00 | Catalogue of General Security Assurance Requirements | Rel-20 |