GTP is used in LTE networks to carry user data – from GSM/GPRS, UMTS/3G, 4G/LTE and 5G:
GPRS Tunnelling Protocol User Plane (GTP-U): The GTP-U protocol is used over S1-U, X2, S4, S5 and S8 interfaces of the Evolved Packet System (EPS). GTP-U Tunnels are used to carry encapsulated T-PDUs and signalling messages between a given pair of GTP-U Tunnel Endpoints. The Tunnel Endpoint ID (TEID) which is present in the GTP header indicates which tunnel a particular T-PDU belongs to.
The transport bearer is identified by the GTP-U TEID and the IP address (source TEID, destination TEID, source IP address, destination IP address).
GTP is a fundamental workhorse of mobile user plane packet data.
GSM, UMTS, LTE & NR all have one protocol in common – GTP – The GPRS Tunneling Protocol.
So why do every generation of mobile data networks from GSM/GPRS in 2000, to 5G NR Standalone in 2020, rely on this one protocol for transporting user data
GTP – the GPRS Tunnelling Protocol, is the protocol which encapsulates and tunnels IP packets from the internet / packet data network, to and from the User.
Why encapsulate the packets? What if the Base Station had access to the internet and routed the traffic to the users?
If we were to do that, we would have to have large pools of IP addresses available at each Base Station and when a user connected they’d be assigned an IP Address and traffic for these users would be routed to the Base Station which would forward it onto the user.
This would work well until a user moves from one Base Station to another, when they’d have to get a new IP Address allocated.
TCP/IP was never designed to be mobile, as an IP address only exists in a single location.
Breaking out traffic directly from a base station would have other issues, such as no easy way to enforce QoS or traffic policies, meter usage, etc.
How we solve IP’s lack of mobility? GTP
GTP addressed the mobility issue by having a single fixed point the IP Address is assigned to (in GSM/GRPS/UMTS this is the Gateway GPRS Support Node, in LTE this is the P-GW and in 5G-SA this is the UPF), which encapsulates IP traffic to/from a mobile user into GTP Packet.
In some ways GTP is like GRE or any of the other common encapsulation protocols, wrapping up the IP packets into a GTP packet which we can rerouted to different Base Stations as the users move from being served by one Base Station to another.
This ease-of-redirecting / rerouting of user traffic is why GTP is used for NR (5G), LTE (4G), UMTS (3G) & GPRS (2.5G) architectures
When looking at a GTP packet of user data at first glance it seems not much is involved.
Like in most tunneling / encapsulation protocols we have the original network / protocol stack of IPv4 and UDP, and a payload of a GTP packet.
The packet itself is pretty simple, with flags denoting a items such as the version number, the message type (T-PDU), the length of the GTP packet and the payload (used for delineating the end of the payload), a sequence number an a Tunnel Endpoint Identifier (TEID).
From a mobility standpoint, a feature of GTP is that it takes IP packets and puts them into a stream with out-of-band signalling, this means we can change the parameters of our GTP stream easily without touching the encapsulated IP Packet.
When a UE moves from one base station to another, all that has to happen is the destination the GTP packets are sent to is changed from the old base station to the new base station. This is signalled using GTP-C in GPRS/UMTS, GTPv2-C in LTE and HTTP in 5G-SA.
Traffic to and from the UE are similar to above, the only difference would be the first IPv4 address would be different, but the IPv4 address in the GTP tunnel would be the same.
For Further Information
Please Contact Us