November 28, 2005

WiFi! What is it good for?

Should we put WiFi on a pedestal or chuck it in the bin?

There are many arguments taking place about how the wireless networks of the future could or should operate, and whether or not they could be operated on a non-profit basis. The role of the technology nicknamed WiFi is most often mentioned in these arguments.

WiFi is able to take on some part of the task of delivering a telecommunications service. WiFi is cheap enough that the end-user can afford to buy a WiFi radio outright in a single payment and therefore not have to pay ongoing subscriptions. Because of this, it is often touted as being a cornerstone technology in a future telecommunications system where all bandwidth is provided free of charge and that requires no human administration. WiFi does have it's limits, and just as often as it is lauded, WiFi is derided for it's limitations and we are told that WiFi has no future at all.

Lets look at what WiFi can do, and look at what we expect from our telecommunications system.

A Communications service company can do any or all of these 3 things:

  • Carry large amounts of data long distances between major city exchanges with single, high capacity links
  • Carry medium amounts of data medium distances between suburban or small town exchanges with numerous medium capacity links
  • Carry small amounts of data between suburban exhanges and end users with a vast network of "last mile" links - being copper lines or cell towers.
WiFi is completely unsuited to inter-city data transfer. It doesn't have the range, stability or bandwidth to accomplish such a task. Such a task still requires specialised telco equipment and major infrastructure, so end-users or community groups cannot hope to replicate this service using WiFi.

WiFi has a limited capability to achieve inter-suburb data transfer with fixed, point-to-point links. A network based on WiFi inter-suburb links can service a small number of users, but will become unreliable with too high a bandwidth load. Using WiFi as a point-to-point link system is relatively expensive - a separate radio with a large, high-gain antenna must be dedicated to each end of each link. A node that wants to make multiple links must buy a radio for each link - these costs add up quickly. Also, because of the limited bandwidth in the public 2.4GHz spectrum, there is a maximum number of radios that can operate at the one location - any more and the radios interfere with each other leading to degraded performance and diminishing bandwidth returns.

WiFi is not well-suited to point-to-multipoint links when used at the inter-suburb scale. WiFi was designed for short-range indoor deployments and does not efficiently or fairly manage network bandwidth from the central Access Point when the client radios are beyond receiving range of each other (the "Hidden Node" problem).

There are some proprietary midrange solutions that are within the price range of community groups that could achieve decent inter-suburb point-to-multipoint linkage. Motorola's Canopy system is one such solution. The Access Point cost is around the AU$1100 mark and the client radio is around the $350 mark. These costs are higher than what most end-users are willing to pay. Canopy heralds the widespread introduction of WiMax. It is unclear what impact WiMax will have on the wireless networking landscape. But it is unlikely that WiMax radios will be as cheap as WiFi radios in the short-to-medium term. It is also unlikely that WiMax client radios will offer a peer-to-peer or "adhoc" mode - if it does, the adhoc mode won't be capable of covering the same range as an Access Point. So all WiMax networks will rely on a dedicated central Access Point, and that Access Point will be an expensive piece of hardware - beyond the price-range of the average end-user and deliberately so. Working out a way to pay for Canopy/WiMax Access Points and how to find good places to put them becomes complicated in a non-profit model, but perhaps not impossible for a community organisation. In Australia the fact that the ACMA has some fairly strict rules regarding telco licencing and who is or isn't exempt from buying a licence makes matters even more complicated.

WiFi is best suited to achieve "Last Mile", intra-suburb linkage. WiFi operates best over short distances - the longer the link distance the smaller amount of bandwidth the link can carry. WiFi can cope well with network applications that don't concentrate many users bandwidth bandwidth upon a single node - one such example is Voice-Over-IP (VoIP) telephony. A single WiFi radio is cheap, low power consuming, and physically quite small. With a high-gain omnidirectional antenna attached, WiFi can enable neighborhood connectivity between any users in range of each other. An omnidirectional Wifi antenna is unobtrusive and could easily be mounted on the rooftop television antenna mast on any suburban household. A typical installation would have a minumum rooftop-to-rooftop omnidirectional range of a few hundred metres and a maximum omnidirectional range of roughly 2km, depending on surrounding tree and building heights.

WiFi's usefulness also benefits from the fact that it has a peer-to-peer or adhoc mode, so end-users are also able to act as network repeaters. This effectively makes every node a multipoint-to-multipoint repeater. Network that take advantage of this mode are called mesh networks. There are many successful, real-world examples of mesh networks - both commercial and non-profit. Freifunk.net in Germany and The Champaign-Urbana network in the USA are non-profit examples. Tropos and MeshDynamics are commercial examples. WiFi is a consumer-grade product which hasn't been considered suitable for mission critical applications. Mesh networks increase the reliability of a WiFi network by offering redundant paths that automaticlly bypass node failures or bandwidth choke points. Mesh networks are said to be "self-healing" and "failure-tolerant".

Mesh networks have proven their usefulness, but the technology is still in its infancy. There is yet to emerge a mesh protocol that is truly scalable, yet open-source programmers and academic researchers are refining existing protocols and are learning their limitations. It is only a matter of time before a mesh protocol appears that comes close to the ideal of being globally scalable with little or no human administration or centralised infrastructure. An example on the drawing board that aims to achieve this ideal is DART. However, if and when such a protocol appears, we must still keep in mind the capabilities and limitations of WiFi.

End users continue to pay subscription fees (line rentals) to use a reliable telecommunications service. The advent of WiFi and broadband Internet has opened up the possibility that there may be some way for end users to organise collectively to buy Internet bandwidth in bulk from a central supplier and use WiFi to distribute it amongst themselves - thereby freeing themselves from monthly line rentals. This method of receiving a telecommunications service is acceptable to technology hobbyists and early-adopters, but won't become mainstream until it can deliver a standard of service close to what most users expect from their present telco.

WiFi has its flaws, and it clearly isn't a "magic bullet" technology that can universally deliver everyone's telecommunications needs. But it clearly has it's capabilities, and it has popularised the concept of mesh networking. The idea of wide-area, zero-overhead, zero-admin networking is gaining momentum, and isn't going to go away. The technology can only improve and so with each generation of hardware and protocols we come closer to the ideal.

To telco planners, investors and government regulators: ignore or restrict WiFi at your peril. Networks serve their users best when people are allowed to use them the way they want to use them. WiFi is in the hands of end-users - WiFi can and will be used by them as a Last Mile replacement technology. Acceptable Usage Policies (AUPs) that restrict or prohibit end-users from sharing their bandwidth go against people's natural instincts to organise at a local level to share resources. Telcos that allow end-user bandwidth-redistribution have an enormous marketing advantage and will be seen to be technology innovators in the eyes of the public. Governments that legislate to allow and encourage community-organised data networks also stand to gain political capital - especially in areas that are under-served by commercially-oriented telcos.

November 26, 2005

Internet P2P Pty Ltd

No sooner did I post an entry about P2P Internet sharing does news pop all over the place about a company called FON. They are based in Spain - the company creates a framework that encourages members to share their Internet access with their neighborhood. The payoff is that they either choose to be a "Linus" and be allowed to use other people's Internet, or they can choose to be a "Bill" and get paid for their unused Internet bandwidth. The documentation is mainly in Spanish at the moment so I can't work out the details, but it seems to be some sort of mesh network. The software is a modified version of OpenWRT, and it runs on the Linksys WRT54G. One of the people responsible for the project has posted a more detailed explanation of their buisness model in the OpenWRT Forum.

The people behind the project are negotiating support from ISPs in many countries in Europe and in the USA. I'm very excited about the possibilities of such a project and I'm especially pleased that someone has worked out how to turn community Internet sharing into a (possibly) viable business.

I would love a project like this to become successful. If the concept Internet sharing became widely accepted in mainstream conciousness internationally it would put enormous political pressure on Australian politicians and the ACMA to relax the highly restrictive laws regarding Internet distribution in this country.

Now having said that, I don't think a non-profit community organisation such as Melbourne Wireless should attempt to run something like this commercially. MW could work hand-in-hand with a commercial entity to ensure that commercial users and community users aren't stepping on each others toes. Melbourne Wireless is definitely more of a "Linus" than a "Bill" - and in general the MW membership is of the "Linus" variety. Some MW members have even expressed that should MW ever become "ISP-like", they would leave the organisation. I see a role for a commercial body to play in a P2P Internet sharing project in Australia, but the current community groups are not suited to the commercial role.

November 24, 2005

P2P Internet Sharing?

Given the nature of 802.11b/g, and also the regulatory regime in place in Australia, it is very difficult to supply a single high-bandwidth Internet feed to a community wireless network. Government regulations make the provision of such a feed basically impossible. Any organisation providing an Internet feed to a large, publicly accessable network is considered a "Carriage Service Provider" by the Government. This status burdens the organisation with various responsibilites, such as user accounting and provision of wiretaps. Even if the Government allowed it, the wireless links distributing the feed to the greater network would struggle to cope with the aggregation of bandwidth converging upon the Internet feed.

For both these reasons, grassroots distribution of Internet access seems a more feasable method. Mesh routing protocols such as OLSR make it easy for the average node-owner to share his or her Internet feed to the wider network. If a number of node-owners decided to share a small percentage of their private Internet bandwidth to the network, it is likely that a reasonable level of Internet access could be provided to the whole network.

Node-owners willing to share their Internet access would likely be spread across the network fairly evenly. OLSR automatically routes Internet-access requests to the nearest Internet feed with the best overall link quality. So there would be no central place on the network that would need to be serviced by expensive, high-capacity links.

Because each Internet gateway would be providing a small amount of Internet bandwidth to the network at no charge, taken individually each gateway would could not realistically be said to be a "Carriage Service Provider". Each individual gateway would be small enough to legally operate under the Government's regulatory radar.

Each individual Internet feed can afford to be unreliable - it is being provided at no cost to a grassroots network. It is the OLSR algorithm that ties these disparate feeds together to present a service that has a higher degree of reliablilty. No one individual or organisation would be responsible for the overall Internet service. The responsibility for security and user accounting is left to each Internet-sharing node-owner. So long as each node-owner knows the risks and responsibilities involved in sharing their Internet access, there should be no problem with node-owners making their own decision about sharing it or not.

November 15, 2005

What I reckon - Infrastructure Thoughts

Below is a slightly edited version of a post I made to the Melbourne Wireless mailing list. I have a general concern that we are not quite taking the right approach to growing our Community Network. There are those who have strong opinoons about the technical details of our network - and that's fine by me. But what bothers me is that some believe that quite specific technical "rules" should be followed by everyone on the network. I don't believe that this encourages growth. We should be looking at a regime that allows individuals and groups the power to make their own decisions about how to run their own patch of the network. If they want to run their own routing policy, they should be allowed to. If they want to allocate IP addresses amongst themselves, they should be allowed to. If they want to create VPN tunnels to other parts of the network or to other cities, they should be allowed to. It's even theoretically possible that they could administer their own DNS subdomain or top-level domain name.

With this sort of local autonomy, I believe we will see a higher level of participation in the network overall, and it will give the members and participants a greater feeling of involvement in the building of the network. The network will grow more quickly as a result and this is a Good Thing.

Anyway, here's my post:

Wireless technology is still in it's infancy and is still changing rapidly.
Furthermore, as people use the technology, they find new ways of using it.
Community networkers, academic researchers and hardware manufacturers the world over are learning from past experience and are starting think in new ways about how to design and build self-configuring, scalable adhoc networks.

I think if we take a dogmatic approach to our network we risk being left behind. If we have too many "thou shalt nots" our network could stagnate and die - both because we will be using out-of-date techniques, and because our members will feel disenfranchised. I believe we need to look at a more open approach to our network design - to allow node owners and regional groups to experiment with their own routing schemes and generally give them more local autonomy. Melbourne Wireless Inc. doesn't own the network or employ the node-owners, so Melbourne Wireless Inc. should not consider itself the network administrator. Questions about routing protocols, VPNs, node design and such should not be set in stone, with changes allowed only allowed by a central committee. Let's face it - deliberating in committees isn't fun, but fiddling with the latest network hardware and software is fun, and fun is why the network builders get involved in the first place.

This approach may seem to encourage instability in the network, and in the short term, it the network probably will be unstable. But over I believe time this approach will encourage the best methods to emerge. People won't have cause to argue whether this or that method is better because we will have tried them all and decided for ourselves.

Melbourne Wireless has always considered itself to be the facilitating body to allow it's members to build a community network. I believe Melbourne Wireless does it's best work when it does just that. A network like ours still relies on static IP addressing, so we need an IP allocation system to avoid chaos. The system we have now could be improved but works reasonably well at the moment.

Basically I think Melbourne Wireless works best when it provides a basic framework for the growth of the network, and provides facilities and resources to empower its members to organise themselves. There needs to be less rules, both written and unwritten, and less pseudo-administration over the network structure. Networks like ours are not built off a master plan, but rather are grown organically. We cannot predict how or where it will grow. We are better off learning general principles as to what makes our network grow, and to create conditions that allow for maximum growth.

Rules and dogma are not attractive features of our organisation. We are not a church. There is no one true path. People should be allowed to experiment and discuss their activities without fear of being told that they are doing it the "wrong" way. We should celebrate innovation and reward those with the motivation to try something new. What have we got to lose?
We're not a commercial network. We don't have customers or service-level agreements. If things crash horribly, no-one gets fired, and no-one loses money. Instead we come away from the experience with more knowledge. I believe this attitude will make our organisation more interesting and fun, and therefore more attractive.

The sorts of people who like to build networks are those who enjoy being part of the process. Not necessarily just by building a node according to someone else's preconceived notion, but by having a real say in the future direction of the network. We need to attract these sorts of people most of all, and we will do it by letting them make their own decisions about how they grow their patch of network.

What I reckon - VPNs

Here's a slightly edited version of a post I made to the Melbourne Wireless mailing list. Some Melbourne Wireless members object to the use of VPN tunnelling to link unconnected wireless network clusters together across the Internet. This is my response:

Imagine this situation - an access point at point A and an access point at point B. Points A and B are a very long distance from each other. If a person with a wireless device at point A can connect to a person with a wireless device at point B, do the two people care *how* points A and B are linked? Would the two people think that they were connected to a wired network? Does it matter if the link between point A and point B is purely wireless or in some part comprises an Internet tunnel? The reason why you build a network is ultimately for it's usefulness to the end users. A collection of unconnected node clusters is far less useful than if all those clusters are interconnected.

The boast "our network is entirely wireless" is only impressive to a certain number of engineers and other geek-types. The boast "our network allows you to connect from any point in our city to any other point, for free" is far more interesting to the wider population.

I think the major objection to Internet tunnelling is that it makes us dependant on the telcos, and that our Community Wireless Network should be about sticking it up the telcos. To that I say, by using their bandwidth and not paying any extra for it, we effectively *are* sticking it up the telcos. :) And if they decide they don't like what we're doing and they put a stop to it, we will be no worse off than our present situation.

I believe the decision about where and how links are made is purely up to each individual node-owner. If you don't like Internet tunnelling, no one's forcing you to use it.

November 07, 2005

Mental Notes

Here's some things I want to post on in the future:

Small World Theory - I read the book Nexus about network science and the Small World Theory of networks.

Ideas for Community Wireless Networks - what I think freenets should be about.

Minitar Access Points - the upcoming MNWAPGA and it's open source firmware.

OpenWRT - regular posts about where it's going

Freifunk Firmware - the now and the future.

The Melbourne Wireless Router Project - my hardware designs.

Routing Protocols - OSPF, OLSR and the future

Internet Access for CWNs - Do's and Don'ts in Australian networks.

Hardware reviews - finding the best bang for your buck - focussing on hardware suitable for community wireless nodes.

Righto, that'll keep me busy for a while...

November 06, 2005

Not The Dart!

Actually, it is the Dart.

I've been spending some of my free time jotting down my thoughts about how to make a Mesh network truly scalable. At the moment, the most widely implemented mesh network protocol, OLSR, is a flat network. That means it is not heirarchical. That means that every node on the network has information about every other node on the network. So if there are 200 nodes on the network, the routing table has 200 entries. Each entry takes up memory and processor resources. The protocol has to calculate routes and reachability information for each entry.

Basically, more nodes = bad performance.

In network-speak, OLSR is not scalable.

I, and many others, would love to see a massively scalable, zero configuration mesh routing protocol. I would love to be able to take the shrink-wrap off a router, load the firmware, and start mesh-networking straight away. I would like to see mesh networking be accessable by the masses - every device that is capable of networking wirelessly could conceivably participate in a city-wide network cloud.

In the here and now, the Freifunk Firmware (FFF) for the Linksys WRT54G comes closest to this ideal. You can install it to your router, make a couple of configuration changes using the easy-peasy web-based interface, and you're up and running. In the here and now, I believe the FFF offers the easiest and quickest road to a mesh-network roll-out. It is ideally suited to Community Wireless Networks. OLSR is much easier than any other routing protocol I've come across to configure. To be usable by the masses, the routing protocol has to be basically invisible.

But, as I've pointed out, any community network that uses OLSR will sooner or later run into the scalability problem. Even in the face of this problem OLSR is better than any other routing protocol for a community wireless network. Any community network that has 100 or more active nodes is a healthy network. A network with that many participants should be able to sort out it's problems - perhaps by fragmenting the OLSR network into clusters. Fragmenting the network into clusters makes route aggregation possible, but makes mobile roaming between clusters difficult - seamless routing from one cluster to another would be basically impossible.

Clustering is a solution offered by some mesh network protocols. This powerpoint presentation describes some of them. Basically they bring heirarchy to mesh networking. But none of the protocols described are nearly as widespread as OLSR.

OLSR also has the problem of most other network protocols in that it requires manual allocation of IP addresses. When an OLSR router joins a network, it's human owner needs to have given it an IP address that doesn't conflict with any other on the network. So a degree of planning and organisation is required in allocating addresses. This slows down the growth of the network.

To cut a long story short, I've discovered a project that is working towards killing two birds with one stone. It's called the DART Project - Dynamic Address RouTing. The project recognises that static IP addressing slows network growth and and makes node mobility difficult. It proposes that all nodes on the network have dynamically allocated addresses, whilst at the same time having a static identifier so that the node can always be reached no matter what dynamic address it has.

Basically it proposes breaking a long standing tenet of wired networking - address = identity. Under DART, a node's address is simply a marker of where it is currently located within the network topology. If a node moves to a different part of the network, it automatically gets a new address. With current IP routing, chaging a node's IP address causes it to lose it's link to the network. This is bad news for applications like VoIP. DART's dynamic address are to be "wedged" between a node's MAC address and it's IP address. This maintains compatibility with existing network-layer protocols. Nodes can still have IPv4 addresses, but they now no longer represent the nodes location within the network topology. DART routing should be invisible to the IP layer.

DART is also heirarchical. Changes to the local network topology are only signalled to nearby nodes. This reduces the size of the routing table for any one node. This in turn reduces the memory and CPU requirements for all nodes. A nodes dynamic address is changed whenever the node changes it's links to nearby nodes. This results in an address that is nearly always an accurate description of where the node is located, and also means that the most efficient route can be found simply by knowing another node's dynamic address.

Networking gurus will recognise that such a protocol would require lookup tables to make it possible to discover a nodes dynamic address using it's static identifier. The aim of DART is to make it decentralised, so that information like a lookup table is not burdened upon some nodes and not others. The static-to-dynamic lookup table is to be a distributed database. DART uses a clever hashing system to distribute the contents of the table across all nodes on the network.

The DART project promises to have a Linux version released "soon". Let's hope that "soon" is sooner rather than later!

November 02, 2005

3G to WiFi router


Linksys have released a 3G/WiFi router.

More info here:
http://www.linksysinfo.org/modules.php?name=News&file=article&sid=392

It allows a 3G Internet connection to be shared amongst 5 WiFi devices - laptops for instance. I like the idea of this being sold in a nice neat package. Sure, you could build something like this yourself with an old PC or MiniPC, but it would probably end up costing you more, and be a pain in the arse to do. But hackers like the challenge. Also, doing it yourself would get around the 5 user limit. But with 3G Internet access pricing and download limits being what they are at the moment, you wouldn't want more than 5 users anyway. Again, the hacker part of me wants to stick it to the man when I'm confronted with limitiations about how my Internet access is provided to me.

I think routers like this will proliferate in the future. It shows that WiFi is far from dead, even in the face of WiMax and 3G Internet access. No matter how low priced these 'Net access methods become, they will never be free - and WiFi LAN networking has always been free - it's the Internet feed that costs money. WiMax, EVDO, 3G et al. don't have an "adhoc" mode, and I don't believe their base stations will ever be affordable by the average consumer. So as far as building free community neworks go, WiFi is still the most viable technology.