Description
The Tunnel End Point Identifier (TEID) is a cornerstone of the GPRS Tunneling Protocol (GTP) used across 3GPP mobile networks from 3G to 5G. It is a 32-bit field present in the header of GTP-U (User plane) and GTP-C (Control plane) packets. Architecturally, a GTP tunnel is a logical point-to-point connection established between two GTP-speaking nodes, such as between a Serving Gateway (SGW) and a Packet Data Network Gateway (PGW) in 4G, or between a UPF and a SMF/UPF in 5G. The TEID uniquely identifies a specific tunnel endpoint at the receiving node. Crucially, both ends of a tunnel have their own local TEID values; the sender sets the TEID value that the receiver has assigned for that particular tunnel or bearer context.
How it works is fundamental to GTP-based mobility. When a Packet Data Protocol (PDP) context in 3G or a PDN connection/EPS bearer in 4G is established, control plane signaling (GTP-C) allocates TEIDs for the user plane tunnels (GTP-U). For example, during an LTE attach procedure, the MME instructs the SGW to create a session, and the SGW allocates a TEID for its downlink side of the S1-U tunnel towards the eNodeB and another for its uplink side of the S5/S8 tunnel towards the PGW. These TEIDs are exchanged via GTP-C messages. Subsequently, every user data packet carries the destination TEID in its GTP-U header. The receiving node (e.g., an eNodeB or a UPF) uses this TEID as a direct lookup key to find the associated bearer context, which contains all necessary information for processing the packet, such as QoS parameters and the next hop.
Its role extends beyond simple addressing. The TEID is the primary mechanism for bearer multiplexing. A single network node (like a SGW) manages thousands of simultaneous tunnels, each for a different UE or different QoS flow. The TEID allows the node to instantly demultiplex incoming GTP packets to the correct internal context without inspecting the inner IP packets. In 5G Core, the principle remains, though the architecture shifts to a service-based interface for control plane, with GTP-U still prevalent in the user plane between UPFs and (R)AN. The TEID's design ensures stateful, connection-oriented forwarding that is optimized for mobility and QoS enforcement across the mobile core network.
Purpose & Motivation
The TEID was created to solve the problem of managing multiple, simultaneous packet data sessions for millions of users in a scalable and efficient manner within mobile core networks. Prior to GPRS, data was primarily circuit-switched, which was inefficient for bursty IP traffic. The introduction of packet-switching required a tunneling mechanism to forward user IP packets between network nodes while preserving the subscriber's session context, QoS, and charging rules as they moved.
The GTP protocol, with the TEID at its heart, was designed to provide this tunneling capability. It addresses key limitations: it decouples the user's IP address (which can change) from the routing within the core network, enables seamless mobility by allowing tunnels to be re-routed as the user moves, and provides a simple, fast lookup mechanism for forwarding planes. The TEID specifically solves the multiplexing problem—allowing a single IP address/port pair on a network node to serve thousands of distinct user sessions. Its creation was motivated by the need for a standardized, robust tunneling protocol that could support the "always-on" IP connectivity model essential for mobile internet services, from early GPRS to modern 5G.
Key Features
- 32-bit unique identifier for GTP tunnel endpoints
- Used in both GTP-Control (GTP-C) and GTP-User (GTP-U) plane protocols
- Enables multiplexing of thousands of bearers on a single network node interface
- Allows decoupling of user IP addressing from core network routing
- Essential for mobility management and handover procedures
- Provides a fast lookup key for bearer context in user plane forwarding
Evolution Across Releases
Introduced as a core component of the GPRS Tunneling Protocol (GTP) for UMTS networks. The TEID was defined to uniquely identify endpoints of tunnels used to carry user data and signaling between SGSNs and GGSNs in the packet-switched core network. It established the fundamental mechanism for bearer management and mobility in 3G packet services.
Defining Specifications
| Specification | Title |
|---|---|
| TS 21.905 | 3GPP TS 21.905 |
| TS 23.060 | 3GPP TS 23.060 |
| TS 23.527 | 3GPP TS 23.527 |
| TS 25.401 | 3GPP TS 25.401 |
| TS 25.413 | 3GPP TS 25.413 |
| TS 25.414 | 3GPP TS 25.414 |
| TS 25.931 | 3GPP TS 25.931 |
| TS 26.804 | 3GPP TS 26.804 |
| TS 28.552 | 3GPP TS 28.552 |
| TS 29.060 | 3GPP TS 29.060 |
| TS 29.061 | 3GPP TS 29.061 |
| TS 29.119 | 3GPP TS 29.119 |
| TS 29.274 | 3GPP TS 29.274 |
| TS 29.276 | 3GPP TS 29.276 |
| TS 29.281 | 3GPP TS 29.281 |
| TS 29.532 | 3GPP TS 29.532 |
| TS 33.515 | 3GPP TR 33.515 |
| TS 36.300 | 3GPP TR 36.300 |
| 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.340 | 3GPP TR 38.340 |
| TS 38.401 | 3GPP TR 38.401 |
| TS 38.414 | 3GPP TR 38.414 |
| TS 38.424 | 3GPP TR 38.424 |
| TS 38.474 | 3GPP TR 38.474 |
| TS 44.318 | 3GPP TR 44.318 |