You’ve built your mesh or 802.11 network to support your activity. Now what? Unfortunately, most client software doesn’t support peer-to-peer activities. You have to have a server acting as the central repository and distribution point for your data. Sounds complicated…
It can be daunting to make these resources available but it doesn’t have to be. If you are already running a Linux-based operating system (sorry, Windows users but Microsoft will want you to pay an arm and a leg for what I’m getting ready to suggest and Microsoft software can’t do much of what I’m going to suggest, either) then you’re already most of the way to having your own server. Most, if not all, of this software is already available in your distribution’s software repository for easy installation.
There are core software being used on the Internet, today, for moving data around. Using the tools that most people are familiar with help make the overall network successful. Obviously the first question should be “what are you trying to accomplish?”. Setting up a camera on the network and sharing that data across the network is easy, mostly because the camera likely already includes its own webserver. But how can you bring the rest of the tools into play to make your network even more useful?
Email is fairly ubiquitous and everyone seems to know how it works. There are three protocols you should be familiar with when dealing with email: smtp, pop3, and imap. These are the services that handle routing and delivery of your mail.
Simple Mail Transfer Protocol (SMTP) is an Internet standard for routing messages between email servers. When you send an email, today, your client connects to an SMTP server and sends the message. The SMTP server, after receiving the message from you, attempts to figure out how to deliver the message to the distant email server. If the message is being kept locally (i.e. the recipient is on the same server as where you delivered the message) then the message is filed for delivery when the recipient queries the server.
An often-used SMTP program is postfix. It requires a little configuration but basically “just works”. Postfix will handle receipt of mail and delivery to the mailserver where your recipient is without further action from the user.
POP3 and IMAP
Post Office Protocol version 3 (POP3) and Internet Message Access Protocol (IMAP) are on the message delivery side of the house. These are the protocols that allow a user to query the email server for mail.
POP3 basically forces a user to collect their mail and then delete it from the server. By doing so, once downloaded, the user has the only copy of the message and the server is freed of the responsibility (and storage space) for handling the message.
IMAP, on the other hand, allows the user to download a copy of the message but, until deleted, the message remains on the server. This allows the user to utilize multiple clients, with sorting into folders, and have that organization synchronized among all the user’s client software.
Dovecot handles delivery of messages to clients using POP3 and IMAP. Again, the software requires a bit of configuration but generally just works.
Have a website you want to publish on your network? Want to use a program to share files and other information? You’ll need a webserver!
Apache’s http server, commonly known as httpd, is very easy to setup and use. Once installed, the server looks for files in your web folder (/var/www/html) and waits for a request from a client.
Want to share files and other information?
OwnCloud is a suite of client-server software that creates a file hosting service and also allows management and sharing of calendar information, contacts, and more. Because it’s far more efficient to share files using the http protocol, compared to email, and because files can be managed and synchronized among many computers through shares, using OwnCloud to manage files is far superior than using email.
Instant Messaging (IM) is an efficient and simple way of communicating short messages to other users in real time. Some protocols allow peer-to-peer communications but usually a server is needed to facilitate the communications.
Jabber, instant messaging software based on Extensible Messaging and Presence Protocol (XMPP) protocol, allows users to communicate between each other either person-to-person or in a chatroom where multiple people can participate.
Voice Communications (VoIP)
Using the session initiation protocol (SIP), one can handle VoIP “calls” over the network. This can be between VoIP phones or between AT conversion boxes linking analog repeaters. Unless you know exactly what phones are where, and your system isn’t growing, you likely don’t need a server. But, if you plan on expanding your network and wish to have dynamic routing (phone numbers) then you’ll likely need a centralized server.
Asterisk is a great private branch exchange (PBX) server allowing telephones to connect with each other. Connections between the server and the clients are generally done using SIP whereas connections between Asterisk servers use Inter-Asterisk eXchange (IAX).
All of this information has been presented absent the network management infrastructure that helps make communications between easier. Handling data on a single local area network (LAN) doesn’t necessarily require this kind of infrastructure but utilizing tools like DHCP, DNS, and others can be helpful.
As you’ve seen, once you’ve built your network there are a few more challenges to making your network work for you. This, however, doesn’t need to be an impediment and with just a little work you can make your network truly work for you. You also don’t need any fancy hardware, either, as these tools can easily work on a laptop connected to the network for easy deployment.
All the suggested software is free and open source software (FOSS) which allows anyone to deploy the software for free (and allows you to make changes to the software if needed).