Professional Documents
Culture Documents
TCP is a transport protocol that guarantees reliable ordered delivery of data packets over wired networks. Although it is well tuned for wired networks,
TCP performs poorly in mobile ad hoc networks (MANETs). This is because TCP’s implicit assumption that any packet loss is due to congestion is
invalid in mobile ad hoc networks where wireless channel errors, link contention, mobility and multipath routing may significantly corrupt or disorder
packet delivery. If TCP misinterprets such losses as congestion and consequently invokes congestion control procedures, it will suffer from performance
degradation and unfairness. To understand TCP behaviour and improve the TCP performance over multi-hop ad hoc networks, considerable research has
been carried out. As the research in this area is still active and many problems are still wide open, an in-depth and timely survey is needed. In this paper,
the challenges imposed on the standard TCP in the wireless ad hoc network environment are first identified. Then some existing solutions are discussed
according to their design philosophy. Finally, some suggestions regarding future research issues are presented.
TCP est un protocole de transfert qui garantit une livraison fiable et ordonnée des paquets de données sur un réseau filaire. Malgré son bon fonctionnement
sur ces réseaux, le TCP performe très mal sur les réseaux mobiles ad hoc (MANETs). C’est dû à ce que la supposition implicite de TCP affirmant
que toute perte de paquet est causée par la congestion est invalide dans les réseaux mobiles ad hoc où des erreurs dans le canal sans fil, le partage du
lien entre plusieurs usagers, ainsi que le routage multi trajet et de mobilité peuvent corrompre de façon significative ou mettre en désordre les paquets
reçus. Si le TCP interprète de telles pertes comme étant de la congestion et qu’il appelle alors des procédures de contrôle de la congestion, il souffrira
d’une dégradation de performance. Afin de comprendre le comportement du TCP et d’améliorer sa performance sur des réseaux multi sauts ad hoc, des
recherches considérables ont été effectuées. Puisque la recherche dans ce domaine est encore très active et que plusieurs problèmes sont encore non
résolus, un aperçu détaillé et opportun est nécessaire. Dans ce papier, les défis imposés au TCP standard dans l’environnement d’un réseau sans fil ad hoc
sont d’abord identifiés. Ensuite, nous discutons de quelques solutions existantes selon leur philosophie de design. Finalement, quelques suggestions sur de
futures questions de recherche sont présentées.
Can. J. Elect. Comput. Eng., Vol. 29, No. 1/2, January/April 2004
130 CAN. J. ELECT. COMPUT. ENG., VOL. 29, NO. 1/2, JANUARY/APRIL 2004
nel, the node has to back off for a random period of time and try again.
After several failed tries, a route failure is reported.
TCP may also encounter serious unfairness problems [2], [6], [10]–
[11] for the following reasons:
TCP flow 1 TCP flow 2
Topology causes unfairness because of unequal channel-access
0 opportunity for different nodes. As shown in Fig. 1, where the
1 2 3 4 5 6
small circle denotes a node’s valid transmission range and the
large circle denotes a node’s interference range, all nodes in a
seven-node chain topology experience different degrees of com-
petition. There are two TCP flows, namely flow 1 from node 0 to
node 1 and flow 2 from node 6 to node 2. The transmission from
node 0 to node 1 experiences interference from three nodes, i.e.,
Figure 1: Node interference in a chain topology. nodes 1, 2, and 3, while the transmission from node 3 to node
2 experiences interference from five nodes, i.e., nodes 0, 1, 2, 4,
and 5. Flow 1 will obtain much higher throughput than flow 2
because of the unequal channel-access opportunity.
lision, the hidden terminal problem and the exposed terminal problem,
The backoff mechanism in the MAC may lead to unfairness as it
and frequent route breakages due to node mobility. Undoubtedly, all of
always favours the last successfully transmitting node.
these pose great challenges to TCP in terms of its ability to provide re-
liable end-to-end communications in mobile ad hoc networks. From TCP flow length influences unfairness. A longer flow implies
the point of view of layered network architecture, these challenges longer round-trip time and higher packet dropping probability,
can be broken down into five categories, i.e., channel error, medium leading to lower and more fluctuating TCP end-to-end through-
contention and collision, mobility, multipath routing, and congestion, put. Through this chain reaction, unfairness is amplified, as high
whose adverse impacts on TCP are elaborated below in sequence. throughput will become higher and low throughput will be-
come lower.
A. Channel error
Bursty bit errors may corrupt packets in transmission, leading to the C. Mobility
loss of TCP data packets or acknowledgements (ACKs). If it can- Mobility may induce link breakage and route failure between two
not receive the ACK within the retransmission timeout (RTO), the neighbouring nodes, as one mobile node moves out of the other’s trans-
TCP sender immediately reduces its congestion window to one packet, mission range. Link breakage in turn causes packet losses. As stated
exponentially backs off its retransmission, and retransmits the lost earlier, TCP cannot distinguish between packet losses due to route fail-
packet. Intermittent channel errors may thus cause the congestion win- ures and packet losses due to congestion. Therefore, TCP congestion
dow size at the sender to remain small, prompting low throughput. control mechanisms react adversely to such losses caused by route
breakages [13]–[15]. Meanwhile, discovering a new route may take a
significantly longer time than the TCP sender’s RTO. If route discov-
B. Medium contention and collision
ery time is longer than RTO, the TCP sender will invoke congestion
Contention-based medium access control schemes, such as the IEEE
control after timeout. The already-reduced throughput due to losses
802.11 MAC protocol [9], have been widely studied and incorporated
will further shrink. It could be even worse when the sender and the
into many wireless test beds and simulation packages for wireless
receiver of a TCP connection fall into different network partitions. In
multi-hop ad hoc networks, where the neighbouring nodes contend
such a case, multiple consecutive RTO timeouts will lead to inactivity
for the shared wireless channel before transmitting. There are three
lasting for one or two minutes even if the sender and receiver finally
key problems, i.e., the hidden terminal problem, the exposed terminal
become reconnected.
problem, and unfairness. A hidden node is one that is within the in-
terfering range of the intended receiver, but outside the sensing range Fu et al. conducted simulations considering mobility, channel er-
of the transmitter. The receiver may not correctly receive the intended ror, and shared media-channel contention [4]. They indicated that
packet because of collision from the hidden node. An exposed node mobility-induced network disconnections and reconnections have the
is one that is within the sensing range of the transmitter, but outside most significant impact on TCP performance compared to channel
the interfering range of the receiver. Though its transmission does not error and shared media-channel contention. As mobility increases
interfere with the receiver, it could not start transmission because it compared to a reference TCP, TCP NewReno suffers from a relative
senses a busy medium, which introduces spatial reuse inefficiency. The throughput drop ranging from close to % in a static case to % in
binary exponential backoff scheme always favours the latest success- a highly mobile case (when moving speed is m/s). In contrast, con-
ful transmitter and results in unfairness. These problems could be more gestion and mild channel error (say %) have a less noticeable effect
harmful in multi-hop ad hoc networks than in wireless LAN because on TCP (with a performance drop of less than % compared with the
ad hoc networks are characterized by multi-hop connectivity. reference TCP).
MAC protocols have been shown to significantly affect TCP per- D. Multipath routing
formance [2], [5]–[6], [10]–[12]. When TCP runs over IEEE 802.11 Routes are short-lived due to frequent link breakages. To reduce delay
MAC, as [6] pointed out, the instability problem becomes very seri- due to route recomputation, some routing protocols such as the tempo-
ous. It is shown that collisions and the exposed terminal problem are rally ordered routing algorithm (TORA) [16] maintain multiple routes
two major factors that can prevent one node from reaching the other between a sender-receiver pair and use multipath routing to transmit
when the two nodes are in each other’s transmission range. If a node packets. In such a case, packets coming from different paths may not
cannot reach its adjacent node after several tries, it will trigger a route arrive at the receiver in order. Being unaware of multipath routing, the
failure, which in turn will cause the source node to start route discov- TCP receiver will misinterpret such out-of-order packet arrivals as con-
ery. Before a new route is found, no data packet can be sent out. Dur- gestion. The receiver will thus generate duplicate ACKs that cause the
ing this process, the TCP sender has to wait and will invoke conges- sender to invoke congestion control algorithms like fast retransmission
tion control algorithms if it observes a timeout. Serious oscillation in (upon reception of three duplicate ACKs).
TCP throughput will thus be observed. Moreover, the random backoff
scheme used in the MAC layer exacerbates this behaviour [2]. Since E. Congestion
large data-packet sizes and back-to-back packet transmissions both de- It is known that TCP is an aggressive transport-layer protocol. Its at-
crease the likelihood that the intermediate node will obtain the chan- tempt to fully utilize the network bandwidth can easily cause ad hoc
CHEN / ZHAI / WANG / FANG: TCP PERFORMANCE OVER MOBILE AD HOC NETWORKS 131
from routing protocols such as DSR. More precisely, the CWL should
Receive dup ACK or never exceed the RTHC of the path.
packet from receiver
Receive Disconnected
“Destination
Unreachable”
The rationale behind this scheme is very simple, as shown in the
ICMP TCP sender put following. It is known that to fully utilize the capacity of a network, a
CWND 1 in persist state
TCP flow should set its CWL to the bandwidth-delay product (BDP)
of the current path, where a path’s BDP is defined as the product of
TCP the bottleneck bandwidth of the forward path and the packet transmis-
Receive
ECN transmits Normal New sion delay in a round trip. On the other hand, the CWL should never
a packet ACK exceed the path’s BDP in order to avoid network congestion. In ad
hoc networks, if we assume that the size of a data packet is and
ATCP
RTO about the bottleneck bandwidth along the forward and return paths is the
same and equal to , it can be easily seen that the delay at any hop
to expire OR retransmits
Congested 3 dup ACKs Loss segments in
TCP’s buffer along the path is less than the delay at the bottleneck link, i.e., .
Since the size of a TCP acknowledgement is normally smaller than that
of the data packet, according to the definition of the BDP, we know
Figure 3: State transition diagram for ATCP at the sender [8].
. Therefore, the CWL, which is bounded by the
path’s BDP, should never exceed the RTHC of the path.
This upper bound can be further tightened when the IEEE 802.11
3. ATCP MAC–layer protocol is adopted. In fact, it is shown that, in a chain
Ad hoc TCP (ATCP) [8] also utilizes the network-layer feedback. The topology, a tighter upper bound exists, which is equal to approximately
idea of this approach is to insert a thin layer called ATCP between IP one fifth of the RTHC of the path. According to this tighter upper
and TCP, thus ensuring correct behaviour in the event of route fail- bound, the maximum RTO is set to a relatively small value of s,
ures as well as high bit error rate. The TCP sender can be put into which enables TCP to probe the route quickly should it break (due
a persist state, a congestion control state or a retransmit state, cor- to false link failure). Simulation results showed that this simple but
responding to the packet losses due to route breakage, true network useful strategy is able to improve TCP-Reno performance by % to
congestion or high bit error rate, respectively. Note that unlike the % in a dynamic MANET.
previous two feedback-based approaches, ATCP also tackles packet
corruption caused by channel errors. The sender can choose an appro- 2. TCP detection of out-of-order and response (TCP-DOOR)
priate state by learning the network state information through explicit TCP-DOOR [25] attempts to improve TCP performance by detecting
congestion notification (ECN) messages and ICMP “destination un- and responding to out-of-order (OOO) packet-delivery events and thus
reachable” messages. avoiding invocation of unnecessary congestion control. By definition,
OOO occurs when a packet sent earlier arrives later than a subsequent
The state transition diagram for ATCP at the sender is shown in packet. In ad hoc networks, OOO may happen multiple times in one
Fig. 3. Upon receiving a “destination unreachable” message, the sender TCP session because of route changes.
enters into the persist state. The TCP at the sender is frozen, and no
packets are sent until a new route is found, so that the sender does not In order to detect OOO, ordering information is added to TCP ACKs
invoke congestion control. Upon receipt of an ECN, congestion control and TCP data packets. OOO detection is carried out at both ends: the
is invoked without waiting for a timeout event. If a packet loss occurs sender detects the out-of-order ACK packets, and the receiver detects
and the ECN flag is not set, ATCP assumes the loss is due to bit errors the out-of-order data packets. If the receiver detects OOO, it should
and simply retransmits the lost packet. In the case of multipath rout- notify the sender, given that it is the sender that initiates congestion
ing, upon receipt of duplicate ACKs, the TCP sender does not invoke control actions. Once the TCP sender knows of an OOO condition, it
congestion control, realizing that multipath routing shuffles the order may take one of two responsive actions: temporarily disabling conges-
in which packets are received. Thus ATCP works well when multipath tion control, and instant recovery during congestion avoidance. The
routing is applied. first action means that, whenever an OOO condition is detected, the
TCP sender will keep its state variables, such as RTO and the conges-
ATCP is considered to be a more comprehensive approach than tion window size, constant for a time period . The second action
TCP-F and TCP-ELFN in that it accounts for more possible sources of means that if, during the past time period , the TCP sender has al-
deficiency, including bit errors and out-of-order delivery due to multi- ready entered the state of congestion avoidance, it should recover im-
path routing. Through recomputation of congestion window size after mediately to the state prior to such congestion avoidance. The main
each route re-establishment, ATCP may adapt to route changes. An- reason for this is that the detection of an OOO condition implies that a
other benefit of ATCP is that it is transparent to TCP, and hence nodes route change event has just occurred.
with and without ATCP can interoperate.
However, OOO can be detected only after a route has recovered
In summary, as shown by the simulations, these feedback-based ap- from failures. As a result, TCP-DOOR is less accurate and respon-
proaches improve TCP performance significantly while maintaining sive than a feedback-based approach that is able to determine whether
TCP’s congestion control behaviour and end-to-end TCP semantics. congestion or route errors occur, and hence can report to the sender
However, all these schemes require that the intermediate nodes have at the very beginning. Furthermore, it may not work well with multi-
the capability of detecting and reporting network states such as link path routing since multipath routing may cause OOO as well. There-
breakages and congestion. Enhancementat the transport layer, network fore, it is concluded that TCP-DOOR may work as an alternative to the
layer, and link layer are all required. Further research on ways to detect feedback-based approach to improve TCP performance over an ad hoc
and distinguish network states in the intermediate nodes is needed. network, if the latter is not available.
Furthermore, when the new route is established, the TCP sender should of-line packet is dropped from the buffer or marked as congested with
start the transmission immediately instead of waiting for the expiration a probability that is calculated based on this average number. Once
of the retransmit timer. it detects packet losses or the congestion flag in the ACKs, the TCP
sender invokes the congestion control algorithm that could help main-
In the fixed RTO approach [14], no feedback from lower layers tain the congestion window size around the optimum value and hence
is needed. Rather, a heuristic is employed to distinguish route fail- improve TCP’s throughput.
ures and congestion. When timeouts occur consecutively, i.e., an ACK
is not received before the second RTO expires, the sender assumes The goal of adaptive link-layer pacing is to alleviate the medium
that a route failure rather than network congestion has taken place. contention, especially when the congestion window size exceeds the
Therefore, the unacknowledged packet is retransmitted again without optimum value. It is enabled from within the Link-RED algorithm.
doubling of the RTO. The RTO remains fixed until the route is re- When a node (which is just sending a packet) notices that its aver-
established and the retransmitted packet is acknowledged. By adopt- age number of retries is below a predefined threshold, it calculates its
ing this strategy, the TCP sender avoids waiting for a long period of backoff time as usual. Otherwise, it increases the backoff period by an
time before attempting to retransmit. This fast retransmission would interval equal to the transmission time of the previous data packet, and
force routing protocols, especially those like AODV [31] and DSR, backs off accordingly.
to repair routes fast, which in turn would lead to a large congestion
window on average and high TCP throughput. Actually, this technique 3. Neighbourhood RED
complements TCP-DOOR. As described in the previous subsection on challenges, TCP exhibits
serious unfairness in ad hoc networks as a result of the combination of
C. TCP with lower-layer enhancement MAC-inherent problems such as medium contention, the hidden ter-
1. Routing-layer enhancement minal problem, and the exposed terminal problem. As these problems
In [26], Anantharaman et al. presented a framework termed Atra to are likely to exist in nodes which are located in a neighbourhood, Xu et
improve TCP performance over ad hoc networks by enhancing rout- al. [27] proposed a scheme named neighbourhood random early detec-
ing layers. Three mechanisms, called symmetric route pinning (SRP), tion (NRED) that seeks to improve TCP fairness from the point of view
route failure prediction (RFP) and proactive route error (PRE), were in- of a neighbourhood. By definition, a node’s neighbourhood consists of
troduced to minimize the probability of route failures, to predict route the node itself and the nodes which can interfere with this node’s sig-
failures in advance, and to minimize the latency in conveying route nal. To make things simpler, a node’s neighbourhood as considered
failure information to source, respectively. Since an asymmetric path in the scheme comprises the node itself and its one-hop and two-hop
would increase the probability of route failure for a connection, in the neighbours.
first mechanism, the ACK path of a TCP connection is always kept
the same as the data path. Based on the progression of signal strengths The key idea of NRED is that each node forms a distributed neigh-
of packet receptions from the concerned neighbour, the second mecha- bourhood queue based on the individual queues maintained at every
nism enables the node to predict the occurrence of link failure more ac- node located in the node’s neighbourhood, and the RED scheme can
curately. Finally, with PRE, when a link failure is detected, all sources be applied to the distributed queue to address the fairness issue, as has
that have used the link within a certain time period are informed of been done effectively in wired networks to improve fairness among
the link failure. This reduces the latency involved in the route failure TCP flows by controlling average queue size at routers.
information delivery and consequently reduces the number of packet The NRED scheme boils down to three algorithms, namely, neigh-
losses, as well as triggering early alternate route computations. bourhood congestion detection (NCD), neighbourhood congestion no-
tification (NCN), and distributed neighbourhood packet drop (DNCP).
2. Link-layer enhancement
Instead of counting on each node to actively advertise its own queue
Fu et al. [3] discussed the interaction between TCP and IEEE 802.11
size information and then measuring the neighbourhood queue size (a
MAC. Their studies reveal two interesting results. First, given a spe-
task which may cause a large amount of overhead or even aggravate
cific network topology and flow pattern, there exists a TCP window
congestion), NCD intelligently gets around the difficult task by mon-
size, say , at which TCP throughput is maximized, since the best
itoring channel utilization. Normally, channel utilization can serve as
spatial reuse can be achieved; further increasing the window size will
an indicator of the queue size, based on the observation that channel
reduce throughput. However, the standard TCP protocol does not op-
utilization around a node is likely to increase when the queues at its
erate around ; typically the average window size is much larger
neighbouring nodes build up. An early congestion is assumed to take
than . As a result, TCP experiences throughput reduction due to
place as the channel utilization exceeds a certain threshold. If conges-
reduced spatial reuse and increased packet loss. In the simulated sce-
tion is detected, the node will calculate the packet dropping probability
narios, throughput reductions ranging from
% to % of maximum
and send it in an NCN packet to its neighbours, provided that certain
throughput were observed. Second, most packet drops experienced by
conditions are met in order to avoid “overreaction.” The neighbours,
TCP are not due to buffer overflow, but rather to link-layer contention
upon the reception of such notification, will drop some packets ac-
that is incurred by hidden terminals. Reference [3] showed that con-
cording to DNCP.
tention drops exhibit a load-sensitive loss feature: as the injected TCP
packets exceed and further increase, the link dropping probability Simulation studies show that the NRED scheme can improve TCP
becomes non-negligible and increases accordingly; after the injected fairness to some extent in ad hoc networks. However, the price paid is
TCP packets exceed another threshold , the link dropping probabil- that the aggregate throughput in the network is actually reduced, which
ity saturates and flattens out. It turns out that the link-layer dropping shows that there is room for further improvement.
probability is not significant enough to make the average TCP window
oscillate around ; this circumstance subsequently leads to subopti- It is noteworthy that, besides the schemes described above, there
mal TCP throughput. are also some other IEEE 802.11 MAC–based TCP enhancement
schemes, such as DCF+ [12], AEDCF [28], and the non-work-
Therefore, two link-layer techniques were proposed in [3] to im- conserving scheduling algorithm [29]. By modifying the MAC pro-
prove TCP efficiency: a link random early detection (Link-RED) al- tocol, these schemes are shown to improve TCP throughput or fairness
gorithm to tune the wireless link’s packet dropping probability, and an to some degree.
adaptive link-layer pacing scheme to reduce the medium contention.
The Link-RED algorithm attempts to maintain the optimum conges-
tion window size at the TCP sender. At the link layer each node mea- IV. Conclusions and future research
sures the average number of retries for recent packet transmissions.
Normally, when the TCP sender increases the congestion window size
and injects more packets into the network, this average number will in- In this paper, we presented a brief survey of the challenges TCP has en-
crease, as more packets will aggravate medium contention. The head- countered in MANETs and recent efforts to improve its performance.
134 CAN. J. ELECT. COMPUT. ENG., VOL. 29, NO. 1/2, JANUARY/APRIL 2004