Today, we will talk about GTP tunnels used in the LTE network.
As seen in Figure (a) below, IP packets sent by an LTE device (UE) are delivered from an eNB to a P-GW through GTP tunnels. What it means is that "all IP packets that a UE sends are always delivered through an eNB to a P-GW regardless of their specified destination IP addresses (i.e., even though their destination IP addresses are different)".
Let’s find out more now.
1. UE to eNB
A UE sends an IP packet with its destination IP address set to e.g. 74.125.71.104 (IP address of www.google.com) to an eNB through a radio link. The original packet sent by the UE will look something like this:
2. eNB to S-GW
Upon receiving the IP packet from the UE, the eNB adds a GTP tunnel header, consisting of three individual headers – a GTP header, UDP header, and IP header for GTP tunneling - in front of the IP packet. Then, the IP packet (sent by the eNB to an S-GW) will be as follows:
So, if only an IP routing network exists between the eNB and the S-GW, the routing network performs routing based on the destination IP address of the packet (i.e. the IP address of the S-GW, the destination IP address shown in the outer IP header), and then delivers the IP packet to the S-GW accordingly.
3. S-GW to PGW
The S-GW, upon receiving the IP packet from the eNB, modifies its GTP header and IP header (outer IP header) as follow:
4. P-GW to PDN (www.google.com)
Then, the packet is delivered to the P-GW accordingly. The P-GW then removes all three headers (Outer IP header/UDP header/GTP header) from the packet and delivers the original packet sent by the UE to the Internet.
As you may notice, an explanation of a TEID (tunnel endpoint ID) included in the GTP header has not given here. Let’s say there are 100 UEs that are connected to a S-GW and P-GW. Since one GTP tunnel is generated per UE (more than one can be practically generated, though), 100 GTP tunnels will be are generated. Now, the LTE network has to be able to distinguish which GTP tunnel belongs to which UE. For this purpose, a TEID is assigned to each UE. So, for example, the TEID is marked as TEID = UL S1-TEID (ex. 0x12345678) for the link from the eNB to the S-GW and as TEID=UL S5-TEID (ex. 0xabcdef12) for the link from the S-GW to the P-GW in the Figure below.
Now that TEIDs specific to UEs are used, the LTE network can distinguish its subscribers (UEs) from one another by checking their TEIDs instead of IP addresses P-GWs check both TEIDs and IP addresses of UEs, eNBs and S-GWs check TEIDs only).
Another thing about the TEIDs is that they are unidirectional. That is, they can only serve for one direction, either uplink or downlink. So, for the traffic from the Internet to the UE in the Figure (b) below, a new TEID is assigned and used for the links from the P-GW to the S-GW and from the S-GW to the eNB.
In the Figure, the routes from the eNB to the S-GW, and from the S-GW to the P-GW were named as “S1 GTP tunnel” and “S5 GTP tunnel, respectively. That was just because the interface between an eNB and an S-GW and one between S-GW and P-GW were named as “S1” and “S5” respectively in the LTE network reference model in 3GPP specification. Practically there is no difference in the format of the packets used in two GTP tunnels.
Also, a letter “U” at the end of “GTP-U” stands for “user plane” and was added to indicate that it is user data that travels through the tunnel. Likewise, a letter “C” was added at the end of “GTP-C” to indicate that control (signaling) packets, not user (UE) data, are delivered through the tunnel.
Thank you for this nice presentation. Just a small thing, parenthesis is missing here:
Now that TEIDs specific to UEs are used, the LTE network can distinguish its subscribers (UEs) from one another by checking their TEIDs instead of IP addresses (P-GWs check both TEIDs and IP addresses of UEs, eNBs and S-GWs check TEIDs only).
so basically there are 4 TEIDs between SGW and PGE per UE? 2 for User Plane(DL & UL) and 2 for Control Plane(UL & DL)?
Thank you for sharing this information, i have one additional query about the UL packet routing at eNB level, if the route is not learnt for SGW/PGW , then how will eNB transmit the received UL packet, will it drop or send via default route.
Also, say the UL TEID SGW/PGW is not reachable from eNB, then is there any mechanism that eNB informs to MME to restrict for selecting the affected SGW/PGW from being allocated.
Your responses are awaited regarding these queries.
Thanks and Regards,
Nirav Kapoor
Please provide explainatin for Downlink packet also(from internet to UE).
Regards
SaLoni
Hi, 2 for User Plane(DL & UL) and 2 for Control Plane(UL & DL)? why
Merhaba, Kullanıcı Düzlemi için 2 (DL & UL) ve Kontrol Düzlemi için 2 (UL & DL)? Neden