One of the large problems with mesh nets, that has plagued experts for many years, is the allocation and management of IP addresses. A short summary of this issue follows.
For the allocation of IP addresses in a functioning network, 2 options exist:
- Static IP allocation through the network administrator
- Dynamic IP allocation using DHCP or DHCPv6
In a given mesh network, the above solutions carry serious flaws, given the nature of mesh nets themselves: static IPs are insufficient, given the nature of our work, due to the fact that it raises the barrier to entry. Detailed instructions could work around this problem, however users are typically not willing to go to these kinds of lengths. Furthermore, it also loses significant flexibility, in that setting up a new node requires knowledge of every existing node on the network - meaning that nodes cannot change second by second, in an environment such as, for example, a municipal network consisting, in part, of roaming mobile telephones.
The other option, running a DHCP server, introduces a single point of failure in the system - should, for any reason, the network become segregated into 2, or the node hosting the DHCP server fail, the network is left in a state wherein no new nodes can request an IP address, meaning that, for all intents and purposes, the network is no longer functional. There is currently no way of synchronising 2 DHCP servers for automatic failover, barring the current standard for data centers, of having one server with 70% of the addresses in the address pool, and another server with the remaining 30% to act as a backup.
Since,
in a mesh environment, there is no way of knowing which nodes will be
accessible from where at a given time, since nodes could fail and the
network could segregate, an alternative, or extension, to DHCP must be
available to allow the splitting, merging, and reallocation of active
DHCP servers, address pools, and node addresses.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.
Alternatively, maybe a node joining the network could just pick an address at random, see if anybody else has it, and if so, pick a different one. I'd only recommend that for IPv6 though.
Are you sure? yes | no
Are you sure? yes | no