Investigating TCP performance in mobile ad hoc networks
Mobile ad hoc networks (MANETs) have become increasingly important in view of their promise of ubiquitous connectivity beyond traditional fixed infrastructure networks. Such networks, consisting of potentially highly mobile nodes, have provided new challenges by introducing special consideration stemming from the unique characteristics of the wireless medium and the dynamic nature of the network topology. The TCP protocol, which has been widely deployed on a multitude of internetworks including the Internet, is naturally viewed as the de facto reliable transport protocol for use in MANETs. However, assumptions made at TCP’s inception reflected characteristics of the prevalent wired infrastructure of networks at the time and could subsequently lead to sub-optimal performance when used in wireless ad hoc environments. The basic presupposition underlying TCP congestion control is that packet losses are predominantly an indication of congestion in the network. The detrimental effect of such an assumption on TCP’s performance in MANET environments has been a long-standing research problem. Hence, previous work has focused on addressing the ambiguity behind the cause of packet loss as perceived by TCP by proposing changes at various levels across the network protocol stack, such as at the MAC mechanism of the transceiver or via coupling with the routing protocol at the network layer. The main challenge addressed by the current work is to propose new methods to ameliorate the illness-effects of TCP’s misinterpretation of the causes of packet loss in MANETs. An assumed restriction on any proposed modifications is that resulting performance increases should be achievable by introducing limited changes confined to the transport layer. Such a restriction aids incremental adoption and ease of deployment by requiring minimal implementation effort. Further, the issue of packet loss ambiguity, from a transport layer perspective, has, by definition, to be dealt with in an end-to-end fashion. As such, a proposed solution may involve implementation at the sender, the receiver or both to address TCP shortcomings. Some attempts at describing TCP behaviour in MANETs have been previously reported in the literature. However, a thorough enquiry into the performance of those TCP agents popular in terms of research and adoption has been lacking. Specifically, very little work has been performed on an exhaustive analysis of TCP variants across different MANET routing protocols and under various mobility conditions. The first part of the dissertation addresses this shortcoming through extensive simulation evaluation in order to ascertain the relative performance merits of each TCP variant in terms of achieved goodput over dynamic topologies. Careful examination reveals sub-par performance of TCP Reno, the largely equivalent performance of NewReno and SACK, whilst the effectiveness of a proactive TCP variant (Vegas) is explicitly stated and justified for the first time in a dynamic MANET environment. Examination of the literature reveals that in addition to losses caused by route breakages, the hidden terminal effect contributes significantly to non-congestion induced packet losses in MANETs, which in turn has noticeably negative impact on TCP goodput. By adapting the conservative slow start mechanism of TCP Vegas into a form suitable for reactive TCP agents, like Reno, NewReno and SACK, the second part of the dissertation proposes a new Reno-based congestion avoidance mechanism which increases TCP goodput considerably across long paths by mitigating the negative effects of hidden terminals and alleviating some of the ambiguity of non-congestion related packet loss in MANETs. The proposed changes maintain intact the end-to-end semantics of TCP and are solely applicable to the sender. The new mechanism is further contrasted with an existing transport layer-focused solution and is shown to perform significantly better in a range of dynamic scenarios. As solution from an end-to-end perspective may be applicable to either or both communicating ends, the idea of implementing receiver-side alterations is also explored. Previous work has been primarily concerned with reducing receiver-generated cumulative ACK responses by “bundling” them into as few packets as possible thereby reducing misinterpretations of packet loss due to hidden terminals. However, a thorough evaluation of such receiver-side solutions reveals limitations in common evaluation practices and the solutions themselves. In an effort to address this shortcoming, the third part of this research work first specifies a tighter problem domain, identifying the circumstances under which the problem may be tackled by an end-to-end solution. Subsequent original analysis reveals that by taking into account optimisations possible in wireless communications, namely the partial or complete omission of the RTS/CTS handshake, noticeable improvements in TCP goodput are achievable especially over long paths. This novel modification is activated in a variety of topologies and is assessed using new metrics to more accurately gauge its effectiveness in a wireless multihop environment.