3 Um interface – user plane
Chapter 3 Um interface – user plane Topic
Page
PDP .................................................................................................................. 53 SNDCP ............................................................................................................. 54 LLC .................................................................................................................. 60 RLC/MAC........................................................................................................ 78 GSM RF – Physical Layer ............................................................................. 112
51
Signalling in GPRS/EGPRS
This page is intentionally left blank
52
3 Um interface – user plane
PDP Packet Data Protocol (PDP) is any protocol which transmits user data as discrete units known as packets, e.g., IP. Currently only IPv4, IPv6 and PPP protocols could be used as PDP in GPRS network. MS
BSS
SGSN
GGSN
App. PDP
PDP SNDCP
SNDCP
GTP
GTP
LLC
LLC
UDP/TCP
UDP/TCP
BSSGP
BSSGP
IP
IP
Network Service
Network Service
N E T
N E T
RLC MAC
GSM RF
RLC MAC
---Um--
GSM RF
Physical
---Gb---
Physical
--Gn---
Figure 3-1 Packet Data Protocol (PDP)
IP The Internet Protocol (IP) is nowadays widely used for information exchange between computer networks. It was designed to be media independent and insensitive to network failures. GPRS networks supports both IPv4 and IPv6.
PPP The PPP protocol is specified in RFC 1661. The user plane for the PDP type PPP consists of a PPP protocol stack above SNDCP above GTP in the GGSN. The GGSN either terminates the PPP protocol and access the packet data network at the IP level, or further tunnels PPP PDUs via e.g. L2TP. The PDP type PPP allows subscriber to use different network layer protocols than IP on top of PPP layer (e.g. IPX or AppleTalk).
53
Signalling in GPRS/EGPRS
SNDCP Network layer protocols are intended to be capable of operating over services derived from a wide variety of subnetworks and data links. GPRS supports several network layer protocols providing protocol transparency for the users of the services. Introduction of new network layer protocols to be transferred over GPRS is possible without any changes to GPRS. Therefore, all functions related to transfer of Network layer Protocol Data Units (N-PDUs) are carried out in a transparent way by the GPRS network entities. This is one of the requirements for GPRS SNDCP. The Subnetwork Dependent Convergence (SNDC) protocol is situated below the network layer and above the Logical Link Control layer in the MS and the SGSN. A variety of network layers are supported, e.g., IPv4, IPv6 and X.25. The network-layer packet data protocols share the same SNDCP that then performs multiplexing of data coming from the different sources to be sent across LLC. This is illustrated in Fig. 3-2. Packet Data Protocol
Packet Data Protocol
Packet Data Protocol
N-PDU NSAPI
...
SNDCP SN-PDU SAPI
LLC
Figure 3-2 Multiplexing of network protocols The Subnetwork Dependent Convergence function is defined in terms of offered services and sub-functions. The set of protocol entities above SNDCP consists of commonly used network protocols. They all use the same SNDCP entity, which then performs multiplexing of data coming from different sources to be sent using the service provided by the LLC layer. The Network Service Access Point Identifier (NSAPI) is and index to the PDP context of the PDP that is using the service provided by SNDCP. One PDP may have several PDP contexts and NSAPIs. However, it is possible that each allocated NSAPI is used by separate PDP. Each active NSAPI uses the services provided by the Service Access Point Identifier (SAPI) in the LLC layer. Several NSAPIs may be associated with the same SAPI.
54
3 Um interface – user plane
Services The SNDC function provides the following services to the network layer: •
Transmission and reception of N-PDUs in acknowledged and unacknowledged LLC mode. In acknowledged mode, the receipt of data is confirmed at the LLC layer, and the data is transmitted and received in order per NSAPI. In unacknowledged mode, the receipt of data is not confirmed at the SNDCP layer or at the LLC layer.
•
Transmission and reception between the MS and SGSN of variablelength N-PDUs.
•
Transmission and reception of N-PDUs between the SGSN and MS according to the negotiated QoS profile.
•
Transfer of the minimum amount of data possible between the SGSN and MS through compression techniques.
The SNDC function requires the following services from the LLC layer: •
Acknowledged and unacknowledged data transfer.
•
Ciphered transmission of SN-PDUs.
•
In-order delivery of SN-PDUs per LLC SAPI.
•
Support for variable-length SN-PDUs.
Subfunctions SNDCP performs the following subfunctions: •
Multiplexing of N-PDUs from one or several NSAPIs onto one LLC SAPI. NSAPIs that are multiplexed onto the same SAPI use the same QoS profile.
•
Compression of redundant protocol control information and user data. This may include e.g., TCP/IP header compression and V.42 bis data compression. Compression may be performed independently for each QoS profile. If several network layers use the same QoS delay and traffic handling priority, then one common compressor may be used for these network layers. Compression parameters are negotiated between the MS and the SGSN. Compression is an optional SNDC function.
•
Segmentation and reassembly. The output of the compression subfunctions are segmented to maximum length LLC frames.
55
Signalling in GPRS/EGPRS
header
N-PDU
data
SN-DATA.request
Network Layer
SN-UNITDATA.request
SNDCP
compare header to previous header header header big difference small header
Segmented N-PDU #1
delta
M=0 M=1
control compressor
control compressor
data compressor
data compressor
segmentation
#3 #2 #1
M=0 M=1 M=1
Segmented N-PDU #2
#2 #1
M=0 M=1
Segmented N-PDU #1
segmentation
M=1
SN-DATA PDU
SN-UNITDATA PDU
LL-DATA.request
LL-UNITDATA.request
LLC header
LLC
LLC header
Figure 3-3 SNDCP model
SNSN-PDU formats Each Subnetwork Packet Data Unit SN-PDU contains an integral number of octets, and comprises a header part and a data part. An SN-PDU contains data from a single N-PDU only. Two different SN-PDU formats are defined. The SN-DATA PDU is used for acknowledged data transfer and SN-UNITDATA PDU for unacknowledged data transfer. Bit
8
7
6
5
Oct 1
X
F
T
M
4
3
2
1
NSAPI
2
DCOMP
3
N-PDU number - acknowledged mode
PCOMP
… Data segment N
Figure 3-4 SN-Data PDU format Bit
8
7
6
5
Oct 1
X
F
T
M
2 3 4
4
3
2
DCOMP
PCOMP
Segment number
N-PDU number unacknowledged mode
N-PDU number - unacknowledged mode (continued)
… Data segment N
Figure 3-5 SN-Unitdata PDU format 56
1
NSAPI
3 Um interface – user plane
Spare bit (X): X bit is set to 0. If SN-PDU is received with the Spare bit set to 1, the field is ignored without error notification.
First segment indicator bit (F): 0
This SN-PDU is not the first segment of an N-PDU. The octet including DCOMP and PCOMP is not included in the SN-Data PDU or SNUnitdata PDU format. Also the octet for N-PDU number for acknowledged mode is not included in the SN-Data PDU format.
1
This SN-PDU is the first segment of an N-PDU. The octet for DCOMP and PCOMP is included in the SN-Data PDU or SN-Unitdata PDU format. Also the octet for N-PDU number for acknowledged mode is included in the SN-Data PDU format.
SNSN-PDU Type (T): 0
SN-DATA PDU.
1
SN-UNITDATA PDU.
More bit (M): 0
Last segment of N-PDU.
1
Not the last segment of N-PDU, more segments to follow.
NSAPI: 0
Escape mechanism for future extensions.
1
Point-to-Multipoint Multicast (PTM-M) information.
2-4
Reserved for future use.
5-15 Dynamically allocated NSAPI value. SN-PDU with an unallocated NSAPI value is ignored by the receiving SNDCP entity without error notification.
compression Data co mpression coding (DCOMP): 0
No compression.
1-14 Points to the data compression identifier negotiated dynamically 15
Reserved for future extensions.
SN-PDU with an unallocated DCOMP value is ignored by the receiving SNDCP entity without error notification.
57
Signalling in GPRS/EGPRS
Data compression is an optional SNDCP feature. Data compression applies to both SN-DATA and SN-UNITDATA primitives. Data compression, if used, is performed on the entire N-PDU, including the possibly compressed protocol control information.
control Protocol contr ol information compression coding (PCOMP): 0
No compression.
1-14 Points to the protocol control information compression identifier negotiated dynamically. 15
Reserved for future extensions.
SN-PDU with an unallocated PCOMP is ignored by the receiving SNDCP entity without error notification.
Segment number: 0-15 Sequence number for segments carrying an N-PDU.
N-PDU number - acknowledged mode: 0-255
N-PDU number of the N-PDU.
N-PDU number - unacknowledged mode: 0-4095
N-PDU number of the N-PDU.
Data transfer transfer Acknowledged mode The N-PDU number in acknowledged mode is a number assigned to each N-PDU received by SNDCP through an SN-DATA.request. N-PDU numbers for different NSAPIs are assigned independently. The N-PDU number is included in the SNDCP header of the first segment of an N-PDU. Two variables, the Send N-PDU number and the Receive N-PDU number, are maintained for each NSAPI using acknowledged peer-to-peer LLC operation. When an NSAPI using acknowledged peer-to-peer LLC operation is activated, the Send N-PDU number and the Receive N-PDU number are set to 0. Modulo 256 operation is applied to the Send N-PDU number and the Receive N-PDU number.
58
3 Um interface – user plane
Upon reception of an SN-DATA.request, the SNDCP entity assignees to the N-PDU received the current value of the Send N-PDU number as the N-PDU number, increment the Send N-PDU number by 1, perform the compression and segmentation functions, then forward the SN-PDU(s) in LLDATA.request to the LLC layer. The N-PDU is stored into a buffer in the SNDCP entity. The buffered N-PDU is deleted when the SN-DATA PDU carrying the last segment of the N-PDU is confirmed by an LLDATA.confirm primitive, or when the entire N-PDU is confirmed by an SNSM-SEQUENCE.indication primitive. During normal operation (i.e., not in the recovery state), when the peer SNDCP entity receives the SN-PDU(s) in an LL-DATA.indication primitive, the SNDCP entity reassembles and decompresses the SN-PDU(s) to obtain the N-PDU, increment the Receive N-PDU number by 1, and forward the NPDU to the SNDCP user with the SN-DATA.indication. The correct SNDCP user is identified by the NSAPI field in the SN-PDU(s). Originator SNDCP user
SNDCP
SN-DATA.req
Receiver LLC
LLC
SNDCP
SNDCP user
LL-DATA.req LL-DATA.ind LL-DATA.cnf
Acknowledgement
SN-DATA.ind
Figure 3-6 SNDCP acknowledged data transfer
Unacknowledged mode The N-PDU number in unacknowledged mode is a number assigned to each N-PDU received by SNDCP through an SN-UNITDATA.request. N-PDU numbers for different NSAPIs are assigned independently. The N-PDU number is included in the SNDCP header of every SN-UNITDATA PDU. A variable, the Send N-PDU number (unacknowledged), is maintained for each NSAPI using unacknowledged peer-to-peer LLC operation. When an NSAPI using unacknowledged peer-to-peer LLC operation is activated, the Send N-PDU number (unacknowledged) are set to 0. Modulo 4096 operation is applied to the Send N-PDU number (unacknowledged). Upon reception of an SN-UNITDATA.request, the SNDCP entity assigns the current value of the Send N-PDU number (unacknowledged) as the N-PDU number of the N-PDU received, increment Send N-PDU number (unacknowledged) by 1, compress and segment the information, then forward
59
Signalling in GPRS/EGPRS
the SN-PDU(s) in LL-UNITDATA.request to the LLC layer. The N-PDUs are deleted immediately after the data has been delivered to the LLC layer. When the peer SNDCP entity receives the SN-PDU(s) in the LLUNITDATA.indication primitive, the SNDCP entity reassembles and decompress the SN-PDU(s) to obtain the N-PDU, then forwards it to the SNDCP user with the SN-UNITDATA.indication. The correct SNDCP user is identified by the NSAPI field in the SN-PDU(s). The SNDCP entity detects lost SN-PDUs. The SNDCP entity discards duplicate SN-PDUs and re-order out-of-sequence SN-PDUs, if possible. Originator SNDCP user
SNDCP
SNUNITDATA.req
Receiver LLC
LLUNITDATA.req
LLC
SNDCP
LLUNITDATA.ind
SNDCP user
SNUNITDATA.ind
Figure 3-7 SNDCP unacknowledged data transfer
LLC LLC spans from the MS to the SGSN. LLC is used with both acknowledged and unacknowledged data transfer. The frame formats defined for LLC are based on those defined for LAPD and RLP. However, there are important differences between LLC and other protocols, in particular with regard to frame delimitation methods and transparency mechanisms. These differences are necessary for independence from the radio path. The LLC procedures are modelled upon the concepts of HDLC as outlined in ISO 4335. Data sequence integrity between the data source and data sink is effected by means of a cyclic numbering scheme. The Logical Link Control (LLC) layer structure is shown in Fig. 3-8.
60
3 Um interface – user plane
GPRS Mobility Management L3
LLGMM
LLGMM
SNDCP LL3
LL5
LL9
TOM LL11
TOM2
TOM8
SMS LLSMS
LLC Logical Logical Logical Link EntityLink Entity SAPI=7 Logical Link Entity SAPI=8 Logical Logical Link EntityLink Entity SAPI=2 SAPI=11 Logical Logical Link EntityLink Entity SAPI=9 SAPI=5 Link Entity SAPI=3 SAPI=1
Logical Link Management Entity
Multiplex Procedure
LLC GRR
BSSGP
MS SGSN
RLC/MAC Signalling Signalling and data transfer
RLC/MAC
BSSGP
BSSGP
Figure 3-8 Functional model of the LLC layer
Logical Link Entity The logical link procedures consist of multiple Logical Link Entities (LLEs) that control the information flow of individual connections. There may be multiple LLEs per TLLI. Functions provided by each LLE are: •
unacknowledged information transfer,
•
acknowledged information transfer,
•
flow control,
•
frame error detection.
The LLE analyses the control field of the received frame and provides appropriate responses and layer-to-layer indications. In addition, LLE analyses the LLC layer service primitives and transmits the appropriate command and response frames. There is one logical link entity for each DLCI.
Multiplex procedure On frame transmission, the multiplex procedure generates and inserts the FCS, performs the frame ciphering function, and provides SAPI-based logical link control layer contention resolution between the various LLEs. On frame reception, the multiplex procedure performs the frame decipher function and checks the FCS. If the frame passes the FCS check, the multiplex procedure distributes the frame to the appropriate logical link entity based on the DLCI.
61
Signalling in GPRS/EGPRS
Logical Link Management The Logical Link Management Entity (LLME) manages the resources that have an impact on individual connections. There is one LLME per TLLI. Functions provided by the LLME are: •
parameter initialisation,
•
error processing,
•
connection flow control invocation.
GPRS Mobility Management GPRS Mobility Management (GMM) uses the services of the LLC layer to transfer messages between the MS and the SGSN. GMM includes functions such as attach and authentication, and transport of session management messages for functions such as PDP context activation and deactivation.
Short Message Service The Short Message Service (SMS) uses the services of the LLC layer to transfer short messages between the MS and the SGSN.
Tunnelling Of Messages TOM is a generic protocol layer used for the exchange of TOM Protocol Envelopes between the MS and the SGSN. TOM mechanism is used for interworking with TIA/EIA-136 TDMA/PCS systems.
LLC Transmission Modes Two modes of operation of the LLC layer are defined for information transfer; unacknowledged and acknowledged. The LLC layer supports both modes simultaneously: •
In acknowledged mode, the receipt of LL-PDUs is confirmed. The LLC layer retransmits LL-PDUs if confirmation has not been received within a timeout period.
•
In unacknowledged mode, there is no confirmation required for LLPDUs.
Signalling and SMS are transferred in unacknowledged mode.
62
3 Um interface – user plane
In unacknowledged mode, the LLC layer offers the following two options: •
transport of ‘protected’ information, such that errors within the LLC information field result in the frame being discarded; and
•
transport of ‘unprotected’ information, such that errors within the LLC information field do not result in the frame being discarded. LLC transmission modes acknowledged mode
unacknowledged mode protected unprotected
Figure 3-9 LLC transmission modes
NSAPI and TLLI The Network layer Service Access Point Identifier (NSAPI) and Temporary Logical Link Identity (TLLI) are used for network layer routeing. An NSAPI/TLLI pair is unambiguous within a routeing area. In the MS, NSAPI identifies the PDP-SAP. In the SGSN and GGSN, NSAPI identifies the PDP context associated with a PDP address. Between the MS and the SGSN, TLLI unambiguously identifies the logical link. When the MS requests the activation of a PDP context, the MS selects one of its unused NSAPIs. For example (see Fig. 3-10), the MS receives an IP packet from a connected TE at the IP address A SAP. The IP PDU is encapsulated and NSAPI is initialised to NSAPI-1. TLLI is set to the MS's TLLI before the encapsulated IP packet is passed to the SNDC function. After the IP PDU is received, the SGSN analyses TLLI and NSAPI-1 and determines that the IP PDU shall be sent to the GGSN associated with IP address A. Within a routeing area, there is a one-to-one correspondence between TLLI and IMSI that is only known in the MS and SGSN. If it is not clear from the context which routeing area a TLLI belongs to, then TLLI is used together with RAI.
63
Signalling in GPRS/EGPRS
IP address A SAP GGSN associated with IP address A
NSAPI-1 TLLI NSAPI-2
IP
SGSN GGSN associated with IP address B
IP address B SAP
Gi
Gi
IP
Figure 3-10 Use of NSAPI and TLLI The TLLI address range is divided into four ranges: Local, Foreign, Random, and Auxiliary. The TLLI structure allows the MS and SGSN to deduce the range that a TLLI belongs to. A Local TLLI is derived from the P-TMSI allocated by the SGSN, and is valid only in the RA associated with the PTMSI. A Foreign TLLI is derived from a P-TMSI allocated in another RA. A Random TLLI is selected randomly by the MS, and is used when the MS does not have a valid P-TMSI available. An Auxiliary TLLI is selected by the SGSN, but it is currently unused. If the MS has a valid P-TMSI associated with the RA where the MS is currently located, the MS uses a Local TLLI derived from its P-TMSI, unless the MS performs a GPRS attach. If the MS does not have a valid P-TMSI associated with the current RA, or if the MS performs a GPRS attach, it derives a Foreign TLLI from its P-TMSI, or allocate a Random TLLI if no valid P-TMSI is available. By default, the TLLI transmitted at the RLC/MAC and BSSGP layers is used to identify the MS.
Structure of TLLI A TLLI is built by the MS or by the SGSN either on the basis of the P-TMSI (local or foreign TLLI), or directly (random or auxiliary TLLI), according to the rules described in Fig. 3-11. Part of the TLLI codespace is re-used in GERAN to allow for the inclusion of the GERAN Radio Network Temporary Identifier (G-RNTI) in RLC/MAC messages. G-RNTI is used only in the Iu interface is used between SGSN and PCU.
64
3 Um interface – user plane
bit number
Type of TLLI
31
30
29
28
27
26 to 0
1
1
T
T
T
T
Local TLLI
1
0
T
T
T
T
Foreign TLLI
0
1
1
1
1
R
Random TLLI
0
1
1
1
0
A
Auxiliary TLLI
0
1
1
0
X
X
Reserved
0
1
0
X
X
X
Reserved
0
0
0
0
G
G
Part of the assigned G-RNTI
0
0
0
1
R
R
Random G-RNTI
T
bits derived from a P-TMSI
R bits chosen randomly
G bits derived from the assigned G-RNTI X bits in reserved ranges
A bits chosen by the SGSN
Figure 3-11 Structure of TLLI 'T', 'R', 'A' and 'X' indicate bits which can take any value for the type of TLLI. More precisely, 'T' indicates bits derived from a P-TMSI, 'R' indicates bits chosen randomly, 'A' indicates bits chosen by the SGSN, 'G' indicates bits derived from the assigned G-RNTI and 'X' indicates bits in reserved ranges.
SAPI SAPI identifies a point at which LLC services are provided by an LLE to a layer-3 entity. Consequently, SAPI identifies an LLE that should process an LLC frame and also a layer-3 entity that is to receive information carried by the LLC frame. SAPI allows 16 service access points to be specified. The SAPI values are allocated as shown in Fig. 3-12.
65
Signalling in GPRS/EGPRS
SAPI
Related service
SAP name
0000
Reserved
-
0001
GPRS Mobility Management
LLGMM
0010
Tunnelling of messages 2
TOM2
0011
User data 3
LL3
0100
Reserved
-
0101
User data 5
LL5
0110
Reserved
-
0111
SMS
LLSMS
1000
Tunnelling of messages 8
TOM8
1001
User data 9
LL9
1010
Reserved
-
1011
User data 11
LL11
1100
Reserved
-
1101
Reserved
-
1110
Reserved
-
1111
Reserved
-
Figure 3-12 Allocation of SAPI values
Frame structure All LLC layer peer-to-peer entities exchanges frames conforming to the format shown in Fig. 3-13. 8
7
6
5
4
3
2
Address Field (1 octet)
Control Field (1-36 octets)
Information Field (variable length, max. N201 octets)
Frame Check Sequence Field (3 octets)
Figure 3-13 LLC frame format
66
1
3 Um interface – user plane
Address field The address field consists of a single octet. The address field contains the SAPI and identifies the LLC entity for which a downlink frame is intended and the LLC entity transmitting an uplink frame. Address field also includes Command/Response (C/R) field that is used to discriminate between command and response frames.
Control field The control field typically consists of between one and three octets. The SACK supervisory frame also includes a variable-length bitmap field of up to 32 octets.
Information field The information field of a frame, when present, follows the control field. The minimum length of the information field is 140 octets and the maximum length depends on SAPI value and transmission mode: •
SAPI=1 – GMM (unacknowledged mode – UI-frames) – 400 octets,
•
SAPI=2 and 8 – TOM (unacknowledged mode – UI-frames) – 270 octets,
•
SAPI=7 – SMS – SMS (unacknowledged mode – UI-frames) – 270 octets,
•
SAPI=3, 5, 9, 11 – user data (unacknowledged mode – UI-frames) - 500 octets,
•
SAPI=3, 5, 9, 11 – user data (acknowledged mode – I-frames) – 1503 octets,
Frame Check Sequence (FCS) field The FCS field consists of a 24 bit Cyclic Redundancy Check (CRC) code. The CRC-24 is used to detect bit errors in the frame header and information fields. The FCS field contains the value of a CRC calculation that is performed over the entire contents of the header and information field, except for UI frames transmitted in unprotected mode, in which case the FCS field contains the value of a CRC calculation that is performed over the frame header and the first 4 octets of the information field containing SNDCP SN-UNITDATA PDU header.
67
Signalling in GPRS/EGPRS
Control field functions The main function of the control field is discrimination between various frame types. The following frame types are defined: Format Information + Supervisory
Unnumbered
Commands
Responses
RR ACK RNR SACK UI DISC SABM XID NULL
RR ACK RNR SACK DM UA FRMR XID -
Figure 3-14 LLC frame types
Unnumbered (U) frames Set Asynchronous Balanced Mode (SABM) command The SABM unnumbered command is used to place the addressed MS or SGSN side into ABM acknowledged operation. An LLE confirms acceptance of a SABM command by the transmission at the first opportunity of a UA response. Upon acceptance of this command, the LLE's reset the N(S) and N(R) sequential counters. An information field is permitted with the SABM command. If included, the information field contains XID parameters. This allows the LLC peers to negotiate LLC layer parameters and layer-3 parameters with the SABM command and UA response.
SGSN SABM (optionally XID par.)
ack mode
ack mode
UA (optionally XID par.)
Figure 3-15 ABM setup 68
3 Um interface – user plane
Disconnect (DISC) command The DISC unnumbered command is transmitted in order to terminate the ABM operation. No information field is permitted with the DISC command. Prior to executing the command, the LLE receiving the DISC command confirms the acceptance of a DISC command by the transmission of a UA response. The LLE sending the DISC command terminates the ABM operation when it receives the acknowledging UA or DM response.
SGSN ack mode
ack mode
DISC UA / DM Figure 3-16 ABM termination
Unnumbered Acknowledgement (UA) response The UA unnumbered response is used by an LLE to acknowledge the receipt and acceptance of the mode-setting commands (SABM or DISC). Received mode-setting commands are not actioned until the UA response is transmitted. An information field is only permitted when UA is the response to a SABM command. The UA response in this case contains XID parameters with negotiated XID values. Disconnected Mode (DM) response The DM unnumbered response is used by an LLE to report to its peer that the LLE is in a state such that ABM operation cannot be performed. An LLE transmits a DM response to any valid command received that it cannot action.
69
Signalling in GPRS/EGPRS
SGSN
Command
ack mode
ack mode
#$??
DM SABM UA ack mode
Figure 3-17 DM frame usage Frame Reject (FRMR) response The FRMR unnumbered response may be received by an LLE as a report of a frame rejection condition not recoverable by retransmission of the identical frame (e.g. receipt of a command or response control field that is undefined or not implemented, receipt of a supervisory or unnumbered frame with incorrect length, receipt of an I frame with an information field that exceeds the maximum established length). An information field that immediately follows the control field and that consists of 10 octets is returned with this response to provide the reason for the FRMR response.
SGSN
FRMR (#$??) Figure 3-18 FRMR frame usage
70
ack mode
ack mode
#$??
3 Um interface – user plane
Exchange Identification (XID) command/response This frame is used to negotiate and re-negotiate LLC layer parameters and layer-3 parameters. XID frames can be transmitted in ADM and ABM. The negotiation procedure is one-phase, i.e., one side starts the process by sending an XID command, offering a certain set of parameters from the applicable parameter repertoire the sending entity wants to negotiate, proposing values within the allowed range. In return, the other side sends an XID response, either confirming these parameter values by returning the requested values, or offering higher or lower ones in their place. During the exchange of XID frames the values of the following parameters are negotiated: •
LLC version number,
•
Ciphering input offset for UI frames (IOV-UI),
•
Ciphering input offset for I frames (IOV-I),
•
Retransmission time-out (T200),
•
Maximum number of retransmissions (N200),
•
Maximum information field length for U and UI frames (N201-U),
•
Maximum information field length for I frames (N201-I),
•
I frame buffer size in the downlink directory (mD),
•
I frame buffer size in the uplink directory (mU),
•
Window size in the downlink direction (kD),
•
Window size in the uplink direction (kU),
•
Layer-3 parameters (e.g. PCOMP and DCOMP values).
SGSN XID (parameters) XID (parameters)
LLC ver, IOV UI, IOV I, T200, N200, N201-U, N201-I, mD, mU, kD, kU, Layer-3 par. e.g. PCOMP and DCOMP
Figure 3-19 XID parameters and XID frame usage
71
Signalling in GPRS/EGPRS
NULL command The NULL unnumbered command is used by an MS LLE to indicate a cell update. No information field is permitted with the NULL command.
BSS
SGSN BSSGP
NULL
+ cell, TLLI
Figure 3-20 NULL frame usage
Information Unconfirmed Informatio n (UI) frame When a layer-3 entity requests unacknowledged information transfer, the UI command is used to send information to its peer. No verification of sequence numbers is performed for UI frames. Therefore, the UI frame may be lost without notification to the layer-3 entity if a logical link exception occurs during transmission of the command. UI frames contain N(U), the unconfirmed sequence number of transmitted UI frames.
SGSN N(U)=0
UI (L3 info)
N(U)=0
UI (L3 info)
N(U)=1
UI (L3 info) UI (L3 info)
N(U)=2
unack mode
N(U)=1
UI (L3 info)
Figure 3-21 UI frame usage
framess Combined Information (I) and Supervisory (S) frame The function of the information (I) frame is to transfer, across a logical link connection, sequentially-numbered frames containing information fields provided by layer 3. This frame is only used in the ABM operation. Each I frame also contains supervisory information, in effect ‘piggy-backing’ an S frame with each I frame, so that it may be considered to be an I+S frame. A separate S frame is sent when there is no information field to be transferred. Whether an I+S or S frame is transmitted as a command or as a response is insignificant in the ABM procedures. 72
3 Um interface – user plane
Send sequence number N(S) is a sequential number of the information and supervisory frames (I+S frames). The sequence numbers are calculated separately for each direction. Receive sequence number N(R), is included in I+S frames (I+S frames) and as well as in supervisory frames (S frames). N(R) is the expected send sequence number of the next I frame to be received. Receive Ready (RR) command / response The receive ready (RR) supervisory frame is used by an LLE to: •
indicate that it is ready to receive an I frame,
•
acknowledge previously received I frames numbered up to and including N(R) – 1.
In addition to indicate the status of an LLE, the RR frame with the A bit set to 1 may be used by the LLE to request an acknowledgement from its peer LLE. The transmission of an RR frame also indicates the clearance of any busy condition within the sending LLE that was reported by the earlier transmission of an RNR frame by the same LLE.
SGSN SABM UA I+RR (L3 info)
N(R)=0
N(S)=0
I+RR (L3 info)
N(R)=1
N(S)=1
I+RR (L3 info)
N(R)=1
N(S)=2
I+RR (L3 info)
N(R)=1
RR
N(R)=3
N(S)=3
I+RR (L3 info)
N(R)=1
N(S)=4
I+RR (L3 info)
N(R)=1
RR
N(R)=5
ack mode
N(S)=0
Figure 3-22 RR frame usage Acknowledgement (ACK) command / response The ACK supervisory frame is used by an LLE to acknowledge a single or multiple I frames. Frames up to and including N(R) - 1, and frame N(R) + 1, have been received correctly.
73
Signalling in GPRS/EGPRS
In addition to indicate the status of an LLE, the ACK frame with the A bit set to 1 may be used by the LLE to request an acknowledgement from its peer LLE. The transmission of an ACK frame also indicates the clearance of any busy condition within the sending LLE that was reported by the earlier transmission of an RNR frame by the same LLE.
SGSN SABM UA I+RR (L3 info)
N(R)=0
N(S)=1
I+RR (L3 info)
N(R)=0
N(S)=2
I+RR (L3 info)
N(R)=0
ACK
N(R)=1
N(S)=1
I+RR (L3 info)
N(R)=0
N(S)=3
I+RR (L3 info)
N(R)=0
ack mode
N(S)=0
Figure 3-23 ACK frame usage Selective Acknowledgement (SACK) command / response The SACK supervisory frame is used by an LLE to acknowledge a single or multiple I frames. Frames up to and including N(R) - 1, and frames indicated by the SACK bitmap, have been received correctly. SGSN SABM UA I+RR (L3 info)
N(R)=0
N(S)=1
I+RR (L3 info)
N(R)=0
N(S)=2
I+RR (L3 info)
N(R)=0
N(S)=3
I+RR (L3 info)
N(R)=0
N(S)=4
I+RR (L3 info)
N(R)=0
N(S)=5
I+RR (L3 info)
N(R)=0
N(S)=2 N(S)=4
SACK (0,1,0,...,n) N(R)=2 I+RR (L3 info) N(R)=0 I+RR (L3 info)
N(R)=0
Figure 3-24 SACK frame usage 74
ack mode
N(S)=0
3 Um interface – user plane
In addition to indicate the status of an LLE, the SACK frame with the A bit set to 1 may be used by the LLE to request an acknowledgement from its peer LLE. The transmission of a SACK frame also indicates the clearance of any busy condition within the sending LLE that was reported by the earlier transmission of an RNR frame by the same LLE. Receive Not Ready (RNR) command / response The receive not ready (RNR) supervisory frame is used by an LLE to indicate a busy condition; that is, a temporary inability to accept additional incoming I frames. The value of N(R) in the RNR frame acknowledges I frames numbered up to and including N(R) - 1. In addition to indicate the status of an LLE, the RNR frame with the A bit set to 1 may be used by the LLE to request an acknowledgement from its peer LLE.
SGSN
SABM UA I+RR (L3 info)
N(R)=0
N(S)=1
I+RR (L3 info)
N(R)=0
N(S)=2
I+RR (L3 info)
N(R)=0
N(S)=3
I+RR (L3 info)
N(R)=0
RNR
N(R)=4
RR
N(R)=0
RR
N(R)=0
RR
N(R)=4
I+RR
N(R)=0
N(S)=3
ack mode
N(S)=0
Figure 3-25 RNR frame usage
Other command field functions Poll/Final bit (P/F) All U frames contain the Poll/Final (P/F) bit. The P/F bit serves a function in both command frames and response frames. In command frames the P/F bit is referred to as the P bit. In response frames it is referred to as the F bit.
75
Signalling in GPRS/EGPRS
The P bit set to 1 is used by an LLE to solicit (poll) a response frame from the peer LLE. The F bit set to 1 is used by an LLE to indicate the response frame transmitted as a result of a soliciting (poll) command.
SGSN Command (P=1) Response (F=1) Figure 3-26 P/F bit usage Acknowledgement request bit (A) All I+S and S frames contain the Acknowledgement Request (A) bit. The A bit set to 1 is used by an LLE to solicit an acknowledgement (i.e., an I+S or S frame) from the peer LLE. The A bit set to 0 is used by an LLE to indicate that the peer LLE is not requested to send an acknowledgement.
SGSN I+S / S (A=1) I+S / S (ack) Figure 3-27 A bit usage
Ciphering This section describes how LLC interfaces with the GPRS ciphering algorithm.
Ciphering algorithm interface The ciphering algorithm has four input parameters: the 64-bits long ciphering key (Kc) received from GMM, the frame-dependent input (Input), the transfer direction (Direction), ciphering algorithm type received from GMM and one output parameter (Output). The relationship between the input and output parameters and the ciphering algorithm is illustrated in Fig. 3-28.
76
3 Um interface – user plane
Input Direction
Kc
Input Direction
Ciphering Algorithm
Kc
Output Unciphered Frame
Ciphering Algorithm Output Deciphered Frame
Ciphered Frame
MS or SGSN
SGSN or MS
Figure 3-28 GPRS ciphering environment
Generation of Input The Input parameter is generated according to the following algorithm if the frame is a UI frame: Input = ( ( IOV-UI ⊗ SX ) + LFN + OC ) modulo 232 The Input parameter is generated according to the following algorithm if the frame is an I frame: Input = ( IOV-I + LFN + OC ) modulo 232 where: •
IOV-UI is a 32 bit random value generated by the SGSN.
•
IOV-I is a 32 bit random value generated by the SGSN.
•
LFN is the LLC frame number in the LLC frame header. LFN is a binary value with a length of nine bits. For I frames, N(S) is used as the LFN. For UI frames, N(U) is used as the LFN.
•
OC is a binary overflow counter that is calculated and maintained independently at the sending and receiving sides. The length of OC is 32 bits. There are four OC counters associated with each SAPI; two for unacknowledged information transfer (one for each direction of transmission), and two for acknowledged information transfer (one for each direction of transmission). An OC for acknowledged operation is set to 0 whenever ABM operation is (re-)established for the corresponding SAPI. OC is incremented by 512 every time when the corresponding LFN rolls over, i.e., when LFN exhausts its modulo and restarts counting from 0, so that OC and LFN when added together in effect is a 32 bit modulo 232 counter.
•
SX is a 32 bit SAPI XOR mask calculated as follows: SX = 227 • SAPI + 231.
•
+ is the binary addition operation.
•
⊗ is the bitwise XOR operation. 77
Signalling in GPRS/EGPRS
RLC/MAC In order to address a data block to/from a certain MS and to control the access to the channel(s) shared by a number of MSs, Medium Access Control (MAC) protocol - is used. Another protocol, Radio Link Control (RLC) is used for segmentation and reassembly of LLC PDUs into RLC/MAC blocks and, in RLC acknowledged mode of operation, for the Backward Error Correction (BEC) procedures enabling the selective retransmission of unsuccessfully delivered RLC/MAC blocks. In RLC acknowledged mode of operation, the RLC function preserves the order of higher layer PDUs provided to it. The RLC function provides also link adaptation. In EGPRS in RLC acknowledged mode of operation, the RLC function may provide Incremental Redundancy (IR). The RLC and MAC protocols’ information shares the same data block structure. RLC/MAC block carries user information (traffic) or signalling messages as a payload.
MAC Medium Access Control address a data block to/from a certain MS control the access to the channel(s) shared by a number of MSs
RLC Radio Link Control segmentation and reassemble of LLC PDUs into RLC/MAC blocks retransmission of unsuccessfully delivered RLC/MAC blocks (ack mode) preserves the order of higher layer PDUs (ack mode) link adaptation IR - Incremental Redundancy (EGPRS ack mode)
Figure 3-29 RLC/MAC functions
78
3 Um interface – user plane
MAC modes Packet idle mode In packet idle mode: •
No temporary block flow (TBF) exists.
•
The MS monitors the relevant paging subchannels on PCCCH or CCCH.
•
Upper layers may require the transfer of an upper layer PDU, which implicitly triggers the establishment of a TBF and the transition to packet transfer mode.
•
Upper layers may require the establishment of a GSM RR connection. When the MS enters dedicated mode, it may leave the packet idle mode, if the MS limitations make it unable to handle the RR connection and the procedures in packet idle mode simultaneously.
Packet transfer mode In packet transfer mode, the MS is allocated radio resources providing a TBF for physical point-to-point connection on one or more PDCH for the transfer of upper layer PDUs between the network and the MS. When a transfer of upper layer PDUs terminates, in either downlink or uplink direction, the corresponding TBF is released. When all TBFs have been released, in downlink and uplink direction, the MS returns to packet idle mode. In packet transfer mode, upper layers may require the establishment of a GSM RR connection. When the MS enters GSM dedicated mode, it may abort all ongoing TBFs and leave the packet transfer mode, if the MS limitations make it unable to handle the RR connection and the procedures in packet transfer mode simultaneously.
Dual transfer mode In dual transfer mode, the MS is allocated radio resources providing an RR connection on a dedicated TCH channel and one or more TBFs on one or more PDCHs. The allocation of radio resources for the RR connection and the TBFs is co-ordinated by the network, in agreement with the capabilities of the MS in dual transfer mode.
79
Signalling in GPRS/EGPRS
Packet Idle Mode no Temporary Block Flow (TBF) exists MS monitors the relevant paging subchannels on (P)CCCH
Packet Transfer Mode MS is allocated radio resources providing a TBF for physical p-to-p connection on one or more PDCH for the transfer of upper layer PDUs
Dual Transfer Mode MS is allocated RR on a dedicated TCH MS is allocated TBFs on one or more PDCHs
Figure 3-30 MAC modes
RLC/MAC control messages Fig. 3-31 summarises the RLC/MAC control messages. Uplink TBF establishment messages: Packet Access Reject Packet Channel Request EGPRS Packet Channel Request Packet Queuing Notification Packet Resource Request Packet Uplink Assignment Additional MS Radio Access Capabilities Downlink TBF establishment messages: Packet Downlink Assignment TBF release messages: Packet TBF Release RLC messages: Packet Downlink Ack/Nack EGPRS Packet Downlink Ack/Nack Packet Uplink Ack/Nack
System information messages: Packet System Information Type 1 Packet System Information Type 2 Packet System Information Type 3 Packet System Information Type 3 bis Packet System Information Type 3 ter Packet System Information Type 3 quarter Packet System Information Type 4 Packet System Information Type 5 Packet System Information Type 6 Packet System Information Type 7 Packet System Information Type 8 Packet System Information Type 13 Packet System Information Type 14 Packet System Information Type 15 Paging message: Packet Paging Request
Miscellaneous messages: Packet Control Acknowledgement Packet Cell Change Failure Packet Cell Change Order Packet Downlink Dummy Control Block Packet Uplink Dummy Control Block Packet Measurement Report Packet Measurement Order Packet Mobile TBF Status Packet Enhanced Measurement Report Packet PDCH Release Packet Polling Request Packet Power Control/Timing Advance Packet PRACH Parameters Packet PSI Status Packet Pause Packet Timeslot Reconfigure
Figure 3-31 RLC/MAC control messages
TBF The transmission of RLC/MAC blocks (a physical connection) in downlink or uplink direction is called Temporary Block Flow (TBF). MS can have uplink TBF, downlink TBF, or two separate TBFs in both directions. TBF is assigned to the MS during the procedure of TBF establishment, which can be initiated by the MS or the network. The TBF is allocated radio resources on one or more PDCHs.
80
3 Um interface – user plane
A TBF is temporary and is maintained only for the duration of the data transfer i.e. until there are no more RLC/MAC blocks to be transmitted and, in RLC acknowledged mode, all of the transmitted RLC/MAC blocks have been successfully acknowledged by the receiving entity. A TBF may operate in either GPRS or EGPRS TBF mode.
TFI To distinguish between RLC/MAC blocks belonging to different TBFs (users) sharing the same PDCH, the Temporary Flow Identity (TFI) is used. The usage of TFI is shown in Fig. 3-32. In this example TSs from 3 up to 7 on a radio channel are allocated as PDCHs. These PDCHs are used by 4 MSs. MS 1 is using PDCHs on TSs: 3, 4 and 5, MS 2 on TSs: 4, 5 and 6, MS 3 on TSs: 6 and 7, and MS 4 on TS 7. GSM CS BPC
TS ->
0
1
GPRS PS PDCH
2
3
4
5
MS 1 TFI = 1 MS 2 TFI = 2
6
7
MS 3 TFI = 3 MS 4 TFI = 1
Figure 3-32 Usage of TFI The TFI value is unique among concurrent TBFs in the same direction (uplink or downlink) on all PDCHs used for the TBF. The same TFI value may be used concurrently for TBFs on other PDCHs in the same direction and for TBFs in the opposite direction. An RLC/MAC block associated with a certain TBF comprises a TFI. The TBF is identified by the TFI together with, in case of a RLC data block, the direction (uplink or downlink) in which the RLC data block is sent; and in case of a RLC/MAC control message, the direction in which the RLC/MAC control message is sent and the message type.
81
Signalling in GPRS/EGPRS
Global_TFI is used to unambiguously identify the MS in packet transfer mode state within an uplink or downlink RLC/MAC control message. If present, the Global TFI addresses the MS using either an uplink TFI or downlink TFI of the MS.
USF in dynamic allocation mode The header of each downlink data block contains an Uplink State Flag (USF), which notifies MSs with uplink TBF assigned and sharing the same PDCH, which MS is allowed to send the next block on uplink. The usage of USF is shown in Fig. 3-33. USF is unique only on one PDCH. The MS gets the list of allocated PDCHs during the TBF establishment procedure – they are identified by ARFCN and TSs together with USF values. GSM CS BPC
UL TDMA TS -> TS MS 1
0
1
2
4 5 6 7
USF 1 1 1 1
GPRS PS PDCH
3
MS1 4 TS
MS 2
TS
MS2 5
0
1
2
3
5 6 7
USF 2 3 5
4 5 6
MS 3
USF 2 3 4 DL TDMA TS ->
MS2 6
MS4 7 MS 4
TS
7
USF 2
USF=1
USF=3
USF=4
USF=2
4
5
6
7
Figure 3-33 Usage of USF (dynamic allocation) All MSs with uplink TBFs receive downlink control blocks on these PDCHs that are allocated to them on uplink. When the MS detects its USF on a certain PDCH (downlink) it can transmit the next data block on this PDCH (uplink). For example MS 1 is assigned PDCHs on TSs: 4, 5, 6 and 7; and on all these TSs it has USF equal to 1. It listens to data blocks sent on the downlink and only on TS 4 it detects its USF, so it is only allowed to transmit one uplink data block on TS 4. USF avoids collisions on uplink, as only one MS is allowed to transmit on each PDCH at a certain time. MS with only downlink TBF established, has also to send some control blocks on the uplink. These blocks are used to report received signal quality and to send acknowledgements for the correctly received data blocks on the
82
3 Um interface – user plane
downlink. The network can allow MS to transmit a single block on uplink by setting the Relative Reserved Block Period (RRBP) field in the RLC/MAC block header sent to this MS on downlink. The USF field is three bits in length and eight different USF values can be assigned, except on PCCCH, where the value ‘111’ (USF=FREE) indicates that the corresponding uplink radio block contains PRACH.
USF in the extended dynamic allocation allocation The Extended Dynamic Allocation (EDA) method extends the Dynamic Allocation to allow higher uplink throughput that is especially important for halfduplex MS with multislot classes above multislot class 10, that is for MS that are able to transmit on more slots then they are able to receive in some multislot configurations. Without Extended Dynamic Allocation it is not possible to fully utilise uplink transfer capabilities of these MSs. In EDA, the MS monitors its assigned PDCHs starting with the lowest numbered PDCH, then the next lowest numbered PDCH, etc. Whenever the MS detects an assigned USF value on an assigned PDCH, the MS transmits a single RLC/MAC block on the same PDCH and all higher numbered assigned PDCHs.
UL TDMA TS ->
0 MS 1
1 TS
MS1
MS1
MS1
MS1
2
3
4
5
2 3 4 5
MS 2
USF 1 2 6 1
DL TDMA TS ->
0
1
TS
MS2 6
MS2 7
5 6 7
USF 2 3 4
USF=1
USF=0
2
3
USF=0 USF=0
4
5
USF=3
USF=0
6
7
Figure 3-34 Usage of USF (Extended Dynamic Allocation)
Multiplexing of GPRS and EGPRS TBFs GPRS and EGPRS TBF mode capable MSs can be multiplexed dynamically on the same PDCH. A MS in GPRS TBF mode has to be able to detect the USF that assigns the uplink to that MS. The network uses GMSK modulation, i.e. either CS-1 to CS-4 or MCS-1 to MCS-4, in those blocks. The other blocks may use 8PSK modulation.
83
Signalling in GPRS/EGPRS
In such situation there is a possibility to use USF_GRANULARITY parameter (present in the messages used for uplink TBF establishment) in order to decrease the number of radio blocks modulated with GMSK. USF_GRANULARITY parameter controls the number of blocks to be send after each reception of the assigned value of the USF (1 blocks or 4 consecutive blocks). The MS does not need to monitor the USF during the block periods in which the MS obtains permission to transmit, thus those block can be modulated with 8PSK. For mobile station synchronization reasons, if GPRS MSs are multiplexed on the PDCH, at least one downlink radio block every 360ms is transmitted to each MS with a coding scheme and a modulation that can be decoded by that MS.
Segmentation Data block segmentation Segmentation of upper layer PDUs allows for transport of upper layer PDUs larger than the data field of a single RLC data block. If the contents of an upper layer PDU do not fill an integer number of RLC data blocks, the beginning of the next upper layer PDU is placed within the final RLC data block of the first upper layer PDU, with no padding or spacing between the end of the first upper layer PDU and the beginning of the next. If the final upper layer PDU in the TBF does not fill an integer number of RLC data blocks, filler octets are used to fill the remainder of the RLC data block.
LLC RLC
M=0, E=1, LI
M=1, E=1, LI
M=1, E=1, LI
Figure 3-35 Data block segmentation
84
M=1, E=0, LI
3 Um interface – user plane
A Block Sequence Number (BSN) is included in the header of each RLC data block to number the RLC data block. The RLC data blocks are numbered consecutively, modulo SNS - Sequence Number Space (128 in GPRS and 2048 in EGPRS), to allow re-assembly of the upper layer PDUs on the receiving side. During RLC acknowledged mode operation, received upper layer PDUs are delivered to the higher layer in the order in which they were originally transmitted.
BSS 1
1
1
2
3
2
3
2
3
4
4
4
5
5
5
Figure 3-36 BSN - Block Sequence Number (ack mode) During RLC unacknowledged mode operation, received upper layer PDUs are delivered to the higher layer in the order in which they are received. Fill bits having the value ‘0’ are substituted for RLC data units not received. However, in EGPRS TBF mode, for erroneous RLC data blocks for which the header is correctly received, the output from decoder is delivered to the higher layer.
BSS 1
1
1
2
3
2
3
2
3
4
4
4
5
5
5
000...000
Figure 3-37 BSN - Block Sequence Number (unack mode)
85
Signalling in GPRS/EGPRS
Control message segmentation The network may segment RLC/MAC control messages into one, two or up to nine RLC/MAC control blocks depending on the length of the RLC/MAC control message. Segmentation of an RLC/MAC control message into more than two RLC/MAC control blocks is referred to as extended RLC/MAC control message segmentation. Extended RLC/MAC control message segmentation is not used for an RLC/MAC control message that can be sent using one or two RLC/MAC control blocks. If the contents of a control message do not fit an integer number of control blocks, filler octets are used to fill the remainder of the RLC/MAC control block. The Final Segment (FS) bit of the RLC/MAC control block header is set according to whether the RLC/MAC control block contains the final segment of an RLC/MAC control message, except in case of extended RLC/MAC control message segmentation in which case the FS bit is always set to ‘0’. In case of extended RLC/MAC control message segmentation, the Final Segment extension (FSe) bit of the RLC/MAC control block header (included in the second RLC/MAC control block onwards) is set according to whether the RLC/MAC control block contains the final segment of an RLC/MAC control message.
RTI=0 RBSN=1 FS=1 RTI=1 RBSN=1 FS=1 max 31
RTI=0 RBSNe=1 FSe=0 0
RTI=1 RBSN=0 FS=0
RTI=0 RBSNe=0 FSe=0
RTI=0 RBSNe=2 FSe=0
RTI=0 RBSNe=n FSe=1 RTI=1 RBSN=1 FS=0 1
0
RTI=0 RBSN=0 FS=0
RLC/MAC control messages
BSS
1
RLC/MAC control messages
BSS
max 31
Figure 3-38 Control message segmentation
Acknowledgements Acknowledgements Acknowledgement for control message No general acknowledgement is made as part of the transfer of RLC/MAC control blocks or RLC/MAC control messages. The receiver is not allowed to acknowledge an RLC/MAC control block except when a valid RRBP field is present in the MAC header of the RLC/MAC control block. 86
3 Um interface – user plane
Each downlink RLC/MAC control block header, if present, contains a Radio Transaction Identifier (RTI) field that is 5 bits in length and performs in effect a modulo 32 count of the downlink RLC/MAC control messages sent on a PDCH. The RTI field is used to group the RLC/MAC control blocks that make up an RLC/MAC control message. The RTI field allows the transmitting and receiving entities to distinguish between up to 32 RLC/MAC control messages in a single transmit direction therefore allowing up to 32 parallel transactions per PDCH. All segments of a segmented control message are transmitted on the same PDCH.
BSS Control Message RTI=x RRBP=n Packet Control Acknowledgement RTI=x
DL
UL
RRBP
Figure 3-39 Acknowledgement for control message
Acknowledgement for data blocks The RLC Automatic Repeat reQuest (ARQ) functions support two modes of operation: RLC acknowledged mode and RLC unacknowledged mode. RLC acknowledged mode operation uses retransmission of RLC data blocks to achieve high reliability. RLC unacknowledged mode operation does not utilise retransmission of RLC data blocks. A TBF may operate in either RLC acknowledged mode or RLC unacknowledged mode. The MS sets the RLC mode of the uplink TBF by setting the RLC_MODE bit to either RLC acknowledged mode or RLC unacknowledged mode in the Packet Resource Request or the (EGPRS) Packet Downlink Ack/Nack message. When the establishment cause field in the Packet Channel Request message indicates ‘one phase access’, the RLC mode defaults to RLC acknowledged mode. The network sets the RLC mode of the downlink TBF by setting the RLC_MODE bit in the Packet Downlink Assignment message.
87
Signalling in GPRS/EGPRS
Acknowledged GPRS TBF mode The transfer of RLC data blocks in the RLC acknowledged mode uses retransmissions of RLC data blocks. The transmitting side numbers the RLC data blocks via the block sequence number (BSN). The BSN is used for retransmission and for reassembly. The receiving side sends Packet Ack/Nack messages in order to request retransmission of RLC data blocks. RLC/MAC Window Size (WS) in GPRS TBF mode is 64.
BSS Data Block BSN=20 retransmission
Data Block BSN=21 Data Block BSN=22 Packet Uplink Ack/Nack SSN=20, RBB=(0,1) Data Block BSN=21 Data Block BSN=23
Figure 3-40 Acknowledged GPRS UL TBF mode
BSS Data Block BSN=20 Data Block BSN=21
Packet Downlink Ack/Nack SSN=20, RBB=(0,1) Data Block BSN=21 Data Block BSN=23 DL
UL
RRBP
Figure 3-41 Acknowledged GPRS DL TBF mode
88
retransmission
Data Block BSN=22, RRBP=n
3 Um interface – user plane
The Packet Downlink/Uplink Ack/Nack contains: •
Starting Sequence Number (SSN) specifying BSN of the last block in the sequence of correctly received data blocks.
•
Receive Block Bitmap (RBB) representing Block Sequence Numbers of the data block with BSN higher than SSN and indicating positive or negative acknowledgements for corresponding data blocks,
•
channel quality report.
In GPRS TBF mode, once an RLC data block has been transmitted over the physical link, should it be necessary to re-transmit the RLC data block, it must be re-transmitted using the same channel coding scheme, BSN, and CV as it had in the previous transmission.
-4 CS 3 2 1
BSS
5 4
ack k/N 5) c A & 4 link wn locks o D it b t cke sm Pa etran (r
-2 CS
BSS
BSS 8
7
-4 CS
6 5
4
In GPRS TBF mode, once an RLC data block has been transmitted, it must be re-transmitted using the same CS, BSN, and CV as it had in the previous transmission.
Figure 3-42 Retransmissions for GPRS
Acknowledged EGPRS TBF m mode ode In EGPRS TBF mode, the transfer of RLC Data Blocks in the acknowledged RLC/MAC mode may be controlled by a selective type I ARQ mechanism, or by type II hybrid ARQ (Incremental Redundancy: IR) mechanism, coupled with the numbering of the RLC Data Blocks within one Temporary Block Flow. In the type I ARQ mode, decoding of an RLC data block is solely based on the prevailing transmission (i.e. erroneous blocks are not stored). In the type II ARQ case, erroneous blocks are stored by the receiver and a joint decoding with new transmissions is done. If the memory for IR operation runs out in the MS, the MS indicates this by setting the MS_OUT_OF_MEMORY bit in the EGPRS Packet Downlink Ack/Nack message. For uplink TBFs, the network may implicitly set the type I mode by ordering the MS to use a specific MCS and setting the RESEGMENT bit or type II mode by ordering the MS to use a specific MCS and not setting the RESEGMENT bit.
89
Signalling in GPRS/EGPRS
BSS Data Block BSN=20 Data Block BSN=21 retransmission
Data Block BSN=22 EGPRS Packet Downlink Ack/Nack Data Block BSN=21 Data Block BSN=23
Figure 3-43 Type II ARQ modes in EGPRS In EGPRS TBF mode, once an RLC data block has been transmitted over the physical link, should it be necessary to re-transmit the RLC data block, it must be re-transmitted using the same BSN and the same calculated CV as were used in the previous transmission. The modulation and coding scheme may be changed. For the retransmissions, the same or another MCS from the same family of MCSs may be selected. E.g. if MCS-7 is selected for the first transmission of an RLC block, any MCS of the family B may be used for the retransmissions. Further, RLC data blocks initially transmitted with MCS-4, MCS-5, MCS-6, MCS-7, MCS-8 or MCS-9, may be retransmitted with MCS1, MCS-2 or MCS-3, by sending the different parts of the RLC data block in different radio blocks. In this case, the split block field in the header is set to indicate that the RLC data block is split, and the order of the two parts.
S-9 MC 3 2 1
BSS
5 4
ck Na ck/ 5) A & k nlin s 4 ow block D t it cke sm Pa retran (
BSS
BSS
S-3 MC
6 5
4
In EGPRS TBF mode, for the retransmissions, the same or another MCS from the same family of MCSs may be selected
Figure 3-44 Retransmissions in EGPRS RLC/MAC Window Size (WS) is from 64 to 1024.
90
3 Um interface – user plane
Unacknowledged mode operation The transfer of RLC data blocks in the RLC unacknowledged mode does not include any retransmissions, except during the release of an uplink TBF where the last transmitted uplink block may be retransmitted. The Block Sequence Number (BSN) in the RLC data block header is used to number the RLC data blocks for reassembly. The receiving side sends Packet Ack/Nack messages in order to convey the necessary other control signalling (e.g. monitoring of channel quality for downlink transfer or timing advance correction for uplink transfers).
Establishment of downlink TBF MS in Standby state The downlink TBF establishment procedure is illustrated in Fig. 3-45. Each step is explained in the list below.
BSS (Packet) Paging Request (P)PCH Cell Update Packet Downlink Assignment (P)AGCH Packet Control Acknowledgement PACCH PACCH PDTCH PACCH
Figure 3-45 DL TBF establishment in Standby state ‘Packet paging request’ (PPCH) or ‘Paging request’ (PCH) containing MS identity (P-TMSI) is sent to the MS within all cells belonging to the RA. When MS decodes its own identity in ‘(Packet) Paging request’ it performs cell update procedure (transfer of an LLC frame). The network assigns the downlink TBF in ‘Packet Downlink Assignment’ message sent on PAGCH or AGCH. This message contains description of
91
Signalling in GPRS/EGPRS
downlink radio resources that will be used by MS including Temporary Flow Identity (TFI) that will identify RLC/MAC blocks sent to the MS. The network, when assigning downlink radio resources, takes into account the MS’s multislot class specified by the MS during GPRS attach procedure. The network sends packets to the MS on PDTCH. MS acknowledges the receipt of data blocks on PACCH.
MS in Ready state When a GPRS MS is in Ready state its current cell is known so the paging is not necessary. MS in Ready state and in Packet Idle mode monitors relevant (P)CCCH blocks. This means that the assignment of downlink TBF on (P)AGCH is possible without prior paging. When in packet transfer mode (MS has already an uplink TBF assigned), MS receives the downlink TBF assignment on PACCH. Downlink TBF establishment in MS Ready state and Packet Idle mode is shown in Fig. 3-46.
BSS Packet Downlink Assignment (P)AGCH Packet Control Acknowledgement PACCH PACCH PDTCH PACCH
Figure 3-46 DL TBF establishment in Ready state and Packet Idle mode The network assigns the downlink TBF in ‘Packet Downlink Assignment’ message sent on (P)AGCH. The network sends packets to the MS on PDTCH. MS acknowledges the reception of data blocks on PACCH. Downlink TBF establishment in MS Ready state and in Packet Transfer mode is shown in Fig. 3-47.
92
3 Um interface – user plane
BSS
Packet Downlink Assignment PACCH Packet Control Ack PACCH PACCH PDTCH PACCH
Figure 3-47 DL TBF establishment in Ready state and Packet Transfer Mode MS transfers the packets to the network on PDTCH. Network sends the acknowledgements for the received data blocks to the MS on PACCH. MS receives the ‘Packet Downlink Assignment’ on PACCH. Packets and acknowledgements are sent in both directions.
Establishment of uplink TBF The uplink TBF establishment is more complicated than the downlink TBF establishment because the network has no idea about the amount of data the MS wants to send to the network. There are two types of uplink TBF establishment: •
one-phase, when MS does not specify precisely the amount of data it wants to send to the network; and the network can assign uplink radio resources only on one PDCH.
•
two-phase, when MS specifies precisely the amount of RLC/MAC data to be sent, together with RLC mode and some QoS parameters and the network can assign radio resources on a number of PDCHs trying to meet MS needs.
One-phase uplink TBF establishment procedure is shown in Fig. 3-48.
93
Signalling in GPRS/EGPRS
BSS (Packet) (EGPRS) Channel Request (P)RACH Packet Uplink Assignment (P)AGCH Packet Control Acknowledgement PACCH PACCH PDTCH PACCH
Figure 3-48 UL TBF establishment – one-phase setup MS sends ‘(Packet) Channel Request’ on (P)RACH. Inside the message MS indicates that it initiates one-phase uplink TBF establishment procedure. The network sends ‘Packet Uplink Assignment’ message on (P)AGCH containing the description of uplink radio resources (PDTCH): ARFCN (or ARFCN, HSN and MAIO in case of a hopping channel), TS, TFI, USF and coding scheme (CS), MS transfers the packets to the network on the assigned PDTCH. The network acknowledges the data blocks on PACCH. Two-steps uplink TBF establishment procedure is shown in Fig. 3-49.
BSS (Packet) (EGPRS) Channel Request (P)RACH Packet Uplink Assignment (P)AGCH Packet Resource Request PACCH Packet Uplink Assignment PACCH Packet Control Acknowledgement PACCH PACCH PDTCH PACCH
Figure 3-49 UL TBF establishment – two-step setup 94
3 Um interface – user plane
MS sends ‘(Packet) Channel Request’ on (P)RACH. Inside the message MS indicates that it initiates the two-phase uplink TBF establishment procedure. The network sends ‘Packet Uplink Assignment’ message on (P)AGCH allowing MS to transfer a single data block on a certain PDCH. MS sends a single data block containing the ‘Packet Resource Request’ message, which specifies the MS demand for uplink radio resources. The network allocates uplink radio resources for the MS according to MS needs and its multislot class. The ‘Packet Uplink Assignment’ message, among other parameters, contains: •
ARFCN (or ARFCNs, HSN and MAIO in case of a hopping channel),
•
TS numbers and corresponding values of USF,
•
TFI,
•
CS.
MS transfers the packets to the network on the specified PDTCH(s). The network acknowledges the receipt of data blocks on PACCH(s). When the MS is in Packet Transfer Mode (MS has a downlink TBF assigned) the establishment of uplink TBF can be done on PACCH, see Fig. 3-50.
BSS
Packet Resource Request PACCH Packet Uplink Assignment PACCH Packet Control Ack PACCH PACCH PDTCH PACCH
Figure 3-50 UL TBF establishment in Packet Transfer Mode
95
Signalling in GPRS/EGPRS
Release of downlink TBF The network initiates the release of a downlink TBF by sending an RLC data block with the FBI set to the value 1 and with a valid RRBP field. The MS transmits than a (EGPRS) Packet Downlink Ack/Nack message in the specified uplink block. If retransmissions are required, then the network stops TBF release procedure and retransmits necessary RLC data blocks before re-initiating the release of the downlink TBF. If no retransmission is required, the network and the MS release the TBF after timer T3192 expires (0 - 1.5s). If the network has received the Packet Control Acknowledgement message and has new data to transmit for the MS, while T3192 is still running, the network establishes a new downlink TBF for the MS by sending on PACCH the Packet Downlink Assignment message with the Control Ack bit set to '1'.
BSS Data Block Data Block Data Block FBI=1, RRBP=n T3192
T3192
Packet Downlink Ack/Nack
Figure 3-51 Release of downlink TBF
Delayed release of downlink TBF When the network exhausts its supply of downlink data for a downlink TBF, it may release the TBF. If a TBF is not instantly released, the network may continue the downlink TBF awaiting new data to be received from the upper layers for up to 5s. After a period of inactivity, the TBF is released at a point determined by the network. If the network continues a downlink TBF when the supply of downlink data is exhausted, the RLC entity on the network side inserts filler information into the RLC data blocks that are transmitted to the MS. This is achieved by the insertion of LLC UI Dummy commands into the TBF. The FBI bit in the RLC
96
3 Um interface – user plane
header is set to the value 0 unless the network releases the TBF, in which case the FBI bit is set to the value 1. If new data is received from the upper layers, the network stops sending filler information and resumes normal operation during RLC data block transfer. RLC data blocks are sent to the MS as required to prevent the expiry of timer T3190 for each TBF and as needed to poll the MS for the provision of PACCH uplink blocks.
BSS
T3190
Data Block FBI=0, RRBP=k Packet Downlink Ack/Nack LLC UI Dummy commands FBI=0, RRBP=l
T3190
Packet Downlink Ack/Nack LLC UI Dummy commands FBI=0, RRBP=m
T3190
Packet Downlink Ack/Nack
Packet Downlink Ack/Nack
T3192
T3192
LLC UI Dummy commands FBI=1, RRBP=n
Figure 3-52 Delayed release of downlink TBF By delaying the release of a downlink TBF a TBF is kept alive longer, which reduces frequent TBF setups releases. With this, the throughput for bursty traffic such as web browsing and e-mails etc. is improved significantly.
Release of uplink TBF Countdown procedure The MS sends the Countdown Value (CV) in each uplink RLC data block to indicate the current number of remaining RLC data blocks for the uplink TBF. The countdown procedure starts when RLC data blocks include CV values lower than 15. When the MS transmits the last RLC data block currently in the send buffer for the TBF the RLC data block has CV set to the value 0.
97
Signalling in GPRS/EGPRS
When an EGPRS RLC/MAC block for data transfer consists of two RLC data blocks, a CV value is calculated for each block and the CV of the RLC/MAC header refers to the second RLC data block.
BSS Data Block CV=15 Data Block CV=15 Data Block CV=15 Data Block CV=14 Data Block CV=13 Data Block CV=1 Data Block CV=0 Packet Uplink Ack, FAI=1, RRBP=n Packet Control Ack
Figure 3-53 Countdown procedure The MS indicates the end of the TBF by sending the RLC data block with CV = 0. When the network detects the end of the TBF (i.e. when CV=0) it sends a Packet Uplink Ack/Nack message with the Final Ack Indicator (FAI) bit set to '1', includes a valid RRBP field in the RLC/MAC control block header. If the Packet Uplink Ack/Nack message has the FAI bit set to ‘1’ and the MS does not initiate the establishment of a new uplink TBF, the MS transmits the Packet Control Acknowledgement message and releases the TBF. If there are no other ongoing TBFs, the MS enters packet idle mode. If the Packet Uplink Ack/Nack message does not have the FAI bit set to '1', the MS repeats sending the last block with CV=0, until a Packet Uplink Ack/Nack message with FAI bit set to '1' is received for this TBF, however the block with CV=0 can not be retransmitted more than four times. If the network does not receive the Packet Control Acknowledgement message or the Packet Resource Request (establishment of a new uplink TBF) message for the TBF in the radio block indicated by the RRBP field, it retransmits the Packet Uplink Ack/Nack message for the TBF.
98
3 Um interface – user plane
(non onmode)) Countdown procedure (n on-extended UL TBF mode When the MS has started countdown procedure it is only allowed to transmit as many data block as declared in the CV field. When all blocks have been sent (and acknowledged in case of acknowledged TBF mode) the uplink TBF is released. If the RLC entity of the MS receives new data from upper layers after the countdown procedure was started it has to release the uplink TBF after the last ‘old’ data block has been sent. In order to send ‘new’ packets a new uplink TBF has to be established.
BSS
new LLC
Data Block CV=15 Data Block CV=15 Data Block CV=15 Data Block CV=14 Data Block CV=13 Data Block CV=1 Data Block CV=0 Packet Uplink Ack, FAI=1, RRBP=n Packet Resource Request
Figure 3-54 Countdown in non-extended uplink TBF mode
Countdown procedure (extended UL TBF mode) In an uplink TBF operating in extended uplink TBF mode, the CV indicate the current number of RLC data blocks that has not been transmitted in the uplink TBF. The MS recalculates the CV for any untransmitted RLC data block when the RLC entity of the MS receives new data from upper layers for transmission in the uplink TBF.
99
Signalling in GPRS/EGPRS
BSS Data Block CV=15 Data Block CV=15 Data Block CV=15 Data Block CV=14 Data Block CV=15 Data Block CV=14
new LLC
Data Block CV=1 Data Block CV=0 Packet Uplink Ack, FAI=1, RRBP=n Packet Control Acknowledgement
Figure 3-55 Countdown in extended uplink TBF mode
Extended uplink TBF mode Network support of the extended uplink TBF mode is indicated by the NW_EXT_UTBF parameter that is broadcast on either BCCH or PBCCH. The extended uplink TBF mode is a part of the GERAN Feature Package 1. A MS indicating support of GERAN Feature Package 1 in the MS Classmark 3 supports the extended uplink TBF mode. In extended uplink TBF mode, an uplink TBF may be maintained during temporary inactive periods, where the MS has no RLC information to send, for up to 5s. During the temporary inactive periods, the MS may stop sending RLC data block. The network continue allocating the MS uplink radio blocks during the inactivity period allowing the MS to continue the transfer of RLC data blocks, when a new RLC data block becomes available. When the MS is allocated an uplink radio block and there is no RLC data block ready to send for this TBF, the MS sends an RLC/MAC control block in each uplink radio block allocated by the network. The network may allow, via the EXT_UTBF_NODATA parameter broadcast in GPRS Cell Options, any MS during extended uplink TBF mode not to send any Packet Uplink Dummy Control Block message when there is no other RLC/MAC block ready to send for this TBF. During a period when the network does not receive any RLC data blocks from the MS, the network may periodically send a PACKET UPLINK ACK/NACK message to the MS to prevent timer T3184 from expiring. 100
3 Um interface – user plane
The network may initiate the release an uplink TBF by sending a Packet Uplink Ack/Nack message with the Final Ack Indicator set to ‘1’ and a valid RRBP field. Than the MS transmits the Packet Control Acknowledgement or Packet Resource Request message to establish a new uplink TBF and release the old TBF.
BSS Data Block CV=0 Packet Uplink Ack/Nack FAI=0
T3184
USF Packet UL Dummy Block Packet Uplink Ack/Nack FAI=0
Packet Uplink Ack/Nack FAI=1, RRBP=n Packet Control Acknowledgement
Figure 3-56 Extended uplink TBF mode
GPRS RLC/MAC block structure Different RLC/MAC block structures are defined for data transfers and for control message transfers. The RLC/MAC block structures for data transfers are different for GPRS and EGPRS, whereas the same RLC/MAC block structure is used for control message transfers. The RLC/MAC block for GPRS data transfer consists of a MAC header and an RLC data block. The RLC data block consists of an RLC header, an RLC data unit and spare bits. The RLC data unit contains octets from one or more upper layer PDUs. The RLC/MAC block for control message transfer consists of a MAC header and an RLC/MAC control block.
101
Signalling in GPRS/EGPRS
RLC/MAC block RLC data block
MAC header RLC header
RLC data unit RLC/MAC control block
MAC header
RLC/MAC control block
Figure 3-57 RLC/MAC block structure The RLC data block consists of an RLC header, an RLC data unit, and spare bits. An RLC/MAC block containing an RLC data block may be encoded using any of the available channel coding schemes CS-1, CS-2, CS-3, or CS-4. Channel Coding Scheme
RLC data block size
CS-1
22
CS-2
32
CS-3
38
CS-4
52
Figure 3-58 RLC data block size
Downlink RLC data block The Downlink RLC data block together with its MAC header is formatted as shown in Fig. 3-59. 8
7
Payload Type
6
5
4
RRBP
S/P
PR
3
2
1
USF
TFI BSN
MAC header FBI
Octet 1
E
Octet 2
Length indicator
M
E
Octet 3 (optional)
Length indicator
M
E
Octet M (optional) Octet M+1
RLC data
Octet N2 spare
Figure 3-59 Downlink RLC data block with MAC header
102
3 Um interface – user plane
Payload Type The Payload Type field indicates the type of data contained in remainder of the RLC/MAC block: 00
RLC/MAC block contains an RLC data block.
0 1 RLC/MAC block contains an RLC/MAC control block that does not include the optional octets of the RLC/MAC control header. 1 0 In the downlink direction, the RLC/MAC block contains an RLC/MAC control block that includes the optional first octet of the RLC/MAC control header. In the uplink direction, this value is reserved. 11
Reserved.
RRBP The Relative Reserved Block Period (RRBP) value specifies a single uplink block in which the MS is allowed to transmit a single block in the uplink direction. If the RRBP field is received as part of an ‘RLC/MAC control block’, the MS transmits a Packet Control Acknowledgement message in the uplink radio block specified. If the RRBP field is received as part of an ‘RLC/MAC data block’, the MS transmit a PACCH block in the specified uplink radio block. RRBP value indicates the number of TDMA frames (13, 17 or 18, 21 or 22, 26), the MS has to wait before transmitting the uplink RLC/MAC block. The delay is relative to the TDMA frame of the downlink block containing the RRBP value.
S/P The Supplementary/Polling (S/P) bit is used to indicate whether the RRBP field is valid or not valid.
USF The Uplink State Flag (USF) field is sent in all downlink RLC/MAC blocks and indicates the owner or use of the next uplink radio block on the same timeslot. The USF field is three bits in length and eight different USF values can be assigned, except on PCCCH, where the value '111' (USF=FREE) indicates that the corresponding uplink radio block contains PRACH.
103
Signalling in GPRS/EGPRS
PR The Power Reduction (PR) field indicates the power level reduction of the current RLC block. If downlink power control is not used, the MS ignores the PR field.
TFI In RLC data blocks, the Temporary Flow Identity (TFI) identifies the Temporary Block Flow (TBF) to which the RLC data block belongs. For the downlink and the uplink TFI the TFI field is 5 bits in length and are encoded as a binary number with range 0 to 31. In downlink RLC/MAC control blocks, the TFI identifies the Temporary Block Flow (TBF) to which the RLC/MAC control message contained in the downlink RLC/MAC control block relates. If present, this field indicates the MS to which the control message is addressed. If this field is not present all MS interprets the contents of the control message.
FBI FBI The Final Block Indicator (FBI) bit indicates that the downlink RLC data block is the last RLC data block of the downlink TBF.
BSN The Block Sequence Number (BSN) field carries the sequence number of each RLC data block within the TBF.
E The Extension (E) bit is used to indicate the presence of an optional octet in the RLC data block header (extension octet follows immediately / no extension octet follows).
Length Indicator The Length Indicator (LI) is used to delimit upper layer PDUs within the RLC data block. The first LI indicates the number of octets of the RLC data field belonging to the first Upper Layer PDU, the second LI indicates the number of octets of the RLC data field belonging to the second upper layer PDU, etc. Only the last segment of any upper layer PDU of a TBF (either this segment carries the entire Upper Layer PDU or not) is identified with a LI within the corresponding RLC data block.
104
3 Um interface – user plane
M The More (M) bit, along with the E bit and the LI, are used to delimit LLC PDUs within a TBF. When the M bit is present it indicates whether or not another LLC PDU follows the current one within the RLC data block.
RLC data The RLC data field contains octets from one or more upper layer PDUs. The RLC data field may contain parts of one or two upper layer PDUs and all of an arbitrary number of Upper Layer PDUs. The E bit, the M bit, and the Length Indicator delimit the RLC data field into upper layer PDUs. If the last upper layer PDU of a downlink TBF or an uplink RLC data block with CV = 0 does not fill the entire RLC data field, an extension octet is used to indicate the number of valid RLC data octets. The remainder of the RLC data field is filled with filler octets with the value '00101011'. Only the last RLC data block of a downlink TBF or an uplink RLC data block with CV = 0 may contain filler octets. If an uplink TBF is continued after the RLC data block with CV = 0, the next upper layer PDU starts with the first octet of the RLC data field of the next in sequence RLC data block.
Uplink RLC data block The Uplink RLC data block together with its MAC header is formatted as shown in Fig. 3-60. 7
spare
6
5
4
Countdown Value
PI
3
2
1
SI
R
MAC header
TI
Octet 1
E
Octet 2
TFI BSN Length indicator
M
E
Octet 3 (optional)
Length indicator
M
E
Octet M (optional) Octet M+1 Octet M+2
TLLI
Octet M+3 Octet M+4
PFI
E
optional
8
Payload Type
Octet M+5 Octet M+6
RLC data Octet N spare
Figure 3-60 Uplink RLC data block with MAC header
105
Signalling in GPRS/EGPRS
Countdown Value The Countdown Value (CV) field is sent by the MS to allow the network to calculate the number of RLC data blocks remaining for the current uplink RLC entity.
SI The Stall Indicator (SI) bit indicates whether the mobile's RLC transmit window can advance (i.e. is not stalled) or can not advance (i.e. is stalled).
R The Retry (R) bit indicates whether the MS transmitted the Channel Request message, Packet Channel Request message, or EGPRS Packet Channel Request message one time or more than one time during its most recent channel access.
PI The PFI Indicator (PI) indicates the presence of the optional PFI field.
TI The TLLI Indicator (TI) bit indicates the presence of an optional TLLI field within the RLC data block.
TLLI The TLLI field contains a Temporary Logical Link Identifier (TLLI).
PFI The PFI field contains a Packet Flow Identifier (PFI).
RLC/MAC control control blocks The RLC/MAC control block consists of a control message contents field and in the downlink direction an optional control header. An RLC/MAC control blocks is always encoded using the coding scheme CS-1.
Downlink RLC/MAC control block The Downlink RLC/MAC control block together with its MAC header is formatted as shown in Fig. 3-61.
106
3 Um interface – user plane
8
7
Payload Type RBSN
6
5
4 S/P
RRBP
3
2 USF
RTI
FS TFI
PR RBSNe
FSe
1 MAC header AC D
spare
Octet 1 (optional) Octet 2 (optional) Octet 2/3 (optional) Octet M
Control Message Contents Octet 21 Octet 22
Figure 3-61 DL RLC/MAC control block together with its MAC header
RBSN The Reduced Block Sequence Number (RBSN) bit carries the sequence number of the downlink RLC/MAC control blocks. The RBSN bit is encoded as a binary number with range 0 to 1.
RTI The Radio Transaction Identifier (RTI) field is used to group the downlink RLC/MAC control blocks that make up an RLC/MAC control message and identifies the segmented control message sequence with which the downlink RLC/MAC control block is associated. The RTI field is five bits in length with range 0 to 31.
FS The Final Segment (FS) bit indicates that the downlink RLC/MAC control block contains the final segment of an RLC/MAC control message except when it is sent using extended RLC/MAC control message segmentation.
AC The Address Control (AC) bit is used to indicate the presence of the optional TFI/D octet in the header of downlink RLC/MAC control blocks.
D The Direction (D) bit indicates the direction of the TBF identified by the TFI field in the downlink RLC/MAC control block header (uplink TBF, downlink TBF).
RBSNe The Reduced Block Sequence Number extension (RBSNe) field together with the RBSN bit indicate the sequence number of the downlink RLC/MAC control blocks of an RLC/MAC control message segmented using extended
107
Signalling in GPRS/EGPRS
RLC/MAC control message segmentation. The RBSNe field is encoded as a binary number with range 0 to 7. Along with the FS bit and the FSe bit, they allow for extended RLC/MAC control message segmentation.
FSe The Final Segment extension (FSe) bit indicates that the downlink RLC/MAC control block contains the final segment of an RLC/MAC control message segmented using extended RLC/MAC control message segmentation. The FSe bit is only present from the second RLC/MAC control block onwards.
Control message contents The Control message contents field contains exactly one segment from one RLC/MAC control message field (i.e. RLC/MAC control block).
Uplink RLC/MAC control block The Uplink RLC/MAC control block together with its MAC header is formatted as shown in Fig. 3-62. 8
7
6
Payload Type
5
4 spare
3
2
1 R
MAC header Octet 1 Octet 2 Octet 3
Control Message Contents
Octet 21 Octet 22
Figure 3-62 Uplink RLC/MAC control block together with its MAC header
EGPRS RLC/MAC block structure The RLC/MAC block for EGPRS data transfer consists of a combined RLC/MAC header and one or two RLC data blocks. Each RLC data blocks contain octets from one or more upper layer PDUs. RLC/MAC block
RLC/MAC header
RLC data block 1
RLC data block 2 MCS-7, MCS-8 and MCS-9 only
Figure 3-63 EGPRS RLC/MAC block structure
108
3 Um interface – user plane
In each transfer direction, uplink and downlink, three different header types are defined. Which header type that is used depends on the Modulation and Coding Scheme (MCS).
EGPRS RLC data blocks and RLC/MAC headers The EGPRS RLC data block consists of a FBI (downlink) or TI (uplink) field and an E field followed by an EGPRS RLC data unit The size of the EGPRS RLC data unit for each of the MCSs is shown in Fig. 3-64. Channel Coding Scheme
EGPRS RLC data unit size
Family
MCS-1
22
C
MCS-2
28
B
MCS-3
37
A
MCS-4
44
C
MCS-5
56
B
MCS-6
74
A
MCS-7
2*56
B
MCS-8
2*68
A
MCS-9
2*74
A
The three families of EGPRS RLC data blocks based on a common size basis (22, 28 and 37 octets) enable link adaptation retransmission.
Figure 3-64 EGPRS RLC data unit size
EGPRS downlink RLC data block The EGPRS downlink RLC data blocks are formatted according to Fig. 3-65. 8
7
6
5
4
3
2
1
FBI
E
Length indicator
E
Length indicator
E
Octet 1 (optional)
Octet M (optional) Octet M+1
RLC data Octet N
Figure 3-65 EGPRS downlink RLC data block
109
Signalling in GPRS/EGPRS
Length Indicator The Length Indicator (LI) is used to delimit Upper Layer PDUs within the RLC data block. The first Length Indicator indicates the number of octets of the RLC data field belonging to the first Upper Layer PDU, the second Length Indicator indicates the number of octets of the RLC data field belonging to the second Upper Layer PDU, etc. Only the last segment of any Upper Layer PDU, including those with only one segment, is identified with a Length Indicator. The length indicator is placed in the RLC data block corresponding to the last segment of the Upper Layer PDU, unless the Upper Layer PDU without the corresponding LI field fills the RLC data block precisely. In that case, the Length Indicator is placed as the first Length Indicator in the next in sequence RLC data block and take the value 0. If the Upper Layer PDU does not fill the current RLC data block, a Length Indicator with value 127 (111 1111) is included as the last Length Indicator of the current RLC data block, indicating that there is no following Upper Layer PDU in this RLC data block. If the Upper Layer PDU does not fill the RLC data block and there is only one octet left, then the Length Indicator corresponding to the Upper Layer PDU is the last Length Indicator field that is included in the RLC data block. In case an Upper Layer PDU cannot be transmitted completely in the current RLC data block and will not be continued in the next in-sequence RLC data block, the corresponding Length Indicator have the value 127. The final RLC data block of a TBF has a Length Indicator field corresponding to the final Upper Layer PDU unless the final Upper Layer PDU fills the RLC data block precisely. If the final Upper Layer PDU fills the final RLC data block precisely, the final Upper Layer PDU is sent without a corresponding Length Indicator field. The Length Indicator field is 7 bits in length and is encoded as a binary number. The valid values are the values ranging from 0 to 74 and the value 127. All other values are reserved.
EGPRS Uplink RLC data block The EGPRS uplink RLC data block is formatted according to Fig. 3-66.
110
3 Um interface – user plane
8
7
6
5
4
3
2
1
TI
E
Length indicator
E
Octet 1 (optional)
Length indicator
E
Octet M (optional) Octet M+2
TLLI
Octet M+3
optional
Octet M+1
Octet M+4 PFI
E
Octet M+6
RLC data Octet N
Figure 3-66 Uplink EGPRS RLC data block
EGPRS Downlink RLC/MAC header The EGPRS combined downlink RLC/MAC header for MCS-7, MCS-8 and MCS-9 (header type 1) is shown in Fig. 3-67 as an example of the downlink EGPRS combined RLC/MAC header. 8
7
TFI
6
5
4
BSN1
3
2
PR
1
USF
ES/P
RRBP
Octet 1
TFI
Octet 2
BSN1 BSN2 CPS
Octet 3 BSN1 BSN2
Octet 4 Octet 5
Figure 3-67 EGPRS downlink RLC/MAC header (MCS-7 – MCS-9) EGPRS Supplementary/Polling (ES/P) Field The ES/P field is used to indicate whether the RRBP field is valid or not valid, and what fields the next uplink control block contains. CPS In EGPRS header, the Coding and Puncturing Scheme indicator field (CPS) is used to indicate the kind of channel coding and puncturing used for data blocks.
RLC/MAC EGPRS Uplink RLC /MAC header The EGPRS combined uplink RLC/MAC header for MCS-7, MCS-8 and MCS-9 (header type 1) is shown in Fig. 3-68 as an example of the uplink EGPRS combined RLC/MAC header.
111
Signalling in GPRS/EGPRS
8
7
6
TFI
5
4
3
Countdown Value BSN1
2
1
SI
R
TFI BSN1
BSN2 PI
Octet 2 Octet 3
BSN2 spare
Octet 1
Octet 4 CPS
RSB spare
Octet 5 Octet 6
Figure 3-68 EGPRS uplink RLC/MAC header (MCS-7 – MCS-9) RSB The Resent Block Bit (RSB) indicates whether any of the RLC data blocks contained within the EGPRS radio block have been sent previously.
GSM RF – Physical Layer The Physical Layer represents functions required to transfer the bits over the physical channels on the radio medium. The physical layer consists of functions like channel coding for error detection, error correction, interleaving, burst formatting, and modulation.
Channel Coding Four coding schemes, CS-1 to CS-4, are defined for the GPRS packet data traffic channels. For all other GPRS packet control channels than Packet Random Access Channel (PRACH) and Packet Timing Advance Control Channel on Uplink (PTCCH/U), coding scheme CS-1 is always used. For access bursts on PRACH, two coding schemes are specified. The lower coding schemes have a high amount of channel coding and give a low data rate. The higher coding schemes have less channel coding and give a higher data rate. The coding scheme that offers the best performance varies depending on the radio link quality. Fig. 3-69 below shows the performance (i.e. throughput) of the coding schemes as a function of the radio link quality (C/I). CS-1 offers the highest throughput when the radio link quality is poor while CS-4 offers the best performance in good radio conditions.
112
Throughput per channel kb/s
3 Um interface – user plane
CS-1 20
CS-2 CS-3 CS-4
10
0
5
10
15 C/I [dB]
20
25
30
Figure 3-69 GPRS CS performance Nine Modulation and Coding Schemes, MCS-1 to MCS-9, are defined for the EGPRS packet data traffic channels. For all EGPRS packet control channels the corresponding GPRS control channel coding is used. MSs supporting EGPRS supports MCS-1 to MCS-9 in downlink and MCS-1 to MCS-4 in uplink. In case an MS supporting EGPRS is 8-PSK capable in uplink, it also supports MCS-5 to MCS-9 in uplink. 60
MCS-9 MCS-8
Throughput per channel kb/s
50 MCS-7
40
30
MCS-6
MCS-5
20
MCS-4 MCS-3 MCS-2 MCS-1
10
0 5
10
15
20
25
30
35
40 C/I [dB]
Figure 3-70 EGPRS MCS performance
113
Signalling in GPRS/EGPRS
GPRS PDTCH Four different coding schemes, CS-1 to CS-4, are defined for the GPRS Radio Blocks carrying RLC data blocks. The block structures of the CS are shown in Fig. 3-71 and Fig. 3-72. Radio Block USF
RLC/MAC info
BCS
rate 1/2 convolutional coding
puncturing
456 bits
Figure 3-71 Radio Block structure for CS-1 to CS-3 Radio Block USF
RLC/MAC info
BCS
block code
456 bits
Figure 3-72 Radio Block structure for CS-4 The first step of the coding procedure is to add a Block Check Sequence (BCS) for error detection. For CS-1 - CS-3, the second step consists of pre-coding USF (except for CS-1), adding four tail bits and a half rate convolutional coding for error correction that is punctured to give the desired coding rate. For CS-4 there is no coding for error correction.
114
3 Um interface – user plane
Scheme
Code rate
USF
Pre-coded USF
Radio Block excl. USF & BCS
BCS
Tail
CS-1
1/2
3
3
181
40
4
456
0
9.05
CS-2
≈2/3
3
6
268
16
4
588
132
13.4
CS-3
≈3/4
3
6
312
16
4
676
220
15.6
CS-4
1
3
12
428
16
456
-
21.4
Coded Punctured Data rate bits bits kb/s
Figure 3-73 Coding parameters for GPRS coding schemes CS-1 is the same coding scheme as specified for SACCH. It consists of a half rate convolutional code for FEC and a 40 bit FIRE code for BCS (and optionally FEC). CS-2 and CS-3 are punctured versions of the same half rate convolutional code as CS-1 for FEC. CS-4 has no FEC. CS-2 to CS-4 uses the same 16 bit CRC for BCS. The CRC is calculated over the whole uncoded RLC Data Block including MAC Header. The USF has 8 states, which are represented by a binary 3 bit field in the MAC Header. For CS-1, the whole Radio Block is convolutionally coded and USF needs to be decoded as part of the data. All other coding schemes generate the same 12 bit code for USF. The USF can be decoded either as a block code or as part of the data. In order to simplify the decoding, the stealing bits of the block are used to indicate the actual coding scheme.
EGPRS PDTCH Nine different modulation and coding schemes, MCS-1 to MCS-9, are defined for the EGPRS Radio Blocks. The block structure of the MCS-6 is shown in Fig. 3-74, as an example. The MCSs are divided into different families A, B and C. Each family has a different basic unit of payload: 37 (and 34), 28 and 22 octets respectively. Different code rates within a family are achieved by transmitting a different number of payload units within one Radio Block. For families A and B, 1, 2 or 4 payload units are transmitted, for family C, only 1 or 2 payload units are transmitted. When 4 payload units are transmitted (MCS-7, MCS-8 and MCS-9), these are splitted into two separate RLC blocks (i.e. with separate sequence numbers and BCSs). These blocks in turn are interleaved over two bursts only, for 115
Signalling in GPRS/EGPRS
MCS-8 and MCS-9. For MCS-7, these blocks are interleaved over four bursts. All the other MCSs carry one RLC block which is interleaved over four bursts. When switching to MCS-3 or MCS-6 from MCS-8, 6 padding octets are added to the data octets. 37 octets
37 octets
37 octets
Family C
Family A
37 octets MCS-3
MCS-6
22 octets MCS-1
MCS-4
37 octets
MCS-3 1st part
MCS-3 2nd part
6+31 octets
37 octets
28 octets
Family B
Family A padding
MCS-9
6+31 octets
22 octets
28 octets
28 octets
28 octets
MCS-2 MCS-5 MCS-7
MCS-6 34 octets
34 octets
34 octets
34 octets
MCS-8
Figure 3-74 General description of MCSs for EGPRS To ensure strong header protection, the header part of the Radio Block is independently coded from the data part of the Radio Block (8 bit CRC calculated over the header -excl. USF- for error detection, followed by rate 1/3 convolutional coding –and eventually puncturing- for error correction). 3 bits
USF
33 bits RLC/MAC header
612 bits
HCS E FBI
Data 592 bits (74 oct)
BCS
TB
rate 1/3 convolutional coding
36 bits
99 bits
1836 bits
+1 bit
SB=8
36 bits
puncturing
100 bits
1248 bits 1392 bits
Figure 3-75 Coding and puncturing for MCS-6 The USF has 8 states, which are represented by a binary 3 bit field in the MAC header. The USF is encoded to 12 symbols similarly to GPRS, (i.e., 12 bits for GMSK modes and 36 bits for 8PSK modes). The FBI (Final Block Indicator) bit and the E (Extension) bit do not require extra protection: they are encoded along with the data part. 116
3 Um interface – user plane
The first step of the coding procedure is to add a Block Check Sequence (BCS) for error detection. The second step consists of adding six tail bits (TB) and a 1/3 rate convolutional coding for error correction that is punctured to give the desired coding rate. The bits indicating the MCS used are in the coded header. In both 8PSK and GMSK modes the stealing bits (SB) of the block are used to indicate the header formats. There are eight SB for 8PSK mode which allow indicating four header formats. There are twelve SB for GMSK mode which allow indicating two header formats: the first eight of the twelve SB indicate CS-4.
PACCH, PBCCH, PAGCH, PPCH and PTCCH The channel coding for the PACCH, PBCCH, PAGCH, PPCH and downlink PTCCH is the same as the coding scheme CS-1. The coding scheme used for uplink PTCCH is the same as for PRACH.
PRACH Two types of packet access burst may be transmitted on the PRACH: an 8 information bits access burst or an 11 information bits access burst called the extended packet access burst. The channel coding used for the burst carrying the 8 data bit packet access uplink message is identical to the coding of the access burst as defined for random access channel in GSM. The channel coding for 11 bit access burst is the punctured version of the same coding as used for 8 bit access burst.
Interleaving and burst burst formatting 456 bits (GMSK) / 1392 (8-PSK)
CS / MCS
Figure 3-76 Interleaving and burst formatting 117
Signalling in GPRS/EGPRS
In case when GMSK modulation is used channel coder provides 456 bits for every RLC/MAC block which are than interleaved over four normal bursts. In case when 8-PSK modulation is used channel coder provides 1392 bits for every RLC/MAC block which are interleaved over four 8-PSK bursts.
Modulation The modulation technique used in GSM and GPRS is called Gaussian Minimum Shift Keying (GMSK). This is a narrow-band, digital modulation technique, which is based on phase shift keying. This can be visualized in a so-called I/Q-diagram, see Fig. 3-77. Transmission of a bit that is equal to the previously transmitted bit ( d i = d i −1 ) corresponds to +½ π increment of the phase. Consequently, transmission of a bit that is not equal to the previously transmitted bit ( d i ≠ d i −1 ) corresponds to -½ π decrement of phase. Every symbol that is transmitted represents one bit. The symbol rate and the bit rate are here equal: 271 ks/s (kilo symbols per second) = 271 kb/s. To be able to have higher bit rates per time slot, it is needed to change the modulation type. 8-PSK is specified to reuse channel structure, channel width, channel coding and the already existing mechanisms and functionality for GPRS and HSCSD. 8-PSK has the same spectrum parameters as GMSK does. This makes it possible to integrate 8-PSK channels into an existing frequency plan and to assign new 8-PSK capable channels in the same way as standard GSM channels. 8-PSK can offer higher bit rates however at the same time it is more sensitive to transmission problems. In 8-PSK three consecutive bits are mapped onto one symbol in the I/Q-plain. With the same symbol rate as in GMSK of 271 ks/s, the bit rate now becomes 813 kbits/s.
Q
(0,1,0)
Q
(0,0,0)
(0,1,1)
d i = d i −1
I d i ≠ d i −1
I (0,0,1)
(1,1,1)
(1,0,1)
(1,1,0) (1,0,0)
GMSK
8-PSK
Figure 3-77 GMSK and 8-PSK modulation
118