A survey of transport protocols for wireless sensor networks <s> Loss Recovery <s> We study the problem of media access control in the novel regime of sensor networks, where unique application behavior and tight constraints in computation power, storage, energy resources, and radio technology have shaped this design space to be very different from that found in traditional mobile computing regime. Media access control in sensor networks must not only be energy efficient but should also allow fair bandwidth allocation to the infrastructure for all nodes in a multihop network. We propose an adaptive rate control mechanism aiming to support these two goals and find that such a scheme is most effective in achieving our fairness goal while being energy efficient for both low and high duty cycle of network traffic. <s> BIB001 </s> A survey of transport protocols for wireless sensor networks <s> Loss Recovery <s> Wireless sensor networks (WSN) are event based systems that rely on the collective effort of several microsensor nodes. Reliable event detection at the sink is based on collective information provided by source nodes and not on any individual report. Hence, conventional end-to-end reliability definitions and solutions are inapplicable in the WSN regime and would only lead to a waste of scarce sensor resources. However, the absence of reliable transport altogether can seriously impair event detection. Hence, the WSN paradigm necessitates a collective phevent-to-sink reliability notion rather than the traditional end-to-end notion. To the best of our knowledge, reliable transport in WSN has not been studied from this perspective before.In order to address this need, a new reliable transport scheme for WSN, the event-to-sink reliable transport (ESRT) protocol, is presented in this paper. ESRT is a novel transport solution developed to achieve reliable event detection in WSN with minimum energy expenditure. It includes a congestion control component that serves the dual purpose of achieving reliability and conserving energy. Importantly, the algorithms of ESRT mainly run on the sink, with minimal functionality required at resource constrained sensor nodes. ESRT protocol operation is determined by the current network state based on the reliability achieved and congestion condition in the network. If the event-to-sink reliability is lower than required, ESRT adjusts the reporting frequency of source nodes aggressively in order to reach the target reliability level as soon as possible. If the reliability is higher than required, then ESRT reduces the reporting frequency conservatively in order to conserve energy while still maintaining reliability. This self-configuring nature of ESRT makes it robust to random, dynamic topology in WSN. Analytical performance evaluation and simulation results show that ESRT converges to the desired reliability with minimum energy expenditure, starting from any initial network state. <s> BIB002 </s> A survey of transport protocols for wireless sensor networks <s> Loss Recovery <s> Previous research on transport layer protocols for wireless sensor ::: networks (WSNs) has focused on designing protocols specifically ::: targeted for sensor networks. Most sensor networks applications, ::: however, are only useful when connected to an external network. The ::: deployment of TCP/IP in WSNs would enable direct connection between ::: the WSN and external TCP/IP networks. However, TCP performs badly in ::: wireless environments both in terms of throughput and energy ::: efficiency. To overcome these problems in WSNs we have designed ::: Distributed TCP Caching. This mechanism greatly enhances TCP ::: performance by caching TCP segments on the nodes in the sensor network ::: and locally retransmitting lost segments. Our simulations ::: demonstrate that with these enhancements TCP performs well enough to ::: be useful in wireless sensor networks. <s> BIB003
In wireless environments, both congestion and bit error can cause packet loss, which deteriorates end-to-end reliability and QoS, and furthermore lowers energy efficiency. Other factors that result in packet loss include node failure, wrong or outdated routing information, and energy depletion. In order to overcome this problem, one can increase the source sending rate or introduce retransmission-based loss recovery. The first approach, which is also used in event-to-sink reliable transport (ESRT) BIB002 , works well for guaranteeing event reliability for event-driven applications that require no packet reliability; however, this method is not energy efficient compared to loss recovery. The loss recovery method is more active and energy efficient, and can be implemented at both the link and transport layers. Link-layer loss recovery is hop-by-hop, while the transport layer recovery is usually done end-to-end. Here we focus on loss recovery that consists of loss detection and notification and retransmission recovery. Loss Detection and Notification -Since packet loss can be far more common in WSNs than in wireline networks, loss detection mechanisms have to be carefully designed. A common mechanism is to include a sequence number in each packet header. The continuity of sequence numbers can be used to detect packet loss. Loss detection and notification can be either end-to-end or hop-by-hop. In the end-to-end approach, such as in TCP protocol, the end-points (destination or source) are responsible for loss detection and notification. In the hop-by-hop method, intermediate nodes detect and notify packet loss. For several reasons, the end-to-end approach is not very effective for WSNs: • The control messages that are used for end-to-end loss detection would utilize a return path consisting of several hops, and this is not energy efficient. • Control messages travel through multiple hops and could be lost with a high probability due to either link error or congestion. • End-to-end loss detection inevitably leads to end-to-end retransmissions for loss recovery. However, end-to-end retransmission consumes more energy than hop-by-hop retransmission. In hop-by-hop loss detection and notification, a pair of neighboring nodes are responsible for loss detection, and can enable local retransmission that is more energy efficient, as compared to the end-to-end approach. Hop-by-hop loss detection can further be categorized as receiver-based or senderbased, depending on where packet loss is detected. In sender-based loss detection, the sender detects packet loss on either a timer-based or overhearing mechanism. In timerbased detection, a sender starts a timer each time it transmits a packet. If it does not receive an Acknowledgment from the targeted receiver before the timer expires, it infers the packet has been lost. Taking advantage of the broadcast nature of wireless channels, the sender can listen to the targeted receiver (passively and in an indirect manner so as to detect packet loss) in order to determine if the packet has been successfully forwarded. In receiver-based loss detection, a receiver infers packet loss when it observes out-of-sequence packet arrivals. There are three ways to notify the sender: ACK (Acknowledgment), NACK (Negative ACK), and IACK (Implicit ACK). Both ACK and NACK rely on special control messages, while IACK BIB001 piggybacks ACK in the packet header. In IACK, if a packet is overheard being forwarded again, this implies that the packet has been successfully received and therefore acknowledged simultaneously. Therefore, IACK avoids control message overhead and is more energy efficient. However, the application of IACK depends on whether the sensor nodes have the capability to overhear the physical channel. In the case where the transmission is corrupt or the channel is not bidirectional or the sensor nodes access the physical channel using Time Division Multiple Access (TDMA)-based protocols, IACK may not be feasible. Loss detection and notification can also pinpoint the reason for packet loss, which can be further used to improve system performance. For example, if packet loss is caused by buffer overflow, source nodes need to reduce the sending rate. However, if channel error is the cause, then it is unnecessary to reduce the sending rate in order to maintain high link utilization and throughput. Retransmission-Based Loss Recovery -Retransmission of lost or damaged packets can be also either end-to-end or hop-byhop. In the end-to-end approach, the source performs retransmission. In hop-by-hop retransmission, an intermediate node that intercepts loss notification searches its local buffer. If it finds a copy of the lost packet, it retransmits the packet. Otherwise it relays loss information upstream to other intermediate nodes. If we define the node with a cached packet as a cache point and the node where the lost packets are detected as a loss point, the hop number between them can be referred to as the retransmission distance. The retransmission distance is an indication of retransmission efficiency in terms of energy consumed in the process of retransmission. In end-to-end retransmission (such as in TCP), the cache point is the source node. However, in hop-by-hop retransmission, the cache point could be the predecessor node of the loss point. The end-toend retransmission has a longer retransmission distance, while the hop-by-hop approach is more energy-efficient. However, hop-by-hop requires intermediate nodes to cache packets. The end-to-end approach allows for application-dependent variable reliability levels, like that realized by ESRT. In contrast, the hop-by-hop recovery approach is preferred if 100 percent packet reliability is required, although some applications in WSNs, such as event-driven applications, may not require 100 percent reliability from sensor node. However, it needs to be noted that hop-by-hop loss recovery cannot assure message delivery in the presence of node failure. Since end-to-end and hop-by-hop retransmissions require the caching of transmitted packets at cache points for a possible future request for retransmission, the following question would arise: How long should a cache point buffer? This is especially important if the cache point does not receive an Acknowledgment. For end-to-end retransmission, the cache duration should be close to round-trip-time (RTT). In wireless systems that use NACK-based Acknowledgments, NACK messages could be lost or corrupted on the reverse channel and the destination would be required to send NACK more than once. In this case, source nodes need to buffer a packet for a time duration which is longer than RTT. For hop-by-hop, the cache duration is only influenced by the total local packet-service time and one-hop packet transmission time. Next we discuss several issues related to hop-by-hop retransmission in WSNs. First, when to trigger retransmis-sion? Retransmission can be triggered immediately upon the detection of a packet loss. This results in shorter delay, which is desirable by time-sensitive applications. However, if packet loss is caused by congestion, the immediate retransmission could aggravate the congestion situation and cause more packet losses. The second problem is related to the cache point itself. Where to cache the transmitted packets? In the hop-by-hop approach, each packet could be cached at each and every intermediate node. Given the limited memory in sensor nodes, packets may only need to be cached at selected nodes. The central issue is how to distribute cached packets among a set of nodes. The solutions, for example, in Distributed TCP Cache (DTC) BIB003 , balance the buffer constraints and retransmission efficiency by using probability-based selection for cache points. In order to optimize retransmission efficiency, another possible approach is to cache packets at the intermediate node that is closer to the potential congested node where packet loss is more likely to arise.