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.
Key Features
- Control plane signaling for GTP tunnel management (create, modify, delete)
- Uses UDP port 2123 for transport, providing efficient, connectionless communication
- Supports session management procedures like PDP context and EPS bearer handling
- Enables mobility management, including handover and tracking area updates
- Includes error handling with cause codes and recovery mechanisms
- Carries parameters for QoS, charging, and TEID assignment
Evolution Across Releases
Formally defined GTP-C as a separate control plane protocol within the GTP suite for LTE/EPC. Introduced GTPv2-C with new messages for EPS bearer management, mobility between eNodeBs and core nodes, and enhanced support for multiple PDN connections and IPv6.
Reduced role of GTP-C in 5G core control plane, replaced by HTTP/2-based Service-Based Interfaces (SBI) between network functions. GTP-C may still be used for legacy interworking or specific interfaces, but primary control signaling moved to N2/N4 reference points using PFCP and service-based architecture.
Defining Specifications
| Specification | Title |
|---|---|
| TS 29.060 | 3GPP TS 29.060 |
| TS 29.281 | 3GPP TS 29.281 |
| TS 33.117 | 3GPP TR 33.117 |