Академический Документы
Профессиональный Документы
Культура Документы
Jos L. Gil
Motorola
GSM Network Operations
GSM Systems Division
15, Euroway, Blagrove, Swindon SN5 8YQ UK
Abstract
This document defines, analyses, and optimizes the end-to-end performance of a GPRS system. It
defines the key GPRS performance metrics: bandwidth, throughput, throughput variability, latency,
jitter and errors. And it presents tools and techniques that measure and evaluate these key performance
metrics. Practical results on the impacts of GPRS on TCP are also presented. An example on how to
troubleshoot a GPRS performance issue is presented.
Jos L.Gil
Page 1 of 28
5th October 00
Table of contents
TABLE OF CONTENTS....................................................................................................................... 2
1.
INTRODUCTION.......................................................................................................................... 3
2.
2.
3.
4.
5.
REFERENCES ............................................................................................................................. 28
Jos L.Gil
Page 2 of 28
5th October 00
1. Introduction
The performance analysis of an end-to-end GPRS system and its troubleshooting
requires a wide set of skills and knowledge. A systems engineer working on GPRS
performance issues will be required to:
understand how different data applications behave,
how TCP (Transport Control Protocol) works,
how IP connectivity is achieved, how the GPRS radio interface is designed,
what parameters can be tuned in the system databases and protocols (GSN, BSS,
TCP/IP),
etc.
All these different protocols and system features make possible the transaction of data
from one end to another but not always necessarily in the best form. In these
occasions it is necessary to investigate and understand the nature of the problem. The
problem could be a system fault or it could be just an optimisation issue of system
databases or protocol timers and counters.
Having the skills mentioned above is not enough. It is indispensable to know what
performance means, what are its metrics, how they can be measured and how they
should be understood. For example, you could have good network FTP throughput but
dreadful PING times. Is this a good or a bad network performance? The answer will
depend on what the end user application is looking for. For a telnet application a good
FTP throughput is irrelevant while for a downloading application FTP performance is
what matters. Different users, different applications, different systems, will have
different performance requirements.
This paper defines performance through its metrics. It introduces concepts,
procedures, techniques, tools and examples to analyse and troubleshoot end-to-end
performance. Most of the contents of this paper can be applied to performance
engineering of data networks in general.
A Motorola GPRS system will be performing well when the measured values of the
metrics defined in this paper are close to the expected values defined in this paper.
The contents of this paper apply to a single mobile user unless otherwise specified.
Jos L.Gil
Page 3 of 28
5th October 00
Bandwidth
Latency
Jitter
Throughput
Throughput variability
End-to-end
performance metric
Bandwidth
Latency
Jitter
Throughput
Throughput variability
Errors
Definition
Number of bytes or bits transmitted across a reference point.
Time it takes for a data bit to travel from one end to another of a system.
Variation of the time it takes for a data bit to travel from one end to
another of a system.
Ratio of the amount of time it takes to complete a full data transaction
The difference between the maximum and the minimum throughput
Corruption, lost or duplication of a data packet
The performance of a GPRS -GENERAL packet radio system- system can be defined
by its bandwidth, latency, jitter, throughput, throughput variability and error
characteristics.
A GPRS system will be performing well when the measured values of these six
metrics are close to the expected values.
1.1. BANDWIDTH
Bandwidth is the number of bytes or bits per second observed across a reference
point.
1.1.1. What determines the bandwidth in an end-to-end GPRS system
The bandwidth of a system is dictated by the slowest link. In a GPRS system the
slowest link is the radio interface. Bandwidth is also named raw user data rate. Table
1 shows the bandwidth of the GPRS air interface for the four different channel coding
schemes and for a different number of timeslots.
CS-1
CS-2
CS-3
CS-4
1 Timeslot
9.05
13.4
15.6
21.4
2 Timeslots
18.1
26.8
31.2
42.8
3 Timeslots
27.15
40.2
46.8
64.2
4 Timeslots
36.2
53.6
62.4
85.6
5 Timeslots
45.25
67
78
107
6 Timeslots
54.3
80.4
93.6
128.4
7 Timeslots
63.35
93.8
109.2
149.8
8 Timeslots
72.4
107.2
124.8
171.2
Jos L.Gil
Page 4 of 28
5th October 00
Each application has its bandwidth needs. Knowing the bandwidth of the interfaces
that integrate the end-to-end GPRS system will allow us to predict probable locations
of bottlenecks within the network.
It is important to introduce here the concept of aggregated bandwidth. The
aggregated bandwidth demand is the sum of the bandwidth requirements of all the
users trying to access the system or a particular node in the system. This aggregated
bandwidth concept must be used mainly in the bottlenecks of a system, such as the
radio interface in the GPRS system, and also in servers and congestion points such as
routers (including GGSN).
1.1.2. Using UDP to measure the end-to-end bandwidth
UDP stands for User Datagram Protocol and is a transport layer protocol part of the
TCP/IP protocol suite. Each output (data bytes) from an application process produces
one UDP datagram. UDP does not provide reliability: it does not guarantee that the
datagram will reach its destination. UDP does not have any of the flow control and
congestion algorithms that TCP does. UDP is a simple transport protocol suitable for
our purpose of measuring the bandwidth of the GPRS system.
There are several tools that can be used to send UDP datagrams from one end to
another. The most used are UDP scripts developed in BSS development and a tool
called Iperf.
The most common UDP test consists in sending 50 UDP datagrams of 400 bytes each
one with an inter-datagram gap of 10 miliseconds.
Once the UDP test is finished the bandwidth of the system can be measured at any
point of it although this will depend on the availability of packet time-stamps at that
specific point. The easiest measurement point and the only one that matters to the end
user is at the PC client.
The bandwidth at the PC client can then be measured at the IP, UDP or application
layer using the time-stamps of the first and last packet and applying the following
formulas:
(kbps)
timestamp last packet ( s) timestamp first packet ( s ) 1000
(number of packets 1) ( packet size(bytes) + 8) 8 1 (kbps)
BWUDP layer =
timestamp last packet ( s ) timestamp first packet ( s ) 1000
(number of packets 1) packet size(bytes) 8 1 (kbps)
BWapp. layer =
timestamp last packet ( s ) timestamp first packet ( s ) 1000
BWIP layer =
(number of
Page 5 of 28
5th October 00
Whatever formula is used to calculate the bandwidth careful attention must be paid
when communicating to others UDP results. At least three information elements
should be provided:
Location of the BW measurement: PC client, mobile, PCU, SGSN, etc.
Layer at which BW is calculated: application, UDP, IP, RLC, etc.
Specific formula used if any
As another example if it is necessary to measure the BW at the radio interface (PCU or
mobile) the following formula is recommended:
BWPCU IP layer =
BWMS IP layer =
(kbps)
Equation 2. Bandwidth calculation at the PCU and/or mobile (IP layer) using UDP testing.
Accessing the PCU might be difficult sometimes. However accessing the mobile
might be easier. The MS-Decoder, tool developed in the GSM Network Operations
department and available to Motorola, has been designed to decode the air interface
messages received and sent by the mobile at different layers: RLC, LLC, L3, IP. The
MS-Decoder tool is the ideal tool to measure the BWMS IP layer specified in Equation 2.
The maximum bandwidth provided by the Motorola GPRS radio interface is shown in
Table 2. This bandwidth is what an LLC frame will see when no TBF needs to be
setup. These figures do not take into account the overhead due to signalling.
UDP throughput
(kbps)
DL BWPCU LLC layer
UL BWPCU LLC layer
1TS
CS-1 CS-2
7.33
11.00
6.67
10.00
2TS
CS-1 CS-2
14.66 22.00
13.34 20.00
1.2. LATENCY
Latency is the time it takes for a data bit to travel from one end to another.
The definition uses the term bit for strictness purposes. In practice it is not always
possible to transmit just one bit and measure the time it takes to arrive to the other
end. Therefore when performing latency measurements the size of the packet needs to
be determined. In this section the term packet is used instead of bit.
Jos L.Gil
Page 6 of 28
(kbps)
5th October 00
Many applications are not sensitive to latency such as FTP data. But many others are
such as telnet, rlogin, FTP control (not FTP data), TFTP, DNS UDP query, interactive
voice and video. A packet video application has already being used by Motorola for
GPRS demonstrations. Latency-sensitive applications usually have a point beyond
which late packets are discarded.
It is important to note that the technical literature distinguishes between latency and
delay. Those delay contributors that are relatively fixed and beyond the control of the
network engineer are attributed to latency. Whilst all other delay contributors which
the network engineer has some amount of control are attributed to delay. This
distinction is conceptually important when providing reference latency figures for
GPRS systems around the world. This is because there are certain GPRS database
parameters settings, traffic conditions and system configurations that can affect the
time it takes for a packet to cross the network. And therefore different GPRS
systems will have different latency figures and will not be possible to compare them.
In this paper the term latency will be used with no distinction with delay.
Four types of latency need to be distinguish in a GPRS system:
Uplink latency: the time it takes for a packet to travel from the PC client
connected to the mobile to the server connected to a PDN (Packet Data Network).
Downlink latency: the time it takes for a packet to travel from the server
connected to a PDN to the PC client connected to the mobile.
Uplink round trip time: the time it takes for a packet to travel from the PC client
connected to the mobile to the server and back again.
Downlink round trip time: the time it takes for a packet to travel from the server
to the PC client connected to the mobile and back again.
The Figure 1 illustrates these four types of latency.
The downlink and uplink latency are not the same in a GPRS system because both
paths are not symmetrical.
GPRS
network
PDN
uplink latency
downlink latency
uplink round trip latency
downlink round trip latency
Figure 1. Illustration of the four types of latency that need to be distinguished in a GPRS system.
Jos L.Gil
Page 7 of 28
5th October 00
The following sections provide theoretical and empirical results for the latency. It is
possible to calculate an approximate number for the minimum latency, but it is not for
the maximum latency since the number of variables involved for this case is very big
and some of them not possible to predict, such as RLC retransmissions. Reference [1]
contains detailed information on latency. The next sections refer to that document
with updates for smg31.
1.2.1. Theoretical uplink latency
The uplink latency is defined by:
ULlatency = TPC1MS + PMS + TMSPCU + PPCU + TPCUSGSN + PSGSN + TSGSNCH + PCH + TCHGGSN + PGGSN + TGGSNCH + PCH + TCHPC2 =
= TPC1MS + PMS + TMSPCU + PPCU + TPCUSGSN + PSGSN + TSGSNCH + TCHGGSN + PGGSN + TGGSNCH + 2 PCH + TCH PC2
Equation 3. Elements involved in the uplink latency.
Where:
Px=packet processing time for node X
Ty=packet transmission time across interface Y
contains a few variables that are not possible to quantify analytically, such
as the transit times through the network elements (MS, PCU, GSN complex). For this
reason it is extremely difficult to provide exact theoretical numbers for the minimum,
maximum and average latency.
Equation 3
If we consider negligible the processing times of the PC, mobile, PCU and GSN
complex Equation 3 can be reduced to:
Where:
Equation 5. Components of the transmission time between PC and mobile and between mobile and
PCU.
Due to the limited extension of this paper is not possible to provide full details
although this can be found in reference [1].
The results for Equation 4 for smg31 are shown in Figure 2. The calculations assume
N201=1520.
Jos L.Gil
Page 8 of 28
5th October 00
1400
1200
1000
800
600
400
200
0
0
100
200
300
400
500
600
700
800
900
1000
Figure 2. Minimum theoretical uplink latency against the payload of a UDP packet. This graph is valid
for N201=1520.
Where:
Px=packet processing time for node X
Ty=packet transmission time across interface Y
contains a few variables that are not possible to quantify analytically, such
as the transit times through the network elements (MS, PCU, GSN complex). For this
reason it is extremely difficult to provide exact theoretical numbers for the minimum,
maximum and average latency.
Equation 6
If we consider negligible the processing times of the PC, mobile, PCU and GSN
complex Equation 6 can be reduced to:
DLlatency = TPC 2 SGSN + TSGSN PCU + TPCU MS + TMS PC1
Equation 7. Simplified formula to calculate the downlink latency.
Where:
Jos L.Gil
Page 9 of 28
5th October 00
Equation 8. Components of the transmission time between mobile and PC and between PCU and
mobile.
Due to the limited extension of this paper is not possible to provide full details
although this can be found in reference [1].
The results for Equation 7 for smg31 are shown in Figure 3.
Time (ms)
1400
1200
1000
800
600
400
200
0
0
100
200
300
400
500
600
700
800
900
1000
Figure 3. Minimum theoretical downlink latency against the payload of a UDP packet. This graph is
valid for N201=1520.
Jos L.Gil
Page 10 of 28
5th October 00
Time (ms)
2500
2000
1500
1000
500
0
0
100
200
300
400
500
600
700
800
900
1000
Figure 4. Minimum theoretical uplink RTT (PING). The graph is valid for N201=1520.
PING REQUEST
PING #1
PING REPLY
2 seconds
PING REQUEST
PING #2
PING REPLY
Jos L.Gil
Page 11 of 28
5th October 00
Figure 5. It is recommended to set an interval of 2 seconds between PING commands to guarantee that
every single PING happens under the same conditions with regard to timers, counters and contexts.
No. Samples
4
10
50
Jos L.Gil
Page 12 of 28
5th October 00
100
300
500
1000
2000
96.517
55.724
43.164
30.521
21.582
114.559
66.141
51.232
36.227
25.616
Table 3. Relation
Seconds
Round trip tim e during a TCP data connection and its dow nlink and uplink
com ponents
6
5
4
3
2
1
0
uplink latency
dow nlink latency
Figure 6. Round trip time and its downlink and uplink components during a TCP data connection. This
graph corresponds to a downlink FTP data transaction. The data TCP segments had a payload of 960
bytes (blue bars).
Jos L.Gil
Page 13 of 28
5th October 00
It is suggested to add to the previous four indicators a bar graph that shows the
distribution of latency samples against time intervals of 500ms.
Figure 8 shows
average:
standard deviation:
minimum:
maximum:
2898
ms
456.8 ms
1956
ms
8947
ms
00
00
94
00
89
00
84
00
79
00
74
00
69
00
64
00
59
00
54
00
49
00
44
00
39
00
34
29
24
19
00
90.00
80.00
70.00
60.00
50.00
40.00
30.00
20.00
10.00
0.00
00
Percentage (%)
Interval of 500 ms
Figure 8. Round trip time expressed as distribution of PING samples within time intervals. The results
shown in this graph were obtained with BSS release 1613.85 and mobile release AF.27. The
AGNettools was used to generate a sample of 10000 PINGs with inter-PING interval of 2 seconds and
a payload of 10 bytes.
1.3. JITTER
Variation of the time it takes for a data bit to travel from one end to another of a
system
The definition uses the term bit for strictness purposes as in the latency definition. In
practice it is not always possible to transmit just one bit and measure the time it takes
to arrive to the other end. Therefore when performing jitter measurements the size of
the packet needs to be determined. In this section the term packet is used instead of
bit.
Jos L.Gil
Page 14 of 28
5th October 00
1.4. THROUGHPUT
The ratio of the amount of time it takes to complete a full data transaction.
Many applications are not sensitive to latency but are to throughput such as webbrowsing.
1.4.1. Using FTP to measure GPRS throughput
FTP (File Transfer Protocol) is the Internet standard for file transfer. FTP was
designed for general purpose and to provide high-performance in terms of throughput.
FTP is recommended as the tool to measure the throughput of a GPRS system. It is
recommended not to use files smaller than 10KBytes
1.4.2. Is TFTP appropriate to measure GPRS throughput?
TFTP stands for Trivial File Transfer Protocol. It is commonly used for bootstrapping
devices with no disk. TFTP uses UDP as transport protocol. However its stop-andwait transmission strategy is not suitable at all to measure the throughput of the GPRS
system. TFTP is not designed for high-throughput. The Figure 9 illustrates the
concept of the stop-and-wait protocol.
Jos L.Gil
Page 15 of 28
5th October 00
server
client
BLOCK n
ACK block n
BLOCK n+1
Jos L.Gil
Page 16 of 28
5th October 00
700
600
500
400
300
200
100
48
45
42
39
36
33
30
27
24
21
18
15
12
0
0
Figure 10. Round trip time for a 40 bytes packet departing from the LLC layer at the mobile to the PC
across the IrDA interface and back again to the LLC layer. Observe the jitter of 500ms.
1.6. ERRORS
Corruption, lost or duplication of a data packet
Errors occur in many different forms and have different impacts in different
applications. Reliable transport protocols such as TCP will make sure that all the data
packets will arrive to their destination error-free. Every retransmitted data packet will
mean a reduction in throughput and an expensive occupancy of the scarce GPRS radio
bandwidth. For these reason the error factor needs to be taken into consideration when
analysing the performance of a GPRS network.
In a GPRS system we can classify errors in four categories:
Checksum errors: packets discarded due errors detected by the checksum
procedure. There are at least four layers in the end-to-end GPRS system were
checksum errors can occur: frame relay, LLC, IP and TCP.
Lost packets: packets that are discarded at some GPRS network node because of
node congestion, buffer overflow or packet damage that makes it unrecognisable
by the hardware.
Extra packets: duplicates of previously delivered packets. The causes of this can
be a corrupted IP address or a recovery attempt after a network failure.
Late packets: error-free packets that are delivered too late to be useful to the
application.
Jos L.Gil
Page 17 of 28
5th October 00
The most important and common kind of error in a GPRS network is the lost packets.
The consequences of losing packets are usually dramatic in the end-to-end
throughput. Section 3.2 illustrates this problem.
If the MTU is set to 10 bytes smaller than the LLC frame size this will only need to be
done in the PC client. No modification is needed in the routers or the host server. This
is because the client advertises its MTU to the server (using the MSS maximum
segment size- in the beginning of the TCP connection and the sever has to use the
smaller value between the MSS (Maximum Segment Size) and the local server MTU.
Jos L.Gil
Page 18 of 28
5th October 00
20.00
18.00
2.00
16.00
14.00
1.50
10.00
1.00
Kbits/s
KBytes/sec
12.00
Max
Min
Avg
8.00
6.00
0.50
4.00
2.00
0.00
400
500
600
700
800
900
1000
1100
1200
1300
1400
0.00
1500
MTU
Figure 11. FTP throughput against MTU. On average it is recommended to use small MTU values.
Jos L.Gil
Page 19 of 28
5th October 00
Jos L.Gil
Page 20 of 28
TU3
No Hopping
5th October 00
100
CS1
CS2
CS3
CS4
BLER
10
1
0.1
0.01
0 2 4 6 8 10 12 14 16 18 20 22 24
CI (dB)
Figure 12. Performance of the four GPRS channel coding schemes for a mobile moving at 3kmph and
for different C/I values. No frequency hopping has been assumed.
TU50
No Hopping
100
CS1
CS2
CS3
CS4
BLER
10
1
0.1
0.01
0
12
16
20
24
CI (dB)
Figure 13. Performance of the four GPRS channel coding schemes for a mobile moving at 50kmph and
for different C/I values. No frequency hopping has been assumed.
Jos L.Gil
Page 21 of 28
5th October 00
Throughput (kbit/s)
Throughputs - TU3
No Hopping
25
20
15
10
5
0
CS1
CS2
CS3
CS4
0
12
16
20
24
CI (dB)
Throughput
(kbit/s)
Throughputs - TU50
No Hopping
30
20
10
0
0
12
16
20
24
CS1
CS2
CS3
CS4
CI (dB)
Figure 14. Downlink throughput seen by a LLC frame (no TBF setup time) for different C/I and for
3kmph and 50kmph.
The author has performed some lab measurements of the BLER against C/I. These are
presented in Figure 15.
Jos L.Gil
Page 22 of 28
5th October 00
30
BLER (%)
25
CS-1 TU 3
20
CS-2 TU 3
CS-1 TU 50
15
CS-2 TU 50
10
0
5.35
6.35
7.35
8.35
9.35
10.35
11.35
12.35
13.35
14.35
15.35
16.35
C/I (dB)
Figure 15. Lab measurements of uplink BLER for M-Cell Arena 900.
One of the reasons for the reduction of the TCP throughput against high RTT values
is that TCP was designed for low latencies (Ethernet networks with 10Mbps
bandwidth). The slow start and congestion avoidance algorithms are not optimum for
high latency links. In addition packet loss is one of the most damaging elements for
TCP. See section 3.2.
Jos L.Gil
Page 23 of 28
5th October 00
DL 55D1
UL 55D1
2.5
Throughput (KBytes/sec)
Server:
NT4 / SP5
MSS/MTU 1460/1500
Win 65535
2
Client
NT4 / SP5
MSS/MTU 1460/576
Win 65535
1.5
General:
DL bit rate: 21500 bps
UL bit rate: 9500 bps
UL/DL Latency Symmetric
0.5
0
0
1000
2000
3000
4000
5000
6000
7000
8000
RTT (ms)
Figure 16. FTP throughput against round trip time. The round trip used in this simulation was set to be
symmetrical in the downlink and uplink (RTT= downlink latency + uplink latency =2 x downlink
latency). The FTP throughput is severely affected when the RTT is between 2 and 3 seconds.
Jos L.Gil
Page 24 of 28
5th October 00
2499728042
2499726042
2499724042
2499722042
T x T CP ACK
2499720042
Rx T CP seq
2499718042
2499716042
2499714042
T i me ( s )
Figure 17. Full TCP data transaction of a downlink FTP with six TCP segments lost (1kbps).
TCP sequence
1601256719
1601241719
0.000
5.000 10.000 15.000 20.000 25.000 30.000 35.000 40.000 45.000 50.000 55.000
time (s)
Figure 18. Full TCP data transaction of a downlink FTP over GPRS (16.8kbps).
Jos L.Gil
Page 25 of 28
5th October 00
BTS
BSC
PCU
filters
RADCOM
SGSN
CH
Etherpeek
GGSN
MS-Decoder
Etherpeek
Jos L.Gil
Page 26 of 28
5th October 00
Figure 19. Logging points in the GPRS system for its analysis and troubleshooting.
The analysis at the RLC layer (with the MS-Decoder and PCU filters) shows that all
the TBFs are normally released, which reinforces the fact that the there is not
significant radio interference.
An analysis of the round trip latency (see 1.2) shows that the average RTT is 4.072
seconds for a 500 bytes PING. This is an indication that TCP is going to measure an
RTT of around 4 seconds for an MTU of 1000 bytes.
The TCP analysis reveals a very first significant fact: TCP segments are being lost.
These segments lost are causing TCP retransmissions (see figure. The TCP
retransmissions are very slow (above 20 seconds) due to the fact that the RTT has an
average of 4 seconds, which will set the RTO approximately above 10 seconds.
However this is only an approximation since TCP might have measured the worst
round trip cases.
The next step is to identify the lost IP packets and trace them in the system. The IP
packet ID is in the header of the IP packets and will be searched in those packets that
left the server but never reached the client.
Once we have the IP packet ID the next step is to verify if these packets actually
reached the Gb interface. For this purpose we look at the RADCOM log file.
Server and client chronological activity
2499728042
segment sequence
2499726042
2499724042
Tx TCP seq (server)
Rx TCP ACK (server)
2499722042
Tx TCP ACK
b
2499720042
Rx TCP seq
2499718042
2499716042
120
100
80
60
40
20
2499714042
Time (s)
Figure 20. TCP analysis. The graph shows lost TCP segments and the long time it takes to TCP to
retransmit them which is causing the end-to-end throughput to be below 2kbps.
Jos L.Gil
Page 27 of 28
5th October 00
The IP packets appear in the Gb interface fragmented into 3 LLC frames. This is
because the MTU of the system is 1000 bytes but the LLC frame size negotiated
between the mobile and the SGSN is 500 bytes. Some of these LLC frames are
corrupted due to CRC errors at the frame relay layer.
The next step is then to look for these LLC frames into the PCU. The PCU filters
reveal that some of these LLC frames are dropped (this is the packet loss metric
within the error key performance metric defined in section 1.6).
We say that the LLC frames were dropped by the PCU not only because the PCU
filters demonstrate it but also because the MS-Decoder (LLC window) does not show
those LLC frames. These LLC frames were never transmitted over the radio interface
which did not reduce the bandwidth of the of the radio interface. However because
these LLC frames did not reach the mobile the SNDCP layer within the mobile could
not re-build the full IP packet and therefore dropped the full IP packet. This problem
could have been solved if the operation at the LLC layer would have been set to
acknowledge mode. This would have avoided TCP to retransmit the packets.
Unfortunately the negotiation between Motorola GPRS mobile and Motorola SGSN
sets the LLC mode of operation to unacknowledge mode. This is an optimum LLC
mode when there are not errors in the network but in some occasions the acknowledge
mode could help (specially when mobility is involved).
Then the cause of the lost TCP segments was a noisy GB link that produced random
CRC errors in LLC frames that were part of an IP packet.
5. References
[1]
[2]
[3]
[4]
Jos L.Gil
Page 28 of 28