Professional Documents
Culture Documents
Abstract
We have made simple tests and measurements of throughput, round-trip time
and packet loss over a GPRS access network. Measured values are compared to
estimated theoretical values that could be calculated beforehand.
1 Introduction
This paper reports some background work made for understanding how a GPRS access
network might affect the behavior of a typical IP-user. More precisely, some sort of
limits of this new mobile data service have been examined. The aim of the study is
twofold: First, how will the users find themselves using the new dimensions offered
by GPRS, wireless Internet connections with partial freedom from electrical networks.
Second, how will the technical limits of GPRS and the randomness of capacity show
up in the behavior of data traffic. Hence the attempt is to combine both the user point
of view and a traffic theory point of view.
Also, the emphasis is on the situation, where a GSM mobile phone equipped with
GPRS functionality acts as a modem connecting the terminal equipment (TE), i.e. the
computer of a user, to the Internet via a GSM operator’s GPRS access network. Recall
that the mobile station (MS) refers to the mobile equipment (ME) equipped with the
subscriber identity module (SIM) card. The MS may also be logically split to TE and
mobile termination (MT).
Note that GPRS is also specified to be part of UMTS, but we restrict our interest to
the existing GPRS network which is implemented as a part of a normal GSM network.
This is sometimes emphasized by writing GPRS/GSM instead of plain GPRS.
We consider only user initiated sessions where the other endpoint is some host in
the Internet. Another restriction is to consider only channel coding classes CS-1 and
CS-2 as the other classes, CS-3 and CS-4, are not implemented.
Appendix A contains explanations of the basic concepts and terminology used
throughout this paper.
1
ILIAS-2001 25th February 2002
60 CS-1
Number of radio blocks
50
40
30 CS-2
20
10
Figure 1: Minimal number of radio blocks for each IP-packet size with chan-
nel codings CS-1 and CS-2.
2
ILIAS-2001 25th February 2002
1 TS
1 TS
0.8 0.8
0.6 0.6
Delay (s)
Delay (s)
2 TS 2 TS
0.4 0.4
3 TS 3 TS
0.2 0.2
4 TS 4 TS
Figure 2: Minimal unidirectional delays over the radio interface for each
IP-packet size with channel coding CS-2 and different numbers of time slots
allocated.
3
ILIAS-2001 25th February 2002
The calculation made for the left-hand picture of figure 2 does not take into ac-
count signalling. In the right-hand picture we assumed that on average 1 block per
multiframe of each PDCH is used on signalling, i.e. 11 blocks can be used with those
PDTCH blocks that carry user data.
Reassembly of blocks to frames and frames to IP-packets again should not essen-
tially depend on the packet size.
Delays after the radio interface inside the operator’s GSM-network and in the
GPRS backbone network are small relative to the delay of the radio interface.
1.4 1.4
1.2 1.2
1 1
Delay (s)
Delay (s)
0.8 0.8
0.2 0.2
Figure 3: Minimal delays when a packet of same size is transmitted from TE,
echoed back right after the radio interface and received at TE.
4
ILIAS-2001 25th February 2002
The right-hand picture of figure 3 shows that increasing the IP-packet size by one
byte might increase the delay by 100 ms in the worst case.
5
ILIAS-2001 25th February 2002
The destination is typically some server in the Internet, and thus one should also
take into account the number of hops, server delay, bottleneck links and physical dis-
tance. These factors should of course be somehow eliminated when planning a meas-
urement or a test for the performance of GPRS, but an ordinary user does not want to
consider these factors.
Considering the number of available TDMA time slots that the MS of a user can
be allocated during active sending and receiving, the technical limitations are what the
ME supports, i.e. its multislot class, and what the operator supports or allows. Random
effects are the intensity of ordinary GSM calls and data traffic from other GPRS users.
These random effects bring also the time into considerations as the number of available
time slots vary in time.
When no QoS is supported, the transfer protocol, like TCP or UDP, should not have
any effect on the GPRS part of round-trip time as GPRS should see only IP-packets.
The behavior of the host may of course differ according to the protocol and this may
affect on the round-trip time.
The effect of packet size was alredy described.
6
ILIAS-2001 25th February 2002
Other problems, round-trip time delays, delay variations and packet losses are
easier to measure. Also, throughput in various situations, like with different proto-
cols, different positions or even moving positions can easily be tested.
However, the infrared between TE1 and ME1 did not work optimally so that we
have left this combination out of pictures. See figure 16 of appendix B.5.1.
One of the pinged host, denoted by Host 1, was a router of Radiolinja which is
just behind the GPRS backbone network, another host, denoted by Host 2, was further
behind a 11 hops long Internet path.
TE1 with Linux was used in the measurements. In addition to that, TE2 with
Windows 2000 and TE3 with Windows 95 were used in different types of tests. The
properties of TEs are described in B.3.
7
ILIAS-2001 25th February 2002
4 shows the anticipated shape. The purpose of the right-hand picture of figure 4 and
the left-hand picture of figure 6 that the minimum RTT is really a quite stable property.
ME1, SC, RP = 2s
2 2
ME1, SC, RP = 1s
RTT (s)
RTT (s)
1.5 1.5
1 1
ME2, IR, RP = 1s
0.5 0.5
36 292 548 804 1060 1316 36 292 548 804 1060 1316
IP-packet size (B) IP-packet size (B)
Figure 4: The left-hand picture shows the minimum RTT for both MEs. The
right-hand picture shows the result of three measurements of minimum RTT,
one made in Otaniemi, Espoo and two made in Käpylä, Helsinki.
Figure 5 below shows microscopic view of the minimum RTT. In this case there
were only 100 RTT-measurements for each possible IP-packet size between a short
packet size interval, which is not enough to get the minimal possible RTT in all of
the sizes. However, the microscopic views show that the linearly looking shape of the
pictures of figure 4 is a global property. The local view brings visible the structural
shape caused by the radio interface.
Microscopic view of the minimum RTT Microscopic view of the minimum RTT
2.5 2.5
2 2
RTT (s)
RTT (s)
1.5 1.5
1 1
0.5 0.5
40 50 60 70 80 1390 1400 1410 1420 1430 1440
IP-packet size (B) IP-packet size (B)
8
ILIAS-2001 25th February 2002
Let seq.no denote the ICMP sequence number of a ping packet in a single
ping command which sends 100 echo request packets. The value of seq.no
runs from 0 to 99. The first ping packet contains a systematic delay due to reservation
of radio resources and also due to other factors that depend on the computer hardware
and on the operating system [10]. We cannot know whether other ping packets con-
tain delay due to radio resource reservation but the first packet always contains it due
to 60 seconds sleep period between each ping command.
Let x denote the IP-packet size. The second hypothesis is that the value of the
difference
r [x] = seq.no
d min RT T [x]
=0
min
seq.no>0
RT T [x]
2 Host 2
1.2
RTT (s)
dr [x] (s)
1 0.8
0.6
0.5 Host 2
36 292 548 804 1060 1316 36 292 548 804 1060 1316
IP-packet size (B) IP-packet size (B)
Figure 6: The left-hand picture shows the result of two minimum RTT meas-
urements for ME2. The right-hand picture shows the value of dr in these
measurements. In these pictures the pinged host was different but the posi-
tion of MS was the same, Otaniemi.
fixed allocation whereas ME2 uses two phase access and dynamic or even extended
dynamic allocation. In this way ME2 loses some time before the data transfer begins,
but wins that time back when the time for continuous data transfer gets longer.
The jump that occurs for ME2 in the value of dr between 412 and 548 bytes prob-
ably refers to the change of multislot property from 1 + 3 to 2 + 2, i.e. when there
are enough packets or the single packet size exceeds a threshold, ME2 always tries to
9
ILIAS-2001 25th February 2002
dr [x] (s)
0.8
0.2
0.6 0.15
0.4 0.1
ME1, SC, RP = 1s
0.2 0.05
ME1, SC, RP = 2s
36 292 548 804 1060 1316 36 292 548 804 1060 1316
IP-packet size (B) IP-packet size (B)
Figure 7: The measured value of dr [x] for different IP-packet sizes. The
left-hand picture shows the difference between the two MEs, the right-hand
picture shows the result of three different measurements for ME1.
allocate two time slots in the uplink direction. The hypothesis that the value of dr is
independent of packet size has to be reformulated.
8 2.5
RP = 1s Host 1
6 2
1.5
4
Host 2
1
2 RP = 2s
0.5
RP = 2s
36 292 548 804 1060 1316 36 292 548 804 1060 1316
IP-packet size (B) IP-packet size (B)
Figure 8: Total packet loss percentages per IP-packet size. Note that the
scale of y-axes differ, the observed packet loss for ME2 was essentially smal-
ler than for ME1.
10
ILIAS-2001 25th February 2002
Here the idea was to run the systematic ping procedure while the tcpdump
program in the pinged host recorded the request and reply packets. This allows to
figure out whether packets were lost in the up- or downstream direction. Unfortunately,
for practical reasons, the pinged host had to be host 2. Hence we must talk of usptream
and downstream directions, instead of plain uplink and downlink of the radio interface
of GPRS.
In figure 9 we probably see the effect of blocking as two ping commands lost all
their packets. Since the following commands were again successful, the most probable
explanation is that no radio resources were available for that time.
Packet loss per current number Packet loss in time
3 3
2 2
1 1 ME2, IR, RP = 1s
ME2, IR, RP = 1s
1 7200 14400 1 2 3 4 5 6 7 8 9 10
i:th packet Time (h)
Figure 9: Cumulative total packet loss per order of packet on the left, and per
time from beginning on the right. For ME2 with RP = 1s the measurement
lasted almost 7 hours, for ME1 with RP = 2s the duration was almost 11
hours.
Table 3 below shows the total packet loss percentages in both directions. The
percentages are scaled according to those packets that really has been sent, i.e. those
packets which actually have not been sent at all are removed when scaling.
Figure 10 shows how the packet loss depends on packet size. In the specification
[2] it is already noted that the one phase resource allocation is somewhat insecure.
This could also well explain the difference between the two MSs.
11
ILIAS-2001 25th February 2002
Upstream Downstream
4 4
2 2
ME1, SC, RP = 2s
1 1
ME2, IR, RP = 1s ME2, IR, RP = 1s
36 292 548 804 1060 1316 36 292 548 804 1060 1316
IP-packet size (B) IP-packet size (B)
Figure 10: Packet loss per packet size percentages for upstream and down-
stream directions.
1.2 2 x 13.4kbps
1.0 3 x 13.4kbps
Volume (MB)
0.8
0.6
13.4kbps
0.4
0.2
Figure 11: Cumulative volume against time for six downloadings of the same
file of fixed size 1.2MB.
Radiolinja offers a data compression service that can be used for web browsers in
Windows. It consists of a proxy server in the TE which connects to a compression
server in Radiolinja’s network. Data packets, that are transmitted over the radio inter-
12
ILIAS-2001 25th February 2002
face, are UDP datagrams. In addition to data compression, some data is also filtered
out and a user can select the quality levels of e.g. graphics that he/she wants to get.
This was tested with TE2 by surfing through the same web pages with and without
data compression. The effect was sometimes clearly visible, sometimes less. The
main problem was the connection establishment to compression server, which took
quite often several seconds.
References
[1] 3GPP TS 03.60:“Digital cellular telecommunications system (Phase 2+); General
Packet Radio Service (GPRS); Service description; Stage 2”.
13
ILIAS-2001 25th February 2002
[9] Korhonen, J., Aalto, O., Gurtov, A., Laamanen, H., “Measured Performance of
GSM HSCSD and GPRS”, IEEE International Conference on Communications
2001.
14
ILIAS-2001 25th February 2002
IP
Subnetwork Dependent Convergence Protocol (SNDCP)
-possible segmentation of IP-packets
-buffering of IP-packets
Logical Link Control (LLC)
-framing of data segments coming from SNDCP
-flow control of LLC frames
-detection and recovery from lost or corrupted LLC frames
and retransmissions of LLC frames in acknowledged mode
Radio Link Control/Media Access Control (RLC/MAC)
-reservation and release of radio resources
-segmentation of LLC frames to RLC radio blocks
-selective retransmissions of erroneous RLC data blocks
in acknowledged mode
-re-assembly of RLC radio blocks to LLC frames
GSM RF
15
ILIAS-2001 25th February 2002
in every TDMA frame. Allocation of radio resources means that the MS is given the
frequency parameters and the TN that it can use. In a multislot operation more than
one time slot may be used by one MS. According to specifications, even all 8 time
slots of a TDMA frame may be allocated to one MS.
The maximum number of time slots that a MS can be allocated depends on the
multislot class to which it belongs. Table 6 below describes only first 8 classes out of
29 classes defined [7]. The columns Rx and Tx in table 6 refer to maximum number
of receive and transmit time slots per TDMA frame that the MS can use, and column
Sum refers to the total number of uplink and downlink time slots that can be used by
the MS per one TDMA frame.
16
ILIAS-2001 25th February 2002
from 140 to 1520 octets. In the calculations we have assumed this default value. IP-
packets of size smaller than 1500 bytes are hence not segmented in this case. Anyhow,
a smaller segment size in this layer increases the overhead induced by lower layers.
In logical link layer (LLC) a LLC frame header and a Frame Check Sequence field
tailer are added to a segment coming from the above convergence layer. This unit is
then called a LLC frame. The header consists of Address field and Control field. The
Address Field consists of one octet, the Control Field is of variable length but when
carrying user data in acknowledged mode it should be of length 3 octets [4]. The
Frame Check Sequence field is of length 3 octets.
In radio link layer (RLC) the LLC frame is split into segments of size either 181
bits or 268 bits according to channel coding scheme, CS-1 or CS-2 respectively, used.
Some bits are then added to these segments to form a header and a tailer and, with
these additional bits the segments are called RLC radio blocks.
In channel coding these blocks go through a convolutional coding and, in the case
of CS-2, some of the coded bits are removed so that the resulting block size is 456
bits in both channel codings. These 456 bits are transmitted in four normal bursts, one
burst carrying 114 bits of the block. One burst is transmitted in one time slot, this burst
being the physical content of the corresponding time slot.
52 TDMA frames -
B0 B1 B2 T B3 B4 B5 I B6 B7 B8 T B9 B10 B11 I
The mapping of logical channels onto the blocks is defined by means of ordered
list
( B0, B6, B3, B9, B1, B7, B4, B10, B2, B8, B5, B11 ): (1)
For example, if there three logical channels are to be mapped, the first logical channel
uses first n1 blocks from the list (1), the second uses next n2 blocks and the third
logical channel uses last 12-(n1 + n2 ) blocks. In the one downlink PDCH, at least
block B0 is reserved for general signalling purposes, [2]. All other blocks in this and
other possible down- and uplink PDCHs can in principle be used for blocks carrying
user data and associated signalling blocks that carry acknowledgements.
17
ILIAS-2001 25th February 2002
slots allocated to a user, leads to the transfer rates of table 7 below. More realistic
calculation is performed in the main text.
18
ILIAS-2001 25th February 2002
for the number of data blocks it intends to send, i.e. the MS does not request additional
blocks beforehand for the retransmission of erroneous blocks.
The PDCH where the MS may expect occurence of its downlink PDTCH blocks
are indicated in resource allocation messages. The mobile owner of the downlink
PDTCH blocks is indicated by TFI value in the block header.
Successive transfer of more than one LLC frame is possible, and if the contents
of a LLC frame do not fill an integer number of radio blocks, the beginning of the
next LLC frame is placed within the last radio block of the previous LLC frame, with
no padding or spacing in between. If the final LLC frame in the TBF does not fill an
integer number of radio blocks, filler octets shall be used to fill the remainder of the
last block.
19
ILIAS-2001 25th February 2002
ME1 ME2
Vendor Ericsson Nokia
Model T39m 8310
Multislot class 4 4 and 5
Infrared IrDa and IrDa-Ultra Yes
Serial cable V.24 No
Bluetooth Yes No
20
ILIAS-2001 25th February 2002
Option Comment
receive-all Accept all control characters from
the peer.
defaultroute Add a default route to the system
routing tables.
noipdefault Not to determine the local
IP-address from the hostname.
lcp-echo-interval 0 Disable LCP echo-request frame.
novj Disable TCP/IP header compression.
novjcomp Disable connection-ID compression.
noproxyarp Disable proxy ARP.
nocrtscts Disable hardware control on the
serial port.
noauth Do not require the peer to
authenticate itself.
local Do not use the modem control lines.
sl="8 136 264 392 520 648 776 904 1032 1160 1288
1416";
for ((k = 1; k < 13; k++))
do
for size in $sl
do
ping -c 100 -i 1 -s $size host » logfile;
sleep 60;
done;
done;
Figure 13: An algorithm used in systematic ping.
21
ILIAS-2001 25th February 2002
were released.
The run of algorithm typically lasted many hours and both the phone and the laptop
had to be connected to the electrical network. The phones were able to run the al-
gorithm only about 2-3 hours with fully loaded batteries and without being connected
to the electrical network.
The largest IP-packet size that the algorithm 13 sends is of size 1444 bytes. The
largest IP-packet that we were able send and receive was 1460 bytes although GPRS
should be able to send and receive IP-packets of size 1500 bytes.
14 14
12 12
10 10
RTT (s)
RTT (s)
8 8
6 6
4 4
2 2
1 13875 1 13794
i:th measurement i:th measurement
Figure 14: The output of the systematic ping algorithm with different values
for the RP.
As the ME1 has only 1 time slot available in the uplink direction and the delay of
the radio interface alone for large packets is almost one second at its best, the ME1
introduced a systematic delay with 1 second RP. Since the packets were not lost they
must have been waiting in buffers. This seems to indicate that ME1 uses fixed alloc-
ation and could not send or receive packets when one allocation was used and a new
allocation was not immediately available. Figure 15 shows this even more clearly.
Figure 16 shows the problems that we had with infrared between TE1 and ME1.
22
ILIAS-2001 25th February 2002
ME1, SC, RP = 1s, IP-packet size =1444 ME1, SC, RP = 2s, IP-packet size =1444
14 14
12 12
10 10
RTT (s)
RTT (s)
8 8
6 6
4 4
2 2
0 50 99 0 50 99
ICMP seq.no ICMP seq.no
Figure 15: On the left: For large packets the ME1 with RP = 1s did not have
enough time for to make new radio resource allocations. On the right: with
RP = 2s no problems occur.
ME1, IR, RP = 1s, IP-packet size =164 ME1, SC, RP = 1s, IP-packet size =164
14 14
12 12
10 10
RTT (s)
RTT (s)
8 8
6 6
4 4
2 2
0 50 99 0 50 99
ICMP seq.no ICMP seq.no
Figure 16: The infrared did not work well between TE1 and ME1.
23
ILIAS-2001 25th February 2002
14 14
12 12
10 10
RTT (s)
RTT (s)
8 8
6 6
4 4
2 2
36 292 548 804 1060 1316 36 292 548 804 1060 1316
IP-packet size (B) IP-packet size (B)
14 14
12 12
10 10
RTT (s)
RTT (s)
8 8
6 6
4 4
2 2
36 292 548 804 1060 1316 36 292 548 804 1060 1316
IP-packet size (B) IP-packet size (B)
24
ILIAS-2001 25th February 2002
20 20
Percentage of lost packets
10 10
5 5
Figure 19: Two examples of packet loss percentages per each ping com-
mand.
10 10
Percentage of lost packets
8 8
6 6
4 4
2 2
0 50 99 0 50 99
ICMP seq.no ICMP seq.no
25
ILIAS-2001 25th February 2002
26