Jump to: navigation, search

Netsukuku

Netsukuku è il nome di un sistema di routing sperimentale di tipo peer-to-peer, sviluppato dal laboratorio FreakNet, nato per costruire una rete distribuita, anonima e anarchica, non necessariamente separata da Internet, senza il supporto di alcun server, ISP e di alcuna autorità centrale.

Idea di base

Netsukuku nasce dall'idea di creare una rete pura, che sfrutta il caos, si crea e si mantiene autonomamente, e sopravvive adattandosi alle mutazioni delle connessioni in rete, come un frattale. L'unione degli algoritmi di gestione di una rete pura con algoritmi frattali e le teorie matematiche sul caos è una delle caratteristiche che permette a Netsukuku di poter creare una rete diffusa e distribuita, non centralizzata, anonima, anarchica, non controllabile, ed autonoma. Scopo di Netsukuku è far sì che chiunque, in qualunque luogo e in qualsiasi momento possa agganciarsi immediatamente alla rete senza dover passare attraverso adempimenti burocratici o contrattuali. L'indirizzo IP che identifica un computer è scelto casualmente ed in modo univoco (eventuali collisioni vengono risolte), quindi non è associabile ad una località fisica precisa, e le stesse rotte, essendo formate da un numero innumerevole di nodi, tendono ad avere una complessità e densità talmente elevata da rendere il tracciamento di un nodo un'impresa estremamente complicata. La velocità del trasferimento dei dati è limitata unicamente dalla tecnologia attuale delle schede o dispositivi di rete.

Funzionamento

In una rete di tipo peer-to-peer ogni nodo agisce da router; per risolvere il pesante problema computazionale e memorizzare tutte le rotte di tutti i 2^128 nodi della rete, in Netsukuku si usa un meta-algoritmo sperimentale di routing, che sfrutta alcune teorie del caos per evitare un consumo elevato di potenza di calcolo, ed algoritmi frattali per mantenere la mappa dell'intera rete constantemente sotto i 2 kilobyte. Allo scopo di creare un differente sistema di nomi di dominio, non più basato sui tradizionali server DNS, è nato l'Abnormal Netsukuku Domain Name Anarchy, un sistema distribuito, non gerarchico e decentralizzato, di gestione degli indirizzi della rete che sostituisce appunto il DNS. Il tutto gira sotto sistema operativo GNU/Linux ed è rilasciato sotto licenza GNU GPL. Netsukuku non è mai stata testata su larga scala (10.000 nodi o più).

Gli Internet Service Provider di Internet offrono connettività chiedendo, in cambio, un contributo economico; questo impedisce a chi non ha risorse economiche sufficienti la possibilità di connettersi alla rete e di comunicare tramite i suoi servizi. Gli ISP forniscono i loro servizi in base a principi di profitto, secondo regole e contratti personalizzati, i quali solitamente non tengono conto delle disponibilità di coloro che non possono permettersi di pagare la connessione. La struttura gerarchica e centralizzata di Internet crea, come conseguenza, altri sistemi identici, che poggiano su di essa, come ad esempio il DNS; i nomi di dominio vengono infatti venduti. La stessa struttura permette di localizzare fisicamente qualsiasi computer connesso ad Internet, con conseguenze notevoli sulla privacy dei singoli nodi.

Quando un nodo si aggancia a Netsukuku, la rete si auto-assesta e tutti gli altri nodi vengono a conoscere le rotte più veloci ed efficienti per comunicare con il nuovo arrivato. I nodi non hanno privilegi o limitazioni rispetto ad altri nodi, fanno parte della rete e contribuiscono alla sua espansione ed efficienza, essendo tutti uguali. Con l'aumentare del loro numero, la rete cresce, muta forma e le rotte si perfezionano. In Netsukuku non vi è alcuna differenza tra reti private e pubbliche e non ha più alcun significato parlare di LAN. Una rete basata su Netsukuku non può essere controllata né distrutta poiché è totalmente decentralizzata e distribuita. L'unico modo per sorvegliare o smantellare una rete basata su Netsukuku è rimuovere fisicamente ogni singolo nodo che la compone. In essa si possono implementare effettivi sistemi distribuiti, come ad esempio l'Abnormal Netsukuku Domain Name Anarchy (ANDNA), che sostituisce in Netsukuku il tradizionale sistema dei DNS.

Il protocollo di rete per il routing dinamico di Netsukuku è chiamato Npv7_HT. I normali protocolli ed algoritmi per il routing dinamico vengono solitamente utilizzati per creare piccole e medie reti, come l'OSPF, il RIP od il BGP, ed usano diversi algoritmi per trovare il percorso migliore per raggiungere un nodo in una rete. Questi protocolli richiedono un consumo di processore e memoria rilevante, ed è per questo motivo che i router di Internet sono spesso dei computer appositamente dedicati. Sarebbe impossibile adottare uno di questi protocolli per creare e mantenere una rete come Netsukuku, dove ogni nodo è a sua volta un router, poiché la mappa di tutte le rotte richiederebbe uno spazio di circa un centinaio di Gigabyte su ciascun calcolatore connesso alla rete. L'Npv7 struttura l'intera rete come un frattale, ed usa un particolare algoritmo chiamato Quantum Shortest Path Netsukuku (QSPN) per calcolare tutte le rotte necessarie a collegare un nodo ad ogni altro nodo.

Un frattale è una struttura matematica che si può comprimere all'infinito, proprio perché, al suo interno, ogni sua parte è formata dal frattale stesso; il QSPN sfrutta un algoritmo di tipo frattale per cui si ha una compressione elevata di una struttura che può espandersi infinitamente. Il risultato tecnico è che bastano pochi Kb per mantenere l'intera mappa di Netsukuku su ogni nodo. Il QSPN, invece, è un meta-algoritmo perché non esegue una sequenza di istruzioni matematiche definite ma sfrutta la casualità e le teorie del caos, e non richiedono nessun tipo di calcolo.

Abnormal Netsukuku Domain Name Anarchy

L'Abnormal Netsukuku Domain Name Anarchy (ANDNA) è un sistema di assegnamento e gestione dei nomi distribuito, non gerarchico e decentralizzato che nella rete Netsukuku svolge un compito che nella rete Internet viene assegnato ai DNS. Il database di ANDNA è incluso nel sistema Netsukuku e quindi ogni nodo include un database ANDNA che nel peggiore delle ipotesi può occupare 355 kilobyte di memoria.

ANDNA semplificando funziona nel seguente modo: Per risolvere un nome simbolico l'host applica una funzione Hash sul nome. La funzione Hash restituisce un indirizzo che l'host contatta chiedendo la risoluzione dell'indirizzo generato dall'hash. Il nodo contatto riceve la richiesta, ricerca nel proprio database ANDNA l'indirizzo associato al nome e lo restituisce all'host richiedente. La registrazione avviene in un modo simile. Per esempio supponiamo che il nodo X voglia registrare l'indirizzo FreakNet.andna, X calcola l'hash del nome e ottiene l'indirizzo 11.22.33.44 associato al nodo Y. Il nodo X contatta Y chiedendo la registrazione dell'hash 11.22.33.44 al proprio indirizzo. Y memorizza la richiesta nel proprio database e ad ogni richiesta di risoluzione dell'hash 11.22.33.44 risponderà con l'indirizzo di X.

            
	    Nodo X
      ip: 123.123.123.123
      hash( hostname: "FreakNet.andna" ) == 11.22.33.44
					   ||
					   ||
					 Nodo Y
				     ip: 11.22.33.44
			   {	[ FreakNet.andna nel database del nodo Y ]    }
			   {hash_11.22.33.44 ---> 123.123.123.123}

Il protocollo ovviamente è più complesso dato che il sistema prevede una gestione a chiave pubblica/privata per autentificare gli host e impedire modifiche non autorizzare dei database andna. Inoltre il protocollo prevede la ridondanza dei database per rendere il protocollo resistente ad eventuali guasti e prevede anche la migrazione dei database nel caso la topologia delle rete si modifichi. Il protocollo non prevede la possibilità di revocare un nome simbolico, questo dopo un certo periodo di inattività (attualmente 3 giorni) viene semplicemente cancellato dal database. Il protocollo inoltre impedisce ad un singolo host di registrare un numero eccessivo di nomi simbolici (allo stato attuale 256 nomi) in modo da impedire a degli spammer di memorizzare un elevato numeri di termini di uso comune o di effettuare azioni di cybersquatting.

Applicazioni

L'obiettivo della rete Netsukuku è la realizzazione di un infrastruttura che non dovendo basarsi sulle usuali infrastrutture internet risulti più economica e indipendente dell'attuale internet in modo da consentire l'accesso alla rete anche agli utenti non in grado di pagare un regolare canone agli ISP. I progettisti della rete pensano di poter realizzare questa rete parallela basandosi pesantemente sulle future generazioni di reti senza fili che avendo una portata di diversi chilometri permetterebbero la realizzazione di una diffusa rete Netsukuku. Nella fase iniziale comunque gli sviluppatori intendono basarsi sulle attuali infrastrutture internet per il testing della rete.

Un altro possibile utilizzo della rete Netsukuku sarebbe la realizzazione di reti cellulari senza l'apporto di gestori telefonici. Questa applicazione parte dalla considerazione che gli algoritmi della rete richiedono ridotte risorse e quindi possono agevolmente girare sugli attuali cellulari, anche se per reali applicazioni in tal senso sono allo stato attuale solo teoriche.

Voci correlate

Collegamenti esterni

{{#if:Informatica|
    {{#if:Informatica|
  • [[Image:{{#ifexist:Portale:Informatica/icona|{{ {{#ifexist:Portale:Informatica/icona|Portale:Informatica/icona}} }}|{{#ifexist:Image:Stub_Informatica.png|Stub_Informatica.png|Portal.svg}}}}|25x25px|Informatica]] Portale Informatica{{#if:||: {{#switch:Informatica

    |Astronomia = accedi alle voci di Wikipedia che trattano di astronomia e astrofisica |Bergamo = Voci su Bergamo e sul suo territorio |Brasile = accedi alle voci di Wikipedia che parlano del Brasile |Chimica = Il portale della scienza della composizione, delle proprietà e delle trasformazioni della materia |Comunità = entra nella comunità degli autori di Wikipedia |LGBTQ = Le voci di Wikipedia dedicate al mondo gay, lesbico, bisex, trans e queer |Nordafrica = accedi alle voci di Wikipedia che parlano del Nordafrica |Oggetti del profondo cielo = accedi alle voci di Wikipedia che trattano di oggetti non stellari |Portali = accedi ai portali di Wikipedia |Progetti = partecipa ai progetti di Wikipedia |Punk = accedi alle voci di Wikipedia che parlano di musica punk |Sistema solare = accedi alle voci di Wikipedia sugli oggetti del Sistema solare |Stelle = accedi alle voci di Wikipedia che trattano di stelle e costellazioni |Telematica = accedi alle voci di Wikipedia che parlano di reti, telecomunicazioni e protocolli di rete |accedi alle voci di Wikipedia che trattano di Informatica

    }} }}
  • }}{{#if:|
  • [[Image:{{#ifexist:Portale:/icona|{{ {{#ifexist:Portale:/icona|Portale:/icona}} }}|{{#ifexist:Image:Stub_.png|Stub_.png|Portal.svg}}}}|25x25px|]] Portale
  • }}{{#if:|
  • [[Image:{{#ifexist:Portale:/icona|{{ {{#ifexist:Portale:/icona|Portale:/icona}} }}|{{#ifexist:Image:Stub_.png|Stub_.png|Portal.svg}}}}|25x25px|]] Portale
  • }}{{#if:|
  • [[Image:{{#ifexist:Portale:/icona|{{ {{#ifexist:Portale:/icona|Portale:/icona}} }}|{{#ifexist:Image:Stub_.png|Stub_.png|Portal.svg}}}}|25x25px|]] Portale {{#if:||: {{#switch:{{{4}}}

    |Astronomia = accedi alle voci di Wikipedia che trattano di astronomia e astrofisica |Bergamo = Voci su Bergamo e sul suo territorio |Brasile = accedi alle voci di Wikipedia che parlano del Brasile |Chimica = Il portale della scienza della composizione, delle proprietà e delle trasformazioni della materia |Comunità = entra nella comunità degli autori di Wikipedia |LGBTQ = Le voci di Wikipedia dedicate al mondo gay, lesbico, bisex, trans e queer |Nordafrica = accedi alle voci di Wikipedia che parlano del Nordafrica |Oggetti del profondo cielo = accedi alle voci di Wikipedia che trattano di oggetti non stellari |Portali = accedi ai portali di Wikipedia |Progetti = partecipa ai progetti di Wikipedia |Punk = accedi alle voci di Wikipedia che parlano di musica punk |Sistema solare = accedi alle voci di Wikipedia sugli oggetti del Sistema solare |Stelle = accedi alle voci di Wikipedia che trattano di stelle e costellazioni |Telematica = accedi alle voci di Wikipedia che parlano di reti, telecomunicazioni e protocolli di rete |accedi alle voci di Wikipedia che trattano di {{{4}}}

    }} }}
  • }}{{#if:|
  • [[Image:{{#ifexist:Portale:/icona|{{ {{#ifexist:Portale:/icona|Portale:/icona}} }}|{{#ifexist:Image:Stub_.png|Stub_.png|Portal.svg}}}}|25x25px|]] Portale
  • }}{{#if:|
  • [[Image:{{#ifexist:Portale:/icona|{{ {{#ifexist:Portale:/icona|Portale:/icona}} }}|{{#ifexist:Image:Stub_.png|Stub_.png|Portal.svg}}}}|25x25px|]] Portale
  • }}
|
Il template {{portale}} necessita di almeno un argomento. Consulta il manuale del template per ulteriori dettagli.
}}

en:Netsukuku es:Netsukuku ia:Netsukuku ru:Netsukuku fr:Netsukuku