GTP-V2 (3GPP TS 29.274)
GTP Tunnel-
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
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:
No comments: