[ieee 2010 the 9th ifip annual mediterranean ad hoc networking workshop (med-hoc-net 2010) - juan...
TRANSCRIPT
Improving Distributed TCP Caching for Wireless
Sensor Networks
Ahmed Ayadi, Patrick Maille, and David Ros
Institut Telecom / Telecom Bretagne
Rue de la Chataigneraie, CS 17607
35576 Cesson Sevigne cedex, France
Email: {ahmed.ayadi, patrick.maille, david.ros}@telecom-bretagne.eu
Abstract—Reliable transport protocols like TCP are in princi-ple not well suited for wireless sensor networks (WSNs), due toboth the characteristics of the network nodes (low computingpower, strong energy constraints) and those of the typicalapplications running on such nodes (low data rates). Indeed,TCP has not been designed with energy efficiency in mind, andthe end-to-end recovery of TCP makes it too energy-expensivefor common WSN applications. Distributed TCP Caching (DTC),originally proposed by Dunkels et al., is a mechanism aimed atadapting TCP to wireless sensor networks. DTC improves TCPperformance by caching TCP segments in intermediate nodes.However, DTC was designed for, and tested with, a TDMA-basedMAC layer without automatic repeat request (ARQ). On theother hand, current WSN link-layer protocols like 802.15.4 arebased on Carrier Sense Multiple Access with Collision Avoidance(CSMA-CA), and they readily support ARQ.
In this paper, we propose and evaluate several modifications toDTC that result in an enhanced, more energy-efficient transportlayer for IP-based WSNs. We explicitly consider the CSMA-CA nature of the link (i.e., the presence of frame collisions), aswell as the use of link-layer reliability. Using the INETMANETframework of the OMNET++ simulator, we assess how simplemodifications to the TCP caching mechanism and round-trip timeestimator can have a significant impact on DTC performance, interms of energy efficiency and file transfer delay.
Index Terms—Wireless Sensor Network, Reliable TransportProtocols, Energy Efficiency, TCP, Distributed TCP Caching.
I. INTRODUCTION
Wireless sensor networks (WSNs) have important appli-
cations such as remote environment monitoring and target
tracking. A wireless sensor network may consist of hundreds
of randomly distributed sensor nodes, and one or more base
stations acting as “sinks” (data collectors). Sensor nodes
are equipped with wireless interfaces which allow them to
communicate with each other and exchange messages. The
main tasks of sensor nodes are to collect information from
their environment, send it to their neighbors, and serve as
a relay for the information generated by other nodes. For
many typical applications, this kind of dissemination is loss-
tolerant. However, there are use cases for which full reliability
is mandatory. This includes the control and management
of sensor nodes (e.g., firmware updates, script updating. . . ),
which are very sensitive to message losses. In such a case, a
reliable transport protocol is needed.
The deployment of IP-based sensor networks enables a
direct interconnection of sensor networks to external IP net-
works, without proxies or middleboxes. Such interconnection
satisfies new application needs by allowing e.g., an external
host on the Internet to communicate directly with a sensor.
In the previous scenario of controlling and managing sensors,
this would likely mean using TCP as a reliable transport layer.
TCP uses end-to-end acknowledgements (ACKs) and re-
transmission of lost packets to guarantee reliability. In multi-
hop wireless IP networks, packet losses happen not only
because of congestion, but may also be due to bad radio
channel conditions, node failures and frame collisions due to
simultaneous transmissions. It is well known that, under such
conditions, TCP performance may degrade, resulting in lower
throughput and longer transfer times. In the context of WSNs,
wireless losses and end-to-end retransmissions result in energy
“wasted” due to packets being transmitted over one or more
hops, only to be lost in a subsequent hop.
In [1], the authors propose a new approach for IP-based
WSNs to reduce TCP retransmission overhead, called Dis-
tributed TCP Caching (DTC). The main idea of DTC is to
cache TCP segments in intermediate nodes, and to use a hop-
by-hop loss recovery scheme if a segment gets lost. This
algorithm requires that all sensor nodes cache the last received
TCP segment and retransmit it if needed. Such a hop-by-
hop mechanism helps minimizing the total number of packet
transmissions, thus reducing the amount of consumed energy.
In [1], [2], DTC was designed for, and tested with, TDMA
networks where losses are due to either bad radio conditions or
congestion. However, the most used WSN link-layer protocols
are based on the CSMA-CA technique, where collisions may
be quite common. Thus, losses due to both collisions and
bad radio conditions should be considered when designing
any hop-by-hop recovery mechanism. Also, the authors of
DTC consider that the underlying MAC layer does not employ
ARQ for reliability, whereas link-layer technologies currently
in use for WSNs (e.g., IEEE 802.15.4 or IEEE 802.11) already
support ARQ.
In this paper, we propose some simple modifications to
the distributed TCP caching algorithm which reduce both the
consumed energy and the file transfer duration. Our modified
algorithm is designed for CSMA-CA networks (e.g., IEEE
802.15.4 or IEEE 802.11) and takes into account the presence
of link-layer ARQ. By means of simulation, we compare
the performance of our enhanced mechanism to that of both
978-1-4244-8435-5/10/$26.00 ©2010 IEEE
plain TCP and the original DTC scheme. We focus our study
on the total energy consumption and the transfer duration.
We also consider two ways of setting DTC’s retransmission
timer, based on two different round-trip time (RTT) estimators.
Moreover, we study the impact of TCP’s maximum window
size and link-layer maximum retries on TCP caching perfor-
mance.
The remainder of the paper is organized as follows. Sec-
tion II gives an overview of related work in the area of
reliable transport in WSNs. Section III presents the Distributed
TCP Caching mechanism proposed in [1] and highlights some
of its drawbacks, that we propose to solve through some
modifications described in Section IV. Section V compares the
performance of both schemes, highlighting the improvement
brought by our proposition, and the impact of different pa-
rameters. In Section VI, we give our conclusions and provide
directions for future work.
II. RELATED WORK
This section presents recent research in energy-efficient and
reliable transport protocols for wireless sensor networks1.
In [5], Stann and Heidemann present Reliable Multi-
Segment Transport (RMST), the first scheme with hop-by-hop
recovery using caching mode for wireless sensor networks.
RMST nodes reduce end-to-end retransmissions by storing
unacknowledged packets in their caches. Lost packets in
link layer are retransmitted using Automatic Repeat reQuest
(ARQ). In RMST, the receiver is responsible for detecting
losses and for triggering the recovery of the missing segments
through the generation of NACKs. The intermediate nodes
store data traffic and construct the map of received segments
to detect losses. When there is a gap in the sequence of
fragments, the receiver sends the NACK after a pre-defined
timeout value. NACK messages are processed at every node in
the path from receiver to sender. If an intermediate node finds
the missing segment in the cache, it suppresses the NACK and
retransmits the segments to the sink, otherwise the NACK is
relayed to the next node toward the source.
PSFQ (Pump Slowly, Fetch Quickly) [6] is a mechanism
proposed for reliable re-tasking/re-programming in WSN.
PSFQ is based on slowly injecting packets into the network
(pump phase), but performing aggressive hop-by-hop recovery
in case of packet losses (fetch phase). The pump operation in
PSFQ simply performs controlled flooding and requires each
intermediate node to create and maintain a data cache to be
used for local loss recovery and in-sequence data delivery.
PSFQ is applicable only for strict sink-to-sensor reliability
and for purposes of control and management in the reverse
direction from the sink to sensor nodes. Hence, the use of
PSFQ for the forward direction can lead to a waste of valuable
resources. In addition to this, PSFQ does not address packet
losses due to congestion. PSFQ could flood the network during
fetch phase with NACK messages.
1For a more exhaustive survey, the reader may consult, e.g., [3], [4].
DTSN [7] is an energy-efficient hop-by-hop reliable trans-
port protocol using both ACK and NACK messages for
delivery confirmation. A DTSN receiver analyzes the sequence
numbers of received packets and detects losses by finding
gaps. The receiver keeps a list of lost message sequence
numbers until it receives a message from the source node
containing a bit called Explicit Acknowledgment Request. A
source node sends an Explicit Acknowledgment Request after
an Acknowledgment Window (AW) of packets to ask for an
ACK or a NACK control message. AW is the amount of
data packets after which a source node should ask for an
acknowledgement. The receiver replies with an ACK message
if no gap is detected, or with a NACK message containing a
list of missed sequence numbers.
DTSN is a hop-by-hop recovery protocol, where interme-
diate nodes cache received packets in their memory with a
certain probability. Upon reception of an ACK message, an
intermediate node deletes acknowledged segments, otherwise
(i.e. reception of NACK message) it checks wether its cache
contains one of the missing segments. If so, the DTSN node
retransmits those missing segments, and updates the NACK
message. DTSN offers two types of service: total reliability
and differentiated reliability. The difference between both
types of service lies on the probability of caching a segment
in intermediate nodes. For example, for 100% reliability, all
segment are cached in intermediate nodes.
All those propositions allow wireless sensor network appli-
cations to reduce the overhead due to end-to-end retransmis-
sion by a hop-by-hop retransmission mechanism. However,
they are not IP-based solutions, and do not provide a direct
interconnection with external networks.
DTC [1] and TSS [8] were proposed as new algorithms
to reduce the number of TCP end-to-end retransmissions for
IP-based wireless sensor networks. A detailed description of
DTC is given in section III.
TCP Support for Sensor networks (TSS) was proposed,
as a new layer between TCP layer and network layer. TSS
requires that sensor nodes save the TCP connection context
which contains sequence numbers, acknowledgment numbers,
and retransmission timeout (RTO). TSS uses Implicit ACK
(IACK) for loss detection. A sensor node is assumed to listen
to packet transmissions of their neighbors to ensure that the
next node has forwarded the TCP segment. A TSS node
should cache a segment until it is sure that the successor
node has received the segment. Retransmissions are mainly
triggered by timeouts that require a careful updating. The TSS
retransmission timeout value is set to 1.5 × RTT . To avoid
congestion, a TSS node should stop forwarding its packets
until it knows that all earlier packets have been successfully
received by its successor node.
However, hearing all neighbor nodes traffic is not energy-
efficient because reception is at least as power-consuming
as transmission in wireless networks. In addition, a message
transmission failure leads to stop the transmission of all
its previous sensor nodes and thus increases total transfer
duration.
The following section presents Distributed TCP Caching for
wireless sensor networks.
III. DISTRIBUTED TCP CACHING
In [1], Dunkels et al. present Distributed TCP Caching
(DTC), a new scheme based on segment caching and local
retransmission, acting in cooperation with the link layer. DTC
is an extension of Snoop [9] idea towards multihop wireless
sensor networks. The authors presume that each intermediate
node has enough memory to cache a single TCP data segment.
Segments that are not acknowledged at link layer by the
next hop are locked into the cache, and retransmitted after a
retransmission timeout (RTO). After caching a segment, DTC
nodes unlock it if they receive a link layer acknowledgement.
Locked data segments cannot be overwritten by other TCP
segments. A locked segment is removed from the cache only
when a TCP ACK or SACK [10] that acknowledges it is
received.
DTC relies mainly on timeouts to detect packet losses.
Thus, each node measures the round-trip time (RTT) to the
receiver (sink) and adapts a retransmission timeout RTO to
1.5 × RTT. The authors propose to compute the RTT in the
TCP connection setup phase (they call this approach ”flying
start”) and also after receiving a TCP ACK segment.
Sensor nodes cache the TCP segment with the highest seg-
ment number seen if the cache is empty. Saving the segment
with the highest segment number disadvantages segments with
lower sequence number which should be retransmitted. If the
cache is not empty and not locked, a DTC node caches the
TCP segment with a probability of 50%.
DTC also uses the TCP SACK option to perform both
packet loss detection and signaling between DTC nodes. TCP
SACK is used by sensor nodes to inform other nodes about
segments locked in their caches and to acknowledge already
received segments. An intermediate DTC node can update the
TCP SACK message if it contains one of the missed segments.
DTC was validated in a scenario using TDMA link layer
in which losses are due to both bit error transmissions and
congestion. However, the most used link layer protocols for
wireless sensor networks are based on CSMA-CA algorithm.
The collision loss rate in CSMA-CA networks (e.g., IEEE
802.11) is higher than the transmission error loss rate.
Liu et al. have proposed MDTC [11] a multi-path-based
DTC to improves the reliability of DTC by using redundant
paths between source and destination TCP. MDTC reduces
the end-to-end delay by providing a new path when an
intermediate node fails, however, MDTC increases the total
transmitted segments.
In the next section, we present a way of tuning DTC so
as to make it more energy-efficient. Our set of choices, that
we regroup under the name EDTC (Enhanced DTC), includes
some improvements regarding the cache management, which
enable the deployment of DTC in CSMA-CA networks.
IV. ENHANCED DISTRIBUTED TCP CACHING
We propose to tune DTC so as to improve its performance
in CSMA-CA networks. DTC nodes should maintain a TCP
state for each connection. Our DTC version is based on
segment caching and local retransmission like the original
DTC. However, an intermediate node should save a new
received segment if the buffer cache is not empty and not
locked. This avoids to lose new segments in intermediate
nodes.
The second point that we suggest is to adjust the timeout
value that a node should wait before retransmitting a locked
TCP data segment. A good estimation of round-trip time
reduces network congestion on intermediate nodes and avoids
unnecessary retransmissions. In the following sections, we
describe with more details our contribution on adapting the
DTC algorithm.
A. MAC Automatic Repeat reQuest
Collisions in CSMA-CA networks are due to two problems:
hidden and exposed terminals. Using a single transmission in
a high error link layer increases the RTT value, increases end-
to-end retransmissions and reduces the connection throughput.
In [12] , the authors show that the use of a link layer with one
retransmission has reduced the total energy consumed by 7%.
Unlike DTC, our EDTC scheme is designed to benefit from
Automatic Repeat reQuest (ARQ) in the MAC layer. This
option already exists in CSMA-CA link layers like IEEE
802.15.4 and IEEE 802.11. Thereby, after receiving a TCP
data segment, a sensor node sends the received message to its
MAC layer buffer. The MAC layer uses ARQ to transmit TCP
segments. If a sensor node does not receive an ACK, it retrans-
mits the message. If the maximum retry number is reached,
the MAC layer informs the DTC module about a link layer
transmission fail. Then, the DTC module locks the received
segment in its cache buffer and waits for RTO = 1.5×RTT
before sending it again.
The use of ARQ algorithm in link layer allows sensor
nodes to have a more reliable link layer. Further, if more
retransmissions are done in the link layer, less end-to-end
transport protocol retransmissions are needed.
B. Cache management
DTC proposes to cache a received segment if the cache
buffer is empty. It also proposes to cache a segment with 50%
probability if the cache is not empty and not locked. If a
DTC node caches newest segments, this would deprive old
segment which should be retransmitted. Figure 1 shows that
the use of this approach leads to segment losses if a sensor
node receives a new TCP segment before sending the already
cached segment.
In this section, we propose a new approach to cure this
problem. After receiving a TCP data segment, the EDTC node
locks the received segment and sends it to MAC layer trying
to send it to the next hop node. After receiving a MAC layer
acknowledgment, EDTC nodes unlock the received segment.
The cached segment could then be overwritten by the next
received TCP segment or deleted if the sensor node received
a TCP ACK with an acknowledgement number greater than its
Node 1 Node 2 Node 3
TCP-DATA(n)
TCP-DATA(n+1)
TCP-DATA(n+1)
Fig. 1: DTC cache management
sequence number or a TCP SACK containing a SACK block
acquitting the cached segment.
Our solution gives priority to the old segment if it is not
successfully sent at the link layer, and the priority to new
segments if the cached is already acknowledged in link layer.
This approach solves the problem of overwriting a cached
segment before it could be sent to the next hop node, and
gives more chance to the old segment to be retransmitted.
C. Disable Unnecessary Retransmissions
With DTC, each intermediate node should retransmit the
cached segment after an RTO. However, local retransmissions
from sensor nodes can lead to unnecessary retransmissions if
the same segment is retransmitted by more than one node. To
reduce the number of unnecessary retransmissions, an EDTC
node should schedule again the retransmission timeout if it
receives a cached TCP data segment.
Further, when a sensor node receives a TCP data segment, it
compares its sequence number to the cached one (if it exists).
If they have the same sequence number, the sensor node should
set the RTO value to 1.5×RTT . This approach has no impact
on the retransmission of missing segments.
D. Round-Trip Time computing
In the initial proposition of DTC, it is proposed to compute
the RTT value after receiving a TCP ACK segment which
acknowledges the cached segment. Then, the RTO value is
chosen as 1.5 × RTT. The RTO computing is very important
to reduce the unnecessary end-to-end retransmissions and to
get a better throughput.
In EDTC, we conserve flying start used in DTC which
consists of measuring RTT during the TCP connection set-
up. We propose to smooth the measured RTT value and save
the timestamp of all TCP segments received to get the more
valuable value as specified in [13]. We propose to use a new
retransmission timeout RTO′ = 1.5 × RTO where RTO is the
retransmission timeout computed by [13]. Simulations show
that a good estimation of RTT increases the throughput and
thus reduces the transfer duration.
V. PERFORMANCE EVALUATION
A. Simulation environment
To evaluate the performance of our tuning choices, we
have implemented DTC and EDTC on INETMANET [14], a
framework of the OMNET++ [15] network simulator. We have
performed simulations with unidirectional TCP data transfers.
We have used a chain topology as shown in Figure 2 where
TABLE I: Simulation parametersParameters Value
Maximum Segment Size 100bytes
Window Size 200bytes
Routing Protocol AODV
MAC Layer IEEE 802.11b
PHY bitrate 1Mb/s
Fig. 2: Chain topology scenario
node n is in the transmission range of node n− 1 and n + 1.
The distance between two neighbor nodes is 50 meters. Like
the scenario considered in [1], the TCP sender (source) sends
500 TCP data segments (50kB) to the TCP receiver. Table
I contains values of all scenario parameters. Our simulations
consist of 30 runs, and the reported results are the average of
the 30 independant runs (we also display the 95% confidence
intervals).
B. Energy Model
To measure the amount of consumed energy by sensor
nodes, we apply the following energy model. A sensor node
is in one of three states : Transmit, Receive or Idle. We used
an energy-efficient IEEE 802.11 protocol (e.g., S-MAC [16])
where wireless nodes, whose addresses are not contained
in the header, are able to turn their radio units off during
the ongoing transmission of the packet. However, it is still
necessary to receive the complete header to get information
about addressed nodes and packet length. The addressed node
continues receiving all packets. The energy consumption of
idle listening must also be considered. Table II contains the
power value of each state.
C. Comparison between EDTC, TCP and DTC
In this section, we compare EDTC to TCP and DTC. The
comparison metrics that we use are: total consumed energy
and transfer duration. Those two metrics are very important
for wireless sensor networks. We simulate two scenarios. In
the first one, we increase the number of nodes in the network
and thus the number of hops. In the second scenario we fix the
TABLE II: Energy model of wireless sensor nodesMode of Sensor Value (W)
Transmit Power 1.0
Receive Power 0.8
Idle Power 0.1
Sleep Power 0.01
number of nodes to seven and we simulate the same scenario
with different bit error rates.
4 6 810
20
30
40
Number of hops
Consu
med
ener
gy
(J)
TCP
DTC
DTC+SRTO
DTC+CM
EDTC
Fig. 3: Comparison of total energy consumption
4 6 80
50
100
Number of hops
Tra
nsf
erdura
tion
(s)
TCP
DTC
DTC+SRTO
DTC+CM
EDTC
Fig. 4: Comparison of transfer duration
1) Number of hops: In this section, we study the TCP
performance by increasing the size of the network. In order
to justify our motivation for hop-by-hop retransmissions, we
compare EDTC and DTC to TCP-Reno.
In the original DTC, it was proposed to compute the RTT
value from the time of reception a data segment to the time
of reception of its ACK, and then to take 1.5 × RTT as
RTO value. We complete that approach by including TCP
SACK in the new RTO computing procedure. Thus, if an
intermediate node receives a TCP segment with a SACK
option acknowledging segment n, then, it computes the RTT
of that segment and then updates RTO.
Moreover, we suggest to use the algorithm of Paxson and
Allmon [13] for computing the RTO value. In order to
justify our motivation for the smoothing computing of RTT ,
we compare our DTC with and without RTT smoothing
performance.
Figure 3 and Figure 4 show that DTC with a better RTO
computing (DTC+STRO) leads not only to reduce the total
consumed energy by sensor nodes but also to decrease the
transfer duration and thus to improve TCP throughout.
Furthermore, the same figures show that DTC with a better
cache segment management (DTC+CM) reduces the total
consumed energy. This is due to two points : giving all
chance to low sequence number segments which are not
acknowledged and disabling unnecessary retransmissions.
EDTC combines the two proposed improvements. EDTC
outperforms DTC in energy consumption by a better RTO
computing and a good cache management.
Sending a file is not the main purpose of wireless sensor
networks. However, if the transfer duration takes a long time,
the performance of the WSN would decrease. Using the same
topology defined above, we compute the transfer duration of
the same file using TCP, DTC and EDTC. Figure 4 shows
that in a CSMA-CA network, DTC and TCP have similar
performance. However, EDTC reduces the transfer duration
by about 55-76% compared to TCP and 14-49% compared to
DTC. Morevover, EDTC reduces the total consumed energy
by about 3-23% compared to TCP and 3-16% compared to
DTC. This is due mainly to the smoothed RTO computing,
which reduces unnecessary end-to-end retransmissions.
2) Bit Error Rate: In this section, we study DTC per-
formance with different bit error rate scenarios. Figure 5
compares the total consumed energy by TCP, DTC, and EDTC
nodes. It shows that EDTC nodes consume 26% less than TCP
ones in high bit rate networks (10−4) and about 23% in low
bit rate networks (10−6).Figure 5 shows that EDTC also reduces the file transfer
duration. Results show that EDTC achieves higher throughput
than TCP and DTC. The improvement of file transfer duration
is due to a better RTT computing.
10−6
10−5
10−4
20
40
60
BER
Consu
med
ener
gy
(J)
TCP
DTC
EDTC
(a) Comparison of total energy con-sumption (Number of hops=6)
10−6
10−5
10−4
0
50
100
BER
Tra
nsf
erdura
tion
(s)
TCP
DTC
EDTC
(b) Comparison of transfer duration(Number of hops=6)
Fig. 5: Comparison between DTC, TCP and EDTC with
different bit error rates
D. Congestion Window Limit Impact
Experimental results of Vikas and Kumar [17] show that it is
better to use a short congestion window for TCP connections
in wireless sensor networks. In this section, we study the
impact of the congestion window limit (CWL) on EDTC
performance. Figures 6 shows results of three simulations with
different CWL values (1, 2, and 3).
Figure 6 shows that EDTC with a CWL of one gives smaller
transfer duration times when the number of hops is less than
four. For large topologies (i.e, more than four hops), the three
curves are not significantly distinct. However, in Figure 6, it
is clearer that EDTC consumes less energy with a CWL of
4 6 80
20
40
60
Number of hops
Consu
med
Ener
gy
(J)
Win=1
Win=2
Win=3
(a) Total consumed energy with differ-ent Congestion Window
4 6 80
20
40
60
Number of hops
Tra
nsf
erdura
tion
(s)
Win=1
Win=2
Win=3
(b) Transfer duration with differentCongestion Window
Fig. 6: Consumed Energy and Transfer duration with different
Congestion Window
4 6 80
20
40
60
Number of hops
Consu
med
Ener
gy
(J)
RL=3
RL=5
RL=7
(a) Total consumed energy with differ-ent MAC Retry Limit
4 6 80
20
40
60
Number of hops
Tra
nsf
erdura
tion
(s)
RL=3
RL=5
RL=7
(b) Transfer duration with differentMAC Retry Limit(RL)
Fig. 7: Consumed Energy and Transfer duration with different
MAC Retry Limit(RL)
one. For example, in a scenario with six hops, EDTC with a
CWL of one consumes 12.4% less than with a CWL of two,
and 22.9% than with a CWL of three.
E. Mac Retry Limit Impact
TCP ensures a reliable transmission by retransmitting lost
segments from the sender to the receiver. That kind of retrans-
mission occurs at the transport layer. However, in wireless net-
works, the link layer also ensures hop-by-hop retransmissions.
The link layer of a sensor node retransmits a frame if it does
not receive a link acknowledgement after a certain delay. Then,
the sender node retransmits the frame until the maximum retry
number is reached. If the maximum retry limit is reached, the
sensor node drops the frame and alerts the transport layer.
Link layer retransmissions can reduce end-to-end retrans-
missions because more packets are retransmitted in the link
layer, and thus less transport protocol retransmissions. In this
section, we present the impact of link layer retransmissions
on EDTC performance.
Figure 7 shows consumed energy and transfer duration of a
TCP connection with different MAC Retry Limit values. With
a MRL equals to 7, EDTC consumes 7% less than EDTC
with MRL equals to 3. However, the MRL has less impact on
transfer duration.-
VI. CONCLUSION AND FUTURE WORK
This paper proposed some improvements to a distributed
TCP caching algorithm for unicast transmission in wireless
sensor networks. We have evaluated our contribution through
simulation, and verified that it reduces the amount of con-
sumed energy up to 30 percent and increases the throughput
due to a better congestion management. The new distributed
TCP caching is going to be implemented in an IP-based sensor
network test-bed for experimental study.
REFERENCES
[1] A. Dunkels, J. Alonso, and T. Voigt, “Distributed TCP Caching for Wire-less Sensor Networks,” in Proceedings of the 3 rd Annual Mediterranean
Ad-Hoc Networks Workshop, 2004.[2] T. Braun, T. Voigt, and A. Dunkels, “Energy-efficient TCP operation
in wireless sensor networks,” Praxis der Informationsverarbeitung undKommunikation (PIK), vol. 28, no. 2, pp. 93–100, Jun. 2005. [Online].Available: http://www.reference-global.com/toc/piko/current
[3] C. Wang, K. Sohraby, B. Li, M. Daneshmand, and Y. Hu, “A surveyof transport protocols for wireless sensor networks,” IEEE Network, pp.34–40, May 2006.
[4] P. Pereira, A. Grilo, F. Rocha, M. Nunes, A. Casaca, C. Chaudet,P. Almstr om, and M. Johansson, “End-to-end reliability in wirelesssensor networks: Survey and research challenges,” in EuroFGI Workshop
on IP QoS and Traffic Control, Lisbon, Dec. 2007.[5] F. Stann and J. Heidemann, “RMST: reliable data transport in sensor net-
works,” Sensor Network Protocols and Applications, 2003. Proceedingsof the First IEEE. 2003 IEEE International Workshop on, pp. 102–112,May 2003.
[6] C.-Y. Wan, A. Campbell, and L. Krishnamurthy, “Pump-slowly, fetch-quickly (PSFQ): a reliable transport protocol for sensor networks,”Selected Areas in Communications, IEEE Journal on, vol. 23, no. 4,pp. 862–872, April 2005.
[7] B. Marchi, A. Grilo, and M. Nunes, “DTSN: Distributed Transport forSensor Networks,” Computers and Communications, 2007. ISCC 2007.
12th IEEE Symposium on, pp. 165–172, July 2007.[8] T. Braun, T. Voigt, and A. Dunkels, “TCP support for sensor networks,”
Wireless on Demand Network Systems and Services, 2007. WONS ’07.
Fourth Annual Conference on, pp. 162–169, Jan. 2007.[9] H. Balakrishnan, S. Seshan, E. Amir, and R. H. Katz, “Improving
TCP/IP performance over wireless networks,” in MobiCom ’95: Pro-ceedings of the 1st annual international conference on Mobile computing
and networking. New York, NY, USA: ACM, 1995, pp. 2–11.[10] E. Blanton, M. Allman, K. Fall, and L. Wang, “RFC 3517: A
conservative selective acknowledgment (SACK)-based loss recoveryalgorithm for TCP,” April 2003. [Online]. Available: http://www.faqs.org/rfcs/rfc3517.html
[11] Y. Liu, H. Huang, and K. Xu, “Multi-path-based Distributed TCPCaching for Wireless Sensor Networks,” in SNPD ’07: Proceedings
of the Eighth ACIS International Conference on Software Engineering,
Artificial Intelligence, Networking, and Parallel/Distributed Computing.Washington, DC, USA: IEEE Computer Society, 2007, pp. 331–335.
[12] A. Dunkels, T. Voigt, and J. Alonso, “Reliability in Distributed TCPCaching ,” in Proceedings of Workshop on Sensor Networks Workshop
at Informatik 2004, Ulm, Germany, 2004.[13] V. Paxson and M. Allman, “Computing TCP’s Retransmission Timer,”
United States, 2000.[14] “INETMANET framework,” 2009, http://inet.omnetpp.org/.[15] “OMNET++ 4.0,” 2009, http://www.omnetpp.org/.[16] W. Ye, J. Heidemann, and D. Estrin, “An Energy-Efficient MAC
protocol for Wireless Sensor Networks,” in Proceedings of the
IEEE Infocom, USC/Information Sciences Institute. New York,NY, USA: IEEE, June 2002, pp. 1567–1576. [Online]. Available:http://www.isi.edu/∼johnh/PAPERS/Ye02a.html
[17] V. Kawadia and P. R. Kumar, “Experimental investigations into TCPperformance over wireless multihop networks,” in E-WIND ’05: Pro-ceedings of the 2005 ACM SIGCOMM workshop on Experimental
approaches to wireless network design and analysis. New York, NY,USA: ACM, 2005, pp. 29–34.