Mesh Network Details

From OLPC
Revision as of 06:15, 23 February 2007 by Wad (talk | contribs)
Jump to navigation Jump to search

Details of the mesh networking provided by the XO laptop are described here.

Right now this has the form of an FAQ. Hopefully it will later be rewritten into a more coherent description.

How many servers per school?

How will the school servers in one school be connected, and how many users each are they expected to support?

The ratio of students to school servers is currently planned to be no more than 100:1. The interconnection between servers will be best possible: Cat3/5 or powerline is strongly recommended, with a fallback to wireless if necessary.
Each server will support at least two WiFi access points (the Marvell modules), with up to five or six access points possible. The optimum deployment scenario probably provides two or three meshes per school (on channels 11, 1, and 6). Each server provides access points on two or more meshes (i.e. there are multiple servers/access points on each mesh.)

How is the mesh channel for a laptop to join chosen?

You have to spend some time on every channel and estimate how heavy the traffic is from the RREQ and RREP packets.
This is tricky, as these packets are not sent to the host. One way to determine this indirectly is to examine the forwarding table: when RREQs are received, reverse routes are created. Alternatively, one could monitor the forwarding statistics of the mesh interface (ethtool -S msh0). These are all "passive" detection methods: will not work if all the hosts in the mesh are silent.
Yet another alternative would be to run daemons attached to the mesh interface, such as http://www.cozybit.com/projects/lsmesh
The mesh channel selection algorithm needs to be debated. A proposal is below--Wad

Mesh channel selection algorithm

The device will scan for activity on all three channels being proposed for OLPC meshes (1, 6, and 11) before making any decision.

  1. If there is only activity on a single channel, it will be selected.
  2. If there is activity on multiple channels, the active channel with the least activity will be selected.
  3. If all channels show the same activity, then channel 11 will be selected.

This algorithm should be modified to take the number of hops to a gateway on a particular mesh into account.

How can we determine whether a channel has other active mesh users?

There are no beacons currently (although they are in the implementation plan) so you really have to listen for mesh traffic.

How many radios can one mesh channel support?

How will a laptop decide to join another mesh channel if the current one gets too busy?

Is there an answer ?

Will physically adjacent laptops be on the same mesh ?

Is it possible that two children sitting next to one another are on different channels and therefore cannot "see" each other on the net?

One of the roles of the school server will be to bridge between mesh clouds running on different channels. How do you decide what mesh (channel) to join was a previous question.

What about WiFi encryption ?

Does the mesh part of the firmware use the same encryption settings as the b interface? Do we care about making a 'private mesh' with WPA-PSK or WEP or something like that?

Yes, the mesh uses the same encryption.
Down the road, we care, and will probably use WPA-PSK.--Mihalis
I will argue that link layer encryption is the wrong place to protect secrets. If an application handles private or sensitive data, it should apply encryption at that time (e.g. HTTPS). My concern is the management overhead of the authentication server for WPA-PSK. The ability of devices other than XO laptops to join the school network will be supported. --Wad 00:21, 22 February 2007 (EST)

How are school servers (network gateways) discovered?

Will servers send out some sort of announcements to allow the laptops to find them automatically, or must we cache a DNS name or IP address for the server?

They will act as gateways and respond to RREQs for a reserved anycast address.--Mihalis
This is two different questions. At the networking level, the laptop is looking for a default gateway. This should be supplied either by the anycast mechanism or by DHCP (discussion?). At the server level, it is still unclear how a laptop will be associated with the school server that contains a student's journal and backups.--Wad 00:21, 22 February 2007 (EST)