TCP Over Wireless-Good
TCP Over Wireless-Good
c The authors
Karlstad University Studies
ISSN 1403-8099
Annika Wennström, Stefan Alfredsson, and Anna Brunstrom TCP over Wireless Net-
works
c The authors
Distribution:
Karlstad University
Division of Information Technology
Department of Computer Science
Karlstad University
SE–651 88 Karlstad
Sweden
Abstract
This report provides an overview of common wireless network technologies used to-
day, with emphasis on data transmission. These networks are becoming increasingly
used for Internet communications. As discussed in the report, the TCP protocol may
experience performance degradations over these heterogenous network paths, due to
non-congestion related packet loss and varying round trip times. To this end, many en-
hancements for TCP to the link and transport layer have been proposed. A selection of
these are presented and discussed in relation to the wireless network technologies.
i
Acknowledgments
This work has been partly funded by the Swedish graduate school PCC++ and the re-
search program CMIT. Figure 2 was created by Sean Schneyer.
iii
Contents
Abstract i
Acknowledgments iii
1 Introduction 1
2 Wireless Networks 2
2.1 Wireless LANs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.1.1 IEEE 802.11 . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 Wireless WANs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2.1 Development from GSM to UMTS . . . . . . . . . . . . . . . 4
2.2.2 Development from AMPS to D-AMPS and CDPD . . . . . . . 5
2.2.3 Development from IS-95 to cdma2000 . . . . . . . . . . . . . . 6
2.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 TCP 8
3.1 Slow Start and Congestion Avoidance . . . . . . . . . . . . . . . . . . 8
3.2 Fast Retransmit and Fast Recovery . . . . . . . . . . . . . . . . . . . . 9
3.3 TCP Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3.1 Selective Acknowledgments . . . . . . . . . . . . . . . . . . . 10
3.3.2 Timestamps . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3.3 Window Scaling . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.4 Other Mechanisms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.4.1 Limited Transmit . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.4.2 Increased Initial Window . . . . . . . . . . . . . . . . . . . . . 11
3.5 TCP Variants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5 Proposed Optimizations 12
5.1 Link Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5.1.1 Snoop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5.1.2 WTCP (Ratnam and Matta) . . . . . . . . . . . . . . . . . . . 13
5.1.3 TULIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5.1.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5.2 Split Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.2.1 Indirect TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.2.2 MTCP and Selective Repeat Protocol . . . . . . . . . . . . . . 14
5.2.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.3 Explicit Notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.3.1 ICMP Messaging . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.3.2 Explicit Loss Notification . . . . . . . . . . . . . . . . . . . . 15
5.3.3 Syndrome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.3.4 Partial Acknowledgments . . . . . . . . . . . . . . . . . . . . 15
5.3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.4 End-to-end . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.4.1 TCP Westwood . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.4.2 WTCP (Sinha et al.) . . . . . . . . . . . . . . . . . . . . . . . 16
5.4.3 TCP Real . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.4.4 Freeze-TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
v
5.4.5 Delayed Dupack . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.4.6 Eifel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.4.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6 Concluding Remarks 18
vi
List of Figures
1 Examples of WWANs . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Slow start and congestion avoidance when timeout occurs. . . . . . . . 9
vii
List of Tables
ix
1. Introduction 1
1 Introduction
Wireless networks are becoming more widely deployed and more often used to access
services in the Internet. Internet technology has been successful in providing services to
users in fixed networks. In wireless networks, on the other hand, the performance of the
Internet protocols has been reported to be much lower than in fixed networks [7, 11]. The
main reason for the performance degradation is that the Transmission Control Protocol
(TCP) works less efficiently in wireless networks. This problem is important, since
TCP is used by many popular Internet applications, such as e-mail, web browsing, and
remote login. TCP was designed for networks with wired links and stationary hosts. In
these networks, data is lost mainly due to congestion. TCP interprets all data loss as
congestion in the network, and in case of data loss TCP slows down its transmission
rate in order to reduce the congestion. In a wireless network, it is no longer appropriate
to assume that most losses are caused by congestion. Data loss is often caused by the
relatively low quality of the wireless link. Terminal mobility, which is supported by
many wireless networks, may also result in data loss. If data gets lost for some other
reason than congestion, then performance is unnecessarily degraded as TCP reduces its
transmission rate in response to the loss.
There are many proposals in the literature on how to optimize TCP performance in
wireless networks. The main idea, shared between the optimization proposals, is that
TCP should only reduce its transmission rate in case of congestion, not if data is lost
for other reasons. Some of the optimization proposals are primarily concerned with
problems related to the quality of the wireless link, and yet others try to enhance TCP
performance in respect to mobility. Many optimization proposals are evaluated in a sim-
ulated environment that is based on general assumptions of a wireless link, such as a
high probability of transmission errors, low data rates, and long delays. In comparison
to fixed networks, all wireless networks may seem to have the same properties. How-
ever, if wireless networks are compared to each other instead, then there are important
differences.
The rest of the document is structured as follows. In Section 2, some commonly used
wireless networks are described. TCP is described in Section 3. Section 4 summarizes
the problems that TCP experiences in wireless environments. In Section 5, examples of
optimization proposals are presented. Some concluding remarks are given in Section 6.
2 2. Wireless Networks
2 Wireless Networks
A wireless network consists of mobile stations and various intermediate nodes. Some
type of intermediate node is required to connect a wireless network with a wireline
network. A cellular telephony network, for example, is connected to a wireline network
by an inter-working unit, and a wireless local area network (WLAN) is interconnected
with an access point (also called base station).
Wireless links are not as robust as wireline links, since the radio quality may vary
considerably over time, the bandwidth is usually lower, and transmission errors occur
more frequently. Sending signals over an omnidirectional radio based medium gives
rise to more errors than in a guided medium such as fiber or coax. Signal strength
weakens with the distance between the mobile station and the base station, and radio
waves bounce off objects, giving rise to interference and multi-path effects.
In order to shield upper protocol layers from transmission errors both error correc-
tion, interleaving and retransmissions can be used at lower layers. In many wireless
networks, the data link layer performs error recovery according to some automatic re-
peat request (ARQ) protocol. In [18] link ARQ protocols are categorized according to
the level of reliability provided to upper layers. An ARQ protocol is defined as perfectly
persistent or reliable, if it retransmits frames until they are acknowledged or, after a very
large number of retransmission attempts, disconnects the link and notifies upper layers.
If the maximum number of retransmissions (or the maximum time spent retransmitting a
frame) is limited, to tens of retransmissions, then the ARQ protocol is defined as highly
persistent or highly reliable. A low persistent or partially reliable ARQ protocol, on the
other hand, retransmits a frame 2-5 times before it gives up and transmits the next frame
instead.
In this section, we present a selection of wireless networks that provide data services
and support user mobility. We begin with WLANs. Then wireless wide are networks
(WWANs) are described. Finally, some conclusions are presented.
An IEEE 802.11 WLAN [48] (operating in infrastructure mode) consists of one or more
access points (APs) interconnected by a distribution system (typically a wired LAN).
The coverage area of an AP is called a basic service set. The basic service sets of many
interconnected APs may form an extended service set. Mobility between service sets
is supported, since handover is performed between APs. Handover is initiated by the
2. Wireless Networks 3
mobile station. It takes between 60 and 400ms for a handover to complete, depending
on the network interface card [36].
In the IEEE 802.11 standard, the algorithm used for medium access control is carrier
sense multiple access with collision avoidance (CSMA/CA). CSMA/CA is similar to
the access control used in wireline LANs, CSMA with collision detection (CSMA/CD).
The number of collisions can be reduced by fragmenting the frames into smaller units
before they are transmitted over the air. However, fragmentation is rarely used [22]. In a
WLAN, collision detection cannot be used as a sign of unsuccessful transmission as in a
wireline LAN, since a station in a WLAN is unable to simultaneously transmit and listen
to the same channel. Instead medium access for unicast communication in a WLAN
relies on positive acknowledgments. Successfully transmitted frames are acknowledged
and if no acknowledgment arrives the sender retransmits the frame. After a few, typically
three, retransmissions the frame is discarded. For delay sensitive traffic, IEEE 802.11
also standardizes contention-free frame transfer. A sender reserves the wireless link and
does not have to contend for the channel.
GSM
GSM [37] is a TDMA based digital cellular network for circuit-switched voice and data
transmission. A mobile station accesses the Internet via a base transceiver station and a
base station controller. An IWF in an MSC serves as the interface between GSM and the
fixed telephone network which in turn is connected to the Internet. In GSM, a mobile
assisted handover scheme is applied [28]. The mobile station performs measurements
of the radio quality and reports this information back to the network which in turn uses
the information to decide if a handover should be initiated. A handover takes about one
second to complete [28]. A mobile station communicates with one base station at a time
which implies that a short interruption occurs due to handover.
The data service available in GSM provides transparent and non-transparent modes
of operation. The non-transparent mode uses an radio link protocol (RLP) [16] between
the mobile station and the IWF. The retransmission scheme is a selective repeat ARQ
based on positive acknowledgments. The frames size is 240 bits in single-link mode
and 576 bits in multi-link mode. Frames are retransmitted in response to a reject, a
selective reject or a status report request that the sender requests from the receiver if no
acknowledgment has arrived after timeout interval.
Depending on the RLP implementation, the link is either reset or disconnected after
a limited number of repeated retransmissions of the same frame. The maximum number
of retransmissions is configurable with a default value of 6. An implementation that
resets the link provides a partially or highly reliable service, depending on the maximum
number or retransmissions [18]. At link reset, the RLP entities empty their buffers and
further error recovery of lost data is silently left to higher layers. A fully reliable RLP,
on the other hand, disconnects the link and notifies its users [29]. Data is not, as in the
reset case, silently discarded by the link layer.
GPRS
General Packet Radio Service (GPRS) [17, 9, 42, 43] is a packet oriented extension to
GSM which provides for higher data rates and more efficient network utilization com-
2. Wireless Networks 5
pared to circuit-switched GSM. GSM channels, each corresponding to a time slot, may
either be reserved for GPRS or dynamically allocated when required. If no channels
are exclusively reserved, a GPRS transfer may be interrupted due to preemption by traf-
fic with higher priority, such as circuit-switched GSM. The data rate depends on the
coding scheme. A mobile station may receive data on up to eight GSM channels, but
most terminals today are not capable of receiving data on more than four channels. The
maximum data rate for the most commonly used coding scheme (CS-2) is 13.4kbps per
channel.
The new functions required for GPRS are provided by GPRS support nodes which
are connected by an IP-based GPRS backbone. Gateway GPRS support nodes (GGSNs)
serve as interfaces between the GPRS network and other packet data networks such as
the Internet. Serving GPRS support nodes (SGSNs) are responsible for routing packets
to the right base station subsystem.
An LLC protocol between the mobile station and an SGSN provides acknowledged
and unacknowledged modes of operation. The maximum LLC frame size is 1556 bytes.
A radio link control (RLC) protocol between the mobile station and the base station
system fragments the LLC frames if necessary to fit into blocks suitable for transmission
over the radio interface. The RLC frame size is 256 bits for CS-2. RLC also supports
acknowledged and unacknowledged modes of operation. The MAC protocol used for
channel access is a slotted ALOHA reservation protocol.
UMTS
In UMTS [49], as compared to GPRS, functionality has moved from the core network
to the radio access network, the UMTS terrestrial radio access network (UTRAN). The
radio resource management, for example, is placed closer to the mobile station, in the
radio network controller (RNC) instead of in the SGSN. No LLC protocol is therefore
required between the MS and the SGSN. This gives a lower protocol overhead. The RLC
protocol in UMTS supports transparent, unacknowledged and acknowledged modes of
operation. The transparent mode provides a byte stream service to the layer above. The
overhead is lower than in other modes, since no RLC header is added. Error correction
is performed only in acknowledged mode. A sliding window based ARQ scheme uses
selective repeat to request retransmission. The RLC block size is configurable with
typical values of around 320 bits. Retransmissions are triggered by acknowledgments
called status report messages that are transmitted by the receiver. The status report
messages serve as both positive and negative acknowledgments, i.e. received frames
are cumulatively acknowledged and missing blocks are indicated. The RLC receiver
transmits a status report message in three cases: to request retransmission of erroneous
RLC blocks, in response to poll messages from the sender, and at certain times as a
periodic event. Retransmissions have a higher priority than new data blocks. RLC
delivers data in order and removes duplicates before delivery. The reliability is low to
high depending on the the maximum number of retransmissions, which can be set to a
value of up to 40.
D-AMPS
6 2. Wireless Networks
D-AMPS [45] is a TDMA based system, which is similar to GSM. As in GSM, a mobile
assisted handover scheme is applied [28]. Also the RLP is similar to the one used in
GSM. In contrast to GSM, a selective reject may be used to request retransmission of
multiple frames. The size of an RLP frame is 256 bits, and each frame has a sequence
number in the range 0-127 and a 16-bit checksum. The maximum data rate is 9.6 kbps.
The 2.5G development of D-AMPS is also similar to GSM, since D-AMPS is extended
to provide GPRS.
CDPD
CDPD [45, 42] is an infrastructure for packet-switched data that is implemented as an
overlay network to the analog AMPS system. CDPD uses idle voice channels to transmit
data and if no channel is available packets will be delayed until a channel becomes free.
The data rate achieved after error coding is 9.6 kbps. As analog cellular networks are
being replaced, the packet operations provided by CDPD will be taken over by second
and third generation cellular networks.
In AMPS, network controlled handover is applied [28]. This type of handover is
less efficient than the mobile assisted handover used in GSM and D-AMPS. The base
stations must measure the radio quality of the mobile stations and transmit this informa-
tion to other base stations and to the MSC. Handover may take up to ten seconds, since
extensive signaling is required and the radio quality is measured infrequently.
Digital carrier sense multiple access (DSMA/CD) is the medium access control
protocol used in CDPD. The protocol is similar to the carrier sense multiple access
(CSMA/CA) protocol used in wireless LANs described above. A mobile station that
has data to transmit must first check if a busy/idle flag bit is set on the forward channel
before it can contend for the reverse channel. The mobile data link protocol (MDLP)
manages logical links between a mobile end system and a mobile data intermediate
system which is the node connecting the CDPD network with external packet oriented
networks. The protocol supports both acknowledged and unacknowledged mode of op-
eration. Between the network and link layer lies the subnetwork dependent convergence
protocol (SNDCP). SNDCP segments network protocol data units which have a maxi-
mum size of 2048 bytes into blocks of 130 bytes (default value) that are passed to the
link layer.
IS-95
IS-95 is a 2G digital cellular system [14, 25, 26] based on CDMA. IS-95 and its later
revision, IS-95B, are also called cdmaOne. The network architecture is similar to GSM
and D-AMPS. A mobile station is connected to a base station and a base station con-
troller, and an MSC interconnects the wireless network with external networks. The
handover scheme is also similar to GSM and D-AMPS in that the mobile assists the net-
work with measurements of the radio quality. In contrast to the TDMA systems, IS-95
CDMA supports soft handover [28], as described above.
For data transmission in IS-95 [26], a non-transparent mode of operation uses an
RLP based on negative acknowledgments (NAKs). The retransmission scheme is less
complex than the one used in GSM. The receiver requests a retransmission by sending
NAKs to the sender. The NAK scheme is possible, since the system is synchronous and
RLP frames are transmitted every 20ms. When there is no data to transmit, the sender
transmits the sequence number of the last data frame in an idle frame (which requires less
resources than a data frame). The receiver responds with NAKs if frames are missing. If
2. Wireless Networks 7
a (1,2,3) NAK scheme is used (other schemes are possible), the receiver first transmits
one NAK after a timeout period. If data is still missing after a second timeout period,
then two NAKs are transmitted. Finally, after a third timeout period, three NAKs are
transmitted. After the attempt with three NAK rounds for the same frame, RLP gives up
and leaves further error recovery to higher layers.
The maximum data rate is 9.6kbps. The frame size is 171 or 266 bits, depending
on the rate. Undetected errors may occur, since the frame checksum is relatively weak,
only 8 or 12 bits per frame depending on the rate [26].
IS-95B
IS-95B is the 2.5G development of IS-95. Packet-switched data services are added to
the IS-95 system by a software upgrade in the base stations and new user terminals. As
in GPRS, up to eight channels may be assigned to one user which gives a maximum data
rate of 115kbps. In practice, the achievable data rate is about 64kbps.
cdma2000
The cdma2000 specification is a 3G development of IS-95. In contrast to UMTS, it is
possible to reuse the radio spectrum, bandwidth, and radio interface from preceding 2G
and 2.5G, since these are already based on CDMA. The first step is cdma2000 1x which
gives a higher capacity for both voice and data as compared to previous systems. The
average throughput per user is 144kbps with instantaneous data rates of up to 307kbps.
Even higher rates, up to 2-3Mbps, will be available with cdma2000 1xEV-DO (evolution
for data only) and cdma2000 1xEV-DV (evolution for data and voice). The radio link
protocol used over the air uses a selective repeat ARQ based on NAKs similar to the one
applied in IS-95, described above. RLP performs a limited number of retransmissions
before it gives up. Error detection and further error recovery are left to upper layers.
2.3 Conclusion
In comparison to fixed networks, wireless networks may seem to all have very similar
properties. However, as presented above, a closer investigation shows that there are some
important difference between various systems. Next, the presented wireless networks
are summarized and contrasted with emphasize on characteristics that may affect upper
protocol layers.
When the radio quality is low, data loss may occur over a wireless link due to trans-
mission errors. The link level ARQ is capable of providing reliability is most cases,
especially if the ARQ is highly persistent as in many cellular networks. In WLANs, on
the other hand, data may be lost if the radio conditions are very poor, since only a few
retransmission attempts are made. In cellular networks, handover is a more likely cause
to data loss [22]. Data loss due to handover occurs particularly often if a user moves at
high speed.
Handover typically results in delay and, in many cases, also in data loss. Delay is
introduced, since it takes time to forward data to the new base station and to perform
the handover procedure, e.g. signaling messages must be transmitted between the nodes
involved in the handover. Data loss occurs if the old base station flushes its buffer instead
of forwarding data to the new base station. Data loss due to handover can be avoided if
a logical link protocol that performs ARQ is used on an additional link layer above the
radio link protocol. Some examples are LLC in acknowledged mode in GPRS, and the
logical link protocol used in CDPD. Even so, the handover is not transparent to upper
layers, since recovery of lost data introduces delay.
8 3. TCP
Wireless networks have a long delay compared to wired networks, since transmission
over a radio interface is slower than over a wired medium. Additional delay may be
introduced due to processing on the physical layer and on the data link layer. Processing
on the physical layer results in a constant delay. In cellular networks, processing on
the physical layer (error correction and interleaving) is extensive and therefore gives a
relatively long delay. On the data link layer, delay is increased by the use of MAC and
ARQ. This delay is variable, since it depends on other users’ activity (MAC) and on
the radio conditions (ARQ). The delay variation experienced by upper protocol layers
may become very large if the link layer ARQ is highly persistent as in GSM, GPRS and
UMTS (depending on the configuration).
3 TCP
TCP [40] is a connection oriented transport protocol which provides a reliable byte
stream to the application layer. Application data submitted to TCP is divided into pro-
tocol data units (PDUs) called segments, before transmission. Reliability is achieved
since TCP uses an ARQ mechanism based on positive acknowledgments. Each byte is
numbered and the number of the first byte in a segment is used as a sequence number in
the TCP header. A receiver transmits a cumulative acknowledgment in response to an
incoming segment which implies that many segments can be acknowledged at the same
time.
TCP manages a retransmission timer which is started when a segment is transmit-
ted. If the timer expires before the segment is acknowledged, then TCP retransmits the
segment. The retransmission timeout value (RTO) is calculated dynamically based on
measurements of the round trip time (RTT) [39], i.e. the time it takes from the transmis-
sion of a segment until the acknowledgment is received.
In October 1986 the Internet had its first congestion collapse. The end hosts trans-
mitted more data than the routers were able to handle, and did not lower the transmis-
sion rate even though many packets were lost. Hence the congested state persisted in
the routers. Since then TCP has been extended with mechanisms for congestion con-
trol [24]. Today all TCP implementations are required to use algorithms for congestion
control, namely, slow start, congestion avoidance, fast retransmit, and fast recovery [3].
20
18
ssthresh
16
14
12
cwnd ssthresh
(segments) 10
2
timeout
0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
round−trip times
due to timeout. The congestion window is increased until a timeout occurs or a threshold
value (ssthresh) is reached. If a timeout occurs, then ssthresh is reduced to half the
amount of outstanding data, the congestion window is reduced to one full-sized segment,
and the slow start phase is entered again. If ssthresh is reached, then the slow start phase
ends and congestion avoidance is entered instead. During the congestion avoidance
phase, the congestion window is increased by one segment per round trip time, which
gives a linear increase of the congestion window. Figure 2 illustrates how the congestion
window is changed in slow start and in congestion avoidance.
As compared to the congestion collapse discussed above, these algorithms make
TCP slow down when packets are lost. With less packets injected into the network, the
load on the routers decreases and packets can flow through.
segments accounts for the three segments which triggered the receiver to transmit the
dupacks. If more dupacks are received, then the congestion window is increased with
one segment for each dupack, since each dupack indicates that one segment has left
the network. When an acknowledgment for new data is received, then the congestion
window is set to the same value as ssthresh. The effect of this adjustment of the con-
gestion window after fast retransmit and fast recovery, is that TCP may enter congestion
avoidance instead of slow start, as is done after timeout.
3.3.2 Timestamps
The timestamps option [23] provides an additional means to identify segments and their
acknowledgments. A 12 byte timestamp is added to outgoing segments and the receiver
adds the same timestamp to the acknowledgments going back to the sender. If the times-
tamps option is enabled, then the sender can sample the round trip time with a higher
frequency, which gives a more accurate round trip time estimation. This is especially
useful when using large windows, since the round trip time can be estimated more often
than only once per window.
the receiver, it increases the probability of fast retransmit, since the receiver transmits a
dupack in response to the new segment.
Limited transmit improves TCP performance when the transmission window is too
small for fast retransmit and fast recovery to be triggered. For example, if the window is
only two packets, the sender may only transmit two packets and therefore three dupacks
can not be generated. Limited transmit allows for injection of more packets which may
lead to more dupacks, which then trigger fast retransmit.
again, and after handover data may be transmitted without problems to the new base
station.
TCP may also misinterpret a sudden increase in the round trip time as data loss. If
the delay is long enough for the retransmission timer to expire before an acknowledg-
ment is received, then TCP misinterprets the delay as an indication of data loss due to
congestion. The delayed data is unnecessarily retransmitted and TCP enters slow start.
A highly variable round trip time can also lead to a large RTO, since the RTO is based
both on estimates of the round trip time and on variations in the round trip time. If
the RTO is large, then TCP reacts slowly to data loss. Variations in the round trip time
can be caused by link level retransmissions of a wireless link. If the link layer frames
that contain a TCP segment must be retransmitted because of a poor radio environment,
then the whole segment is delayed. Round trip time variations may also be caused by
handover or competing traffic. Queuing in routers, base stations, and other intermediate
nodes may also lead to a long round trip time. A long round trip time may cause low
throughput and underutilization of the network, since it takes a number of round trip
times before the congestion window reaches the capacity of the network. TCP perfor-
mance is degraded, especially for short lived flows, which transmits a small amount of
data.
5 Proposed Optimizations
This section gives an overview of some optimizations that have been proposed to im-
prove TCP performance over wireless networks. The proposed optimization are catego-
rized into four groups: link layer, split connection, explicit notification, and end-to-end.
Link layer optimizations for improved TCP performance are presented in Section 5.1.
Section 5.2 describe how optimization at the transport layer can be achieved by splitting
connections in an intermediate node between the wireless and the fixed network. In or-
der to distinguish congestion related losses from losses in the wireless network explicit
notifications can be used between an intermediate node and the end hosts. Examples of
explicit notification approaches are given in Section 5.3. In Section 5.4, some end-to-
end approaches are described. End-to-end approaches do not require any modifications
of intermediate nodes, only of the end hosts.
5.1.1 Snoop
One of the first approaches to improve TCP performance over wireless links, Snoop, is
presented in [8]. The Snoop scheme uses link layer retransmissions to improve the relia-
bility of the wireless link and at the same time it actively tries to avoid unnecessary TCP
retransmissions. Snoop is implemented as an agent in the base station. Snoop caches
link layer frames and examines the contents of TCP headers, but it does not require TCP
to run in the base station. A retransmission over the wireless link is triggered at the base
station after a link layer timeout period or if a duplicate acknowledgment arrives from
5. Proposed Optimizations 13
the mobile station, which is assumed to be the receiver. When the first duplicate ac-
knowledgment arrives the base station retransmits the lost, or possibly out-of-sequence,
frame. Further duplicate acknowledgments from the mobile station are dropped at the
base station. This prevents the sender in the fixed network from performing fast retrans-
mit and fast recovery while link layer retransmissions are performed over the wireless
link.
WTCP [41] is similar to Snoop in that the base station performs retransmissions over
the wireless link based on timeouts and duplicate acknowledgments. In addition, WTCP
further improves TCP performance by using the timestamps option [23] and by adjust-
ing the transmission window used over the wireless link. WTCP operates in the base
station and the only modification required at the end hosts is that the timestamps op-
tion is enabled. The base station increments the timestamp in the TCP header for each
retransmission that is required over the wireless link. This gives a more accurate RTT
estimate. For acknowledgments from the mobile station, on the other hand, the base
station leaves the timestamp unchanged. Furthermore, WTCP changes the upper limit
of outstanding data that it allows over the wireless link. If a timeout occurs, then the
upper limit of outstanding data is set to one segment, since the wireless link is assumed
to be in a bad state. When acknowledgments come back to the base station again, the
wireless link is assumed to be in a good state and the upper limit of outstanding data is
set to the same value as the receiver window.
5.1.3 TULIP
In [38], the transport unaware link improvement protocol (TULIP) is proposed to im-
prove TCP performance over half-duplex radio links, e.g. IEEE 802.11. TULIP is de-
scribed as transport unaware, since it does not use information in the TCP header, but
relies only on the protocol field in the IP header. TULIP provides a reliable service
for TCP data segments, and an unreliable service for UDP and TCP acknowledgments.
TULIP provides in-order delivery of packets, which prevents unnecessary fast retrans-
mits.
5.1.4 Conclusion
The proposals presented above use link level retransmissions to minimize packet loss
due to the wireless part of a connection. The link level proposals are intended for
wireless links with very low persistent ARQ protocols. All the proposals preserve the
end-to-end semantics of TCP, but TCP data and acknowledgments are required to pass
through the same intermediate node. In the TCP-aware approaches, Snoop and WTCP,
the base station is required to process information in the TCP header, which is based
on the assumption that each TCP segment is encapsulated in a link layer frame. This is
usually the case in WLANs, but not in most other wireless networks. If the link layer
frame used over the radio interface is to small to encapsulate a TCP segment, as in many
WWANs, then the link layer proposals could operate on the logical link control layer
instead (provided that a TCP segment fits into a frame). Unfortunately, if TCP headers
are encrypted [27], the TCP-aware approach will not work.
14 5. Proposed Optimizations
Indirect TCP (I-TCP) [4, 5] is intended primarily for WLANs with support for mobility
at the IP level. An I-TCP connection between a mobile station and a fixed host is split
at the base station into one connection over the wireless network and one over the fixed.
When the mobile station moves and a handover occurs, TCP state is transferred to the
new base station and the retransmission timer is reset. A consequence of this is that the
fixed host will be less affected by delay caused by handover and link level retransmis-
sions. Even though TCP is used also over the wireless link, the performance is improved
as compared to having one connection all the way. This is explained by the fact that the
round trip time becomes shorter. Therefore, the TCP sender in the base station can re-
cover faster from data loss, especially if the connection over the fixed part experiences a
non-negligible delay, but the wireless link still is the bottleneck.
Two alternative split connection schemes are described in [52]. Both support mobility
on top of a version of mobile IP. After a handover the TCP states of the connections are
transmitted to the new base station. The first alternative, MTCP, uses standard TCP also
over the wireless network. For the second alternative a selective repeat protocol (SRP)
suitable for wireless communication is used instead of TCP between the base station and
the mobile station. SRP is a UDP based protocol that performs flow and error control
optimized for wireless links. Since SRP uses selective acknowledgments, it is possible
to recover more than one segment each round trip time.
5.2.3 Conclusion
By splitting a TCP connection, data loss due to handover can be avoided if data and
state information are forwarded to the new base station. Furthermore, with the split, it is
possible to discriminate data loss over the wireless link from data loss that occurs over
the fixed network. The proposals have similar disadvantages as the link layer schemes
presented above. All data to and from the mobile station is required to pass the same
base station (or some other intermediate node which splits the connection). TCP headers
must be processed, which implies that the split connection schemes do not work with
IPsec. In addition, the end-to-end semantics of TCP are not preserved. The presented
proposals are intended for WLANs which support mobility on the IP level. However,
split connection schemes may improve TCP performance also in other environments,
since a shorter round trip time results is faster error recovery. An example of this is
provided in [35], which evaluates a split connection proxy in WCDMA.
5. Proposed Optimizations 15
5.3.3 Syndrome
Syndrome [13] is a modification of the base station to enable detection of packet loss
over the wireless link. The base station counts the number of packets it relays, and
includes this counter as a TCP option. This counter is called a ”syndrome”, and is
used together with the sequence number to determine if a loss occurred in the wired or
wireless part of the network. If there is a gap in the syndrome counter, this indicates
that packets were lost on the wireless part. Gaps in sequence numbers, but not in the
syndrome, indicate that segments must have been lost in the fixed network. Explicit loss
notification is then used by the receiver to inform the sender about the loss.
from the base station and a complete acknowledgment from the mobile host. If only
the partial acknowledgment arrives, then the sender can conclude that data must have
been lost over the wireless network and no congestion control action is required. If no
acknowledgments arrive, then the most likely cause is data loss due to congestion.
A similar scheme, which introduces two new partial acknowledgments, is proposed
in [15]. If the mobile station is the receiver, then the base station transmits a last hop
acknowledgment in response to the fixed host. The scheme work also if the mobile
station is the sender. In that case the base station transmits a first hop acknowledgment
to the mobile station. As in the partial acknowledgment approach above, the sender
receives two acknowledgments for each successfully transmitted segment, one from the
receiver and one from the base station.
5.3.5 Conclusion
The explicit notification proposals have a different philosophy compared to most of the
other proposals. The sender can distinguish congestion from data loss over the wireless
network, since it receives information about the transmission status. This does not solve
the problem with the higher unreliability of the wireless network, but the sender knows
about it and is able to make a more informed decision. One disadvantage of the explicit
notification schemes presented above is that they assume that the base station is TCP-
aware. The only exception is ICMP messaging. Explicit notification assumes a low
persistent link ARQ, such as in WLANs.
5.4 End-to-end
Optimizations may also be placed entirely in the end-points to avoid adding complexity
to the network. The proposals in this section differ from each other, but the underlying
idea that they have in common is to avoid congestion control action at the sender when
data is lost for some other reason than congestion.
TCP Westwood [12] is a sender-side modification that improves the congestion control
algorithm in TCP Reno. Instead of relying on slowly probing the available bandwidth
until segments are dropped, as in standard TCP, the rate of incoming acknowledgments
is used to determine the available bandwidth. TCP Westwood has been shown to give
improvements over wireless links as well as over wired. Error recovery is faster than in
standard TCP, since the bandwidth estimation is considered when values for cwnd and
ssthresh are computed after data loss.
The Wireless Transmission Control Protocol (WTCP) [46] is aimed at improving the
performance in WWANs such as CDPD. As TCP Westwood, WTCP uses a rate based
approach to control the transmission rate. Inter-packet separation at the sender and the
receiver is used as the primary metric for transmission rate calculations. This means
that WTCP is more resilient to non-congestion related packet loss, thereby improving
performance in wireless networks.
5. Proposed Optimizations 17
5.4.4 Freeze-TCP
Freeze-TCP [21] is a mechanism to improve the performance of TCP in wireless en-
vironments in which handover frequently occurs. By exploiting the properties of the
advertised receiver window, a TCP connection can be frozen. If the receiver sets the re-
ceiver window to zero, then the sender leaves its cwnd unchanged until the receiver ad-
vertises a new receiver window. Just before handover occurs, the mobile station freezes
the TCP connection by advertising a receiver window of zero. This prevents segments
from getting lost and unnecessary congestion control action to be taken by the sender.
When the handover is completed, the receiver sends an acknowledgment which opens
up the window again. The transmission then continues at the same rate as before.
5.4.6 Eifel
The Eifel algorithm described in [31, 32, 30] allows the sender to detect whether an al-
ready initiated error recovery action is necessary or not. When the first acknowledgment
that covers previously unacknowledged data arrives, the sender can determine if this is
an acknowledgment of the original segment or of a retransmission. The algorithm uses
the timestamps option to match acknowledgments with segments. If the first acknowl-
edgment is for the original segment, then the retransmission is spurious and there is no
18 6. Concluding Remarks
reason for the sender to reduce the transmission rate. The original packet is not lost due
to congestion, but it has only been delayed before it arrived at the receiver.
5.4.7 Conclusion
The end-to-end proposals are based on various ideas. The rate based approaches try
both to avoid congestion and to recover quickly from random losses over the wireless
network. Freeze-TCP prevents data loss by making a pause in the data transfer during
handover. The Eifel approach, on the other hand, limits performance degradation once
delay has already been misinterpreted as a sign of congestion. End-to-end proposals are
advantageous since the end-to-end semantics of TCP are preserved. The data transferred
between the end hosts is not required to pass the same intermediate node. No additional
processing is required in the network and IPsec can be used.
5.5 Summary
The optimization proposals presented above, as illustrated by many different types of
approaches, have been suggested to improve TCP performance over wireless networks.
The link layer approaches use link layer retransmissions to increase the reliability
provided to TCP. The requirements on the link layer service may vary depending on the
application. This is, for example, considered in UMTS, since the radio link protocol
allows configuration of many parameters, such as the maximum number of retransmis-
sions.
There are many types of split connection proposals, only some of which are de-
scribed in this report. Performance improvements are often significant, but at the cost
of violating the end-to-end semantics of TCP. The intermediate node which divides the
connection must process data up to the transport layer and all TCP segments belonging
to the same connection are required to pass that node. The TCP-aware link layer pro-
posals have similar limitations as the split connection proposals. However, the link layer
proposals preserve the end-to-end semantics of TCP.
Most of the explicit notification proposals require TCP-awareness of the intermedi-
ate node that is responsible for transmitting explicit notifications. These proposals seem
to be intended for wireless links with low reliability. A link ARQ with higher persistence
would reduce or eliminate data loss due to an unreliable wireless link. However, another
application of explicit notifications could be to signal to the TCP sender that a handover
has been initiated.
End-to-end proposals are based on the idea that complexity belongs in the end hosts
rather than in the network. The end-to-end semantics of TCP are preserved. Interme-
diate nodes do not have to be TCP-aware, as in many of the other proposals. The data
transferred between the end hosts is not required to pass the same intermediate node.
6 Concluding Remarks
In this report, some wireless networks that are used to access the Internet are described,
the congestion control mechanisms in TCP are explained, and representative examples
of optimization proposals intended to increase TCP performance in wireless networks
are provided. As TCP is one of the reasons for the success of the Internet, it is desirable
to use TCP also in wireless networks. However, TCP performance is degraded more
than necessary due to non-congestion related packet loss and varying round trip times,
incurred by the properties of wireless networks. Therefore, a number of optimizations
REFERENCES 19
have been proposed to increase the performance of TCP over wireless networks. The
optimization proposals are divided into link layer, split connection, explicit notification
and end-to-end optimizations. The optimization proposals all have the same goal, to
improve TCP performance over wireless networks, but different approaches are used to
reach the goal. For example, some link layer optimizations try to emulate the behavior
of wired links by reducing the probability of non-congestion related loss, while opti-
mizations that use explicit notifications aim for the opposite, that the end points should
be aware of the network heterogeneity. Some of the optimization proposals may im-
prove TCP performance in many types of wireless networks, while others are intended
for WLANs or for a specific WWAN.
References
[1] M. Allman, H. Balakrishnan, and S. Floyd. RFC 3042: Enhancing TCP’s loss
recovery using limited transmit, January 2001.
[2] M. Allman, S. Floyd, and C. Partridge. RFC 3390: Increasing TCP’s initial win-
dow, August 2002.
[3] M. Allman, V. Paxson, and W. Stevens. RFC 2581: TCP congestion control, April
1999.
[4] A. Bakre and B. R. Badrinath. I-TCP: Indirect TCP for mobile hosts. 15th Inter-
national Conference on Distributed Computing Systems, May 1995.
[5] A. V. Bakre and B. Badrinath. Implementation and performance evaluation of
Indirect TCP. IEEE Transactions on Computers, 46(3), March 1997.
[6] H. Balakrishnan and R. Katz. Explicit loss notification and wireless web per-
formance. Proceedings Globecom Internet Mini-Conference, Sydney, Australia,
November 1998.
[7] H. Balakrishnan, V. N. Padmanabhan, S. Seshan, and R. H. Katz. A comparison
of mechanisms for improving TCP performance over wireless links. IEEE/ACM
Transactions on Networking, 5(6):756–769, December 1997.
[8] H. Balakrishnan, S. Seshan, and R. H. Katz. Improving reliable transport and
handoff performance in cellular wireless networks. ACM Wireless Networks, 1(4),
December 1995.
[9] C. Bettstetter, H.-J. Vögel, and J. Eberspächer. GSM phase 2+ general packet radio
service GPRS: Architecture, protocols, and air interface. IEEE Communication
Surveys, 2(3), 1999.
[10] S. Biaz, M. Mehta, S. West, and N. H. Vaidya. TCP over wireless networks using
multiple acknowledgements. Technical Report 97-001, Computer Science, Texas
A&M University, January 1997.
[11] R. Cáceres and L. Iftode. Improving the performance of reliable transport pro-
tocols in mobile computing environments. IEEE Journal on Selected Areas in
Communications, 13, June 1995.
[12] C. Casetti, M. Gerla, S. Mascolo, M. Y. Sanadidi, and R. Wang. TCP Westwood:
Bandwidth estimation for enhanced transport over wireless links. Proceedings of
ACM Mobicom, Rome, Italy, pages 287–297, July 2001.
20 REFERENCES
[13] W.-P. Chen, Y.-C. Hsiao, J. C. Hou, Y. Ge, and M. P. Fitz. Syndrome: a light-weight
approach to improving TCP performance in mobile wireless networks. Wireless
Communications and Mobile Computing, (2):37–57, 2002.
[14] M. C. Chuah, B. Doshi, S. Dravida, R. Ejzak, and S. Nanda. Link layer retrans-
mission schemes for circuit-mode data over the CDMA physical channel. Mobile
Networks and Applications, 2(2):195 – 211, October 1997.
[15] J. A. Cobb and P. Agrawal. Congestion or corruption? A strategy for efficient
wireless TCP sessions. IEEE Symposium on Computers and Communications,
Alexandria, Egypt, pages 262–268, 1995.
[16] ETSI. Digital cellular telecommunications system (Phase 2+); Radio Link Protocol
(RLP) for data and telematic services on the Mobile Station - Base Station System
(MS - BSS) interface and the Base Station System - Mobile-services Switching
Centre (BSS - MSC) interface (GSM 04.22 version 7.0.1 Release 1998). ETSI,
1999.
[17] ETSI. Digital cellular telecommunications system (Phase 2+); General Packet
Radio Service (GPRS); Service description; Stage 2 (GSM 03.60 version 6.7.0
Release 1997). ETSI, 2000.
[18] G. Fairhurst and L. Wood. RFC 3366: Advice to link designers on link Automatic
Repeat reQuest (ARQ), August 2002.
[19] S. Floyd. RFC 2582: The NewReno Modification to TCP’s Fast Recovery Algo-
rithm, April 1999.
[20] S. Goel and D. Sanghi. Improving TCP performance over wireless links. Pro-
ceedings of TENCON 98 - IEEE Region Ten Conference on Global Connectivity in
Energy, Computer Communication and Control, 1998.
[21] T. Goff, J. Moronski, D. Phatak, and V. V. Gupta. Freeze-TCP: A true end-to-end
enhancement mechanism for mobile environments. Proceedings of IEEE INFO-
COM, March 2000.
[22] A. Gurtov and S. Floyd. Modeling wireless links for transport protocols. To appear
in ACM CCR, 2004.
[23] V. Jacobson, R. Braden, and D. Borman. RFC 1323: TCP Extensions for High
Performance, May 1992.
[24] V. Jacobson and M. J. Karels. Congestion Avoidance and Control. Proceedings,
SIGCOMM ’88 Workshop, pages 314–329, 1988.
[25] P. Karn. The Qualcomm CDMA digital cellular system. In Proceedings of the
USENIX Mobile and Location-Independent Computing Symposium, pages 35–39,
Aug. 1993.
[26] P. Karn. IP data services over CDMA digital cellular. Mobile Computing and
Communications Review, 4(4):30–35, October 2000.
[27] S. Kent and R. Atkinson. RFC 2401: Security architecture for the internet protocol,
November 1998.
[28] Y.-B. Lin and I. Chlamtac. Wireless and Mobile Network Architectures. John Wiley
& Sons, Inc., 2000.
REFERENCES 21
[47] W. Stallings. Mobile IP. The Internet Protocol Journal, 4(2):2–14, June 2001.
[48] W. Stallings. Wireless Communications and Networks. Prentice Hall, 2001.
[49] M. Taferner and E. Bonek. Wireless Internet Access over GSM and UMTS.
Springer-Verlag, 2002.
[50] N. Vaidya, M. Mehta, C. Perkins, and G. Montenegro. Delayed duplicate acknowl-
edgements: A TCP-unaware approach to improve performance of TCP over wire-
less. Technical Report, Computer Science Dept., Texas A&M University, February
1999.
[51] WAP Forum Ltd. Wireless Application Protocol - architecture specification.
http://www.wapforum.org, page 20, April 1998.
[52] R. Yavatkar and N. Bhagwat. Improving end-to-end performance of TCP over
mobile internetworks. Workshop on Mobile Computing Systems and Applications
(Mobile 94), December 1994.
[53] C. Zhang and V. Tsaoussidis. TCP Real: Improving real-time capabilities of TCP
over heterogeneous networks. Proceedings of the 11th IEEE/ACM NOSSDAV,
2001.