Elenco delle gure
1.1 Rete wireless con infrastruttura . . . 16
1.2 Rete ad hoc . . . 17
1.3 Rete ad hoc multihop . . . 17
1.4 Problema del nodo nascosto . . . 21
1.5 Problema del nodo esposto . . . 22
2.1 Formato messaggio Route Request . . . 29
2.2 Formato messaggio Route Reply . . . 31
2.3 Ricerca della rotta . . . 32
2.4 Formato messaggio Route Error . . . 33
2.5 Selezione cammino per RREP . . . 35
2.6 Inoltro pacchetti tradizionale . . . 38
2.7 Inoltro pacchetti con ottimizzazione multipoint relay . . . 38
2.8 Formato pacchetto OLSR . . . 39
2.9 Formato messaggio HELLO . . . 42
2.10 Procedura di scoperta dei vicini basata su scambio messaggi HELLO . . . 44
2.11 Formato messaggi TC . . . 45
3.1 Pila di protocolli . . . 49
3.2 Informazioni di stato ipotetiche su un nodo con nodeID 10233102, b=2 e l=8. Tutti i numeri sono in base 4 . . . 60
3.3 Routing di un messaggio dal nodo con ID 10233102 e aven- te chiave 23302121 (con riferimento alla tabella di routing di gura 3.2) . . . 62
151
ELENCO DELLE FIGURE
4.1 Flussi di comunicazione in una pila di protocolli . . . 68
4.2 Collocazione modulo NeSt nella pila di protocolli . . . 72
4.3 Interazione cross-layer tra il livello middleware e il livello routing 74 5.1 Routing a livello middleware e network . . . 81
5.2 Interazione cross-layer tra CrossROAD e protocollo di routing 82 5.3 Architettura software CrossROAD . . . 83
5.4 Architettura software CrossROAD e schema delle interazioni tra i suoi packages . . . 84
6.1 Struttura generale UniK OLSR . . . 88
6.2 Struttura Socket Parser . . . 89
6.3 Esempio uso OLSR per inoltrare in brodcast messaggi applicativi 94 6.4 Interazioni possibili tra un plugin e i vari moduli che costituiscono UniK OLSR . . . 99
7.1 Interazioni cross-layer tra middleware e routing attraverso XL-plugin . . . 105
7.2 Architettura sistema . . . 106
7.3 Creazione di un thread server glio per ogni istanza di CrossROAD . . . 108
7.4 Relazione tra istanze di CrossROAD e thread server di XL-plugin109 7.5 Interazione tra applicazioni, CrossROAD, XL-plugin e UniKOLSR . . . 111
7.6 Struttura dati LOCAL SERVICES . . . 113
7.7 Struttura dati GLOBAL SERVICES . . . 115
7.8 Struttura dati WAIT FOR SERVICES . . . 119
7.9 Struttura dati ALIVE THREADS . . . 120
7.10 Formato messaggio Publish Service . . . 122
7.11 Formato messaggio Disconnect Service . . . 124
7.12 Struttura messaggio Lookup Service . . . 125
7.13 Struttura messaggio Alive . . . 126
7.14 Struttura messaggio Result . . . 127
7.15 Struttura messaggio Error . . . 127 152
ELENCO DELLE FIGURE
7.16 Formato messaggio XL-plugin . . . 128
7.17 Scrittura XL-plugin nel buer condiviso con il demone del routing . . . 129
7.18 Struttura dati INTERNAL EVENTS . . . 132
8.1 Mappa dell'edicio in cui abbiamo svolto gli esperimenti . . . 136
8.2 Topologia rete MANET utilizzata negli esperimenti . . . 138
8.3 CrossROAD: Throughput riferito ai nodi principali . . . 140
8.4 Pastry: throughput riferito ai nodi principali . . . 142
8.5 Topologia per studiare partizionamento della rete . . . 144
8.6 Reazione di CrossROAD ad un partizionamento della rete . . 145
153
ELENCO DELLE FIGURE
154