Differences between revisions 1 and 5 (spanning 4 versions)
Revision 1 as of 2009-04-08 16:56:26
Size: 2465
Editor: anonymous
Comment:
Revision 5 as of 2009-04-08 17:31:24
Size: 2684
Editor: anonymous
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
<<BR>>
Line 7: Line 7:
<<BR>>
Line 9: Line 9:

Una mappa di questo tipo è implementata ne la classe Map.

In particolare, la classe Map è una classe base. Per la rappresentazione della mappa delle routes che l'host corrente conosce per raggiungere i nodi e i g(nodi) si usa una sua derivata che è la classe MapRoute presente nel modulo route.
<<BR>>
Una mappa di questo tipo è implementata nella [[../ClasseMap|classe Map]].
<<BR>>
In particolare, la [[../ClasseMap|classe Map]] è una classe base. Per la rappresentazione della mappa delle routes che l'host corrente conosce per raggiungere i nodi e i g(nodi) si usa una sua derivata che è la [[../ClasseMapRoute|classe MapRoute]] presente nel modulo route.
Line 17: Line 17:

il modulo RPC mette a disposizione i meccanismi di base per la costruzione di un algoritmo distribuito.
<<BR>>
Il [[/ModuloRPC|modulo RPC]] mette a disposizione i meccanismi di base per la costruzione di un algoritmo distribuito.
Line 23: Line 23:
<<BR>>
Line 25: Line 25:

La gestione di questa problematica è affrontata ne il modulo radar, che la gestisce facendo uso dei meccanismi di distributed computing implementati ne il modulo rpc. Vedi anche il Funzionamento del Radar.

Il modulo radar ha la responsabilità di emettere segnali (eventi) che attivino le funzioni di altri moduli (come il modulo qspn) quando vengono rilevati nuovi vicini.
<<BR>>
La gestione di questa problematica è affrontata nel [[/ModuloRadar|modulo radar]], che la gestisce facendo uso dei meccanismi di distributed computing implementati ne il [[/ModuloRPC|modulo RPC]]. Vedi anche la pagina [[/FunzionamentoDelRadar|Funzionamento del Radar]].
<<BR>>
Il [[/ModuloRadar|modulo radar]] ha la responsabilità di emettere segnali (eventi) che attivino le funzioni di altri moduli (come il modulo qspn) quando vengono rilevati nuovi vicini.
Line 32: Line 32:
Todo
Line 35: Line 34:
TODO:
Line 37: Line 35:
il modulo qspn

la classe hook

il modulo p2p ==> il modulo coord

branch networking-abstraction
TODO: <<BR>>
il modulo qspn<<BR>>
la classe hook<<BR>>
il modulo p2p ==> il modulo coord<<BR>>
branch networking-abstraction<<BR>>

Panoramica dell'architettura di netsukuku

Topologia

Una parte importante del programma consiste nella gestione della mappa delle route, che ogni nodo deve avere.
Secondo la topologia di Netsukuku la mappa si divide in livelli. I nodi si raggruppano in g(nodi), che si raggruppano in g(g(nodi)) e così via. Ogni punto del livello 0 rappresenta un nodo appartenente allo stesso g(nodo) dell'host corrente. Ogni punto del livello 1 rappresenta un g(nodo) appartenente allo stesso g(g(nodo)) dell'host corrente. E così via.
Alla fine, pur essendoci nella rete 256^4 (potenziali) nodi, la mappa di routes di ogni host deve contenere solo 256*4 nodi/gnodi.
Una mappa di questo tipo è implementata nella classe Map.
In particolare, la classe Map è una classe base. Per la rappresentazione della mappa delle routes che l'host corrente conosce per raggiungere i nodi e i g(nodi) si usa una sua derivata che è la classe MapRoute presente nel modulo route.

Distributed Computing

Un obiettivo che si prefigge Netsukuku è di essere un meccanismo di routing leggero, che possa essere eseguito da host con basse potenze di calcolo. Uno degli strumenti per raggiungerlo è il fatto che l'algoritmo di routing venga eseguito in modo distribuito. Questo si ottiene con l'implementazione di meccanismi di RPC (Remote Procedure Call).
Il modulo RPC mette a disposizione i meccanismi di base per la costruzione di un algoritmo distribuito.

Radar Scan and Neighbourhood Management

Ogni host deve saper rilevare la presenza di nodi vicini, cioè altri nodi nella sua stessa LAN. Questi sono i nodi che si possono raggiungere direttamente, i quali possono essere dello stesso nostro g(nodo) ma anche no (cioè l'host può essere un cosidetto border-node)
Deve inoltre fare una valutazione sulla qualità del link verso quel suo vicino. Al momento la metrica usata per questa valutazione è solo il RTT.
La gestione di questa problematica è affrontata nel modulo radar, che la gestisce facendo uso dei meccanismi di distributed computing implementati ne il modulo RPC. Vedi anche la pagina Funzionamento del Radar.
Il modulo radar ha la responsabilità di emettere segnali (eventi) che attivino le funzioni di altri moduli (come il modulo qspn) quando vengono rilevati nuovi vicini.

QSPN

TODO:
il modulo qspn
la classe hook
il modulo p2p ==> il modulo coord
branch networking-abstraction

Netsukuku/ita/notes (last edited 2009-05-24 08:05:51 by lukisi)