Wireless Mesh Networking
by Tomas Krag and Sebastian Büettrich01/22/2004
Editor's note: Tomas Krag and Sebastian Büettrich are wireless consultants working primarily on ways to promote the use of wireless technologies in developing countries. At next month's Emerging Technology Conference, Tomas will discuss how wireless technologies can bring Internet and Intranet connectivity to those parts of the world not included in the plans of the commercial telecommunications companies.
Our current project, the Wireless Roadshow, deals with enabling local communities and non-profits in the developing world to plan, deploy, and maintain local, sustainable network infrastructure to enable voice and data communications, both locally and on the Internet.
Some of the key requirements for these networks include that the network infrastructure be decentralized, to avoid a central point of failure and control, and that the technology used be both cheap enough and simple enough that it can be maintained and expanded by locals with limited technology experience. This sometimes means using off-the-shelf hardware combined with cheap, homebrew antennas, as well as looking hard at some technologies that are gradually becoming mainstream enough to be easily deployable. These technologies include VoIP and so-called Mesh networks. The argument for VoIP is obvious, especially given the power of voice communications in areas where literacy cannot be taken for granted.
The subject of this article is mesh networks, another technology that is gradually maturing to a point where it cannot be ignored when considering various wireless networking technologies for deployment. While the first large-scale community mesh deployments are yet to be seen, existing lab-level implementations and feasibility tests have demonstrated enough advantages to motivate further experimenting. Let's run down some of the reasons why mesh networks should get a second look:
-
Price: 802.11 radios have become quite cheap, but the radios are often still among the most expensive elements of such a network. The fact that each mesh node runs both as a client and as a repeater potentially means saving on the number of radios needed and thus the total budget.
-
Ease and simplicity: If you have a box that is pre-installed with wireless mesh software and uses standard wireless protocols such as 802.11b/g, the setup is extremely simple. Since routes are configured dynamically, it is often enough to simply drop the box into the network, and attach whatever antennas are required for it to reach one or more existing neighboring nodes (assuming that we can solve the issue of IP address allocation).
-
Organization and business models: The decentralized nature of mesh networks lends itself well to a decentralized ownership model wherein each participant in the network owns and maintains their own hardware, which can greatly simplify the financial and community aspects of the system.
-
Network robustness: The character of mesh topology and ad-hoc routing promises greater stability in the face of changing conditions or failure at single nodes, which will quite likely be under rough and experimental conditions.
-
Power: The substrate nodes of a mesh network -- possibly excepting those nodes that maintain an up-link to the Internet -- can be built with extremely low power requirements, meaning that they can be deployed as completely autonomous units with solar, wind, or hydro power. (A side comment: Piggybacking mesh networks on projects that primarily aim at energy production might be a very feasible strategy -- with every panel or windmill, a node. Power generating units are typically connected to points of infrastructure and human presence. This makes them valid locations for network nodes. As a secondary benefit, the presence of integrated network nodes within power networks may allow for better monitoring and management.)
-
Integration: Mesh hardware is typically small, noiseless, and easily encapsulated in weatherproof boxes. This means it also integrates nicely outdoors as well as in human housing.
-
Reality fit: Reality rarely comes as a star, ring, or a straight line. In difficult terrain -- be that urban or remote -- where not every user can see one or few central points, chances are she can see one or more neighboring users.
In the rest of this article we'll take a closer look at some of the principles of wireless mesh networking, as well as looking at a simple test scenario for running a mesh routing protocol on a Linux-based computer.
Definition
|
|
Session by Tomas Krag Billions of people in the world have never been online. The Internet as a technology is a elitist tool, reserved for the few and unreachable by the many. This is a problem not likely to be solved by the commercial interests of existing telecommunications companies and existing ideas about expensive, centralized infrastructure. |
|
O'Reilly Emerging Technology Conference |
Roughly following TechTarget and Telecom Glossary 2K definitions, we define a mesh network as follows:
"A mesh network is a network that employs one of two connection arrangements, full mesh topology or partial mesh topology. In the full mesh topology, each node is connected directly to each of the others. In the partial mesh topology, nodes are connected to only some, not all, of the other nodes."
Note that these definitions mention no dependency on any time parameter -- nothing is necessarily dynamic in a mesh. However, in recent years, and in connection with wireless networks, the term "mesh" is often used as a synonym for "ad hoc" or "mobile" network. Obviously, combining the two characteristics of a mesh topology and ad hoc capabilities is a very attractive proposition.
So, when we speak of a wireless mesh network, we assume a network that handles many-to-many connections and is capable of dynamically updating and optimizing these connections. This may be (but does not have to be) a "mobile network" in which it is assumed that each (or at least some) of the nodes of the network are mobile units that change position over time. The dynamic management of complex routing information, very likely to include information about external networks (e.g. the whole wide Internet and the gateways to it), is arguably the biggest challenge for (dynamic) mesh protocols.
The "mobility" scenario in which each client unit is a PDA, mobile phone, or other mobile unit is an appealing scenario for airport lounges, shopping malls, offices, and parties. While this vision might be valid, it may still be some years before we see a successful implementation of this idea, especially given the current constraints in battery and processing power of typical mobile units. However, utilizing other strengths of mesh networks, we can come up with relevant real-world scenarios where hybrids between "static" and "ad-hoc" networks offer some clear advantages -- networks where a number of static nodes form the matrix (the substrate) in which other nodes appear, roam, and disappear. In a similar way, hybrids between mesh topologies and other topologies (star, ring, etc.) are likely to be optimal solutions in real-world environments.
Often, drawing a simple map of potential nodes and the link blocks (mountains, trees, buildings, clouds, human beings, etc.) in between them will suggest the appropriate mix ratio and the network pattern to deploy.
Protocols and Implementations
There are a large number of protocols and implementations in the field of mesh and ad-hoc networking, each with differing goals and design criteria, and more are being developed as we write this. It is beyond the scope of this article to give a comprehensive list of available protocols and systems, but the authors maintain a Wiki-page with a list of links and further reading on the subject.
In the following we will briefly introduce a couple of the most commonly seen protocols, standards, systems, and products in the world of wireless mesh.
Seen from an implementers' angle, it is important to note that some implementations are built for dedicated computers (the box will do nothing but mesh) while others seem to assume a user (desktop, laptop) machine that becomes a mesh node more or less invisibly in the background.
While this is not a true characteristic of the different approaches -- it is cosmetics more than core -- it is a very relevant aspect for practical deployments, even more so when budget and machinery are limited. Let's review the different approaches:
-
AODV is a routing protocol for ad-hoc networks designed with mobile wireless devices in mind. It is not subject to copyright protection and is in the public domain.
-
Mobile Mesh protocol contains three separate protocols, each addressing a specific function:
- Link Discovery
- Routing
- Border Discovery
The Mobile Mesh software is covered by the GNU General Public License (Version 2).
-
TBRPF, or Topology Broadcast based on Reverse-Path Forwarding, is a proactive, link-state routing protocol designed for mobile ad-hoc networks, which provides hop-by-hop routing along minimum hop paths to each destination. It seems it is patent-protected unless it becomes a IETF standard.
-
OSPF is a link-state routing protocol. It is designed to be run internal to a single Autonomous System. Each OSPF router maintains an identical database describing the Autonomous System's topology. From this database, a routing table is calculated by constructing a shortest-path tree.
-
GNU Zebra is free software that manages TCP/IP-based routing protocols. It is released as part of the GNU Project, and is distributed under the GNU General Public License. It supports BGP-4 protocol as described in RFC1771 (A Border Gateway Protocol 4) as well as RIPv1, RIPv2, and OSPFv2.
-
LocustWorld develops a free bootable CD solution based on the AODV protocol, and also develops and sells a complete ready-to-deploy MeshBox running its software, most (but not all) of which is available under the GPL. The MeshBox and mesh software have been used in a number of community networks in the UK.
-
4g MeshCube. The German company 4G Mobile Systems has developed a tiny MeshCube running Debian Linux on a MIPS processor, using MITRE Mobile Mesh routing software. This is a ready-to-deploy gateway with both a wireless and a wired interface. With a power consumption of 4W (and potentially lower), it is ideal for deployment with an autonomous sustainable power source.
Building a Mesh Network: How to Get Started with Mobile Mesh
The following is a basic guideline for getting Mobile Mesh up and running on a GNU/Linux box with a wireless network card already configured. Mobile Mesh is a good starting point for mesh experiments since it can be run entirely in user space, and in our tests has worked for just about any Linux box we've tried it on. It also proved stable and performed OK as we dragged a mesh network out into the streets of Berlin at last autumn's Freifunk Summer Convention -- one laptop per street corner.
We will assume that you have a working GNU/Linux box of some kind with at least a 2.2.x kernel. We have successfully tested Mobile Mesh on 2.2 and 2.4 kernels, but not yet on the new 2.6 (we've also tested successfully on a variety of distributions including Debian, Mandrake, RedHat, Suse, and even Knoppix for those that do not have a permanent Linux installation on their laptops.)
We also assume that you have a 802.11 wireless client (PCMCIA card, USB adapter, PCI card) working that will run in ad hoc mode. Note: It is entirely feasible to run Mobile Mesh on a cabled Ethernet interface, but it does take some of the fun out of "mobile."
First set your SSID to be mobilemesh and your card to work in ad hoc mode.
Here are the steps that typically make a node out of your box; details and mileage may vary:
Download a Mobile Mesh tarball from mitre.org.
In the download directory, as root:
tar -xvf <your_downloaded_mobilemesh>
cd <your_mobilemesh_directory>
Read and follow ./INSTALL.
Once installed, you need to configure mmrp.
Edit the file /etc/mobilemesh/mmrp.conf. Most importantly, check the
interface name. For example, typically wlan0 (used hereafter), eth0, eth1, or whatever your wireless card is...
Then:
ifconfig wlan0 10.XXX.XXX.XXX netmask 255.255.255.255
broadcast 10.255.255.255
with the Xs as your choice, but agreed on with your neighbors ... duplicate IP addresses are a no-no.
mmdiscover -i eth1 -z &
mmrp \x{2013}z &
That should do it, but before we really take the system for a spin, remove the existing default route to the network for your wireless interface. This makes sure that Mobile Mesh is in full control of the routing table.
route del -net w.x.y.z netmask 255......0
Now repeat this process on all the laptops in your office (since being alone in a mesh is about as interesting as being connected to it through a cable).
That's it, you have a mesh.
At this point, consider getting a group together, each grabbing a laptop, and heading for the park, while you try and keep the pings going between the laptops, and/or see the routing table dynamically update itself by running:
netstat -nr
It may also be worth checking out the mmrpviz package that comes with
the Mobile Mesh tarball. It shows a graphical view of the current Mobile Mesh
network topology.
Note: It seems that mmrpviz is dependent on an outdated version of the graphviz package, which means that you will probably need to download and compile a version from the archives rather than use whatever package
is provided by your distribution. We've successfully used Graphviz 1.6,
but have failed with both 1.8 and 1.9.
Here's a list of some of the issues we've seen so far:
- Make sure no zeroconf stuff is running on your box -- check for
zcipandtmdns! They will mess up your Mobile Mesh. This seems to be a problem at least on newer versions of Mandrake (> 9.0). - Compiling the dynamic source might give problems with gcc, newer than gcc 2.95.
- Some combinations of wireless cards and drivers behave strangely – for example, we have seen cards we could not get to work in ad hoc mode, but only in "infrastructure" mode.
Setting Up a Gateway to External Networks
Now that you have successfully set up a couple of mesh nodes it's time to get one of them to run as a gateway to the Internet, so that every node on the network can get online. Assuming one of your boxes has a second interface (wired or wireless) with a connection to the Internet that you would like to share with other mesh users: In /etc/mobilemesh/mmrp.conf, define networks external to the mesh by,
external <ip address> <netmask> <metric>
where <ip address> and <netmask> specify a range of addresses that this node can reach, which are external to the Mobile Mesh cloud.
<metric> is the associated cost to reach these addresses from this node. For example,
external 0.0.0.0 255.255.255.0 7
Note: You advertise a network (0.0.0.0) here, not a gateway!
Don't forget to restart mmrp to make the changes happen.
Again, it's as simple as that. Enjoy the mesh...
Tomas Krag is a partner at consulting firm wire.less.dk and a team member at the nonprofit organization Informal. He is a specialist on low-cost, decentralized Internet infrastructure for the developing world, as well as an open source, Open Tech evangelist.
Sebastian Büettrich is a partner at the consulting firm wire.less.dk and a team member at the nonprofit organization Informal.
Return to the Wireless DevCenter.
You must be logged in to the O'Reilly Network to post a talkback.
Showing messages 1 through 16 of 16.
-
hi
2008-01-29 08:09:45 Bisoo [Reply | View]
If you have an existing wireless network, how do you upgrade it to wireless mesh network. What are the consideration to put into focus.
-
i need more understanding
2008-01-29 08:03:41 Bisoo [Reply | View]
pls I need more understanding about this wireless mesh net work.
What are the components needed to implement a wireless mesh network, and how is it different from the regular wireless network where we use wireless acess point.(WAP)
-
Routing
2007-06-20 10:13:52 moreorless [Reply | View]
What are the differences between routing in mesh wireless networks and routing in mesh wired networks?
Best Regards
-
Routing protocols for wirless mesh networks
2007-05-11 00:20:06 nagubk82 [Reply | View]
Hi all,
I am new to this wireless domain. I would like to know some details on the emerging wireless mesh networks and the routing protocols. Also i would like to know the list of routing protocols for wirless mesh networks with their efficiency.
I need your help in this regard.
Looking forward your reply
-
First, Second and Third Mesh Architectures
2007-02-05 01:47:27 meshdynamics [Reply | View]
Based on my infamous article titled "Ugly Truths about Mesh Networks", I have asked to write an article on First, Second and Third Generation Mesh Architectures. Here is the link:
http://www.meshdynamics.com/third_generation.html
The performance results are particularly relevant as WISPs look at providing VOIP and Video survellience over wireless mesh networks:
http://www.meshdynamics.com/Performance_Results.html
Francis Dacosta, CTO
www.meshdynamics.com
(408) 373 - 7700
-
Large scale Meshnetworks
2006-04-06 03:50:24 vanelsen [Reply | View]
As Francis said, the problem with most meshnetworks is the limitation singel radio that is used. Strix Systems has overcome this problem with multi-radio, multi-channel, and multi-RF wireless mesh architecture and has made many cities and even whole countries (Macedonia) covered in a meshnetwork! Check http://www.strixsystems.com/events/yeararchive.asp?year1=2005 for the list of city-wide projects which they have up and running. -
NZ Mesh Project
2006-09-21 04:19:05 MESHD [Reply | View]
I of course agree, Single radio mesh is dead. Even Tropos who probably have the only decent routing and self healing protocols necessary for single radio to be feasible have shifted to multi radio. I have recently been compiling a lot of info on mesh networks, doing a lot of fact finding for a campus mesh. I am not looking at any single radio models. Most have 3 or 4 and strix has even more but Tropos and Strix prices are a bit silly around NZ$6K to NZ$12K per node depending on model/radios.
To me the strongest contenders as far a good product appear to be Strix, Tropos and for me, local company RoamAD, while others like PRoxim AP-4000MR-LR, SOhoware (both indoor MIMO and their new adaptive Wave routing node just released), Qorvus, 3eti, Trango, Locustworld , theres more.
Also firetide for Backhaul mesh only. With large scale deployments I think the important factors, (to me anyway) are fast handoff for VoIP/SIP traffic, scalability of nodes (adding more client& backhaul radios to nodes rather than more nodes) fully integrated unit (sory firetide) and also a strong, easy to use and stable management appliance or application to ensure minimal downtime and ease of administration rather than throughput over more than 4 hops as a fibre backbone can usually be found every so often in a metropolitan area. However multi radio backhaul mekes this possible anyway.
I'm looking really forward to the implementation phase of this project. I have made my recomedations and know what I want but I am not in control of the budget and have had to give all solutions a fair write up. RoamAD despite being cheaper than even Proxim gear for 2 radio version (and about the same for four radio as Proxim which only has 2), and that the management console is as good or better than both Tropos and Strix. Onjly upside to strix that I can see is that their atheros chipset radios may have a bit better ability for client load that the atheros radios of roamAD (but until I witness both side to side who knows). Tropos, to me, well, I looks very pretty, has powerful 700mw radios and just touches out New Zealand 36dBm / 1watt EIRP limit. But that price, I'll just buy 3 x 4 radio RoamAD nodes instead thanks.
Interesting to see what they go for when we go to tender. No matter what is chosen it'll be a lot more fun than playing with my wrt54g's loaded with Freifunk thats for sure.
Craigusto
Down Under
NZ
-
NZ Mesh Project
2007-07-04 23:19:21 jbonnse [Reply | View]
On the otherhand, I've seen products like Mesh Dynamics and RoamAD come and go... don't really equal the quality and capabilities of a Strix or even Tropos. Units like RoamAD and Mesh Dynamics, if you look at the hardware itself, there is no comparison. All I can say is that you get what you pay for and if you're building a wireless network to last - no matter what the size, I've been impressed by Strix. While you may pay a little more for leading products, you have to look at the resources available direct from the manufacture/company itself and also the feedback from customers who have performed their own evaluations/comparisons of different products.
-
Why Conventional Mesh Networks Dont Scale
2004-05-29 14:36:50 meshdynamics [Reply | View]
As founder and CTO of a Wireless Mesh networking company, I have pondered long and hard about whether or not I should write this article.
The buzz on mesh networking certainly works in our favor. However, there is more hype than reality around mesh networking.
In the end, that can cause the bubble around mesh to bust - rapidly. Its time for a reality check on what mesh can and cannot do.
First, mesh networking is not a new concept. In some ways, the internet is a mesh network. It scales because because it does not suffer from the limitations of conventional wireless mesh networks which are:
1- Radio is a shared medium and forces everyone to stay silent while one person holds the stage. Wired networks, on the other hand, can and do hold multiple simultaneous conversations.
2- In a single radio ad hoc mesh network, the best you can do is (1/2)^^n at each hop. So in a multi hop mesh network, the Max available bandwidth available to you degrades at the rate of 1/2, 1/4, 1/8. By the time you are 4 hops away the max you can get is 1/16 of the total available bandwidth.
3- That does not sound too bad when you are putting together a wireless sensor network with limited bandwidth and latency considerations. It is DISASTROUS if you wish to provide the level of latency/throughput people are accustomed to with their wired networks. Consider the case of just 25 client stations at each node of a 4 hop mesh network.
4- The clients at the last rung will receive -at best- less than a *millionth* of the total bandwidth at the root. The reason: each of rhe 25 clients at each hop are sharing the bandwidth available at that level equally, in a true ad hoc mesh network. And with each hop the radio that provides access to the next level has its bandwidth reduced hy half. So the poor guys that the 4th rung get 1/25 * 1/2 * 1/25 * 1/2 .. you get the message.
5- None of the above takes into account the problesm of contention. To avoid collisions, data transmissions in radio follow a CSMA protocol that while very effective, is not particularly efficient. With contention, the bandwidth available is reduced even further.
6- Why has this not been noticed as yet? Because - despite the hype - there are not a lot of mesh networks around and they are usually low bandwidth applications: Browsing and email for example. Try video - where both latency and bandwidth matter - or VOIP where the bandwidth is a measly 64Kbps but where latency matters. Even in a simple 4 hop ad hoc mesh network with 10 clients, VOIP phones wont work well beyond the first or second hop the latency and jitter caused by CSMA/CA contention windows (how wireless systems avoid collisions) will be unbearable.
Mesh networks are a great concept. But the challenge lies in managing the dynamics of mesh networks so users receive an acceptable level of performance in terms of both latency and throughput.
Its time to focus on solving some real problems to make mesh networks scale and provide stable performance.
In my next article I shall delve into some challenges for high perfomance - enterprise class - wireless mesh networking.
Francis daCosta
Founder and CTO
www.meshdynamics.com
fdacosta[at]meshdynamics.com
-
Why Conventional Mesh Networks Dont Scale
2005-11-18 11:23:48 clone1701 [Reply | View]
In this model, it seems you assuming that the wireless access points are arranged in a strict hierarchy, based on locality. Does it follow, then, that your model assumes that wireless mesh access points would then connect to a single wlan to lan bridge (not so ad hoc anymore)? This seems to be the take Cisco is using for their Aeronet 1500 series mesh offering.
My question is, wouldn't aggregate bandwidth increase considerably if there were an even mix of strict wlan routers in addition to wired routers which could also function as wireless access points? In that scenario, since the 'top' end is in fact many different routers instead of just one large scale router, would not that effectively reduce the distance for anyone in terms of wireless hops? Furthermore, what about nonstandard routing algorithms which allow for multiple simultaneous paths based on demand? E.g. low priority transmissions (say ones that require a limited threshold of bandwidth, say like one a hand-held e-mail device might use) could be directed over longer paths to allow more demanding transmissions to take a shorter route?
I'm throwing this out there strictly from the position of network theory, but I can't see why such a solution isn't feasible, at least conceptually.
-
Limitations of Ad hoc Mesh Networks
2004-04-06 23:24:44 meshdynamics [Reply | View]
While the 50% reduction in bandwidth is the most qouted limitation of single radio mesh networks, there are others related to the fact that all radios share the same channel and hence the network as a whole is extremely vulnerable to channel interference from adjacent networks or external effects. More on this is described under:
http://www.meshdynamics.com/MultipleRadios.html
With the plumetting costs of radios, there is really noo reason to not look at multiple radio infrastructure mesh solutions are shown under:
http://www.meshdynamics.com/wman.html
Francis daCosta
CTO, Meshdynamics
fdacosta@meshdynamics.com
-
Ad-hoc mesh routing is not a silver bullet...
2004-01-23 02:06:30 Schuyler Erle |
[Reply | View]
Researchers on the Grid Project at MIT's Parallel and Distributed Operating Systems group have found that throughput can vary wildly. There are more details at http://www.pdos.lcs.mit.edu/grid/pubs.html, but I seem to recall reading that the conventional wisdom with ad-hoc mesh routing is that bandwidth varies with the inverse of the number of hops between nodes.
So ad-hoc routing may not be very useful for networks with an average width of more than about three hops. Cliff Skolnick suggests that mesh routing might be a part of an integrated solution for covering the distance between fixed point, long distance aggregation nodes and the hotspot in your house: the last five hundred feet or so, as it were.
Also, there's got to be better ways to pick out addresses on an ad-hoc mesh network than choosing them ahead of time. A Zeroconf-life solution comes to mind (pick an address deterministically, then ping to see if anyone's already on it, with a definite method for resolving contention) but no doubt the Grid folks already have three better ways of doing it already working in the lab... -
Ad-hoc mesh routing is not a silver bullet...
2004-02-09 05:18:02 teq [Reply | View]
The Grid people from MIT have deployed an ad-hoc mesh routing wireless test network called Roofnet (http://www.pdos.lcs.mit.edu/roofnet/) which seems to work for them quite nicely.
To me, their biggest improvement is choosing routes not only based on hop counts and binary availability of nodes (either "available" or "unavailable"), but on link quality, stability and retransmission ratio. This takes the WLAN-specific link characteristcs into account, which differ a lot from regular wired networks where links are either up or down and very less likely flaky.
One advantage of the Mitre MobileMesh is that it is pretty easy to set for a small test mesh, while I agree that the MIT Grid has solved problems in this areas others are still working on. Whatever implementation is preferable, wireless mesh networking seems to have a great potential in certain areas.
Mesh you again on the next Freifunk Summer Convention in Djursland! :)







Vommunity mesh networks have now reached cloud sizes of 1000 nodes.
Mesh movements like the european Freifunk have spread from their hometowns over all five continents.
Protocols have been improved and added (OLSR, B.A.T.M.A.N., ...).
Please see the recent (February 2008) presentation here to get an updated view on mesh networking:
http://wireless.ictp.it/groups/wireless/weblog/0c7ff/Mesh_Networking_.html
Tomas Krag & Sebastian Büttrich / http://wire.less.dk