An Analytical Model and Performance Evaluation of Transport Protocols for Wireless Ad Hoc Networks
ABSTRACT Performance of Transport Control Protocol (TCP), designed for wired networks, degrades significantly over wireless links and provides abysmal throughput because TCP assumes that all packet losses are caused by congestion. However, in wireless ad-hoc networks, packet losses could be due to several reasons such as link loss, node mobility, and faulty nodes, to name a few. Current techniques for improving TCP do not consider packet drops by faulty nodes. We propose a novel idea of distinguishing between wireless and congestion losses by using the concept of Kleinrock's "power" metric. Based on this idea we propose two reliable transport protocols, TCP- Monet and TCP-Sec, that classify packet losses based on current connection status and react accordingly. TCP-Monet distinguishes between congestion and wireless losses, while TCP-Sec distinguishes amongst losses due to congestion, wireless errors, and packet drops by faulty nodes. We develop an analytic model of throughput in the presence of wireless losses, congestion losses, and packet drops by faulty nodes. We conducted simulation experiments using the ns-2 simulator and our experiments demonstrate that this model is able to more accurately predict throughput when there are wireless losses and faulty nodes.
-
Citations (0)
-
Cited In (0)
Page 1
An analytical model and performance evaluation of transport protocols for
wireless ad-hoc networks∗
Sirisha Medidi, Jin Ding1, Ghayathri Garudapuram, Jiong Wang, and Muralidhar Medidi
School of Electrical Engineering & Computer Science
Washington State University, Pullman, USA
Abstract
Performance of Transport Control Protocol (TCP), designed
for wired networks, degradessignificantly over wireless links
and provides abysmal throughput because TCP assumes that
all packet losses are caused by congestion. However, in wire-
less ad-hoc networks, packet losses could be due to several
reasons such as link loss, node mobility, and faulty nodes, to
name a few. Current techniques for improving TCP do not
consider packet drops by faulty nodes. We propose a novel
idea ofdistinguishingbetweenwireless andcongestionlosses
byusingtheconceptofKleinrock’s“power”metric.Basedon
this idea we propose two reliable transport protocols, TCP-
Monet and TCP-Sec, that classify packet losses based on
current connection status and react accordingly. TCP-Monet
distinguishes between congestion and wireless losses, while
TCP-Sec distinguishes amongst losses due to congestion,
wireless errors,and packetdropsby faulty nodes.We develop
an analytic model of throughput in the presence of wireless
losses, congestion losses, and packet drops by faulty nodes.
We conducted simulation experiments using the ns-2 simu-
lator and our experiments demonstrate that this model is able
tomoreaccuratelypredictthroughputwhentherearewireless
losses and faulty nodes.
1. INTRODUCTION
Mobile Ad-hoc networks are attractive for a wide vari-
ety of applications, such as battlefield surveillance and emer-
gency response. These networks are prone to losses due to
wireless medium, mobility, fading, misbehaving nodes, etc.
Transportprotocols for mobile ad-hocnetworks must address
these issues to achieve better performance.Traditional Trans-
port Control Protocol, TCP, was originally designed to cope
with congestion, therefore it assumes that all transmission
losses are due to congestion. This assumption works well
withwirednetworks,inwhichthelowerlayersoftheprotocol
stack can handle errors well. However, in wireless networks,
transmission losses due to wireless link errors cannot be han-
dled well by the lower layers. Hence, TCP shows significant
performancedegradationinwirelessnetworksbecausepacket
losses are not only due to congestionbut could also be caused
∗This research was supported in part by National Science Foun-
dation grants CNS-0454416 and ECS-0646215.
†Broadcom Corporation,CA.
by wireless link errors or faulty nodes. Current techniquesfor
improving the performance of TCP in wireless networks try
to recoverlocally from wireless link errors with explicit feed-
back mechanisms [1] and do not consider the packet drops
by faulty nodes. Nodes could drop packets because they are
(i) trying to preserve battery life, (ii) experiencing interfer-
ence and fading due to harsh environments, and (iii) misbe-
having.Additionally,the faulty node detectiontechniques are
designed to work at the network layer, and they either do not
consider congestion in the network or are not able to detect
misbehavior in real time. The transport layer protocol must
be able to classify the errors by combining an error detec-
tion technique with TCP protocol to distinguish between er-
ror types and be fault resilient. The algorithm should detect
errors in real-time, and capable of accurate error classifica-
tion with low false-positives.
In this paper we first propose a novel idea of distinguish-
ing between wireless and congestion losses by using the con-
cept of Kleinrock’s “power” metric [12]. Next we present a
mechanism to detect packet drops by faulty nodes and how
to isolate them using a cross layer design. Based on these,
we introduce two enhancements to TCP. The first protocol,
TCP-Monet, distinguishes between wireless errors and con-
gestion related packet drops and invokes appropriate mech-
anisms in order to improve throughput. The second protocol
distinguishes among wireless errors, congestion, and packet
drops by faulty nodes and invokes appropriate mechanism
that is suitable for wireless ad-hoc networks. Both these pro-
tocols are end-to-end mechanisms and preserve original TCP
semantics. Finally we present an analytical charaterization
for throughput in the presence of wireless losses, congestion
losses, and packet drops due to faulty nodes.
In Section 2, we briefly review the research proposed to
enhance TCP performance in wireless ad-hoc networks. The
classification of packet loss for wireless errors, congestion
losses, and losses due to faulty node and our two transport
protocols TCP-Monet, and TCP-Sec are presented in Section
3. In section 4, we provide theoretical results for modeling
the throughput in the presence of wireless losses, congestion
losses, and packet drops due to faulty nodes. In section 5,
we provide a comparison of our theoretical results with sim-
ulation results using the ns-2 simulator and also evaluate the
detection effectiveness of TCP-Sec. Section 6 concludes the
paper.
41st Annual Simulation Symposium41st Annual Simulation Symposium 41st Annual Simulation Symposium41st Annual Simulation Symposium 41st Annual Simulation Symposium
1080-241X? /08 $25.00 © 2008 IEEE
DOI 10.1109/ANSS-41.2008.7DOI 10.1109/ANSS-41.2008.7DOI 10.1109/ANSS-41.2008.7DOI 10.1109/ANSS-41.2008.7 DOI 10.1109/ANSS-41.2008.7
131 131131131 131 1080-241X? /08 $25.00 © 2008 IEEE 1080-241X? /08 $25.00 © 2008 IEEE1080-241X? /08 $25.00 © 2008 IEEE1080-241X? /08 $25.00 © 2008 IEEE
Page 2
2. RELATED WORK
The technique proposed to improve TCP performance in
wireless ad-hoc networks can be classified into end-to-end
mechanisms and intermediate node assistance mechanisms.
End-to-end differentiation mechanism: In fixed RTO (Re-
transmission Time-out) heuristic [6], when routing failures
happen, the exponential backoff mechanism is disabled and
the TCP sender retransmits. In [20] out of order packets are
used to indicate link failure in the network. A simple mecha-
nism to distinguish congestion losses from corruption losses
is implemented in [4]. TCP-Westwood [7] modifies TCP
source protocol stack which allows the source to estimate
the available bandwidth and use the bandwidth estimation to
quickly recover from losses and achieve higher throughput.
Intermediate node assistance mechanisms: The Explicit
Link Failure Notification (ELFN) mechanism proposedin [9]
interacts with the routing protocol to detect route failures and
invoke appropriate actions. Ad-hoc TCP [13], ATCP, relies
on ICMP (Internet Control Message Protocol) and ECN (Ex-
plicitCongestionNotification)todetectnetworkpartitionand
congestion. It implements an intermediate layer between net-
work and transport layers to keep track of the packets to and
from the transport layer. A survey of transport protocols in
mobile ad-hoc networks is presented in [15].
There are several papers proposed for handling the faulty
nodes [2, 16, 14]. The idea in [2] is based on the “principle
of packet flow conservation”.The principal in [16] is to mon-
itor system logs and activity to determine if the system is un-
der attack at the network layer. In our approach, the detection
of packet drops by faulty nodes is done at the transport layer
withassistance fromtheroutingprotocol.History-basedrout-
ing [14], selects routes based on the nodes past behavior and
avoids faulty nodes.
Several researchers have proposed models to compute the
throughput of TCP in steady state and its variants in wired
networks [8, 18, 19] To our knowledge analytical modeling
of TCP and its variants in the presence of wireless errors and
faulty nodes has not been attempted so far.
3.PACKET LOSS CLASSIFICATION
We first describe our mechanism for classifying the packet
drops which may be due to wireless errors, congestion, or
faulty nodes and invoke appropriate recovery mechanisms.
Next,wepresentourtransportprotocols.Ourprotocolsgather
necessary information and detect errors with support from
lower layers. We describe how wireless errors are detected
and classified by monitoring current connection status, and
then we present a new congestion control and avoidance al-
gorithm to improve transport protocol performance. Finally,
we describe how faulty nodes are detected and isolated.
3.1.Wireless Errors
TCP provides congestion control by measuring available
bandwidth for the connection and adjusting its rate to utilize
the bandwidth and not throttle the network. Available band-
width varies with time and is difficult to measure. TCP uses
probes to measure the available bandwidth and linearly in-
creases the congestion window size. When there is a packet
loss, sender assumes the current sending rate exceeded the
available bandwidth and reduces the sending rate by decreas-
ing the congestion window size. Increased packet round-trip
times (RTTs) and decreasedthroughputcouldbeused to infer
the available bandwidthto determinethe optimalsending rate
to avoid congestion.
Packetloss is detectedbyduplicateacknowledgementsand
timeout. Because packet losses could be due to wireless link
error, congestion ,etc. we cannot always invoke a congestion
control mechanism. Klienrock [12] introducedthe concept of
using a “power” metric for congestion control. Power is de-
fined as the ratio of throughput over delay [12]. The concept
of using power in congestion control can be better explained
by the graphs of throughput, round trip time, and power as
illustrated by Jain [11]. When the load is at the network ca-
pacity, increasing the load builds up the queues, drops pack-
ets and throughput drops to zero. Similarly, the round trip
time increases as the load increases at low loads. When the
queue starts to build up, the roundtrip time increases linearly.
When the network load is low, the power increases as the
load increases. But, when the load reaches the network ca-
pacity, power decreases with increasing load. We utilize this
featureto identifywireless errors fromothererrors.The point
at which throughput approaches zero and the round trip time
approaches infinity is called the point of congestion collapse.
The point with maximum throughput and minimal round trip
time is called the point of knee.
In our classification mechanism, we monitor the trend of
“power” to identify if current sending rate (congestion win-
dow size) has exceeded the available bandwidth. If the trend
of the “power” is increasing upon a packet loss, this loss is
due to wireless error. The congestion window size should re-
main the same.
To compute the trend of power while the TCP is in oper-
ation, we use the algorithm proposed by Jain and Dovralis
[10]. Suppose that the (relative) powers of a particular stream
are P1, P2, ... Pk. Partition these measurements into Γ =√K
group of Γ consecutive powers. Next, compute the median
powerˆPiof each group. We get setˆPi,i = 1,2,...Γ. To moni-
tor the power trend,we computethe pairwise comparisontest
(PCT) metric of a stream as
SPCT=∑Γ
k=2I(ˆPk>ˆPk−1)
Γ−1
(1)
Where I(X) is one if X holds, and zero otherwise. PCT
132132 132132 132
Page 3
Throughput
Load
KneeCliff
(a) Throughput
RTT
Load
KneeCliff
(b) Round Trip Time (RTT)
Power
Load
Knee Cliff
(c) Power
Figure 1. Network performance varying the load [11].
measures the fraction of consecutive power pairs that are in-
creasing, and so 0 ≤ SPCT≤ 1. If the powers are indepen-
dent, the expected value of SPCT is 0.5. If there is a strong
increasing trend, SPCT approaches one. In our algorithm, if
SPCT> 0.5, power metric shows an increasing trend.
When a packet loss occurs, if the current trend of power is
increasing,the TCP senderconsidersit as a wireless errorand
retransmits the packet. Otherwise, the TCP sender invokes
congestion avoidance. Our congestion control and avoid-
ance algorithmreduces the congestionwindowsize gradually
rather than halve it like traditional TCP.
3.2.Congestion Control and Avoidance
Traditional TCP uses AIMD (Additive Increasing Multi-
plicative Decreasing), which halves the congestion window
size on packet loss. This behaviorresults in a saw tooth trans-
mission pattern. In wireless ad-hoc networks, random packet
losses can greatly increase the sawtooth pattern and reduce
the total throughput of TCP connection as shown in Figure
2. Hence, in our congestion avoidance approach, we focus on
flattening the sawtooth pattern to fully utilize the bandwidth.
The key idea is to reduce the window size gradually to alle-
viate the throughput reduction due to the high packet error
rate.
We define an “iteration” as the time between consecutive
sets of losses with the same power trend. When the power
trend is increasing, it implies that the load has not reached
the network capacity: hence, we classify it as a wireless error
and not reduce the window size. On the other hand, if the
power trend is decreasing, the load has already reached the
networkcapacityandthelossisduetocongestion.Withinthis
iteration, the window size is reduced to half in decrements
0
5
10
15
20
25
30
35
40
45
50
0 5 10 15 20 25 30 35 40 45 50
Time (sec)
Congestion window size
Reno
Figure 2. TCP-Reno congestion window with 1% wireless
errors
of 1, 2, ...2i, ... w/2, where w is current window size. Let
l denote size of the window that should be reduced. If the
sender detects a packet loss and “power” is currently in an
increasing trend, l will be set to 0. When the next packet loss
happens, if the “power” is still in an increasing trend, l will
remain 0. Otherwise, we get l =2i, (wherei indicates the step
in the iteration)and the windowsize is reducedto w−l. If the
nextpacketlossoccursunderanincreasingpowertrend,l will
be reset to 0. Otherwise l doubles. By operating the window
size conservatively, higher throughput than traditional TCP
can be achieved.
3.3.Detection of Faulty Nodes
In this section, we describe how to detect packet drops
by faulty nodes and how to isolate them using a cross layer
design. Faulty behavior could occur due to several reasons
such as selfish nodes trying to preserve battery life, interfer-
ence and fading issues due to harsh environments, misbehav-
ior,etc., to name a few. The existence of faulty nodes along
routes trigger exponential backoff mechanism, and starve
TCP connections.
Selfish
node
Sender
Timeout
6 secs
Sk
Receiver
Sk
Ak
Sk+1Sk+2
... Sk-iSk-
i+1
Sk-
i+2
Timeout
12 secs
Timeout
24 secs
Timeout
48 secs
Timeout
64 secs
...
12 Unsucessful Retransmission
Close
connection
Sk+3
Dead
time
Ak-i
Ak-j
Figure 3. Impact of faulty nodes in TCP connection.
Figure 3 illustrates how a faulty node leads the TCP sender
to a longidle periodcalled deadtime,andeventuallyto acon-
nection reset. Suppose a faulty node drops all the packets in
a TCP connection shortly after it forwards acknowledgement
Ak−iand segment Sk. This places the sender/receiver in a sta-
tus in which they can not receive any further ACK/segment
from the receiver/sender, triggering the exponential back-off
133133133133 133
Page 4
mechanism. At the first timeout that is a typical initial Re-
transmission Time-Out (RTO) typically set to 6 seconds, the
senderretransmits fromsegment Sk. It thencontinuesretrans-
mitting until the timeout is doubled up to the limit of 64 sec-
onds (the maximum allowed timeout). If the new route is not
reestablishedbetweenthesenderandthereceiver,after12un-
successful retransmissions,the TCP sender would assume the
receiver has either crashed or closed, give up retransmitting
and reset the connection. From the figure we can see that the
TCP sender will have a dead time which is the time duration
from TCP sender setting its fifth timeout (64 seconds) until
it resets the connection. The dead time takes several minutes,
during which TCP connection is frozen.
Reputation-based systems [3] proposed to deal with net-
work misbehavior in ad-hoc networks rely on network mon-
itoring mechanisms, called watchdog at the network layer.
However, packet drops by faulty nodes are not detected. Our
mechanism to detect faulty nodes operates at the transport
layer.
The threshold is set to 4 timeouts. When 4 timeouts occur,
the sender starts to send some probe messages to identify the
reason for timeouts. The sender first sends a probe message
with a TTL (Time to Live) of 1 to the receiver. The first hop
node along the path will handle the message by decrement-
ing the TTL, discard the datagram, and send back the ICMP
(Internet Control Message Protocol) time exceeded message.
Then the next message with a TTL of 2 is sent out from the
sender. This continues until the probe message can reach the
destinationwhichsends backan ICMP portunreachablemes-
sage. If this occurs, the sender can conclude that there is no
faulty node along the path. If the TCP sender experiences a
timeout for the probe message, and the sender node receives
a route error message during this period of time, the packet
losses may be due to node mobility. Otherwise, we can con-
clude that a faulty node exists along the route. This process is
similar to traceroute in which a route is discovered from the
source to destination. In wireless ad-hoc networks, since the
route information is already available, the sender can deter-
mine the identity of faulty nodes using the responses of probe
messages. Once the faulty nodes are identified, the network
layer can choose a route avoiding them.
The faulty node may or may not choose to reply to the
ICMP error message to the sender which leads to the follow-
ing two scenarios to consider:
Sourcem (m+1)(m−1)Destination
Faulty node
Figure 4. Faulty nodes dropping packets
Faulty node does not reply to ICMP error message: Figure 4
illustrates a connection from the sender to the receiver. Node
m is the faulty node that drops all the packets. We assume
that node m receives a probe message and does not send back
an ICMP time exceeded message. The sender will receive an
ICMP time exceeded packet from node (m−1) and (m−2)
and so on, and get a timeout at node m. In this case the sender
cannot determine if this timeout is because of node (m−1) is
dropping the probe message, or because of node m itself not
replying the probe message.
Faulty node replies to ICMP message: For this scenario the
faulty node m drops the probe message and sends back an
ICMP message to the sender. The sender will get a timeout
on node (m+1). In this case, the sender cannot determine
if this timeout is because of node m not forwarding the probe
message, or because of node(m+1) droppingthe probemes-
sage.
The transportprotocolchooses two suspiciousfaultynodes
for isolation – the last node from which sender received an
ICMP errormessage, andthe first node wheresender encoun-
ters a timeout. This means that in scenario 1, we choose node
(m−1) andnodem as suspicious faultynodesandin scenario
2, we choose node m and (m+1) as suspicious nodes. Then
the sender will be able to request a new route which does not
include the faulty nodes.
3.4. TCP-Monet and TCP-Sec
Two transport protocols have been implemented: TCP-
Monet implements the wireless packet loss detection mech-
anism in addition to the congestion control and avoidance
mechanism in traditional TCP; TCP-Sec implements the fea-
tures of TCP-Monet, the detection of packet drops by faulty
nodes, and the identification and isolation of faulty nodes.
TCP-Monet: In this protocol whenever there is a packet loss,
the power trend is checked. If the trend is increasing, it im-
plies a wireless loss and the packet is re-transmitted without
changing the window size. Otherwise when the trend is de-
creasing, the loss is classified as congestion and the conges-
tion control mechanism described in section 3.2 is invoked.
By distinguishing between wireless errors and congestion,
TCP-Monetperformsbetter inerror-pronewireless networks.
TCP-Sec: TCP-Sec checks for the trend of power as in TCP-
Monet when there is a loss indication. When the trend is
increasing, TCP-Sec behaves like TCP-Monet, classifies the
loss as a wireless loss and re-transmits the packet without
changingthe windowsize. If the sender gets a triple duplicate
acknowledgement while the trend is decreasing, we classify
it as congestion and decrease the window size conservatively
as described in section 3.2. If the sender experieneces 4 time
outs, then the sender probes the reciever. During this period,
if there is a route error message, the packet loss is due to mo-
bility and a new route is found. If an intermediate node sends
an ICMP destination unreachablemessage in the absence of a
route error message, then the sender concludes the presence
of a faulty/misbehaving node. Then the sender tries to find a
134134134134134
Page 5
new route without the faulty/misbehaving nodes as described
in section 3.3. This faulty node detection mechanism coupled
with congestion avoidance could be useful in wired networks
as well.
4. THEORETICAL ANALYSIS
In this section we present a theoritical analysis of through-
put in the presence of wireless losses, congestion, and packet
drops due to faulty nodes. Our model captures the losses in-
dicated by timeouts or triple duplicate acknowledgements in
TCP with which we can analyze the performance of TCP-
Monet and TCP-Sec. Due to the lack of space, we will only
describe the approach to model the throughput. Readers in-
terested in details are referred to [5]. Before we present our
model, we first briefly review the throughput computation by
Padhyeet.al.forwirednetworks[18].TheyassumethatE[Y]
is the expectedvalue of packets sent in a TD (triple duplicate)
period. E[A] is the expected value of the duration of the TD
period. Then, the throughputB = E[Y]/E[A] is given by as in
[18],
B ≈
1
RTT?2bp/3+T0min(1,3?3bp/8)p(1+32p2)
where p is the packet loss rate, b is the number of pack-
ets that are acknowledged by an ACK in a round, RTT is the
round trip time, and T0is the initial timeout length. The value
of b is usually 2 because TCP receiver uses delayed ACK,
to send one cumulative ACK for two consecutive packets re-
ceived.
System Parameters and Assumptions: We adopt the nota-
tion in [18] for our analysis. We assume that there is no
limit on the congestion window size. We model TCP-Monet
and TCP-Sec in terms of “rounds” as in [18]. A round starts
with the back-to-backtransmission of W packets, where W is
the current size of the TCP congestion window size. Once all
packets falling within the congestion window have been sent
in this back-to-back manner, no other packets are sent until
the first ACK is received for one of these W packets. This
ACK reception marks the end of the current round and the
beginning of the next round.
Besides the parameters described in [18], we also define
(i) wireless link error probability (pw); (ii) if the packet loss
is due to wireless link error, we detect it with an increasing
power trend with probability (p1); (iii) if the packet loss is
not due to wireless link error, we detect it with a decreasing
power trend with probability (p2).
(2)
4.1. Handling Wireless Errors
Thesenderdetectswirelesslinkloss by“threeduplicateac-
knowledgements”. Upon receiving “triple-duplicate” ACKs,
if currentpoweris in increasingtrend,the congestionwindow
size will be keptthe same.Throughputis givenby E[Y]/E[A].
We model the throughput assuming the packet losses are
“triple-duplicate” ACK in terms of p, pw, p1, p2. We define
a TDP (triple duplicate period) to be between two TD loss
indications as in [18]. For ith TD period Yiis the number of
packets sent in the period, Aithe duration of the period, and
Withe window size at the end of the period. As in [18], let
rijdenote the duration (round trip time) of the jth round of
TDPi. Then the duration of TDPiis Ai= ∑Xi+1
is the number of the round where a packet is dropped during
TDPi. Then
E[A] = (E[X]+1)E[r]= RTT(E[X]+1)
j=1rij, here Xi
During the ith TD period, the window size increases be-
tween W
1/b, we have,Wi=W
?and Wi. Because the increase is linear with slope
?+ Xi/b. Then
E[W] = E[W
?]+E[X]/b
Then,
E[W]=
1
γ1+
?
2
bγ2γ1
+
1
γ2
1
+
4
b2γ2
2γ2
1
+4bγ−1γ3
b2γ2
2γ2
1
+
8
pbγ2γ1
(3)
where γ = pwp1+ p2− pwp2, γ1= γ+3, γ2= 1−γ, and
γ3= 2γ+5.
Now E[X] =
2
E[W] Then throughput can be com-
puted as,
B(p,γ) =E[Y]
E[A]=
RTT(E[X]+1)
(1−γ)b
1−p
p+E[W]
(4)
4.2. Congestion Control and Avoidance
Let TI period be the time period between two iterations.
For the ithTI period we define Pito be the number of packets
sent in the period. Tiis the duration of the period and Withe
window size at the end of period. Throughputis given by B=
E[P]/E[T].
EachTI periodcan beconsideredas a series of TD periods.
Let nibe the numberof TD periods in interval TIi. For jthTD
period of interval TIi, Yijdenotes the number of packets sent
in the period, Aijthe duration of the period, Xijthe number
of rounds in the period, andWijthe window size at the end of
period.
NowPi=∑ni
by ∑ni
an i.i.d sequence of random variables, independent of {Yij}
and {Aij}, then we have
E[
∑
i=1
i=1Yij,leadingtoE[P]=E[∑ni
i=1Aij, hence E[T] = E[∑ni
i=1Yij].Tiis given
i=1Aij] Assuming that {ni}iis
ni
Yij] = E[n]E[Y]
and
E[
ni
∑
i=1
Aij] = E[n]E[A]
To derive E[n], observe that, during TIi, there are niTDPs,
where each of the first ni−1with decrease power trend, and
the last TD end with an increasing power trend.
135 135 135 135 135