The GPRS system is used by GSM Mobile phones, as of 2004 the most common mobile phone system in the world, for transmitting IP packets. The GPRS Core Network is the centralised part of the GPRS system and also provides support for UMTS based 3G networks. The GPRS core network is an integrated part of the GSM core network.
GPRS Core Network in General
GPRS Core Network Structure
The GPRS Core Network (GPRS stands for General Packet Radio Services) provides mobility management, session management and transport for Internet packets packet services in GPRS and UMTS networks. The core network also provides support for other additional functions such as charging and lawful interception. It was also proposed, at one stage, to support packet radio services in the US TDMA system, however, in practise, most of these networks are being converted to GSM so this option is becoming largely irrelevant.
Like GSM in general, GPRS is an open standards driven system and the standardisation body is the 3GPP. Most of the patents required to implement a GPRS network are available with RAND terms. Most of the standards required to implement GPRS can be downloaded directly from the 3GPP web site (http://www.3gpp.org).
GPRS Tunnelling Protocol (GTP)
GPRS Tunnelling Protocol is the defining protocol of the GPRS core network. It is an IP over IP tunnelling protocol (though, in principle it can also carry other protocols such as PPP or, in older versions, X.25). As of 2004 there are two versions defined, version 0 and version 1. Interestingly version 0 and version 1 are considerably different in structure. In version 0 the signalling protocol (the protocol which sets up the tunnels by activating the PDP context) is combined with the tunnelling protocol on one port. Version 1 is actually effectively two protocols, one for control (called GTP-C) and one for user data tunnelling (called GTP-U).
GTP-U is also used to transport user data from the RNC to the SGSN in UMTS networks. However, in this case signalling is done using RANAP instead of GTP-C.
GPRS Support Nodes (GSN)
A GSN is a network node which supports the use of GPRS in the GSM core network. All GSNs should have a Gn interface and support the GPRS tunnelling protocol. There are two key variants of the GSN; the GGSN and the SGSN defined below.
GGSN - Gateway GPRS Support Node
The GGSN is the node which carries out the role in GPRS equivalent to the Home Agent in Mobile IP. It is a router which detunnels user data from GPRS Tunnel Protocol and sends out normal user data IP packets.
SGSN - Serving GPRS Support Node
The SGSN is the node which in some sense carries out the same function as the Local Agent in Mobile IP. However, an SGSN is actually considerably more complex since it also does the full set of interworking with the connected radio network. This means that the functions carried out by the SGSN vary quite considerably between GSM and UMTS.
Common SGSN Functions
- Detunnel GTP packets from the GGSN
- Tunnel IP packets toward the GGSN
- Carry out mobility management as Idle mode mobile moves from Routing Area to Routing Area.
GSM/EDGE Specific SGSN functions
- Carry up to about 60kb/s (150kb/s for Edge) traffic per subscriber
- Connect via frame relay to the PCU using the Gb protocol stack
- Accept uplink data to form IP packets
- Encrypt downlink data, decrypt uplink data
- Carry out mobility management to the level of a cell for connected mode mobiles
UMTS Specific SGSN functions
- Carry up to about 300kb/s traffic per subscriber
- Tunnel/detunnel downlink/uplink packets toward the RNC
- Carry out mobility management to the level of an RNC for connected mode mobiles.
These differences in functionality have led some manufacturers to create specialist SGSNs for each of UMTS and GSM which do not support the other networks, whilst other manufacturers have succeeded in creating both together, but with a performance cost due to the compromises required.
An access point is:
- An IP network to which a mobile can be connected
- A set of settings which are used for that connection
- A particular option in a set of settings in a mobile phone
When a GPRS mobile phone sets up a PDP context, the access point is selected. At this point an access point name (APN) is determined
- Example: bigcompany.mnc012.mcc345.gprs.
- Example: internet
- Example: mywap.
This access point is then used in a DNS query to a private DNS network. This process (called APN resolution) finally gives the IP address of the GGSN which should serve the access point. At this point a PDP context can be activated.
The PDP context is a data structure present on both the SGSN and the GGSN which contains the subscriber's session information when the subscriber has an active session. When a mobile wants to use GPRS, it must first attach and then activate a PDP context. This allocates a PDP context data structure in the SGSN that the subscriber is currently visiting and the GGSN serving the subscribers access point. The data recorded includes.
- Subscriber's IP address
- Subscriber's IMSI
- Tunnel ID (TEID) at the GGSN
- Tunnel ID (TEID) at the SGSN
The tunnel ID (TEID) is a number allocated by the GSN which identifies the tunnelled data related to a particular PDP context.
Reference Points and Interfaces
Within the GPRS core network standards there are a number of interfaces (points of connection from one system to another) and reference points (logical points of connection which probably share a common physical connection with other reference points). The names of these can be seen in the network structure diagram on this page.
- 3GPP web page including standards (http://www.3gpp.org)
- easy access to different specs (http://www.3gpp.org/specs/numbering.htm)
- GSM World's introduction to GPRS (http://www.gsmworld.com/technology/gprs/intro.shtml)