Wednesday, October 26, 2011

Wireless Performance: Gosh Darn Urban Environments!

Over the last couple weeks I've been doing some testing to determine the performance of the baseline hardware config for FF5.  Some things I've been thinking about are directional vs. omni antennas; RTS/CTS vs. not; how fast is 802.11n, really?

The executive summary:
  • Use directional antennas whenever possible
  • Move traffic to 5Ghz links as quickly as possible
  • RTS/CTS provides a noticeable benefit in obstructed PtMP applications
  • Sharing 2.4Ghz radio between access and mesh networks is unlikely to scale.  
Now some details:

Here's the general idea for FF5:

A 5Ghz backbone serving a local 2.4Ghz mesh clouds, which also provide 2.4Ghz access to clients.  The key objective for this design is to make 2.4Ghz (Circle) nodes installable by relatively untrained users, while still allowing the system to perform at broadband speeds.  5Ghz backbone (Triangle) nodes are expected to be installed by more thoroughly trained technicians.  Ideally, this network should provide every user performance equivalent to the broadband connection in a suburban US neighborhood.  In technical terms, this breaks down to the following requirements:
  • Peak Client Speed (link-local): 4Mbps
  • C-Node Aggregate 2.4Ghz Throughput to node with 5Ghz Uplink: 10Mbps
  • C-Node 5Ghz Throughput to T-Node: 10Mbps
  • T-Node Aggregate 5Ghz throughput to child C-Nodes: 30Mbps
In the 5Ghz layer, I was able to achieve the desired T-C speed with a single 20Mhz channel and a single Omni antenna at the T-Node, connecting to C-Nodes with directional links.  This represented the best compromise of simplicity, cost and performance.  Handshaking (RTS/CTS) proved useful with the existence of hidden nodes, and directional links improved throughput.  Interestingly, the 5Ghz layer with directional links achieved roughly 80% of the expected theoretical maximum, even in the nasty RF soup that is my urban residential neighborhood.  Here's our test setup:

At 2.4Ghz, the most surprising result of preliminary tests was the effect of congestion control backoff (presumably) on throughput.  Living in an urban neighborhood, a 2.4Ghz node can easily "see" as many as 50 APs at any given time.  Consequently, it is always sharing airtime...  Inside my plaster and wire-lathe walled apartment, it is possible to find locations where a node will provide 50Mbps of real throughput to a laptop.  Take the same setup outside, and suddenly the performance drops to a little as 15Mbps at close range.  While it's reasonable to expect a much more friendly situation in the developing world, these speeds call the feasibility of a design sharing 2.4Ghz radios between clients and mesh at our desired scale into question (sorry, Amy).  It also highlights the importance of moving traffic off of the 2.4Ghz mesh as quickly as possible.  Here's some graphs of upload and download speeds vs. signal strengths for various configurations.  Larger (more horizontally directional) omni antennas provides marginally better results after normalizing for power:

Click here for  raw Somerville Wireless Test Data