LTE/IMS reference

                 GTP-V2  (3GPP TS 29.274)



GTP Tunnel-
Ø Every GTP tunnel is identified with a TEID, an IP address and a UDP port number. That is actually
     called a GTP Tunnel.
     But there are two types of GTP Tunnels- 1) GTP-U Tunnel , 2) GTP-C Tunnel
     GTP-U is used for data transfer and GTP-C is used for signaling. But actual difference is GTP-C use
     UDP port number called as 2123 and GTP-U use port number 2152.  So, Application will be 
     differentiated by port number. 
Ø Depending on how many EPS bearers will be created, that many number of GTPC and GTPU tunnel will be created between MME to SGW, E-NB to S-GW. But only one tunnel will be created between MME to S-GW for one user.
ØIn the first message (EGTP_ CREATE SESSION REQUEST), when MME will send to S-GW about a particular user that time MME will create a tunnel id towards S-GW and give it to S-GW. When S-GW will reply to MME (EGTP_ CREATE SESSION RESPONSE), that time S-GW will create a tunnel id towards MME as well as E-NB and give it to MME.
ØIn between E-NB to MME and E-NB to E-NB, there will be two TEID present for every message like E-NB UE S1AP ID and MME UE S1AP ID. But twist is that we will not be using both tunnel id even though two tunnel id will be created. When MME will send the information to S-GW, MME uses S-GW tunnel ID. When S-GW will send the information to MME, S-GW uses MME tunnel ID. But twist is that in the first message when MME sending to S-GW that time MME does not know what is the S-GW tunnel id, so at that time MME uses TEID with all ZERO’S (0).
ØBetween MME to S-GW only one IP address will be there. By using same source IP address and same destination IP address they need to send GTP-C messages. So, only one UDP connection is there between MME to S-GW. So IP is same b/w MME to S-GW but for reorganization of  the users multiple TEID will be created, each TEID will be created for each user in the same IP address for communication purpose. But for global message TEID will not be there.



GTP-C Header for Control plane

General Format of GTP-C Header-
Version-    3 bit version . The protocol value is 010 which tells that it is GTP-C version 2.

T bit- If T flag is set to ‘1’, then TEID will be present, otherwise TEID will be absent. For UE    specific message TEID will be present
         but for Global message TEID will be absent. So T flag is set to ‘0’ for Global message.    If T=1, then header will be 4 octet More, if T=0 the header will be 4 octet less.

Spare-  It is used for future purpose.

Message Type-   
      8 bit is used for message type. The possible decimal value is 0 to 255. So 255 different type of messages are possible. [2 ^8 -1]

Message Length-  
       Message length is 2 octet which explains what is the GTP-C packet size including header. GTP-C packet size can up to 65,535 (2^16-1).

P(Piggybacking flag)- 
       When P=1, it means GTP-C message is attached to another GTP-C message. When P=0, no GTP-C message.

Sequence number-   It is just an incremental number. 


Note -
GTP-C contains GTP-C header + followed by many IE’s. Which IE’s are present that will
depend on ‘message type’. If message type changes that means IE’s will change. Any
GTPC message minimum size is ‘8’ byte.


GTP-C header for Global Messages (e.g. Echo request
and Echo response):

For Global messages, T is set to ‘0’. It is not UE specific message. That is why message
length is followed by sequence number.
Any GTP-C message minimum size is ‘8’ bytes. That is why we use 1 byte spare at least.
Echo request and Echo response are used to find out whether the other GTP-C entity is
reachable or not. Echo means health check, every now and then we just send Echo request
and other entity will send Echo response. We don’t know message is going to other entity or
not because GTP-C uses an unreliable protocol that is UDP.


EPC Specific GTP-C header –(UE associated
signaling/messages):
In UE related message T bit is set to ‘1’. That is why after message length TEID will be
present (4 Octet more) followed by Spare.

Format of the GTPv2- C Header-
It is containing what is its header including  zero(0) or more information elements. Together
is called as GTP-C message.


Message type for GTPV2-
GTP defines a set of messages between two associated EPC network elements. The
messages to be used are defined in the below table- 




Information Elements of GTP-C messages-

Please refer 29.274- (Pages from 22 to 110)



Reviewed by LTE/IMS reference on March 14, 2018 Rating: 5

No comments:

Powered by Blogger.