You are on page 1of 3

TCP over GPRS: The Effect of Preemption

Annika Wennström and Anna Brunstrom


Dept. of Computer Science
Karlstad University
SE-651 88 Karlstad
Sweden

Abstract— GPRS extends the widely deployed GSM system II. BACKGROUND ON GPRS AND TCP
with a more efficient wireless Internet access. In this paper
we present measurements of GPRS traffic when preempted by GPRS [5], [2] is a packet-oriented extension to the Global
circuit-switched calls. The results indicate that TCP performance System for Mobile Communications (GSM) that provides
is degraded more than necessary, as buffered data is flushed sharing of radio resources and higher data rates. The GPRS
immediately when the GPRS traffic is preempted. The time system requires two new nodes: the Gateway GPRS Support
required for error recovery is considerable also for very short Node (GGSN) and the Serving GPRS Support Node (SGSN).
preemption periods.
A GSM time slot allocated for GPRS is called a packet data
channel (PDCH). The radio resources are more efficiently used
I. I NTRODUCTION than in GSM, since the PDCHs in a cell are shared between
the GPRS users, and not, as in GSM, reserved for one user
The General Packet Radio Service (GPRS) provides its users at a time. Access to the PDCHs is controlled by the medium
with an ”always on” wireless access to the Internet. As most access control (MAC) protocol whereas the radio link control
applications on the Internet rely on the Transmission Control (RLC) protocol provides a link between the mobile station
Protocol (TCP) for transport, it is important that TCP works (MS) and the base station subsystem. In addition, the logical
efficiently in GPRS. TCP was initially designed for use in link control (LLC) protocol provides a logical link between
wired networks which are faster and less error prone than most the MS and its associated SGSN. RLC and LLC support both
wireless networks. acknowledged and unacknowledged data transmission.
The performance of TCP in GPRS has been studied mostly TCP [11], [1] provides a reliable byte stream to the ap-
through analytical models and simulations [7], [12]. In con- plication layer. Application data is divided into TCP segments
trast, our work is based on measurements in a real GPRS net- before transmission. Correctly received segments are acknowl-
work. A GPRS testbed provided by Telia Mobile enables us to edged. Segments that are damaged or lost in the network
conduct TCP measurements over a GPRS network consisting are retransmitted. Error recovery is triggered by a timeout
of real network nodes with real protocol implementations, but event or by three duplicate acknowledgments. The timeout
with a controlled radio environment. value is dynamically adjusted based on estimates of the round
trip time (RTT). The transmission rate is increased until data
One parameter of the GPRS network that has a direct impact
is lost or the capacity of the receiver (receiver window) is
on TCP performance is the buffering of packets in intermediate
reached. In order to prevent congestion in the network, TCP
GPRS nodes. In [13] we reported some initial measurements
is required to use algorithms for congestion control. In slow
on the impact of GPRS buffering on TCP performance. The
start the transmission rate is increased with one segment for
measurements showed that the setting of the buffer between
each incoming acknowledgment and in congestion avoidance
the wired and the wireless networks used in many commercial
with one segment each RTT. As TCP interprets data loss as
networks results in very long round trip times due to queuing
a sign of congestion in the network, the transmission rate is
delays. A smaller buffer gave significantly shorter delays
reduced if data is lost. Slow start is used in the beginning
without any substantial reduction in throughput.
of a transmission and after timeout. Congestion avoidance
In this paper we present measurements of concurrent packet-
is used when the transmission rate approaches the available
and circuit-switched traffic. The result is that the GPRS traffic
capacity and after retransmission caused by three duplicate
suffers more than necessary if it is preempted by traffic with
acknowledgments.
higher priority, such as circuit-switched calls. Also for very
short preemption periods TCP performance is significantly III. M EASUREMENTS
degraded. In the testbed and in many commercial networks, The GPRS testbed used in the measurements is shown in
the buffer in the Base Station Controller (BSC) is flushed Figure 1. The client in this testbed is a laptop connected
immediately when there are no resources left for GPRS traffic.
In many situations, data loss could be avoided if the BSC
waited for a short time before flushing its buffer. TABLE I
OVERVIEW OF RESULTS
The work most closely related to ours is described in [3] and
in [6]. Both studies present measurements performed in a real Preemption Throughput Retransmitted RTT avg
(secs) (kbps) (%) (ms)
GPRS network. In contrast to our measurements, the studies 3 21.64 6.96 2911
do not mainly focus on the GPRS buffers, but as real networks 6 22.20 6.55 3081
are used aspects of buffering are also taken into account. 15 21.27 7.03 3316
R Um Abis Gb Gn Gi

Server
Client Emulated
Radio BTS BSC SGSN GGSN
Environment

Ether− Net Ether−


real Hawk real

Fig. 1. GPRS testbed

with a serial cable to a GPRS terminal at the R reference In the presented measurements, there is only one GPRS
point. The GPRS terminal accesses the GPRS network over the client in the system and the application model used is bulk
radio interface. In order to provide controllable and repeatable transfer over one TCP connection. Data is transmitted in
radio conditions, an emulated radio environment is used at the downlink from the server in the wired network to the
the radio interface. The Base Transceiver Station (BTS) is GPRS client. The end hosts run Linux 2.4.2-2 with the default
connected at the Abis interface with a BSC which provides settings of TCP options. The GPRS terminal is capable of
control functions and physical links over the Gb interface using three PDCHs in downlink and one in uplink. The coding
to an SGSN. The SGSN communicates with a GGSN over scheme is CS-2, LLC is run in unacknowledged mode, and
the Gn interface. The GGSN connects the GPRS network to RLC in acknowledged mode. Compression is disabled. The
other packet data networks, such as the Internet, over the Gi radio quality is nearly optimal with a received signal level of
interface. -80dBm and a C/I of 20dB.
The purpose of the measurements is to investigate the
impact of preemption by traffic with higher priority, such as
7000000
circuit-switched calls. As no resources are exclusively reserved
6000000 for GPRS in the testbed, circuit-switched calls are allowed to
occupy all the available resources. When no circuit-switched
5000000
calls are going on, data is transmitted to the GPRS client over
sequence offset

4000000 three PDCHs. Each measurement lasts for 40 minutes, and


3000000
the GPRS data transfer is preempted at least 30 times. The
time between consecutive preemption periods is one minute.
2000000 The duration of the preemption periods varies between the
1000000
measurements. The values tested are 3, 6, and 15 seconds.
21
12 Table I gives an overview of the results. The table shows
0
00:00 05:00 10:00 15:00 20:00 25:00 30:00 35:00 40:00 45:00 throughput, percentage of retransmissions, and average round
relative time
trip times for the tested preemption times. Unexpectedly, the
results are similar for all the preemption times tested.
(a) Time sequence graph
The result for 3 seconds preemption is shown in Figure 2.
Figures 2(a) and 2(b) show the sequence number evolution
70000
and the outstanding data, respectively. The time-sequence
60000
graph shows that data losses occur every minute which is each
time the GPRS data transfer is preempted. Before the transfer
50000
is preempted, the outstanding data reaches the receiver window
Outstanding Data (bytes)

40000
of 64KB, and then, after a few minutes, it stabilizes with peaks
at 16KB. In the typical case for preemption times of 3 and 6
30000
seconds, the transmission is restarted after a preemption period
20000 by an acknowledgment that has been buffered in the GPRS
terminal. The first event captured at the Abis interface after
10000
the preemption period is a request for an uplink channel from
0 the client.
00:00 05:00 10:00 15:00 20:00 25:00 30:00 35:00 40:00 45:00
relative time Figure 3 shows the results for 15 seconds preemption. The
results are similar to those for 3 and 6 seconds preemption.
(b) Outstanding data Packet losses occur at regular intervals that coincide with
the preemption periods. After the initial slow start phase the
Fig. 2. 3 seconds preemption transfer stabilizes and the outstanding data reaches levels of
about 16KB. In contrast to the typical scenario for the shorter
On the client and the server machines, Ethereal [4] captures preemption times, the first event after 15 seconds preemption is
packets which are further analyzed with Tcptrace [10]. At the a retransmission from the server, not an acknowledgment from
Abis interface the NetHawk analyzer [9] captures GSM and the client. A preemption period of 15 seconds is long enough
GPRS PDUs for signaling as well as for user data. for the GPRS terminal to empty its buffer, and therefore
sequence offset
180000
7000000 SSSSSSSSSSS
SS
2
1 SSS
6000000 SS
SS
160000
SSS
S
5000000 SS
SS
SSS
SS
sequence offset

4000000 140000 SS
SSS
S
SS
3000000 OO
OO
OOO
120000 O
2000000 3 OO

1000000
2
1 00:40 00:50 01:00
1
2
relative time
0
00:00 05:00 10:00 15:00 20:00 25:00 30:00 35:00 40:00 45:00
relative time
Fig. 4. Client trace, first preemption 3s

(a) Time sequence graph


IV. C ONCLUSIONS
70000 We investigate what happens when GPRS traffic is pre-
60000
empted by high priority traffic, e.g. circuit-switched calls. In
this situation data that is buffered in the BSC is immediately
50000 discarded when the GPRS resources are lost. New data, either
Outstanding Data (bytes)

40000
in the form of a retransmitted segment or in the form of an
acknowledgment buffered in the GPRS terminal, is needed to
30000 start up the transfer again after the preemption period ends.
20000
Since several TCP segments get lost when the BSC buffer is
flushed it takes a substantial amount of time to recover even
10000
for short preemption times. This problem could potentially
0
be avoided by applying a timeout period before flushing data
00:00 05:00 10:00 15:00 20:00 25:00 30:00 35:00 40:00 45:00
relative time from the BSC buffer when the GPRS resources are preempted.
Data buffered in the SGSN buffer should also be immediately
(b) Outstanding data transmitted when resources for GPRS become available again.

Fig. 3. 15 seconds preemption


ACKNOWLEDGMENT
The authors would like to thank Juan Rendón and their
partners at Telia Mobile for valuable assistance. This work has
there are no buffered acknowledgments to transmit after the been partly funded by the Swedish graduate school PCC++.
preemption period. The Nethawk trace supports this scenario,
R EFERENCES
since it indicates that the first event after preemption is a
request for a downlink channel. [1] M. Allman, V. Paxson, and W. Stevens. TCP congestion control. RFC
2581, April 1999.
Only data buffered in the BSC is lost due to preemption, [2] C. Bettstetter, H-J. Vögel, and J. Eberspächer. GSM phase 2+ general
which is clearly illustrated in Figure 4. The detailed time- packet radio service GPRS: Architecture, protocols, and air interface.
sequence graph, taken from a client trace, shows the first pre- IEEE Communication Surveys, 2(3), 1999.
[3] R. Chakravorty, J. Cartwright, and I. Pratt. Practical experience with
emption period.1 There is a gap in the sequence of incoming TCP over GPRS. IEEE GLOBECOM, November 2002.
segments. The missing segments are discarded from the BSC [4] Ethereal. A network protocol analyzer. http://www.ethereal.com/.
buffer when the transfer is preempted. The segments received [5] ETSI. Digital cellular telecommunications system (Phase 2+); General
Packet Radio Service (GPRS); Service description; Stage 2 (GSM 03.60
after the gap are buffered in the SGSN until the transfer is version 6.7.0 Release 1997). ETSI, 2000.
resumed after the preemption period. In this case, even though [6] A. Gurtov, M. Passoja, O. Aalto, and M. Raitola. Multi-layer protocol
a large amount of data is buffered in the SGSN, the transfer tracing in a GPRS network. Proceedings of the IEEE Vehicular
Technology Conference (Fall VTC2002), Vancouver, Canada, September
is not restarted until the client requests an uplink channel in 2002.
order to transmit a buffered acknowledgment. [7] R. Kalden, I. Meirick, and M. Meyer. Wireless internet access based on
A comparison of the results indicates that TCP performance GPRS. IEEE Personal Communications, April 2000.
[8] S. McCanne and V. Jacobson. The BSD packet filter: a new architecture
is similar for the tested preemption times. It takes about 20 for user-level packet capture. Proceedings of the Winter 1993 USENIX
seconds for TCP to recover from data loss even for preemption Conference, pages 259–69, January 1993.
periods of 3 and 6 seconds. Preemption periods of 15 seconds [9] NetHawk. NetHawk GSM Analyser. http://www.nethawk.fi/.
[10] S. Ostermann. Tcptrace. http://www.tcptrace.org/.
result in slow start in the typical case. After the shorter [11] J. Postel. RFC 793: Transmission control protocol, September 1981.
preemption periods, on the other hand, congestion avoidance [12] M. Taferner and E. Bonek. Wireless internet access over GSM and
is used instead. Since almost ten consecutive segments are lost UMTS. Springer-Verlag, 2002.
[13] A. Wennstrom, A. Brunstrom, J. Rendón, and J.H. Gustafsson. A GPRS
due to preemption, slow start leads to quicker recovery which testbed for TCP measurements. Proceedings 4th IEEE Conference
compensates for the longer preemption time. on Mobile and Wireless Communications Networks (MWCN 2002),
Stockholm, Sweden, September 2002.
1 For the consecutive preemption periods, this is not as clearly illustrated,
since the amount of outstanding data is smaller.

You might also like