Indice
INTRODUZIONE 7
1 RETI WIRELESS 13
1.1 Classicazione reti wireless . . . 15
1.2 Breve introduzione allo standard IEEE 802.11 . . . 19
2 PROTOCOLLI DI ROUTING 25 2.1 Classicazione . . . 26
2.2 Il protocollo AODV . . . 28
2.2.1 Ricerca delle rotte . . . 29
2.2.2 Eventi di disconnessione . . . 32
2.2.3 Ottimizzazioni . . . 34
2.3 Il protocollo OLSR . . . 35
2.3.1 La tecnica dei multipoint relay . . . 37
2.3.2 Formato dei pacchetti . . . 39
2.3.3 Mantenimento delle informazioni di stato . . . 41
2.3.4 Procedura di scoperta dei vicini . . . 42
2.3.5 Distribuzione dell'informazione di stato . . . 45
2.3.6 Calcolo della tabella di routing . . . 47
2.4 Confronto tra OLSR e AODV e conclusioni . . . 48
3 IL LIVELLO MIDDLEWARE 49 3.1 I sistemi P2P: oltre il modello client-server . . . 52
3.1.1 Classicazione dei sistemi P2P . . . 55
3.1.2 Analogie tra sistemi P2P e reti ad hoc . . . 56 3
INDICE
3.2 Pastry . . . 56
3.2.1 Informazioni di stato . . . 59
3.2.2 Routing dei messaggi . . . 61
3.2.3 Ingresso e uscita dalla rete . . . 62
4 ARCHITETTURA CROSS-LAYER 67 4.1 Esempi di soluzioni cross-layer . . . 70
4.2 Network Status - NeSt . . . 71
4.3 Interazioni middleware-routing . . . 73
5 CrossROAD - CROSS-layer Ring Overlay for AD Hoc Networks 77 5.1 Struttura software di CrossROAD . . . 82
6 ARCHITETTURA UniK OLSR 87 6.1 Il modulo Socket Parser . . . 88
6.2 Il modulo Packet Parser . . . 90
6.3 Informazioni di stato . . . 91
6.4 Il modulo schedulatore . . . 91
6.5 Funzionamento di base . . . 92
6.6 Estendere il protocollo: i plugin . . . 94
6.6.1 Caricamento plugin . . . 95
6.6.2 L'interfaccia dei plugin . . . 98
6.6.3 Un esempio di plugin: power-status . . . 100
7 ARCHITETTURA XL-plugin 103 7.1 XL-plugin e architettura multithread . . . 106
7.2 Strutture dati locali . . . 113
7.2.1 LOCAL SERVICES . . . 113
7.2.2 GLOBAL SERVICES . . . 114
7.2.3 WAIT FOR SERVICES . . . 118
7.2.4 ALIVE THREADS . . . 120
7.3 Formato dei messaggi scambiati tra CrossROAD e XL-plugin . 122 7.3.1 Publish Service . . . 122
4
INDICE
7.3.2 Disconnect Service . . . 123
7.3.3 Lookup Service . . . 124
7.3.4 Alive . . . 125
7.3.5 Result . . . 126
7.3.6 Error . . . 127
7.4 Formato dei nuovi tipi di messaggio inviati verso la rete . . . . 127
7.5 Parsing dei nuovi tipi di messaggio ricevuti dalla rete . . . 130
7.6 Eventi interni a XL-plugin . . . 131
8 TEST E RISULTATI 135 8.1 Ambiente di sperimentazione . . . 136
8.2 Verica funzionale . . . 138
8.3 Misure di throughput e ritardi . . . 140
8.4 Gestione del partizionamento della rete . . . 143
9 CONCLUSIONI 147
ELENCO DELLE FIGURE 151
ElENCO DELLE TABELLE 154
BIBLIOGRAFIA 156
5
INDICE
6