What is GPRS Tunneling Protocol or GTP ?
GPRS Tunnelling Protocol (GTP) used by mobile network operators on various interfaces in roaming and Radio Access Network (RAN) deployments and within the packet core in 3G and 4G networks. GTP allows mobile subscribers to use their phones (user equipment) to maintain a connection to a Packet Data Network (PDN) for internet access while on the move.
What Wikipedia says about GTP
GPRS Tunneling Protocol (GTP) is a group of IP-based communications protocols used to carry general packet radio service (GPRS) within GSM, UMTS and LTE networks. In 3GPP architectures, GTP and Proxy Mobile IPv6 based interfaces are specified on various interface points.
GTP uses tunnels to allow two GPRS support nodes (GSNs) to communicate over a GTP-based interface and to separate traffic into different communication flows. GTP creates, modifies, and deletes tunnels for transporting IP payloads between the user equipment, the GPRS support nodes (GSNs) in the GPRS backbone network and the internet.
GTP can be decomposed into separate protocols, GTP-C, GTP-U and GTP’.There are two different version of GTP-C, GTPv1-C and GTPv2-C
GTPv1-C is defined in 3GPP TS 29.060. It is used on a Gn interface, that is, the interface between GPRS support nodes (GSNs) within a public land mobile network (PLMN), and also across a Gp interface between GSNs in different PLMNs. It is also used for roaming and inter access mobility between Gn/Gp SGSNs and mobility management entities (MMEs). GTPv1-C carries various types of control plane signalling messages. The registered port number for GTPv1-C is 2123.
GTPv2-C is defined in 3GPP TS 29.274. It is used on various EPC (Evolved Packet Core) signalling interfaces, such as S3, S5, S8, and S11. GTPv2-C carries various types of control plane signalling messages. The registered port number for GTPv2-C is 2123.
GTP-U is defined in 3GPP TS 29.281. It encapsulates and routes user plane traffic across multiple signalling interfaces such as S1, S3, S5, and S8. GTP-U messages are either user plane or signalling messages.
GTP’ (GTP prime) uses the same message structure as GTP-C and GTP-U, but has an independent function. It 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 centralized computer that delivers the charging data more conveniently to the network operator’s billing center.
GPRS Protocol Stack:
Hello friends, here I am going to describe basic idea of GPRS protocol stack based on interface.So, here we used Gn and Gb interface for using GPRS protocol stack
Gn interface protocols:
GTP (GPRS tunneling protocol) receives IP datagram and X.25 packets from the external network and tunnels them across the GPRS support nodes. Because there will be multiple GGSN and SGSN interfaces, the GTP provides for every packet a tunnel identifier (TID) that identifies the destination and transaction to which the packet/datagram belongs. Transactions are identified using logicalidentifiers as well as the IMSI.
TCP/UDP consists of the transmission control protocol (TCP), which is used to transfer PDUs (protocol data units) across the Gn interface with reliability (acknowledgment and re-transmissions). The user datagram protocol (UDP),is used across the Gn interface to carry the GTP-PDUs for all signaling information and user data that do not require reliability.
IP (Internet protocol) is used to route user data and signaling information across the Gn interface. The IP datagram size will be limited to the physical layer maximum transmission unit (MTU) capabilities. An IP datagram can be as large as 65,535 octets, but if the physical layer MTU is less than this, fragmentation must be done. The source gateway support node (GGSN
or SGSN) has to first decide the MTU size and then carry out the fragmentation. The IP addressing used will route the data across the Gn interface, including any intermediate GSNs (gateway support nodes), to the GSN address at the final destination.
Gb interface protocols:
SNDCP (sub network dependent convergence protocol) is used between the SGSN and the mobile phone. This protocol converts the network layer PDUs (N-PDUs) on the Gn interface into a format suitable for the underlying GPRS network architecture. SNDCP performs a number of functions:
- Multiplexing of N-PDUs from one or several network layer entities onto the appropriate LLC connection
- Buffering of N-PDUs for the acknowledged service
- Delivery sequence management for each NSAPI
- Compression and decompression of the protocol information and user data
- Segmentation and reassembly of the compressed data to the maximum length of the LLC-PDU
- Negotiation of the control parameters (XID) between SNDCP entities.
LLC (logical link control) protocol provides a highly reliable, ciphered logical link between the SGSN and the mobile phone. The LLC uses both acknowledged and unacknowledged modes of frame transmission, depending on a user’s negotiated quality of service. This protocol also manages frame re-transmission, buffering, and information length based on the negotiated QoS delay class.
- BVCI (BSSGP virtual connection identifier) is sent to the network services layers for routing signaling and data information to the correct peer functional entities. Each BVCI between two peer entities is unique.
- LSP (link selection parameter) is used in conjunction with the BVCI to aid in selecting a physical link for the load-sharing process.
- NSEI (network service entity identifier) used at the BSS and the SGSN provides the network management functionality required for operation of the Gb interface. The NSEI together with the BVCI uniquely identifies a BSSGP virtual connection.
NS (network service) layer uses frame relay across the Gb interface and could be a point-to-point connection between the SGSN and the BSS or a frame relay network. The NS layer uses a DLCI (data link connection identifier) look-up table to indicate the routing path
between the SGSN and the BSS. The initial value of the DLCI field is derived from the BVCI, NSEI, and LSP supplied by the BSSGP layer. This value changes as the frame passes through the frame relay network and reaches its final destination.
Um interface protocols:
RLC (radio link control) is responsible for a number of functions:
- Transferring LLC-PDUs between the LLC layer and the MAC function
- Segmentation of LLC-PDUs into RLC data blocks and re-assembly of RLC data blocks to fit into TDMA frame blocks
- Segmentation and re-assembly of RLC/MAC control messages into RLC/MAC control blocks
- Backward error correction for selective transmission of RLC data blocks.
The RLC segmentation function is a process of taking one or more LLC-PDUs and dividing them into smaller RLC blocks. The LLC-PDUs are known collectively as a temporary block flow (TBF) and are allocated the resources of one or more packet data channels (PDCH).The TBF is temporary and is maintained only for the duration of the data transfer. Each TBF is assigned a temporary flow identity (TFI) by the network.The RLC data blocks consist of an RLC header, an RLC data unit, and spare bits. The RLC data block along with a MAC header may be encoded using one of four defined coding schemes. The coding scheme is critical in deciding the segmentation process.
MAC (medium access control) controls the access signaling across the air interface, including the management of shared transmission resources (assignment of the radio block to multiple users on the same timeslot).
MAC achieves these functionalities by placing a header in front of the RLC header in the RLC/MAC data and control blocks. The MAC header contains several elements, some of which are direction-specific,referring to the downlink or uplink.
The key parameters of MAC header are:
- Uplink status flag (USF), is sent in all downlink ARLC/MAC blocks and indicates the owner or use of the next uplink radio block on the same timeslot.
- Relative reserved block period (RRBP), identifies a single uplink block in which the mobile phone will transmit control information.
- Payload type (PT), the type of data (control block or data block) contained in the remainder of the RLC/MAC block.
- Countdown value (CV), is sent by the mobile to allow the network to calculate the number of RLC data blocks remaining in the current uplink TBF.