kids encyclopedia robot

GPRS Tunnelling Protocol facts for kids

Kids Encyclopedia Facts


GPRS Tunnelling Protocol (GTP) is a set of rules, or "protocols," that help carry internet data within mobile phone networks. Think of it like a special tunnel for data packets. It's used in networks like GSM, UMTS, LTE, and 5G NR.

GTP helps your phone connect to the internet and send or receive data. It makes sure that when you move around, your internet connection stays active. This is important for things like streaming videos or sending messages.

GTP is actually made up of three main parts: GTP-C, GTP-U, and GTP'. Each part has a different job.

  • GTP-C (Control): This part is like the "control center." It sets up and manages your internet sessions. For example, when you start using mobile data, GTP-C helps create a connection for you. It also helps if you move from one area to another, making sure your connection follows you.
  • GTP-U (User Data): This is the part that actually carries your internet data. It's like the "delivery truck" for all your photos, messages, and videos. It makes sure your data gets from your phone to the internet and back again.
  • GTP' (Charging): This part is used for tracking how much data you use. It sends information to your mobile provider so they can figure out your bill. It's like the "billing department" for your data usage.

These different GTP parts work together in various parts of the mobile network. Your phone doesn't directly use GTP, but the network equipment (like special computers called SGSNs and GGSNs) uses it all the time.

GTP usually works with another protocol called UDP. UDP is good for sending data quickly.

How GTP Works

All types of GTP messages share a similar structure. They have a special "header" that comes after the UDP or TCP header. This header contains important information about the message.

GTP Message Header

The header is like the address label on a package. It tells the network where the data is going and what kind of data it is.

GTP Version 1 Header

Here's a simplified look at what's in a GTPv1 header:

+ 0-2 3 4 5 6 7 8-15 16-23 24-31
0 Version Protocol type Reserved Extension Header Flag Sequence Number Flag N-PDU Number Flag Message Type Message length
32 TEID
64 Sequence number N-PDU number Next extension header type
  • Version: This tells you which version of GTP is being used (for GTPv1, it's 1).
  • Protocol Type (PT): This bit helps tell GTP messages apart from GTP' messages.
  • Message Type: This tells the network what kind of GTP message it is (e.g., a message to create a connection, or a message carrying user data).
  • Message Length: This shows how long the rest of the message is.
  • Tunnel Endpoint Identifier (TEID): This is a unique number that helps the network know which specific connection or "tunnel" the data belongs to. It's like a specific lane in the data tunnel.
  • Optional Fields: Sometimes, there are extra fields like a Sequence Number or Extension Header. These provide more details or allow for more complex messages.

GTP Version 2 Header

GTPv2-C (also called eGTP) is an updated version of the control part. It has a slightly different header:

+ Bit 0-2 3 4 5-7 8-15 16-23 24-31
0 Version Piggybacking flag (P) TEID flag (T) Spare Message Type Message length
32 TEID (only present if T=1)
64 (32 if TEID not present) Sequence number Spare

GTPv2 is mostly for control messages (GTPv2-C). The user data part (GTP-U) still uses GTPv1.

  • Piggybacking flag: This allows one GTP-C message to carry another GTP-C message inside it.
  • TEID flag: This tells if the TEID (Tunnel Endpoint Identifier) is included in the message.

Checking Connections

GTP also has a way for different parts of the network to check if they are still connected to each other. They send "echo request" messages. If the other side replies with an "echo response," they know the connection is still working. If there's no reply, the network knows there's a problem.

GTP-C: The Control Protocol

GTP-C is the "control" part of GTP. When you want to use mobile data, your phone's network (SGSN) sends a "create PDP context request" message using GTP-C to another part of the network (GGSN). This message asks to set up an internet session for you.

The GGSN then sends a "create PDP context response" back. This message either confirms that your internet session is set up or explains why it couldn't be. These messages are sent using UDP on a specific "port" number, 2123.

The newer eGTP-C (or GTPv2-C) helps create, manage, and delete these data "tunnels" across different parts of the network. It also helps manage your connection when you move between different areas, like during a handover in LTE networks.

GTP-U: The User Data Protocol

GTP-U is a simpler protocol that carries your actual data. It creates many "tunnels" between different network points. For each internet session you have active, there might be one or more GTP-U tunnels. This allows the network to handle different types of data with different quality needs.

Each tunnel is identified by a unique TEID (Tunnel Endpoint Identifier). This number helps make sure your data goes to the right place. To keep your data safe, mobile networks usually send all GTP traffic, including your user data, within secure private networks. GTP-U messages are sent using UDP on port 2152.

GTPv1-U is used to send your data packets. For example, when you send an IP packet from your phone, it's put inside a GTPv1-U packet. This packet then travels through tunnels between different network parts, like the P-GW and the eNodeB, to reach its destination.

GTP': The Charging Protocol

The GTP' protocol is used to send information about your data usage to the "Charging Gateway Function." This is where your mobile provider collects data to calculate your bill. GTP' uses TCP or UDP on port 3386.

This information usually includes when you started and stopped your internet sessions and how much data you transferred. This communication happens within your mobile provider's network.

GTP in the Mobile Network

GTP is a very important protocol in the GPRS core network. It allows you to move around while still staying connected to the internet. It does this by carrying your data from your current network location (SGSN) to the main internet connection point (GGSN) that handles your session.

The three forms of GTP are used in the GPRS core network:

  • GTP-U for sending your actual data in separate tunnels.
  • GTP-C for control tasks, such as:
    • Setting up and ending your internet sessions.
    • Checking if network equipment can reach each other.
    • Updating your connection as you move between different network areas.
  • GTP' for sending charging information from the network equipment to the billing system.

The network equipment, like GGSNs and SGSNs (often called GSNs), listen for GTP-C messages on UDP port 2123 and for GTP-U messages on port 2152. This communication can happen within one country or even internationally, often through special connections called GPRS roaming exchanges (GRX).

The Charging Gateway Function (CGF) receives GTP' messages from the GSNs on TCP/UDP port 3386. This helps the mobile company track your data usage for billing.

GTP and the IuPS Interface

GTP-U is also used on a connection called IuPS, which links the GPRS core network to the radio access network (RAN). However, GTP-C is not used here. Instead, another protocol called RANAP handles the control messages and sets up the GTP-U tunnels between the SGSN and the radio network controller (RNC).

How GTP Fits In: The Protocol Stack

Application Protocols
IP (user)
GTP
UDP
IP
Layer 2 (e.g., WAN or Ethernet)

GTP-U protocol stack

Think of communication protocols like layers in a cake. Each layer has a specific job. The "Protocol Stack" shows how GTP fits into these layers.

GTP sits on top of UDP or TCP, which are transport protocols. These then sit on top of IP, which handles addressing. Below IP are the physical network layers.

As of 2018, there are three main versions of GTP: version 0, version 1, and version 2.

  • Version 0 was the first. It combined control and user data on one port.
  • Version 1 and Version 2 are split into two main parts: GTP-C (for control) and GTP-U (for user data). GTPv2 mainly improved the control part (GTP-C) for newer mobile networks like EPS.

GTP-U is also used to carry user data from the RNC to the SGSN in UMTS networks. But in this case, the control messages are handled by RANAP, not GTP-C.

Older GTP Versions

The very first version of GTP (version 0) was quite different from the ones used today.

  • It used numbers for tunnels that were easy to guess, which could be a security risk.
  • It used a single port number (3386) for all its functions, not just charging.
  • It allowed TCP as a transport option, but this wasn't always supported.

Version 0 is now rarely used and has been replaced by version 1 in almost all networks. Because it used different port numbers, it was easy to block for security reasons.

GTP Standardization

GTP was first developed by ETSI (European Telecommunications Standards Institute). Later, it was taken over by the 3GPP (3rd Generation Partnership Project), which is a group that creates global standards for mobile telecommunications. They maintain the GTP standards in documents like 3GPP standard 29.060. The GTP' charging protocol is covered in standard 32.295.

Newer versions of the standards encourage using the latest GTP versions. GTPv2, released in December 2008, can still work with GTPv1 if needed, but it doesn't support the very old GTPv0.

See also

Kids robot.svg In Spanish: Protocolo de túnel de GPRS para niños

  • Proxy Mobile IPv6
  • Mobile IP
  • PFCP
  • RANAP
kids search engine
GPRS Tunnelling Protocol Facts for Kids. Kiddle Encyclopedia.