I
Indice
Indice ... I
Prefazione ... 1
Introduzione ... 3
1.
Wireless Mesh Networks ... 7
1.1 Aspetti generali ... 7
1.1.1 Architettura di rete ... 9
1.1.2 Caratteristiche delle WMN ... 12
1.1.3 Scenari applicativi ... 18
1.2 Progettazione cross-layer ... 21
1.3 Inquadramento nella pila protocollare ... 23
1.4 WMN basate su standard IEEE 802.11 ... 28
1.5 Routing nelle reti mesh ... 32
1.5.1 Classificazione dei protocolli ... 33
1.5.2 Caratteristiche ... 36
1.5.3 Tecniche di routing ... 38
1.5.4 Metriche ... 39
1.5.4.1 Requisiti ... 40
1.5.4.2 Panoramica delle principali metriche ... 42
II
1.6.1 Assegnazione dei canali basata sulla topologia ... 47
1.6.2 Assegnazione dei canali basata sul livello di traffico ... 48
1.6.3 Assegnazione dinamica dei canali ... 48
1.6.4 Scelte architetturali ... 50
1.6.5 Prestazioni ... 52
1.7 Problematiche del livello di trasporto ... 53
1.8 Attività di standardizzazione ... 54
2.
Lo standard IEEE 802.11s ... 57
2.1 Introduzione: stato dei lavori e obiettivi ... 57
2.1.1 Outline dello standard ... 61
2.2 Overview delle WLAN Mesh ... 63
2.2.1 Componenti dell’architettura ... 63
2.2.2 Modello protocollare ... 67
2.2.3 Internetworking ... 68
2.3 Formato dei frame ... 70
2.3.1 Formato generale dei frame ... 70
2.3.2 Formato individuale dei frame ... 73
2.3.2.1 Frame di Management ... 74
2.3.2.2 Frame Extended ... 75
2.3.3 Information Element ... 77
2.3.4 Formato dei Mesh Management Action Frame ... 77
2.4 Sequenza di avvio di un MP ... 79
2.5 Mesh Discovery e creazione dei link ... 80
2.5.1 Procedura di Discovery ... 81
2.5.2 Selezione del canale ... 82
2.5.3 Creazione dei link ... 86
2.6 Path Selection Protocol e inoltro dei frame ... 90
2.6.1 Airtime metric ... 92
2.6.2 Inoltro dei frame ... 93
2.6.2.1 Inoltro dei frame unicast ... 94
2.6.2.2 Inoltro dei frame broadcast ... 97
III
2.7.1 Routing on-demand ... 100
2.7.2 Routing preventivo tree-based ... 103
2.7.2.1 Meccanismo basato sui Proactive RREQ ... 104
2.7.2.2 Meccanismo basato sui RANN ... 106
2.7.3 Mantenimento e ottimizzazione ... 107
2.7.4 Gestione delle stazioni 802.11 ... 108
2.7.5 Scenario applicativo ... 111
2.8 MAC enhancement ... 113
3.
Implementazione di 802.11s ... 115
3.1 Obiettivi e descrizione del progetto ... 115
3.2 Strumenti ... 120
3.3 Architettura funzionale ... 126
3.4 Considerazioni e limitazioni ... 131
3.5 Internetworking ... 133
3.6 Informazioni locali ... 136
3.7 Gestione delle stazioni ... 138
3.8 Il problema del broadcast ... 139
3.9 Instaurazione della comunicazione ... 143
3.10 Formazione della topologia ... 153
3.10.1 Discovery ... 153
3.10.2 Misura della qualità dei link ... 156
3.10.3 Selezione del canale: supporto al multi-channel ... 156
3.11 Tree-based routing ... 159
3.11.1 Creazione dell’albero ... 161
3.11.2 Procedura di ottimizzazione ... 162
3.11.3 Procedura di mantenimento ... 166
3.11.4 Problemi e limiti del protocollo ... 168
3.12 Protocollo per la gestione dei Proxy ... 170
IV
4.
Architettura e sviluppo del software ... 175
4.1 Aspetti generali ... 175
4.1.1 Descrizione dei file sorgenti ... 176
4.1.2 Moduli funzionali del programma ... 178
4.2 Avvio del programma ... 180
4.2.1 Controllo da parte dell’utente ... 181
4.2.2 Modalità operative ... 183
4.2.3 Main ... 184
4.3 Le tabelle ... 187
4.3.1 I semafori ... 195
4.3.2 Mantenimento delle tabelle ... 197
4.4 Implementazione dei timer ... 197
4.5 Threads ... 199
4.6 Gestione degli eventi ... 203
4.7 Ricezione dei messaggi ... 210
4.8 Trasmissione dei messaggi ... 215
4.9 Creazione della topologia e gestione dei vicini ... 218
4.10 Routing tree-based ... 225
4.11 Gestione dell’albero ... 235
4.12 Stazioni e proxy update ... 236
4.13 Gestione del bridge ... 241
4.14 Configurazione del router nel MPP ... 243
4.15 Note funzionali: gestione della memoria ... 245
4.16 Requisiti del software ... 245
4.17 Sviluppi futuri ... 246
V
5.1 Obiettivi e considerazioni ... 251
5.2 Strumenti e scenario ... 253
5.3 Avvio del software ... 255
5.4 Gestione degli eventi: timer_queue ... 258
5.5 Trasmissione e ricezione dei messaggi ... 260
5.6 Formazione della topologia ... 263
5.7 Routing tree-based e gestione dell’albero ... 266
5.7.1 Test con 4 nodi ... 282
5.8 Test recupero connettività ... 285
5.9 Gestione delle stazioni e Proxy Update ... 292
5.10 Test del piano dati ... 301