tcp performance optimizations forwireless sensor networks
DESCRIPTION
EWSN 2012, TrentoTRANSCRIPT
EWSN 2012
TCP Performance Optimizations forWireless Sensor Networks
Philipp Hurni, Ulrich Bürgi, Markus Anwander, Torsten Braun
Research Group ―Communication and Distributed Systems‖
Institute of Computer Science and Applied Mathematics
University of Bern, Switzerland
[email protected], cds.unibe.ch
Overview
> Motivation and Related Work
— Reasons for Poor TCP Performance in Wireless Multi-Hop Networks
— Optimization of TCP in WSNs
> Proposed Optimization Concepts
— Caching and Congestion Control (cctrl) Module including Channel Activity Monitoring
— Spatial Reuse by Multiple TCP Connections
> Results by Testbed Experiments
— Throughput
— Radio On-Time as Energy Consumption Measure
> Conclusions
Trento, February 15, 2012
Torsten Braun:TCP Performance Optimizations for Wireless Sensor Networks
2
Reasons for Poor TCP Performance in Wireless Multi-Hop Networks
> Higher bit error rates and packet loss
> Underlying MAC protocols (exponential back-off, hidden / exposed nodes)
> TCP end-to-end error and congestion control mechanisms
Trento, February 15, 2012
Torsten Braun:TCP Performance Optimizations for Wireless Sensor Networks
3
TCP data segment loss TCP acknowledgement loss
Optimization of TCP in WSNs
> Distributed TCP Caching (Dunkels et al., 2004)
> TCP Support for Sensor Networks (Braun et al., 2007)
Trento, February 15, 2012
Torsten Braun:TCP Performance Optimizations for Wireless Sensor Networks
4
Caching and Congestion Control (cctrl) Module
> is aware of all TCP packets forwarded by a node by interception of outbound packets.
> allocates buffer for 2 packets per TCP connection (1 for each direction, µIP has max. 1 unacknowledged TCP data segment per connection)
Trento, February 15, 2012
Torsten Braun:TCP Performance Optimizations for Wireless Sensor Networks
5
cctrl Functions
> Caching of — complete TCP data segments and scheduling of retransmission timer
(RTO = 3 ∙ RTTestimated, RTTestimated = estimated RTT between intermediate node and destination)
— TCP/IP header for TCP acknowledgements
> Local retransmission of TCP data segment (max. 3 attempts), when RTO expires prior to TCP acknowledgement reception (a)
> Removal of TCP data segments, if acknowledgement number of TCP acknowledgement > sequence number of cached TCP data segment
> For retransmitted TCP data segments, for which a TCP acknowledgement has been received: discard TCP data segment; regenerate TCP acknowledgement (b)
Trento, February 15, 2012
Torsten Braun:TCP Performance Optimizations for Wireless Sensor Networks
6
Channel Activity Monitoring
Trento, February 15, 2012
Torsten Braun:TCP Performance Optimizations for Wireless Sensor Networks
7
> MAC proxy notifies cctrl upon reception of any packet and stores a timestamp in activity history.
> cctrl continuously calculates channel activity level (= # overheard packets by MAC proxy during the last time period RTTestimated)
> Observation:
— Channel activity level of most nodes = 0 during long idle periods
— Long idle periods by – TCP data segment loss at one of the first hops
– TCP acknowledgement loss close to its destination (i.e. TCP data segment’s source).
> Approach:
— Split RTO into:– RTO1 = 3 ∙ RTTestimated ∙ 2/3
– RTO2 = 3 ∙ RTTestimated ∙ 1/3
— When RTO1 expires: early retransmission, if channel activity level = 0; otherwise: retransmission when RTO2 expires.
— Triggers early local retransmissions close to destination
MAC Proxy
Trento, February 15, 2012
Torsten Braun:TCP Performance Optimizations for Wireless Sensor Networks
8
Channel Activity Levels with X-MAC
Trento, February 15, 2012
Torsten Braun:TCP Performance Optimizations for Wireless Sensor Networks
9
Long Idle Periods
Trento, February 15, 2012
Torsten Braun:TCP Performance Optimizations for Wireless Sensor Networks
10
Spatial Reuse by Multiple TCP Connections
Trento, February 15, 2012
Torsten Braun:TCP Performance Optimizations for Wireless Sensor Networks
11
Testbed Experiments
> 7 TelosB nodes in different rooms of a 3 floor building using U Bern’s Wisebed testbed
> Receiver node 1
> Sender nodes 2-7
> Experiments with different MAC protocols for 10 minutes, 15 repetitions
> 16 bytes payload
> 79 bytes per TCP data segment
> 63 bytes per TCP acknowledgement
> Total: approx. 2500 experiments during > 400 hours
Trento, February 15, 2012
Torsten Braun:TCP Performance Optimizations for Wireless Sensor Networks
12
Throughput
Trento, February 15, 2012
Torsten Braun:TCP Performance Optimizations for Wireless Sensor Networks
13
Radio On-Time as Energy Consumption Measure
Trento, February 15, 2012
Torsten Braun:TCP Performance Optimizations for Wireless Sensor Networks
14
Throughput with Multiple Connections
Trento, February 15, 2012
Torsten Braun:TCP Performance Optimizations for Wireless Sensor Networks
15
Overall Comparison of Throughput
Trento, February 15, 2012
Torsten Braun:TCP Performance Optimizations for Wireless Sensor Networks
16
Overall Comparison of Energy Consumption
Trento, February 15, 2012
Torsten Braun:TCP Performance Optimizations for Wireless Sensor Networks
17
Cross-Traffic Measurements
Trento, February 15, 2012
Torsten Braun:TCP Performance Optimizations for Wireless Sensor Networks
18
Cross-Traffic Throughput
Trento, February 15, 2012
Torsten Braun:TCP Performance Optimizations for Wireless Sensor Networks
19
Cross-Traffic Comparison
Trento, February 15, 2012
Torsten Braun:TCP Performance Optimizations for Wireless Sensor Networks
20
Conclusions
> Implementation of caching, local TCP data segment retransmission, and TCP acknowledgement regeneration in intermediate nodes on top of several WSN MAC protocols
> NullMAC and LPP provide good response to local retransmission. Results with ContikiMAC are worse.
> cctrl can improve performance and energy efficiency.
> Spatial reuse by multiple TCP connections can further improve performance.
> Best performance and energy efficiency with cctrl and NullMAC ! → adaptive MAC protocols (Hurni et al., 2010)
Trento, February 15, 2012
Torsten Braun:TCP Performance Optimizations for Wireless Sensor Networks
21
Thanks for your attention !
> http://cds.unibe.ch
Trento, February 15, 2012
Torsten Braun:TCP Performance Optimizations for Wireless Sensor Networks
22