The objective of this paper is to explain GPRS basics to system engineers familiar with GSM. It is based on Motorola GPRS architecture and the basic concepts are explained without going deep into the details. Some Histories … The initial work on GPRS started in 1994 and it is part of the “advance data transmission services” defined in GSM phase 2+. The important goal of GPRS is to enable GSM network operators to operate packet data services utilizing the existing GSM radio infrastructures on a dynamic and flexible basis. As suggested by its’ name, GPRS is defined to work efficiently with “bursty “data source. What is it In short, GPRS is a packet data network that overlays the existing GSM circuit-switch networks. Similar to GSM, it consists of 2 main parts, i.e. the Radio (BSS) and the network (GSN) subsystems. It reuses the GSM Radio Sub-System (RSS) without any modifications. This means that the current GSM radio access technologies such as TDMA frame structures, modulation, interleaving etc remain unchanged in a GPRS capable network. The new network sub-system is termed GPRS Service Node (GSN) and is made up of high performance broadband packet switching nodes. The new network elements (NE) in GPRS system are: • Packet Control Unit (PCU) – part of BSS and co-located with BSC. Responsible for all functions of GPRS radio protocols and communicates with the SGSN. • Serving GPRS Support Node (SGSN) – part of GPRS network sub-system. Responsible for packet data routing to the mobile stations and mobility management. • Gateway GPRS Support Node (GGSN) - part of GPRS network sub-system. Responsible for mobile station address mapping, packet data routing between GSNs and interface to external Packet Data Network (PDN). More details of the NE will be given in later chapters. A simple network topology is illustrated in the following figure.
A interface BSC MoBis BTS Um Gp MS GGSN Other PLMN PCU
SMSC Gd SGSN Gn Gr
HLR Gc GGSN
The New Interfaces There are a number of new interfaces defined for GPRS (all of them start with a G), as shown in the below table: Interface Gb Gc Gd Gf Gi Gn Gp Gr Gs Network connection SGSN ↔ PCU GGSN ↔ HLR SGSN ↔ SMS-SC SGSN ↔ EIR GGSN ↔ external PDN SGSN ↔ GGSN GGSN ↔ GGSN of different PLMN SGSN ↔ HLR SGSN ↔ MSC Table (1) Very very basic of layered network protocol The OSI reference model is a widely accepted model for open-standard networking. It defines a system that allows distributed application processes to communicate via an underlying data network. It consists of a 7-layer protocol stack that can be subdivided into 2 main sub-layers, i.e. the Application Dependent and Network Dependent layers. This is as shown below. Many networking models are structured based on this OSI reference model, with some modifications. For example, the most widely used Internet protocol, i.e. TCP/IP has the similar layered structure with the application dependent layers (layer 5, 6 & 7) grouped as application layer. This is shown in the following figure. Every defined network model will have the functions of each layer clearly specified in terms of “service” (what to do) and “protocol” (how to do). Each layer offers services to the layer above, and in turn uses the services of the layer below it. To exchange information, the application process of computer A has to send data through to the physical layer, where they are carried via the physical network cable to the physical layer of computer B, and all the way up through to the application process that requires the data in computer B.
Application process Computer A
Application process Computer B
Transport Layer Network dependent
Data Link Layer
Data Link Layer
Figure (2) Application dependent
SMTP, FTP etc
Transport Layer Network dependent
TCP & UDP IP address, IP router Frame relay, ethernet etc
Network Interface Layer Physical Layer Figure (3)
E1, T1 etc
GPRS Protocol Stack The ETSI defined GPRS protocol is based on a layered network model. This is shown as below:
Application IP / X.25
IP / X.25 SNDCP LLC
SNDCP LLC RLC MAC GSM RF RLC MAC GSM RF BSSGP Network Service L1bis
GTP UDP / TCP IP L2 L1
GTP UDP / TCP IP L2 L1
BSSGP Network Service L1bis
This document will only outline the basic concepts of the protocol stack, as it will take a whole literature to explain the details. The Motorola GPRS network architecture will be presented instead of the generic ETSI GPRS model. The function of each network layers will be explained in brief to give an overall understanding of how a GPRS network operates. The Motorola Solution The Motorola GPRS solution is fully compliant to the ETSI recommendation. The below figure is the simplified schematic that illustrates it:
Virtual connection between application
Internet ( IP )
IP / X.25
RLC/ MAC Um mobis GSM RF BSSGP Gb Gb
LLC BSSGP Frame Relay
UDP Gn IP Ethernet (LAN) Gn
RLC/ MAC GSM RF
Figure (5) GGSN and SGSN communicate with each other (Gn) via IP over an Ethernet LAN network. This IP network is entirely internal to the GPRS PLMN and it is not accessible from any external network. Gi is the interface defined for accesses to/from external network (e.g. the Internet) and it has to go through the GGSN. The physical network connections will be at the network hub, as shown in above figure. Gi is not part of ETSI GPRS specifications but the sub-set of all defined network protocols such as TCP/IP, X.25 etc.
The communication between PCU & SGSN (Gb) is via Frame Relay link. Gb is an open standard defined by ETSI that enables inter-operability between different PCU & SGSN suppliers. This is a scenario similar to the “A interface” in GSM specifications. The Um air interface defined in GSM is re-used in GPRS, unchanged. This means that all the BTS hardware (radio carriers, DRIM cards etc) can be re-used for GPRS and only software upgrade, which is downloadable from the OMC-R, is required. The Um interface is of course an open standard and all mobile terminals that are compliant to the ETSI specifications can be used on a Motorola GPRS network. Functions of Network Element (NE) The basic topology of a Motorola GPRS network is shown below. The basic functions of each NE are explained in the following sections. 2 new definitions used are: BSS – Include the parent BSC, co-located PCU and all the child BTS. GSN complex – include GGSN, SGSN, ISS, commHub that are connected to the same LAN.
E1 Frame relay 100BaseT or E1 100BaseT 100BaseT
ISS BTS BTS
Figure (6) OMC-R • BSS Fault Management (Alarms & Events) • BSS Performance Management (Statistics) • BSS Configuration Management (Navigation tree) • BSS Software load & Database Management OMC-G • GSN complex Fault Management (Alarms & Events) • GSN complex Performance Management (Statistics) • GSN complex Configuration Management • GSN complex Software load & Database Management (SGSN) PCU (CPX 8216 cPCI architecture) • Interface BSS to GSN complex • Packetizer. Segmentation of large data frames into smaller radio blocks and concatenation in the reverse direction (RLC ↔ LLC) • Medium Access Control (MAC) of radio channel (Timeslot manager, Packet scheduling etc) • Backward Error Correction & Re-transmission request (ARQ) • Radio resource manager (Power control, Timing advance, Sys-Info etc)
BSC • Normal BSC functions. • Download and storage of PCU Object code & dbase • Operation & Maintenance control of the PCU • GPRS data & signaling routing between BTS & PCU (GSM TRAU ↔ GPRS format) • GPRS traffic load management and congestion control, e.g. maintain uniform load across available BSC-PCU data links BTS • Normal BTS functions • Layer 1 GSM RF function for GPRS (modulation, interleaving etc) SGSN (CPX 8216 cPCI architecture) • Mobility Management (Attach, detach, Routing Area update etc) • Security (Authentication, ciphering etc) • Packet data routing (MS ↔ GGSN) • Compression (SNDCP layer header compression) • PDU Encapsulation & Tunneling (between GGSN & SGSN) • GSM circuit switched interactions (HLR, MSC, etc) • Data packet counting and CDR generation • Interface to BSS via Gb • Logical Link Management (data transfer over LLC) GGSN (Cisco 7206) • Interface to the external data network (support multiple routing protocol, Gi) • Packet data tunneling (between SGSN & GGSN, Gn) • Packet data routing. Routes MT data to correct SGSN and decapsulates MO data from SGSN and routes them to the destination data network • MS address mapping and routing tables • Data packet counting and CDR generation ISS cluster (Internet Support Server) • Time service - Utilizes the Network Time Protocol (NTP) to maintains the real-time clock for the GSN complex. • Domain Name System (DNS) - Provides translation between IP addresses and host names of system components & MS. ([email protected]
to 188.8.131.52 and vice versa) • Charging functions – Charging Gateway (CG) to interface to the network billing system and Charging Detail Record (CDR) storage. • Dynamic Host Configuration Protocol (DHCP) – Dynamically allocates configuration parameters (e.g. IP address) for MS. Communication Hub (Cisco 5500) • Provides the IP backbone (over 100 BaseT Ethernet LAN) for all the NE within a GSN complex. • Provides E1 connections to external data networks. • Datagram routing between GGSN and external data networks. How a packet is sent The operation of the GPRS network is better understood by studying the flow of packet data from one end of the network to the other end. A PDN (Packet Data Network e.g. ISP) has initiated a mobile terminated packet data transfer session. The data will go through the Gi interface and enter the GPRS network at one of the E1
port on the CommHub. The CommHub will route the data to the correct GGSN based on the MS ID. Gi over E1 Ethernet (LAN) Figure (7) Some background When the MS initiates a Packet Data Protocol (PDP) context activation through the current SGSN, a data tunnel, identified by its’ Tunnel ID (TID), is created between the current SGSN and the GGSN (specified in the activation message). The TID is a unique ID that is made up of the MS IMSI and NSAPI (Network layer Service Access Point ID). NASPI identifies the PDP context associated with a PDP address (i.e. the MS IP address). If the MS moves between SGSN, it will initiate a Routing Area (RA) update request and a new data tunnel (with the same TID) will be created between the GGSN & new SGSN. GTP (GPRS Tunneling Protocol) supports the interface between GSNs (Gn) within the same LAN. With GTP, data packets to/from different PDN (independent of the network protocol) can be routed between GSNs, through the IP backbone network. From the PDP context created, the GGSN will be able to resolve address of the current SGSN serving the MS. GTP will then encapsulate the original IP datagram into GTP frame and send it through the data tunnel, over the IP backbone network, to the SGSN. A GTP header (16 bytes) that contains the TID for identification delimits the GTP frame.
Original IPdatgram IP Data virtual path Original IPdatgram IP Data encapsulation GTP
Gi 100 BaseT
Data decapsulation UDP / IP
Data encapsulation UDP / IP
Data Physical path
Figure (8) The SGSN will page for the MS upon the receipt of PDU (Protocol Data Unit) for that MS. The page response will place both the MS and SGSN in “ready” mode for PDU transfer.
Some background SNDCP (Sub Network Dependent Convergence Protocol) is designed to support multi-protocol network layers (e.g. IP, x.25 etc) above it and provide protocol transparency to the protocol layers above and below it. Thus, introducing new network layer is possible without making changes to the lower layer GPRS protocols. Some of the main functions of SNDCP are: • Compression/decompression of user data and protocol control information (e.g. IP header) • Segmentation of N- PDU into LLC frames and re-assembly of LLC frames into N-PDU. SNDC Primitive Network Layer SNDC Primitive
Compression SNDC Layer Segmentation
LLC Layer Figure (9)
The original IP datagram is recovered by stripping off the GTP encapsulation at the GTP layer of the SGSN. It is then relayed to the SNDCP, which performs compression and segments it into smaller frames that are delimited by a SNDCP header. SNDCP then map the frames to the corresponding LLC primitive and passes them to the LLC layer below. Some background LLC (Logical Link Control) layer defines a logical link between the MS & SGSN for reliable PDU transfer. It spans physically across the Um air interface and Gb interface. It is designed to be independent of the underlying radio interface protocol to make possible the introduction of alternative radio protocols in the future. LLC main functions include: • Ciphering • LL-PDU (LLC frame) flow control between MS & SGSN • Error detection and recovery of loss LL-PDU (LLC frame) • Sequence control of LLC frames that might arrive out of sequence. LLC uses frame format that is similar to LAPD and RLP. The frames passed from SNDCP are delimited by a LLC header and a FCS (Frame Check Sequence) at the end of the frame. These LLC frames are then passed to the BSSGP layer below the LLC and sent to the PCU via Gb interface.
Original IP datgram IP Data
Compress & segment
Hdr Hdr Fcs Fcs Data Data
BSSGP Figure (10)
At the PCU, the LLC frames are relayed from the BSSGP layer to the RLC/MAC layer, which is the protocol layer that controls the radio resource (RR) functions of GPRS. The RLC/MAC layer consists of 2 sub-layer, namely the RLC (Radio Link Control) & MAC (Medium Access Control). The main functions of RLC are: • Segmentation and re-assembly of LLC frames into RLC blocks. • Backward Error Correction (BEC) and Automatic Re-transmission Request (ARQ) of loss or corrupted RLC blocks The main functions of MAC later are: • Control of the sharing of common radio resources by multiple MS. E.g. multiple MS sharing one allocated TDMA timeslot, or one MS using multiple TDMA timeslot, or multiple MS sharing multiple timeslot under contention control, etc. • Collision avoidance, detection and recovery mechanisms for MS operating in the above mode. The LLC frames received at the RLC/MAC layer will be segmented into fixed size RLC blocks (456 bits). 4 different coding schemes (CS) with varying protection level are defined for this segmentation process. CS1 (same coding as SDCCH in GSM) with most protection whereas CS4 no protection at all. The choice of CS depends heavily upon the operating RF environment. The raw data rate of each CS is shown below: Coding Scheme CS-1 CS-2 CS-3 CS-4 Protection Highest Lower than CS-1 Lower than CS-2 non Data rate (kbit/s) 9.05 13.4 15.6 21.4
It may appear obvious that using higher CS will result in higher data throughput, which is however not true. As the RF condition deteriorates, higher CS (with lesser protection) will result in more corrupted radio blocks and need re-transmission. Therefore, the PCU has to be able to predict based on the current RF condition and choose the optimum CS to yield maximum throughput. The following graph illustrates the relationship of throughput (kbps) and C/I (dB) for the 4 different CS, in a non-hopping and 3 km/h speed system.
Throughputs – 3 km/h No Hopping
Throughput (kbit/s) 25 20 15 10 5 0 0 4 8 12 CI (dB)
Figure (11) After segmentation, each radio block is delimited by block header and BCS (Block Check Sum) at the end. These blocks are coded per the CS chosen and sent down to the physical RF layer. Every radio block (456bits) will be interleaved and transmitted over 4 normal bursts.
HDR Data FCS
CS1 CS2 CS3 CS4 16 20 24
Coding (CS1 … CS4)
Interleaving Burst formtting Data Data Data Data
Figure (12) After the RLC blocks are received correctly by the MS over the Um air interface, they will be reassembled into the original LLC frames and passed on to the LLC layer. The reverse process goes on where the each subsequent layer will strip off the encapsulation added by the peer layer
and pass the frames to the upper layer until the orignal IP datagram finally reaches the application layer in the MS.