Hxh: a Hop-By-Hop Transport Protocol for Multi-Hop Wireless Networks
Total Page:16
File Type:pdf, Size:1020Kb
HxH: A Hop-by-Hop Transport Protocol for Multi-Hop Wireless Networks Daniel Scofield Lei Wang Daniel Zappala Computer Science Computer Science Computer Science Department Department Department Brigham Young University Brigham Young University Brigham Young University danscofi[email protected] [email protected] [email protected] ABSTRACT arises from the many unique characteristics of wireless net- TCP can perform poorly in multi-hop wireless networks due works, including contention, interference, the hidden and ex- to problems that arise with contention and mobility. End- posed terminal problems, shared queues, half-duplex links, to-end protocols are at an inherent disadvantage in trying and route changes due to mobility. A wide range of research to solve these problems because their feedback loop operates has attempted to solve this problem by providing feedback over multiple wireless hops, which makes it difficult to di- from intermediate nodes [8, 23, 10, 18], by modifying TCP’s agnose problems that occur several hops away and hinders congestion control algorithm [6, 12, 1], or by designing new their ability to adapt to changing network conditions. In transport protocols [16, 2]. this paper, we design HxH, a hop-by-hop transport protocol Our approach to solving this problem is to design a trans- that uses credit-based congestion control and reverse ACKs port protocol that uses hop-by-hop rather than end-to-end to solve many of the problems observed with TCP. We use protocol mechanisms. Our primary motivation is that hop- a simulation study to demonstrate that our hop-by-hop ap- by-hop mechanisms free the transport protocol from having proach allows HxH to respond quickly to changing network to use a feedback loop that spans multiple hops. Instead, conditions and to exploit the unique characteristics of wire- each of the hops in a connection only has to worry about less networks to reduce overhead. We show that HxH greatly conditions that affect delivering packets to the next hop. increases throughput and improves fairness, as compared to This approach is particularly effective in wireless networks, several end-to-end protocols, in both mesh and mobile ad because intermediate nodes are better positioned to react hoc networks. to contention and mobility-induced congestion, leading to a faster response and thus greater throughput. The main cost of the hop-by-hop approach is that it typically requires Categories and Subject Descriptors per-flow state in routers; this is less of a problem in wire- C.2 [Computer-Communication Networks]: Network less networks, since they typically operate at the edge of the Architecture and Design—Wireless communication network, with relatively few flows. In designing a new transport protocol specifically for wire- less networks, we have several goals. First, we want to use 1. INTRODUCTION hop-by-hop mechanisms for both congestion control and re- In this paper, we consider the problem of reliable trans- liability, while still retaining end-to-end transport. This en- port across multi-hop wireless networks. We focus on net- ables us to explore how much benefit can be gained from works that use a single radio in each node, using the IEEE a hop-by-hop design, so that we can evaluate whether the 802.11 series of protocols, though we also discuss extensions improved performance is worth the additional flow state. for multi-radio networks. The network nodes may be pri- Second, we use 802.11 MAC mechanisms whenever possible, marily stationary, as with a mesh network, or mobile, as to eliminate inefficiencies due to duplicate functionality be- with an ad hoc network. We broadly classify both as multi- tween the transport and link layers. Finally, the protocol hop networks, since in each case connections must span sev- should be general enough to improve throughput and fair- eral wireless hops, with the primary differences being that ness in both static and mobile wireless networks. nodes may be mobile and may be power-constrained in the Our hop-by-hop transport protocol, called HxH, contains ad hoc case. two components: a per-flow, credit-based congestion control It is well known that TCP suffers from poor bandwidth algorithm, and end-to-end reliability using reverse ACKs. utilization in multi-hop wireless networks. This problem The advantage of using per-flow credits is that it eliminates congestion-induced loss, since a node will not transmit pack- ets unless there are available credits for that flow at the next hop. Credit-based control also provides more stability than Permission to make digital or hard copies of all or part of this work for rate-based [5] and pricing-based [22] feedback, since flows personal or classroom use is granted without fee provided that copies are are isolated from each other. With rate and pricing feed- not made or distributed for profit or commercial advantage and that copies back, whenever new flows start the current rates or prices of bear this notice and the full citation on the first page. To copy otherwise, to all contending flows must be adjusted and then carried up- republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. stream. With credit-based feedback the only concern when WICON’08 November 17-19, 2008, Maui, Hawaii, USA adding a new flow is whether there is enough buffering avail- Copyright 2008 ACM ICST 978-963-9799-36-3 ...$5.00. able for the new flow; if per-flow buffering is kept small then There are several ways to reduce the impact of ACKs this is not a problem on modern hardware. on transport performance. In TCP, ACKs can be piggy- While hop-by-hop congestion control has many benefits backed on data packets going in the reverse direction; how- for wireless networks, pure hop-by-hop reliability is not as ever, many applications such as FTP, peer-to-peer, stream- feasible. The fate-sharing principle states that it is accept- ing video, and web traffic consist of primarily one-way flows. able to lose state for a conversation only if one of the entities Delaying [4] or aggregating [16] ACKs can help, but these in the conversation is itself lost [3]. If the wireless network strategies run the risk of reducing responsiveness. was charged with delivering packets reliably, it would be very Improper Diagnosis of Loss: Wireless networks may difficult to guarantee that packets would not be lost if nodes lose packets for a number of reasons, including contention, moved or crashed. Accordingly, we design a novel end-to- interference, congestion, and mobility. End-to-end transport end reliability protocol that uses hop-by-hop, reverse ACKs protocols may have difficulty distinguishing which type off to reduce ACK overhead. With reverse ACKs, feedback is loss has occured. If the transport protocol assumes all loss carried upstream when data is sent downstream. This avoids is due to congestion, then it will slow down needlessly when the overhead of sending explicit transport-layer acknowledg- other types of loss occur. ments in most cases. This problem is sometimes solved with purely end-to-end This paper makes several contributions relative to previ- mechanisms [18], but more frequently by using intermediate ous work in hop-by-hop congestion control for wireless net- nodes to either hide the loss or to notify the transport pro- works. First, we design and evaluate credit-based conges- tocol and put it into the correct state [8, 23, 10]. The node tion control, whereas existing work uses rate-based control, that has sent a frame unsuccessfully is clearly in the best congestion pricing, or backpressure. Second, we design and position to determine what caused the loss. evaluate the first reliable transmission protocol for wireless Slow Feedback Loop: In order to prevent congestion, a networks that uses hop-by-hop, reverse ACKs to provide transport protocol must react to changes in network condi- end-to-end reliability. Existing work explores only conges- tions by adjusting its transmission rate. End-to-end proto- tion control and does not consider hop-by-hop approaches to cols use some form of implicit or explicit signaling, such as reliable transmission. Third, we perform the first detailed packet loss or ECN. In wireless networks, there is a greater simulation study to demonstrate the benefits of hop-by-hop chance that this feedback loop can become delayed or lossy, transport as compared to end-to-end transport in both wire- due to MAC retransmissions, contention, collisions, and in- less mesh and mobile ad hoc networks. terference [16]. Irregular feedback results in the transport Our simulation study compares the performance of HxH protocol making rate decisions with imperfect knowledge of to TCP with Adaptive Pacing [6], which was designed for network conditions. mesh networks; ATP [16], which was designed for ad hoc Rate-based congestion control algorithms try to solve this networks; and several variants of TCP. We show that HxH problem by choosing a rate that minimizes congestion and provides much greater throughput and better fairness than contention-induced loss, thereby improving the regularity of the end-to-end protocols when flows compete at a bottle- feedback. Protocols such as TCP with Adaptive Pacing [6] neck. Because of its hop-by-hop congestion control algo- provide higher goodput and better responsiveness than stan- rithm, HxH is able to react to mobility much faster than dard TCP congestion control algorithms. However, any end- an end-to-end protocol, and thus transfers more data when to-end algorithm must still measure network conditions and nodes move frequently. HxH also reacts quickly when con- receive feedback before reacting to congestion. The larger gestion changes suddenly, whereas end-to-end protocols have the delay in this feedback loop, the less responsive it will be difficulty converging to a new rate.