meshipcalc És un programa en C que fa el càlcul de les IP utilitzant el següent algoritme:
IP Pública a Guifi.net
0000 1010 . xxxx xxxx . yyyy yyyy . zzzz zzzz
with x,y,z,i,p as already described
IPs de la Mesh:
1010 1100 . 0001 ppii . irrr nnnn . zzzz zzzz
pp: protocol 00 → olsr / 01 → bmx / 10 → batman
iii: Interficies 000 → eth0 / 010 → eth1 / 100 → ath0 / 110 → ath1 (Usat per noves interficies)
r: reservats - Potser l'úsem més endevant.
n: numero incremental de la web de guifi.
Així podrem tenir fins a 2^4=16 rangs. Amb aquest sistema podem tenir fins a 4096 nodes a la Mesh. També podríem usar el r per ampliar els rangs però de moment no s'aplica per què podem tenir col·lisions amb els DHCPs
DHCP protocol:
1010 1100 . 0001 ppii . zzzz zzzz . nnnn cccc
p: pp=11
i: 4 polls de dhcp
c: Adreces de clients, (Fins a 13 clients)
(Tal com ho hem plantejat NO necessitem NAT però potser el numero de clients es una mica justet sobretot a la xarxa)
Tal com s'ha plantejat el sistema necessita una llista de IPpúbliques → rangs.
Amb aquesta llista que seria hardcoded recuperaria el rang i faria tots els calculs.
Si la teva IP no té rang el sistema et demana que t'actualitzis.
El numero de rangs seran 2^4 = 16.
El Rang serà necessari sempre que es muntin malles pròximes, vull dir que si algú munta una mesh a Barcelona valdrà la pena que ens coordinem per unir les meshes, però si la fa a un altre ciutat no continua amb Barcelona, podria usar els rangs que hem fet servir a la mesh. I per tant el llistat de rangs canviaria.
Aquesta llista podria no seria necessària que existís si en comptes d'un /24 la mesh tingues un /20, però obliguem a guifi.net a reservar masses IPs continues.
Per el nostre cas que tenim assignat els 10.139.68.0/24 el rang serà 0