[Commotion-dev] Roaming between nodes

Dan Staples danstaples at opentechinstitute.org
Wed Jul 3 14:07:24 UTC 2013


On 07/03/2013 02:55 AM, Mikael "MMN-o" Nordfeldth wrote:
> Hi folks who are probably better at me with the black magic of wifi
> networks. Not sure whether to post this here to -dev or to -discuss.
> 
> I'm curious whether there has been given any thought to roaming between
> commotion wireless nodes. I.e. moving from one node to another without
> dropping a connection. What would be necessary to enable this and is it
> even desirable?
> 
> Roaming, I assume, requires a coordinated backbone. This I guess is hard
> to impossible to setup in a reliable manner within an open mesh network.
> As it is now, every router has its own subnet with NATing and a routing
> table, right? This feels natural in an IPv4 network, given the rather
> limited address space for unique, routable addresses. So to enable
> roaming in the current Commotion environment, one would have to have a
> backbone that tracks the connections. Which seems like an unnecessarily
> complex thing to do in an open mesh.
> 
> With a larger address space (say IPv6) I suppose this would be easier,
> as routing of packets between nodes could appear to be on the same
> subnet. There'd be retransmissions in TCP of course, but the server my
> local client is talking to would always see the same client IP (my IP)
> and thus the connection might be laggy but not break at a node-hop.
> 
> Of course one would get external connections killed if the gateway
> disappears, but internal connections (local applications etc.) would
> still function.
> 
> So, again, is roaming possible, doable and desirable or not? Or, as it
> may be, have I failed to understand some important part of IP routing?
> 
> 
> 
> _______________________________________________
> Commotion-dev mailing list
> Commotion-dev at lists.chambana.net
> https://lists.chambana.net/mailman/listinfo/commotion-dev
> 

I assume you mean roaming/handoff of non-mesh clients connected to
access points on mesh nodes, yes? Unfortunately, this is currently not
possible, without the type of coordination you describe. As I understand
it, it is a limitation of a layer-3 mesh, such as OLSRd, which we use.
I've heard that a layer-2 mesh, such as Batman-Adv, *can* do seamless
handover of access point clients. But of course, there are lots of other
tradeoffs between layer-2 and layer-3 meshes.

A while ago, I came upon a solution for doing seamless handover for
access point clients, developed by folks at the Distributed System and
Networks Lab @ Johns Hopkins. It's called Smesh: http://www.smesh.org/.
I would love to try to implement this in Commotion, but it would be a
long-term project that we currently don't have anyone working on.

But keep in mind that we are currently ramping up development of
Commotion desktop/mobile mesh client software (linux, android, mac,
windows, iOS), that will let mobile phones and laptops and such become
full-fledged mesh nodes, which will allow for theoretically seamless
roaming, as they will use ad-hoc links instead of access point connections.

-- 
Dan Staples

Open Technology Institute
https://commotionwireless.net


More information about the Commotion-dev mailing list