[ieee 2010 the 9th ifip annual mediterranean ad hoc networking workshop (med-hoc-net 2010) - juan...

6
Improving Distributed TCP Caching for Wireless Sensor Networks Ahmed Ayadi, Patrick Maill´ e, and David Ros Institut T´ el´ ecom / T´ el´ ecom Bretagne Rue de la Chˆ ataigneraie, CS 17607 35576 Cesson S´ evign´ e 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 to both the characteristics of the network nodes (low computing power, strong energy constraints) and those of the typical applications running on such nodes (low data rates). Indeed, TCP has not been designed with energy efficiency in mind, and the end-to-end recovery of TCP makes it too energy-expensive for common WSN applications. Distributed TCP Caching (DTC), originally proposed by Dunkels et al., is a mechanism aimed at adapting TCP to wireless sensor networks. DTC improves TCP performance by caching TCP segments in intermediate nodes. However, DTC was designed for, and tested with, a TDMA-based MAC layer without automatic repeat request (ARQ). On the other hand, current WSN link-layer protocols like 802.15.4 are based on Carrier Sense Multiple Access with Collision Avoidance (CSMA-CA), and they readily support ARQ. In this paper, we propose and evaluate several modifications to DTC that result in an enhanced, more energy-efficient transport layer for IP-based WSNs. We explicitly consider the CSMA- CA nature of the link (i.e., the presence of frame collisions), as well as the use of link-layer reliability. Using the INETMANET framework of the OMNET++ simulator, we assess how simple modifications to the TCP caching mechanism and round-trip time estimator can have a significant impact on DTC performance, in terms of energy efficiency and file transfer delay. Index Terms—Wireless Sensor Network, Reliable Transport Protocols, Energy Efficiency, TCP, Distributed TCP Caching. I. I NTRODUCTION 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

Upload: david

Post on 13-Mar-2017

215 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: [IEEE 2010 The 9th IFIP Annual Mediterranean Ad Hoc Networking Workshop (Med-Hoc-Net 2010) - Juan Les Pins, France (2010.06.23-2010.06.25)] 2010 The 9th IFIP Annual Mediterranean Ad

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

Page 2: [IEEE 2010 The 9th IFIP Annual Mediterranean Ad Hoc Networking Workshop (Med-Hoc-Net 2010) - Juan Les Pins, France (2010.06.23-2010.06.25)] 2010 The 9th IFIP Annual Mediterranean Ad

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.

Page 3: [IEEE 2010 The 9th IFIP Annual Mediterranean Ad Hoc Networking Workshop (Med-Hoc-Net 2010) - Juan Les Pins, France (2010.06.23-2010.06.25)] 2010 The 9th IFIP Annual Mediterranean Ad

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

Page 4: [IEEE 2010 The 9th IFIP Annual Mediterranean Ad Hoc Networking Workshop (Med-Hoc-Net 2010) - Juan Les Pins, France (2010.06.23-2010.06.25)] 2010 The 9th IFIP Annual Mediterranean Ad

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

Page 5: [IEEE 2010 The 9th IFIP Annual Mediterranean Ad Hoc Networking Workshop (Med-Hoc-Net 2010) - Juan Les Pins, France (2010.06.23-2010.06.25)] 2010 The 9th IFIP Annual Mediterranean Ad

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

Page 6: [IEEE 2010 The 9th IFIP Annual Mediterranean Ad Hoc Networking Workshop (Med-Hoc-Net 2010) - Juan Les Pins, France (2010.06.23-2010.06.25)] 2010 The 9th IFIP Annual Mediterranean Ad

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.