Each WRT54G mesh node has three network interfaces and acts as a router between each of them. These interfaces are known as the LAN, the WAN, and the mesh.
The LAN is provided by the four port ethernet switch on the back of the node. The default IP subnet settings for the LAN port are 172.27.0.0/24. This subnet contains 256 addresses, 253 of which are available for use.
- 172.27.0.0 is reserved for the network
- 172.27.0.1 is the LAN address of the mesh node itself
- 172.27.0.2-254 are available for other devices on the LAN
- 172.27.0.255 is the LAN broadcast address
The node runs a DHCP server which configures its LAN clients as follows:
- 172.27.0.10 for an IP address (for example, yours will probably be different)
- 172.27.0.1 as the default gateway
- 172.27.0.1 as the DNS server
- austin.tx.us.mesh as the domain name
A bit more needs to be said about DNS as it is a major new feature of the 0.3.0 firmware. Every mesh node is known by its node name and the node name is directly usable by every device on the LAN side of every node. The nodes service the .mesh TLD. The default domain name is austin.tx.us.mesh, and that domain name is appended to every name query that your computer generates so it is not necessary to type it. If you try to access www.yahoo.com, the node knows that .com is not a TLD it serves directly so it will pass that request on to an upstream DNS server if one is available through an internet connection. The nodes are configured to use Google Public DNS as their upstream DNS service.
Also, each node is known as "localnode" from its own LAN port. Send your browser to http://localnode:8080/ and it will bring up the web interface on whatever node it is connected to.
Each node beacons its own DNS information every 30 seconds, and each node updates its internal DNS database every minute. So there will be up to a minute delay from the time a node becomes visible to the time your computer can reach it by name.
Obviously the default domain name is based in Austin. It is not worked out yet exactly how other regions will be incorporated into DNS, but at least the naming structure is ready for it.
As you can see, the LAN is actually quite involved. But it is where all the magic happens that allows you to plug in your computer, have it be automatically configured, and let the mesh node do all of the work of figuring out where everything else is and how to get to it. It should be about as "plug and play" as it gets.
The WAN is where internet service comes from, if it is available. Connect the WAN port to a network device that has internet access and both the LAN and the mesh will also have internet access. All packets leaving the WAN port go through the NAT process.
One feature of OLSR is called the "dynamic default gateway". When a node has internet access, as verified by periodic pings of various internet servers, it tells its neighbors that internet is available and the surrounding nodes will use this node as its default gateway. This is how every node gains internet access even if only one of them is connected to the internet. It still works if multiple nodes have direct internet access, but its behavior in this mode is not well tested. Sporadic internet access such as web browsing should handle this well. However, connections intended to be continuous, like VoIP, will definitely come to a halt if internet access switches from one node to another. This is because the IP address that you are accessing the internet from just changed and the far end will close the connection, as it should.
The current state of the firmware requires that the WAN port be plugged in to an ethernet network running a DHCP server, such as the LAN port of a typical wireless router or the back of a cable modem. Connections that require more "twiddling" before they will work, like usernames and passwords, are not yet supported.
The mesh is the network formed by the WiFi interfaces of all participating nodes. The IP address of each WiFi interface is automatically generated from the last three bytes of the MAC address of that interface. There is a small chance that these automatically generated addresses may be duplicates. If that happens it is a simple matter to manually assign a different address to one of the nodes from the Basic Setup page. All packets leaving the WiFi interface also go through the NAT process.
The software that makes the mesh work is called OLSR. It does the job of keeping track of what other nodes it can see directly, and what nodes and networks the other nodes can see. The end result is that as long as a path exists from one node to another, OLSR allows them to communicate.