This post is based on a talk given at the Datenspuren 2011. The talk provided ideas for network planning people, people developing services as well as users of network based services.
There are several reasons for a breakdown communication (networks). These can be technical problems (e.g. human errors, mass events), catastrophes (e.g. floods), economic reasons (e.g. outdated infrastructure, poverty) or censorship (e.g. stupid politicians, the police freaking out).
It is really important that communication is possible under all circumstances. That not only involves sending, but also verified receiving of data. Apart from that, resilience and practicality have to be considered. People do not care about what is possible, but what works. Compromises and trade-offs are inevitable as well as untrained people who have/want to use the setup. Physical robustness (e.g. weather) should be taken into account as well as protection against eavesdropping and manipulation. For security only use well-known publicly known algorithms and implementations. Cryptography is hard and the lives of peoples are at stake.
Getting access to facebook and similar services is not important. Commercial services should get their users back in the net them-self. Since that taps into the issue of net neutrality vs. quality of service. The focus is on trails instead of highways. Commercial services are not reliable partners for a revolution. Look at hidemyass and the FBI or twitter and the UK riots for recent examples. So it is not the duty of a grassroots movement to become a peasant for profit-driven entities.
alternative IP connectivity
WiFi routers mean the least effort with rolling out the physical infrastructure. They can be used for directed microwave transmission. Microwaves by their very nature can be problematic. An advanced configuration are mesh networks. They are self organizing networks which can reduce the maintenance effort and increase the robustness. A mesh-network for a neighbourhood can be bootstrapped within a few days.
The simplest way is to use a cable. Regular Ethernet works up to 100 meter with out any additional equipment. The hardware is cheap an readily available. Old modems in dedicated line mode and two wires are surprisingly effective. A network spanning multiple kilometre is possible. The speed is limited to 56kbit, but you get IP connectivity for free. Current and old cable infrastructure can be (ab)used without any additional effort.
Laser-link is relative expensive for a high bandwidth. USB-IrDA hardware can be easily modified by exchanging the IR for laser optics and diodes. 4Mbit bandwidth can be achieved by the IrDA protocol. This configuration works over 700 meter and even in the presence rain. The two things to be concerned about are the optics and temperature effects. The optics are worth some investment. Each material changes with temperature. Since you are shooting a laser beam over several hundred meters this drifting results in loosing focus on the receiving end.
The (ISDN) modem a home can also be used to provide extra connectivity. It basically provides IP over the phone network. Any extra bandwidth consumption can be neglected. At least is can provide a data-link without the need to an extra plan. The common free or flat-rate call options can be used to call a relaying modem. Services like XMPP/jabber (or chat in general) in no problem, so are most websites.
With all these methods you need an ISP uplink, so they are not always applicable. If your local jurisdiction puts unnecessary burdens on your for running an open network, a VPN tunnel can be used. There are ready to use services out there like IPredator, but you can also rent a cheap vserver in a foreign country, install OpenVPN and you are ready to go.
Store and Forward
IP is often not the right protocol. Your ISP could be down or your larger infrastructure is down in pieces. A very good mechanism for these cases (and in general as a fall-back) is called “store and forward”. All messages get stored until they are fetched. This may be done over different relays and works fine with different media. It is very robust, since no permanent connection is needed. It can involve sneakernets and packet radio without any problems.
One popular implementation are mailboxes (no, not email). The system can be used with pretty old hardware. It is very cheap and uses very simple software like crosspoint or zconnect. You can access via the mailboxes via a modem. be it serial, IP or even a plain USB stick. Popular protocols in use are Maus, Fido, usenet and uucp. All messages are stored in all boxes, thus the network can survive splits and is able to resynchronize. Hidden offline mailboxes can be used as a fall-back. The hidden mailbox needs to be synchronized from time to time. As long as one mailbox stores the current state of the network, everything can be brought up. Using encryption (e.g. GnuPG) and compression can improve the network further. Even near-realtime services like social networks could use store and forward as a fall-back mechanism. It can be implemented easily and provides an extra layer of robustness.
The data transport could be realized via modems. Using the regular internet/IP (plus Tor) is no problem. Other means could be packet radio, Morse code or even plain disks. Amateur radio is an interesting option. Ham radio operators often help to provide communication in case of emergencies and disasters. Radio itself uses different frequency bands (e.g. short wave) and different modulation (e.g. AM, FM, SSB). By its very nature, radio follows a broadcast model. That means that all messaged can (and should) be received by everyone. You can can use encryption to obscure message content, but the message itself is picked up by everyone listening in. So called packet radio can be used for (binary) data transmission. The only things you need is the radio equipment and a computer with a sound-card running Linux. The Linux kernel has a module called “soundmodem” which can be used in conjunction with radio equipment exactly for that purpose. If you use CB (citizen band) radio, the setup is easy and quite robust. If you want to experiment with radio equipment and broadcasting, there is usually a license needed.
As laid out in this post, you usually have a lot of options at hand to keep communication going or bootstrap it if needed. In general the right combination of parts is crucial. Think about what and what not you want to achieve and what matters in regards of communication. Use what you have at hand and always allow for alternative forms of data transmission.
- hidemyass and the FBI
- ronja laser link
- Gnu Privacy Guard
- village telco – mesh potato
- zconnect (pdf)
- Open Directory Project:usenet
- RFC 976: UUCP Mail Interchange Format Standard
- Linux soundmodem HowTo
- wikipedia list of radio amateur organisations (legal info, obtainig licenses etc.)