GTP'

Last updated

GTP' (GTP prime) is an IP based protocol used within GSM and UMTS networks. It can be used with UDP or TCP. GTP' uses the same message structure as GTP (GTP-C, GTP-U), but it is largely a separate protocol. GTP' uses registered UDP/TCP port 3386.

Contents

GTP' can be used for carrying charging data from the "Charging Data Function" (CDF) of the GSM or UMTS network to the "Charging Gateway Function" (CGF). In most cases, this should mean from many individual network elements such as the GGSNs to a centralised computer which then delivers the charging data more conveniently to the network operator's billing center.

GTP' is used on the Ga interface within the 3GPP GPRS Core Network definition.

GTP' reuses aspects of GTP, although to quote 3GPP TS 32.295, "only the signalling plane of GTP is partly reused". [1] GTP' defines a different header, additional messages, field values, as well as a synchronisation protocol to avoid losing or duplicating CDRs on CGF or SGSN/GGSN failure. Transferred CDRs, if following 3GPP standards, are encoded in ASN.1.

GTP' v1 and v2 headers contain the following fields

+Bits 0-2345678-1516-3132-47
0VersionPT [0]ReservedHdr lenMessage TypeLengthSequence Number
Version
The first header field in a GTP' packet is the 3-bit version field. For GTP' v2, this has a value of 2 (hence the name GTP' v2).
Protocol Type (PT)
a 1-bit value that differentiates GTP' (value 0) from GTP (value 1).
Reserved
a 3-bit reserved field (must be 1's).
Header Length (Hdr len)
a 1-bit value that for GTP' version 0 indicates if using a 20 byte header (value 0) (as per GTP) or this 6 byte header. This bit must be unset (value 0) for subsequent GTP' versions and in these does not indicate the header length as this must always be 6 bytes.
Message Type
An 8-bit field that states the message type. Possible values:
Message TypeDescription
1Echo Request
2Echo Response
3Version Not Supported
4Node Alive Request
5Node Alive Response
6Redirection Request
7Redirection Response
240Data Record Transfer Request
241Data Record Transfer Response
Length
A 16-bit field that states the length of the packet being encapsulated by GTP' (not including the GTP' header itself).
Sequence Number
A 16-bit field that uniquely identifies this packet and allows detection of loss or duplication

Message Types

GTP' uses the GTP Version Not Supported, Echo Request and Echo Response messages unchanged, but adds the following messages

Node Alive Request / Response

The Node Alive messages are used to advise other network components that a node has started service. The request is sent from the node starting and so provides a faster method to re-enable service than polling using Echo Request/Response does. This message can also be used to advise of other nodes coming back into service, and (in GTP' version 2) to advise of the IPv6 address of the CGF.

Redirection Request/Response

The Redirection messages are used to:

  1. divert the flow of CDRs from the CDFs (SGSN/GGSN) to another CGF when the sender is being removed from service (for maintenance/failure).
  2. advise that the CGF has lost its connection to a downstream system

In either case the CDFs are given more information about an impending or immediate failure than would be the case if the CDF was polling using Echo Request messages.

This message contains details about the cause, and optionally address(es) of an alternate CGF.

Data Record Transfer Request/Response

The Data Record Transfer messages are used to reliably transport CDRs from the point of generation (SGSN/GGSN) to non-volatile storage in the CGF.

Data Record Transfer Request

Each Data Record Transfer Request message can contain a message of one of four types:

  1. Send Data Record Packet - This message contains zero or more CDRs. CDRs may be encoded in ASN.1 using BER or, less commonly, PER.
  2. Send possibly duplicated Data Record Packet - This message contains one or more CDRs, and this message has previously been sent to another CGF.
  3. Cancel Data Record Packet - This message orders the CGF to remove one or more Data Record Packet from the CGF "possibly duplicated" pending queue.
  4. Release Data Record Packet - This message orders the CGF to write the contents of one or more Data Record Packets from the CGF "possibly duplicated" pending queue.

There is a mechanism to attempt to avoid losing or writing any duplicate CDRs. This is described in some detail in 3GPP TS 32.295. The basic premise is that every packet is sequenced and if not individually acknowledged then it will be resent until it is acknowledged by any CGF. Normal Data Record packets are immediately written to non-volatile storage (e.g. disk), but resent packets are marked as "possibly duplicated" and enter a special queue that is not immediately written to non-volatile storage—a second confirmation from the CDF is required.

The ability to send a Data Record Transfer Request containing zero CDRs is used as a test to detect the success or failure of the CGF to have already written records assigned to that sequence number and is an important part of the above mechanism.

Data Record Transfer Response

The Data Record Transfer Response acknowledges receipt of one or more Data Record Transfer messages; responses can be grouped for reasons of efficiency but must be sent more frequently than the sending CDFs timeout.

The acknowledgement includes a cause and can be a rejection of the contained records.

Related Research Articles

The Internet Control Message Protocol (ICMP) is a supporting protocol in the Internet protocol suite. It is used by network devices, including routers, to send error messages and operational information indicating success or failure when communicating with another IP address, for example, an error is indicated when a requested service is not available or that a host or router could not be reached. ICMP differs from transport protocols such as TCP and UDP in that it is not typically used to exchange data between systems, nor is it regularly employed by end-user network applications.

IEEE 802.2 is the original name of the ISO/IEC 8802-2 standard which defines logical link control (LLC) as the upper portion of the data link layer of the OSI Model. The original standard developed by the Institute of Electrical and Electronics Engineers (IEEE) in collaboration with the American National Standards Institute (ANSI) was adopted by the International Organization for Standardization (ISO) in 1998, but it remains an integral part of the family of IEEE 802 standards for local and metropolitan networks.

ping (networking utility) Network utility used to test the reachability of a host

ping is a computer network administration software utility used to test the reachability of a host on an Internet Protocol (IP) network. It is available for virtually all operating systems that have networking capability, including most embedded network administration software.

The Transmission Control Protocol (TCP) is one of the main protocols of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, the entire suite is commonly referred to as TCP/IP. TCP provides reliable, ordered, and error-checked delivery of a stream of octets (bytes) between applications running on hosts communicating via an IP network. Major internet applications such as the World Wide Web, email, remote administration, and file transfer rely on TCP, which is part of the Transport Layer of the TCP/IP suite. SSL/TLS often runs on top of TCP.

Network throughput refers to the rate of message delivery over a communication channel, such as Ethernet or packet radio, in a communication network. The data that these messages contain may be delivered over physical or logical links, or through network nodes. Throughput is usually measured in bits per second, and sometimes in data packets per second or data packets per time slot.

In computer networking, the User Datagram Protocol (UDP) is one of the core communication protocols of the Internet protocol suite used to send messages to other hosts on an Internet Protocol (IP) network. Within an IP network, UDP does not require prior communication to set up communication channels or data paths.

UUCP is an acronym of Unix-to-Unix Copy. The term generally refers to a suite of computer programs and protocols allowing remote execution of commands and transfer of files, email and netnews between computers.

The GPRS core network is the central part of the general packet radio service (GPRS) which allows 2G, 3G and WCDMA mobile networks to transmit IP packets to external networks such as the Internet. The GPRS system is an integrated part of the GSM network switching subsystem.

LIN is a serial network protocol used for communication between components in vehicles. It is a single wire, serial network protocol that supports communications up to 19.2 Kbit/s at a bus length of 40 meters. The need for a cheap serial network arose as the technologies and the facilities implemented in the car grew, while the CAN bus was too expensive to implement for every component in the car. European car manufacturers started using different serial communication technologies, which led to compatibility problems.

Diameter is an authentication, authorization, and accounting protocol for computer networks. It evolved from the earlier RADIUS protocol. It belongs to the application layer protocols in the internet protocol suite.

In computer networking, the multicast DNS (mDNS) protocol resolves hostnames to IP addresses within small networks that do not include a local name server. It is a zero-configuration service, using essentially the same programming interfaces, packet formats and operating semantics as unicast Domain Name System (DNS). It was designed to work as either a stand-alone protocol or compatibly with standard DNS servers. It uses IP multicast User Datagram Protocol (UDP) packets, and is implemented by the Apple Bonjour and open source Avahi software packages, included in most Linux distributions. Although the Windows 10 implementation was limited to discovering networked printers, subsequent releases resolved hostnames as well. mDNS can work in conjunction with DNS Service Discovery (DNS-SD), a companion zero-configuration networking technique specified separately in RFC 6763.

GPRS Tunnelling Protocol (GTP) is a group of IP-based communications protocols used to carry general packet radio service (GPRS) within GSM, UMTS, LTE and 5G NR radio networks. In 3GPP architectures, GTP and Proxy Mobile IPv6 based interfaces are specified on various interface points.

Within communication protocols, TLV is an encoding scheme used for optional informational elements in a certain protocol. A TLV-encoded data stream contains code related to the record type, the record value's length, and finally the value itself.

A Network (Layer) Service Access Point Identifier (NSAPI), is an identifier used in GPRS networks.

Internet Control Message Protocol version 6 (ICMPv6) is the implementation of the Internet Control Message Protocol (ICMP) for Internet Protocol version 6 (IPv6). ICMPv6 is an integral part of IPv6 and performs error reporting and diagnostic functions.

System Architecture Evolution (SAE) is the core network architecture of mobile communications protocol group 3GPP's LTE wireless communication standard.

An IPv6 packet is the smallest message entity exchanged using Internet Protocol version 6 (IPv6). Packets consist of control information for addressing and routing and a payload of user data. The control information in IPv6 packets is subdivided into a mandatory fixed header and optional extension headers. The payload of an IPv6 packet is typically a datagram or segment of the higher-level transport layer protocol, but may be data for an internet layer or link layer instead.

For mobile telecommunications, the Charging Data Record (CDR) is, in 3GPP parlance, a formatted collection of information about a chargeable telecommunication event.

Constrained Application Protocol (CoAP) is a specialized Internet application protocol for constrained devices, as defined in RFC 7252. It enables those constrained devices called "nodes" to communicate with the wider Internet using similar protocols. CoAP is designed for use between devices on the same constrained network, between devices and general nodes on the Internet, and between devices on different constrained networks both joined by an internet. CoAP is also being used via other mechanisms, such as SMS on mobile communication networks.

Packet Forwarding Control Protocol (PFCP) is a 3GPP protocol used on the Sx/N4 interface between the control plane and the user plane function, specified in TS 29.244. It is one of the main protocols introduced in the 5G Next Generation Mobile Core Network, but also used in the 4G/LTE EPC to implement the Control and User Plane Separation (CUPS). PFCP and the associated interfaces seek to formalize the interactions between different types of functional elements used in the Mobile Core Networks as deployed by most operators providing 4G, as well as 5G, services to mobile subscribers. These 2 types of components are:

  1. The Control Plane (CP) functional elements, handling mostly signaling procedures
  2. The User-data Plane (UP) functional elements, handling mostly packet forwarding, based on rules set by the CP elements.

References

  1. 3GPP TS 32.295