Role of UDP in GPRS Tunnelling Protocol (GTP)
The GPRS Tunnelling Protocol (GTP) relies on the User Datagram Protocol (UDP) at the transport layer to encapsulate and carry both user data traffic and control signaling across cellular core networks (2G, 3G, 4G LTE, and 5G non-standalone). UDP provides a lightweight, connectionless transport mechanism that delivers the low latency, high throughput, and packet-multiplexing capabilities required to manage mobile data sessions without introducing the transport-layer overhead and retransmission conflicts associated with connection-oriented protocols.
Transport and Port Demultiplexing
GTP packets are wrapped inside standard UDP/IP packets to traverse IP-based core networks between nodes such as the base station (eNodeB/gNodeB), Serving Gateway (SGW), User Plane Function (UPF), and Packet Data Network Gateway (PGW). UDP uses standardized port numbers to distinguish between signaling and data traffic:
- UDP Port 2123 (GTP-C): Used for the GTP Control Plane (GTPv1-C and GTPv2-C). It handles tunnel creation, modification, deletion, and mobility management signaling.
- UDP Port 2152 (GTP-U): Used for the GTP User Plane. It transports encapsulated user IP packets (such as web traffic, video streaming, and app communications) between network nodes.
- UDP Port 3386 (GTP-Prime / GTP’): Used specifically for delivering charging data records from network elements to the billing system.
Preventing TCP-over-TCP Conflict
A primary reason UDP is used for GTP-U is to avoid the “TCP-over-TCP meltdown” problem. Most end-user internet traffic already uses TCP. If GTP-U ran over a TCP transport layer, any network congestion or packet loss would trigger retransmission timers and congestion control mechanisms at both the underlying transport layer and the encapsulated user layer simultaneously. This causes redundant retransmissions, severe throughput degradation, and connection collapse. UDP acts as a neutral, stateless carrier, allowing the end-user’s original protocol (TCP or UDP) to manage its own flow control and reliability independently.
Low Latency and High Performance
Cellular networks require minimal transport overhead to maintain low latency for real-time services like voice over LTE (VoLTE) and live streaming. Unlike TCP, UDP does not require a three-way handshake to establish a connection, nor does it enforce packet ordering or delay transmission with acknowledgment windows. This allows core network elements to process, encapsulate, and forward high volumes of user traffic at line rate with minimal computational overhead.
Application-Layer Reliability for GTP-C
While GTP-U prioritizes speed over reliability, GTP-C requires guaranteed message delivery to properly configure mobile sessions. Instead of relying on TCP, GTP-C achieves reliability at the application layer over UDP. GTP-C messages include sequence numbers, acknowledgment requirements, and configurable retry timers. This design allows the control plane to remain lightweight while retaining full control over retransmission logic tailored specifically for telecom network behaviors and failovers.
Session Multiplexing with TEIDs
UDP works in tandem with the GTP header’s Tunnel Endpoint Identifier (TEID). Multiple user sessions between the same two network nodes share identical IP and UDP source/destination port pairs. The GTP layer reads the TEID within the UDP payload to route data to the specific user’s bearer context, enabling scalable multiplexing of thousands of individual user tunnels over a single UDP/IP path.