Architecture and Evaluation of an Unplanned 802.11b Mesh Network
Citation: Bicket, J., Aguayo, D., Biswas, S., and Morris, R. 2005. Architecture and evaluation of an unplanned 802.11b mesh network. In Proceedings of the 11th Annual international Conference on Mobile Computing and Networking (Cologne, Germany, August 28 - September 02, 2005). MobiCom ‘05. ACM, New York, NY, 31-42. DOI= http://doi.acm.org/10.1145/1080829.1080833
The idea presented in this paper is as intriguing as it is compelling: can an unplanned wireless mesh network provide better performance than one which is carefully planned? Unplanned networks have the obvious advantage of ease of deployment; but conventional wisdom would seem to indicate that such networks would likely have lower performance than a carefully planned network. As the authors demonstrate, this is decidedly not the case for their system, Roofnet.
Roofnet was designed with following considerations in mind: unconstrained node placement, omni-directional antennas, multi-hop routing, and an assumption that nodes are fixed, rather than mobile. There are two distinct components that enable Roofnet’s operation on commodity 802.11b hardware: the Srcr routing protocol, and SampleRate bit-rate selection. Additionally, NAT is used both to connect clients to nodes, and nodes to gateways.
Srcr gets routing information in a number of ways: by including link metrics in a packet’s source route (Roofnet encapsulates IP packets in its own header format), through flooded queries when necessary, by overhearing queries and responses, and via periodic dummy queries flooded from gateways. This last point enables nodes to maintain updated metrics for routes to their nearest gateway, and also means that nodes do not typically have to flood queries themselves. However, as the authors point out, this means that the query mechanism could be a constraining factor in a larger or denser network. Srcr uses a combination of delivery probability and highest throughput bit-rate on each link for its routing metric. This leads to the counterintuitive result that links with a high loss rate, but also a high bit-rate, provide better performance than multiple links with zero loss. The SampleRate bit-rate selection algorithm estimates bit-rates in realtime, by basing its decisions on actual data transmissions, along with periodic shifts in bit-rate to estimate delivery probabilities of different bit rates.
In practice, Srcr tends to ignore longer links, and uses a relatively small number of shorter high throughput links. As might be expected, this also means that performance and connectivity of the mesh increases with density of nodes, as a greater number of shorter routes become available. Roofnet is robust as a mesh, in the sense that nodes tend to route through many neighbours, and that the mesh continues to operate well in the face of degradation or loss of links. Most significantly, perhaps, Roofnet requires fewer gateways to operate than a similar access point network. Although the node placement may be unplanned, careful choice of gateway placement increases network performance, which may be why Roofnet’s commercial successor, Meraki, operates the gateways for their San Francisco deployment themselves.
Inter-hop interference appears to be a significant cause of loss in Roofnet, on which the use of RTS/CTS has no effect, and remains an open issue in the paper.
The use of NAT at gateways means that TCP connections are tied to a gateway once established, even though the route to the gateway may change. Additionally, the means that if the routing metric to a gateway degrades, subsequent connections may be directed to other gateways, while existing connections cannot shift. This would seem to imply that Roofnet can deal more reliably with short connections rather than long ones, although this may not be as much of an issue if the network is sufficiently dense, and gateways are generally reliable themselves.This also means that the gateway becomes a factor in fate-sharing between hosts inside and outside Roofnet. While this approach violates layering, it does not seem unreasonable to me; from the last few papers we’ve read, it seems apparent that these kinds of approaches are necessary to bridge wired and wireless networks.