Sei sulla pagina 1di 123

Universit` degli Studi Mediterranea di Reggio Calabria a Facolt` di Ingegneria a

Corso di Laurea in Ingegneria delle Telecomunicazioni Dipartimento di Informatica, Matematica, Elettronica e Trasporti

Tesi di Laurea

Proposta di un algoritmo per il risparmio energetico per reti Mesh-802.11

Relatore
Prof. Giuseppe Ruggeri

Candidato
Francesco Samuele Zema

Correlatore
Ing. Stefano Yuri Paratore

Anno Accademico 2009-2010

II

Alla mia famiglia.

Indice

Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Le Wireless Mesh Network e il risparmio energetico . . . . . . . . . . . . 1.1 Wireless Mesh Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.1 Architettura di una Wireless Mesh Network . . . . . . . . . . . . . . . . 1.1.2 Caratteristiche di una Wireless Mesh Network . . . . . . . . . . . . . 1.2 Il problema del risparmio energetico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 Il risparmio energetico nelle reti Mesh . . . . . . . . . . . . . . . . . . . . . Il power saving negli standard IEEE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Il protocollo 802.11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1 Power management in una WLAN con infrastruttura . . . . . . . 2.1.2 Power management in una WLAN ad hoc (IBSS) . . . . . . . . . . . 2.2 Hiperlan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Power Saving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 IEEE 802.16e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1 Messaggi e parametri di Power Saving . . . . . . . . . . . . . . . . . . . . 2.3.2 Power Saving Class di Tipo I . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.3 Power Saving Class di Tipo II . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.4 Power Saving Class e modalit a basso consumo energetico . . a Lo standard 802.11s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Descrizione generale dello standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 Componenti dellarchitettura . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2 Modello protocollare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.3 Internetworking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Frame in 802.11s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Formato generale dei frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.2 Formato individuale dei frame . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.3 Information Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.4 Formato dei Mesh Management Action Frame . . . . . . . . . . . . . 3.2.5 Sincronizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.6 Airtime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 3 3 4 6 7 8 11 11 12 15 16 18 21 21 22 23 24 27 27 27 29 30 31 31 33 35 36 37 38

VI

Indice

3.3 Power 3.3.1 3.3.2 3.3.3 3.3.4 4

Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Approccio Base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Inizializzazione del power management allinterno di una mesh Transizione nello stato power save . . . . . . . . . . . . . . . . . . . . . . . . Trasmissione dei frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38 39 40 40 41 43 43 43 45 45 45 45 47 48 48 51 55 56 57 58 59 61 61 63 69 69 69 70 70 71 71 72 73 73 74 74 76 78 79 80 81 82 84 84

Nuove proposte per il Power Saving . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Miglioramenti al PSM 802.11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.1 Bounded-Slowdown (BSD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.2 Smart Power-Saving Mode (SPSM) . . . . . . . . . . . . . . . . . . . . . . . 4.1.3 Algoritmo Dynamic Beacon Period (DBP) . . . . . . . . . . . . . . . . . 4.2 Power Management in WLAN generiche . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.1 Power Management per applicazioni non Real-Time . . . . . . . . 4.2.2 Power Management per applicazioni Real Time . . . . . . . . . . . . 4.3 Power Saving access point per wireless lan 802.11 . . . . . . . . . . . . . . . . . 4.3.1 Power saving access point IEEE 802.11 (PSAP) . . . . . . . . . . . . 4.3.2 Frame Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Power Saving a infrastruttura condivisa per le reti Mesh 802.11s ad energia solare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.1 Copertura con Access point multipli . . . . . . . . . . . . . . . . . . . . . . 4.4.2 Algoritmi di power saving a infrastruttura condivisa . . . . . . . . 4.4.3 PLAS: Persistent Load Balancing e Awakening/Sleeping . . . . . 4.4.4 LAS: Load Distribution e Awakening/Sleeping . . . . . . . . . . . . . 4.5 Ant Colony . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.1 Ant colony optimization (ACO) . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.2 Multiple Ant Colony Optimization (MACO) . . . . . . . . . . . . . . . Congurazione di un nodo mesh 802.11s tramite OpenWrt. . . . . . 5.1 Il router mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.1 Componenti del router mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.2 Lassemblaggio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Il sistema operativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.1 OpenWrt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.2 La struttura del sistema base . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.3 La compilazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.4 Moduli per limplementazione dellalgoritmo . . . . . . . . . . . . . . . 5.3 Applicazioni usate per limplementazione dellalgoritmo di PS . . . . . . 5.3.1 I wireless-tools e le wireless extension . . . . . . . . . . . . . . . . . . . . . 5.3.2 Il comando iw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.3 Le iptables e la gestione del rewall . . . . . . . . . . . . . . . . . . . . . . . 5.3.4 Eettuare stime sul canale: il tool Wprobe . . . . . . . . . . . . . . . . . 5.4 Congurazione dei nodi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.1 Congurazione a livello due . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.2 Congurazione a livello tre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.3 Congurazione del rewall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.4 Congurazione del Nat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5 I socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Indice

VII

5.5.1 Tcl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5.2 Socket lato client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5.3 Socket lato server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6 PCI Power Management Specication . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6.1 Pciutils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

85 86 87 88 89

Progettazione e implementazione di un algoritmo di Power Saving per un nodo mesh-802.11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 6.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 6.2 Algoritmo di power saving per un nod mesh-802.11 . . . . . . . . . . . . . . . 92 6.3 Scambio di messaggi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 6.4 Implementazione lato client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 6.4.1 Comunicazione tramite Socket . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 6.4.2 AP nd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 6.4.3 Deassociazione riassociazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 6.5 Implementazione lato Access point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 6.5.1 Comunicazione tramite Socket . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 6.5.2 Controllo della soglia e avvio della procedura di spegnimento 99 6.5.3 Airtime del nodo vicino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 6.5.4 Deallocazione/riallocazione dei client . . . . . . . . . . . . . . . . . . . . . . 101 6.5.5 Spegnimento della scheda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 6.5.6 Creazione e rimozione del virtual access point . . . . . . . . . . . . . . 103 6.6 Valutazioni qualitative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 6.6.1 Saturazione del nodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 6.6.2 Risparmio globale di rete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

Riferimenti bibliograci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

Elenco delle gure

1.1 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 4.1 4.2 4.3

Esempio di architettura Hybrid Wireless Mesh Network . . . . . . . . . . . . Procedura di accesso al canale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Power management nelle BSS con infrastruttura. . . . . . . . . . . . . . . . . . . Power management in una IBSS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Power management in una IBSS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Power Saving Class di Tipo I. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Power Saving Class di Tipo II. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Esempio di operazioni sleep mode con una sola Power Saving Class. . Esempio di operazioni sleep mode con due Power Saving Class. . . . . . . Esempio di operazioni sleep mode con tre Power Saving Class. . . . . . . Architettura classica di una WLAN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Architettura e componenti di una wireless mesh network secondo lo standard IEEE 802.11s. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Suddivisione funzionale dei componenti di unarchitettura mesh basata su standard IEEE 802.11s. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modello di connettivit nella rete mesh. . . . . . . . . . . . . . . . . . . . . . . . . . . a Internetworking tra la rete mesh e reti 802. . . . . . . . . . . . . . . . . . . . . . . . Formato generale della trama IEEE 802.11. . . . . . . . . . . . . . . . . . . . . . . . Formato del campo Mesh Header. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Schema dei nuovi tipi di frame utilizzati dallo standard IEEE 802.11s. Campi contenuti in un frame di tipo Beacon. . . . . . . . . . . . . . . . . . . . . . Formato dellInformation Element WLAN Mesh Capability. . . . . . . . . . Formato di un frame di tipo Mesh Management. . . . . . . . . . . . . . . . . . . Formato del campo Mesh Action. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Formato dellelemento DTIM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Formato dei Mesh Management Action Frame. . . . . . . . . . . . . . . . . . . . .

5 12 14 15 17 23 24 25 25 25 28 29 30 30 31 32 32 33 34 34 35 35 36 36

Evoluzione del PSM e BSD con p=0.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Esempio di wireless LAN power saving. . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Operazioni temporali del PSAP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Elenco delle gure

4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 5.1 5.2 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9

Esempi di linee temporali di frame SR con dierenti posizioni del beacon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Esempi di diverse linee temporali di frame SR con uguale CP. . . . . . . . Esempi di linee temporali di frame RS con dierenti posizioni del beacon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Esempi di diverse linee temporali di frame RS con uguale CP. . . . . . . . Esempi di linee temporali di frame SRS con dierenti posizioni del beacon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nodi mesh con area di copertura condivisa. . . . . . . . . . . . . . . . . . . . . . . . Esempio di ACO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tutte le formiche cominciano a muoversi. . . . . . . . . . . . . . . . . . . . . . . . . . Ab1 sceglie il suo percorso di ritorno. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ab1 sceglie nuovamente R2 mentre Ar1 ` arrivata in Fo . . . . . . . . . . . . . e Ar1 sceglie R3 mentre Ab2 e Ar2 stanno scegliendo il proprio percorso di ritorno. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ab2 sceglie R2 e Ar2 sceglie R3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instaurazione delle connessioni da parte degli agenti mobili. . . . . . . . . . MAG1 e MAG2 stabiliscono dierenti connessioni. . . . . . . . . . . . . . . . . .

51 52 53 53 54 56 61 64 64 65 65 66 66 67

Primi 3 livelli ISO/OSI del Nodo Mesh. . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Componenti del sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Tutti i client del MAP1 sono in copertura rispetto al MAP2. . . . . . . . . 93 Non tutti i client del MAP1 sono in copertura rispetto al MAP2. . . . . 94 Messaggi scambiati tra i nodi e i client. . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Consumo di potenza del nodo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Massimo bit rate sullinterfaccia ap. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Analisi delle perdite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Caso 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Caso 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Consumo di potenza al variare del carico. . . . . . . . . . . . . . . . . . . . . . . . . . 106

Elenco delle tabelle

2.1 2.2 2.3 2.4 3.1 3.2 3.3 5.1 5.2 5.3 5.4 5.5

Modalit Power Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a Valori validi per i parametri del PSM Hiperlan. . . . . . . . . . . . . . . . . . . . Parametri rilevanti per la Power Saving Class di Tipo I . . . . . . . . . . . . Parametri rilevanti per la Power Saving Class di Tipo II . . . . . . . . . . . .

12 20 23 24

Tipi di frame introdotti dallo standard IEEE 802.11s. . . . . . . . . . . . . . . 32 Principali tipi di Action Frame introdotti dallo standard IEEE 802.11s. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Costanti airtime. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Opzioni iptables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Catene di controllo iptables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Azioni iptables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Output wprobe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transizioni di stato PCI PM Spec. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 78 78 80 89

Introduzione

Nellultimo decennio le Wireless Local Area Network (WLANs) stanno diventando onnipresenti e si aermata la necessit di garantire laccesso alla rete internet e a in qualsiasi luogo. Da quando l802.11n ` diventato un emendamento nale sono e possibili velocit superiori ai 600 Mb/s. Il raggio di trasmissione diventato un a e fattore limitante poich i canali sono limitati rispettivamente a 20Mhz e 40Mhz e la e potenza di trasmissione non pu superare i 100mW. Quindi per le tecnologie 802.11 o la distribuzione capillare di Access Point (AP) necessaria per soddisfare il bisogno e di connessione onnipresente ad alta velocit. a Per linterconnessione gli AP si poggiano su una dorsale ssa: mentre gli AP sono economici, una distribuzione suciente dellinfrastruttura cablata molto costosa. e Un primo passo per superare la barriera dei costi di collegare gli AP mediante e link wireless. Le reti wireless mesh orono una forte riduzione dei costi dellinfrastruttura per reti di accesso che si estendono anche no a centinaia di chilometri quadrati riducendo luso di costosi punti di accesso cablati. Inoltre luso di AP multipli e ridondanti garantisce unalta tolleranza ai guasti; in caso di nodo danneggiato, il traco pu essere dirottato verso altri nodi in maniera trasparente allutente. o Il principale costo delle congurazioni di wireless LAN mesh network riguarda lalimentazione dei nodi con energia elettrica, sia per il consumo di potenza che per il collegamento del nodo con la rete elettrica. Questo avviene soprattutto in zone Wi-Fi hot, dove la copertura WLAN fornita su estese zone allaperto. Lidea di alimentare e un nodo con energia solare pu risolvere il problema della connessione del nodo o stesso alla rete elettrica, ma passare da unalimentazione cablata a unalimentazione ad energia solare implica una gestione eciente dellenergia: un nodo alimentato ad energia solare nelle ore notturne dovr essere alimentato da una batteria che si a caricher nelle ore diurne. Da qui nasce lesigenza di applicare ecienti politiche di a power saving ai nodi di rete mesh. Nel creare un algoritmo per il risparmio energetico si devono considerare vari fattori. Analizzando la topologia di una rete mesh emerge che non tutti i nodi svolgono la stessa funzione, e quindi non si possono applicare a tutti i nodi le stesse politiche di power saving. I nodi che fanno solo da relay devono essere gestiti in maniera dierente rispetto ai nodi che fanno sia da relay che da access point.

Introduzione

Il protocollo 802.11s prevede dei meccanismi di power saving per i nodi meshnon AP, ma non implementa nessuna politica di risparmio energetico per gli access point. Lobiettivo di questa tesi ` di proporre un algoritmo eciente di power saving e per i nodi mesh-802.11. Nel primo capitolo vengono descritti i vantaggi che orono le reti mesh rispetto alle altre infrastrutture di rete focalizzando lattenzione sul risparmio energetico e sul perch cos importante applicare uneciente politica di power management. ee Nel secondo capitolo si fa una panoramica sugli attuali standard per reti wireless lan analizzando le soluzioni previste dai vari standard per il risparmio energetico. Nel terzo capitolo sono state raccolte le pi interessanti proposte per il power u saving fatte negli ultimi anni, dierenziando i dierenti tipi di approccio: dai miglioramenti allo standard 802.11 a tecniche euristiche per un bilanciamento del carico adattativo. Nel quarto capitolo viene illustrato il funzionamento dello standard 802.11s, approfondendo in particolar modo gli aspetti collegati al power saving. Nel quinto capitolo si descrive il prototipo usato per limplementazione dellalgoritmo e come creare un rmware adatto allarchitettura embedded usata. Inne, nel sesto capitolo viene descritto lalgoritmo di power saving proposto. Si analizzeranno tutte le problematiche connesse allimplementazione di politiche di power saving e alla gestione dei client collegati al nodo attraverso linterfaccia access point.

1 Le Wireless Mesh Network e il risparmio energetico

Questo capitolo fornisce un analisi delle caratteristiche fondamentali delle reti wireless mesh. In particolare verranno descritti i vantaggi che orono le reti mesh rispetto alle altre infrastrutture di rete focalizzando lattenzione sul risparmio energetico e sul perch cos importante applicare uneciente politica di power management. ee

1.1 Wireless Mesh Network


Le WMN sono il risultato di un insieme di nodi ssi e mobili interconnessi tramite link wireless, a formare una topologia multi-hop. Rispetto alle reti ad-hoc multi-hop, gi ampiamente diuse, le WMN dieriscono da queste per la presenza di uninfraa struttura di rete pi` adabile, rappresentata tipicamente da nodi ssi connessi tra u loro per costituire un sistema di distribuzione wireless. Nelle reti mesh i dispositivi terminali degli utenti hanno parte attiva nella rete: accedono dinamicamente alla rete fungendo sia da end-users sia da router per altri dispositivi con conseguente aumento dellarea di copertura della rete. Oltre al modello di comunicazione multihop, unaltra caratteristica peculiare delle WMN la capacit di operare sia indipendentemente che come estensione di e a una infrastruttura di rete esistente. Infatti i mesh router possono essere collegati come mesh-gateway ad una rete ssa, che, ad esempio, pu fornire laccesso ad o Internet; in un contesto 802.11 un mesh router pu essere congurato su uno o o pi AP che realizzano le rispettive WLAN, collegandole fra loro. Questa propriet u a congura le WMN come una backbone di tipo wireless, in grado di collegare reti diverse tra loro. Soluzioni pratiche portate avanti grazie allimpiego di WMN hanno contribuito a migliorare i servizi di pubblica utilit (dai sistemi mirati al potenziamento a dei trasporti no alla sicurezza personale), hanno fornito accesso wireless in localit dicilmente raggiungibili da strutture cablate o si sono rivelate estremamente a ecienti per lo studio di fenomeni ambientali in termini di impatto sullambiente. Il protocollo 802.11 standard include meccanismi che possono essere utilizzati dalle stazioni terminali per ridurre il proprio consumo di potenza. Queste tecniche operano a livello MAC e permettono alle stazioni di spegnere la propria interfaccia radio e i relativi componenti elettronici per periodi di tempo estesi. Lo standard

1 Le Wireless Mesh Network e il risparmio energetico

IEEE 802.11 include meccanismi PS per le stazioni terminali ma non prevede ecienti meccanismi power saving per gli access point. Il costo di un nodo mesh pu o dipendere fortemente dal costo relativo allalimentazione, pannello solare o batteria, per cui ridurre il consumo energetico molto importante e pu rendere la tecnoloe o gia mesh ancora pi versatile e maggiormente utilizzabile in contesti extra-urbani o u particolarmente disagiati dove non possibile avere alimentazione da rete elettrica. e 1.1.1 Architettura di una Wireless Mesh Network Svariate tipologie di reti wireless mesh sono state concepite dal mondo accademico ed industriale; nonostante ci le caratteristiche chiave che distinguono una WMN o rispetto a qualsiasi altra tipologia di rete sono facilmente identicabili. Una WMN ` una rete completamente wireless che utilizza una comunicazione di tipo multihop e per inviare il traco tra i nodi appartenenti alla rete [43]. Tipicamente una WMN consiste di due tipi di nodi: mesh router e mesh client. Il ruolo principale dei mesh router ` di connettere un nodo al resto della rete mesh e e di fornire laccesso broadband wireless a client convenzionali. Per una maggiore essibilit possono avere pi interfacce radio, della stessa tecnologia di accesso o a u di tecnologie dierenti. Un mesh router, inoltre, pu incorporare funzionalit di o a gateway o bridge per comunicare con altri tipi di reti esterne alla mesh, a livello tre o a livello due. Anche i mesh client possono operare come mesh router, tuttavia tipicamente utilizzano piattaforme hardware e software pi semplici rispetto ai mesh router, da u cui ne deriva un costo minore. Tipicamente implementano funzionalit minime di a routing, non hanno funzionalit di bridge o gateway ed hanno una singola interfaccia a radio. Le architetture per una WMN possono essere individuate in tre grandi gruppi in base alle funzionalit dei nodi. a Hierarchical Wireless Mesh Networks: questa architettura ` costituita da e entrambe le tipologie di nodi, mesh router e mesh client. I mesh router tipicamente hanno una mobilit minima e sono connessi tra di loro da link wireless a formando uninfrastruttura di backbone per i client. I mesh router svolgono tutte le funzionalit di routing, autocongurazione della rete e recupero della a connettivit in caso di guasti. Inoltre tipicamente c` almeno un mesh router con a e funzionalit di gateway per permettere ai client laccesso alle reti esterne, come a Internet, o reti di diverse tecnologie. La dorsale pu essere costruita utilizzando o tecnologie eterogenee, come IEEE 802.11 e IEEE 802.16, interfacciate tra loro tramite appositi gateway concentrati nei punti di connessione alle reti cablate o nei mesh router stessi. Dal punto di vista progettuale ci sono due approcci possibili per costruire una tale architettura. Uno ` di progettare accuratamente e il layout della rete, come ad esempio il posizionamento esatto dei mesh router e il tipo di antenne da utilizzare. Laltro, detto unplanned, ` pi spontaneo e e u casuale, nel senso che non viene progettata la topologia di rete. Ovviamente nel primo caso, a fronte di un maggiore studio progettuale e una minore essibilit, a si riescono ad ottenere prestazioni ed adabilit maggiori, in quanto si conoscoa no a priori i link della rete mesh ed ` possibile utilizzare tecniche aggiuntive per e incrementare le prestazioni, come lutilizzo di antenne direzionali. Questo tipo

1.1 Wireless Mesh Network

di infrastruttura ` la pi comune e diusa per i suoi vantaggi e la sua praticit. e u a Infatti, in questo scenario i client non necessitano di particolari funzionalit mea sh e possono interfacciarsi direttamente con i mesh router della stessa tecnologia radio. Flat Wireless Mesh Networks: in questo tipo di architettura il client rappresenta lunica entit della rete e svolge allo stesso tempo le funzionalit di mesh a a router. La concezione ` simile a quella di una rete ad hoc multi-hop, dove non e ` presente una backbone di trasporto comune. I client stessi implementano le e funzionalit di routing, inoltro dei dati e congurazione della rete. Tipicamente a tutti i nodi utilizzano la stessa tecnologia radio. La complessit di un nodo in a questo tipo di infrastruttura ` molto superiore a quella di una WMN struttue rata, in termini di elaborazione e funzionalit implementate a livello software e a hardware. Inoltre le prestazioni sono in genere inferiori poich tipicamente un e utente nale ` provvisto di un solo modulo radio e condivide le risorse siche e sia per la propria comunicazione che per quelle degli altri nodi. Il vantaggio ` e quello di una maggior essibilit in scenari applicativi dove ` richiesta unelevata a e mobilit. a Hybrid Wireless Mesh Networks: questo tipo di architettura combina entrambe le precedenti architetture, gerarchica e at. In questo caso i client possono accedere alla rete sia attraverso i mesh router sia attraverso gli altri client. Allo stesso tempo, linfrastruttura di backbone rende possibile la connettivit con a altre reti esterne, come WiFi, WiMax, WPAN ed altre WMNs. Questo scenario ` forse il pi essibile in quanto permette di incrementare la connettivit e la coe u a pertura allinterno della WMN. La Figura 1.1 illustra un esempio di architettura ibrida, che riassume in se entrambe le architetture precedenti.

Figura 1.1. Esempio di architettura Hybrid Wireless Mesh Network

1 Le Wireless Mesh Network e il risparmio energetico

1.1.2 Caratteristiche di una Wireless Mesh Network Larchitettura di rete illustrata presenta una serie di vantaggi sia lato utente che lato vendor, tra i quali possono essere ricordati: Riduzione dei costi di installazione Attualmente gli sforzi per fornire accesso Internet wireless al di l dei vincoli delle a Wireless Local Area Network (WLAN) indoor hanno portato a soluzioni basate sullimpiego di hot spot Wi-Fi, ovvero aree servite da singole WLAN o reti di WLAN, in cui gli utenti accedono alla rete Internet attraverso Access Point (tipicamente IEEE 802.11). Per garantire copertura in ampie aree necessario installare un alto e numero di Access Point, a causa dei limiti di propagazione del segnale radio. Lo svantaggio di questa soluzione linaccettabile aumento dei costi di installazione, e dovuto alla necessit di connettere alla rete backbone ogni singolo Access Point a mediante connessioni cablate. In aggiunta, i ritardi dovuti alla creazione della rete cablata creano un rallentamento considerevole al completamento dellarea hot spot, con disagi da parte degli utenti nali. In denitiva, larchitettura hot spot risulta essere costosa, poco scalabile e lenta da realizzare. Al contrario, limpiego di una rete WMN consente la netta riduzione dei costi di cui sopra, in quanto solo un numero esiguo di dispositivi di rete (i Gateway) necessitano la connessione cablata verso la rete backbone. Dispiegamento su larga scala Attraverso luso di schemi di modulazione ad alta ecienza spettrale, si ` assistito e allaumento del data rate (standard IEEE 802.11a,g,n) in campo wireless. In realt, a ssata la potenza di trasmissione, tale aumento ha ridotto il raggio di copertura degli access point (maggiore la distanza dagli access point, minore ` il rate e e raggiungibile) rendendo necessaria linstallazione di ulteriori nodi di rete. Il fenomeno di picocellularizzazione descritto, comporta evidenti problemi di scalabilit, a specialmente in scenari outdoor. Al contrario, con limpiego di WMN il meccanismo di comunicazione multi-hop consente copertura di ampie distante, attraverso il passaggio da nodi intermedi. Adabilit a Il backbone wireless fornisce pi percorsi tra coppie di end-point, aumentando lau dabilit globale della rete senza creare colli di bottiglia allinterno della rete stessa. a In caso di guasti ai nodi o buchi di fading temporanei (causa ostacoli esterni o fenomeni di interferenza), lesistenza di pi percorsi permette di bypassare i link non u pi disponibili, il tutto in maniera autocongurante. u Autocongurazione Una delle caratteristiche fondamentali che motivano lo sviluppo di una WMN ` e la essibilit` e la facilit` di impiego. Lautomatizzazione della formazione della a a

1.2 Il problema del risparmio energetico

topologia, lautocongurazione e il ripristino automatico della connettivit` sono i a punti chiave di questa architettura. Ogni nodo in grado di rilevare ed instaurare la e connessione con gli altri nodi e adattarsi dinamicamente ai cambiamenti topologici necessari a garantire la connettivit` e massimizzare le prestazioni. a Interoperabilit` a Linteroperabilit` con altre tecnologie wireless e wired ` uno dei requisiti fondamena e tali che si voluto nello sviluppo di soluzioni wireless mesh. Ad esempio reti WMN e basate sulla tecnologia 802.11 devono essere compatibili con lo standard 802.11 nel senso che devono supportare sia la comunicazione con i comuni client WiFi sia con gli apparati che implementano funzionalit` mesh. Inoltre devono essere interoperaa bili con altre tecnologie wireless, come WiMax, ZigBee e reti cellulari, in unottica di convergenza delle reti. Questo obiettivo ` raggiunto attraverso lutilizzo di Gateway e che possono essere collocati nei nodi stessi o in un dispositivo centralizzato.

1.2 Il problema del risparmio energetico


Uno dei principali costi di alcune congurazioni di wireless LAN mesh network riguarda lalimentazione dei nodi con energia elettrica, sia per il consumo di potenza che per il collegamento del nodo con la rete elettrica [52]. Questo avviene soprattutto in zone Wi-Fi hot, dove la copertura WLAN fornita su estese zone allaperto. e Una delle soluzioni adottate di fornire potenza ai nodi tramite tecnologia Power e over Ethernet (PoE), che permette di alimentare apparecchiature utilizzando lo stesso cavo che le collega alla rete dati Ethernet. Tale tecnica molto utile allorch e e vi siano dicolt nel reperimento di fonti elettriche in prossimit della terminazione a a o anche per ridurre il numero di elementi e cavi, tuttavia richiede una connessione alla rete cablata che non sempre possibile. e Lalimentazione a batteria presenta delle forti limitazioni e tali dispositivi non stanno seguendo un progresso tecnologico rapido come le tecnologie relative ai computer e alla comunicazione. Quindi, luso di una batteria impone una gestione eciente della potenza in modo da prolungare il pi possibile la durata della batteria u stessa. Una valida alternativa di alimentare alcuni nodi mesh utilizzando fonti sostee nibili di energia, in particolare lenergia solare e eolica. Questo tipo di nodi pu o essere facilmente installato anche in siti dove lutilizzo dei convenzionali nodi mesh risulta problematico e rappresenta unottima soluzione per colmare il digital divide tra aree urbane e aree collinari e montane. Come ha evidenziato uno studio dellOsservatorio sulla banda larga [54], il tasso di penetrazione della banda larga in Italia ` ancora nettamente al di sotto dei e valori medi europei, soprattutto per quanto riguarda le aree rurali. La copertura e assicurata sul 97% del territorio di centri urbani con oltre 10 mila abitanti; questa percentuale comincia a scendere al 90% per i comuni tra i 2 e i 10 mila abitanti ed ancor pi bassa (70%) per la stragrande maggioranza dei comuni italiani, al di e u sotto dei 5 mila. A ci si collega una condizione generale di arretratezza e di dicile o sviluppo dei territori rurali, legata allisolamento e alle dicolt di informazione e a

1 Le Wireless Mesh Network e il risparmio energetico

aggiornamento delle imprese agricole. Il problema nasce dal fatto che per le grandi compagnie telefoniche gli investimenti necessari per le infrastrutture e i cablaggi sono onerosi e non comportano un suciente ritorno economico. Per assicurare il servizio la richiesta deve essere inoltrata attualmente da un numero minimo di utenti che per esclude gran parte dei comuni. o Tuttavia, anche in caso di alimentazione da pannello solare, rimane il problema legato alla presenza della batteria che nelle ore notturne dovr alimentare il nodo. a 1.2.1 Il risparmio energetico nelle reti Mesh I mesh router tipicamente non hanno limiti restrittivi riguardo alle potenze consumate. I client invece, a seconda dello scenario applicativo, possono avere dei limiti sulle potenze consumate, ad esempio nel caso di reti di sensori o nel caso di laptop in mobilit. Ci deve essere tenuto in considerazione alla base del progetto della rete a o mesh, non solo a livello hardware ma anche nella scelta della tecnologia radio utilizzata. Molti protocolli di livello MAC prevedono meccanismi di power management dedicati al controllo dellecienza energetica. Tuttavia tali meccanismi danno come risultato uno stato di compromesso tra ecienza della rete e consumo energetico e non sempre sono ecaci per le architetture WMN. Il controllo della potenza di trasmissione non mirato solo allecienza di utie lizzo delle risorse energetiche dei dispositivi ma inuenza direttamente anche le prestazioni di rete. Ad esempio, ridurre la potenza di trasmissione riduce il raggio di trasmissione e quindi la densit di nodi in visibilit diretta: in questo modo si a a riesce a ridurre il livello di interferenza globale e aumentare il throughput di ogni singolo nodo; allo stesso tempo per viene inuenzata la topologia provocando una o minore ridondanza della rete e quindi minore adabilit. Da ci appare evidente a o come il progetto di una soluzione WMN debba tenere conto in modo congiunto, in un approccio cross-layer, di problematiche in apparenza disomogenee che vanno dal livello di trasporto a livello sico. Problematiche relative al power saving in una rete mesh Optare per una infrastruttura green mesh alimentata a energia solare sta diventando unimportante questione da risolvere nel momento in cui si vuole mantenere la compatibilit con i protocolli precedenti [41]. In particolare, lasimmetria dei ruoli a tra gli access point e le stazioni terminali costringono gli AP a un consumo energetico maggior di quello necessario. Nel contesto del progetto SolarMESH [19], gli autori hanno studiato i dati sullilluminazione solare e sulla capacit dei pannelli solari in a relazione alla capacit delle batterie disponibili attualmente. Le conclusioni a cui si a ` arrivati nellarticolo sono comunque interessanti al di la del progetto specicato. In e aggiunta allobiettivo di rendere gli access point ad alimentazione solare compatibili con i protocolli ereditati, nel momento in cui si desidera rendere un nodo mesh a risparmio energetico si possono individuare altre tre principali sde tecniche: quella di fornire la QoS auspicata per una data stazione, quella di interagire ecacemente con la stazione in power saving modes, e quella di supportare la ricerca di nuovi access point e la mobilit delle stazioni. Limpatto delle nuove proposte sull802.11s a potrebbe avere un notevole impatto sugli access point mesh a energia rinnovabile.

1.2 Il problema del risparmio energetico

Tuttavia ci non toglie che in un prevedibile futuro, i dispositivi degli utenti saranno o probabilmente nodi IEEE 802.11 limitando in tal modo le opzioni a disposizione degli access point per risparmiare energia. Lidea di sviluppare reti mesh compatibili con i pre-esistenti transceivers IEEE 802.11 ` un tema costante e un ottimo studio su questo tema viene eettuato dale larticolo [17] che analizza gli sviluppi dello standard 802.11s. Nellarticolo viene presentata una proposta della Mesh Networks Alliance (MNA). Sebbene questa potrebbe non essere lesatta forma che lIEEE 802.11s prender, la proposta dellMa NA mostra una caratteristica signicativa che rende la tecnologia mesh attrattiva in determinati scenari low-cost. Nella situazione considerata si ha un transceiver radio e un singolo canale wireless su cui vengono eettuate tutte le operazioni. In tal modo si ` posto maggior e evidenza sugli aspetti temporali del problema, il MAC e lo scheduling. Lautore discute la necessit di eettuare le operazioni di relay durante i periodi contentiona free 802.11, ed elabora un Mesh Deterministic Access (MDA) che tiene conto di una gestione distribuita di accesso al mezzo. Lecienza multi-hop riscontrata ` e paragonabile a quella delle trasmissioni single-hop EDCA. Nellarticolo [18] si focalizza lattenzione su una combinazione di reti eterogenee, in particolare si prendono in considerazione una rete mesh wireless per il front-end e una rete backbone a bra ottica. La combinazione di queste due reti sembra essere unaccettabile sintesi di molti casi dove le tecnologie mesh vengono applicate in presenza di una infrastruttura di comunicazione gi sviluppata, come nel caso di a citt che possiedono gi sucienti cablaggi in bra ottica. In particolare lesempio a a considerato ` quello della rete WOBAN a San Francisco. Per poter competere con e le alternative esistenti, il servizio front-end oerto dalle reti mesh deve essere qualitativamente non inferiore a quello oerto da altre tecnologie di rete; ad esempio un problema ` quello delle performance per quanto riguarda il ritardo, che in una e rete come la WOBAN wireless mesh pu essere molto grande se confrontato alla o backbone ottica. Dopo unanalisi della comunit mesh esistente, gli autori studiano a le performance di ritardo di alcuni algoritmi di routing pensati per le reti mesh e confrontano i risultati con quelli ottenuti con la loro proposta di uno schema proactive delay/aware routing basato sullapprossimazione del ritardo nella rete tramite un modello di code. Nonostante la forte attrattiva verso le reti wireless mesh, la prospettiva di avere in futuro una combinazione di vari protocolli di rete wireless ereditati sembra una prospettiva plausibile. Lo scopo del progetto europeo chiamato WINNER ` di pore tare sotto un unico ombrello una rete che, oltre a fornire i classici servizi di rete, sia in grado di interoperare con con numerosi sistemi wireless ereditati (Gsm, Umts, Wlan etc). Nellarticolo [16] si focalizza lattenzione sulle implicazioni delladmission contro che tali interoperazioni creano. Essenzialmente appare inevitabile che nellinteresse di ospitare i protocolli ereditati allinterno di una vasta rete logica, le connessioni sono costrette a risentire di una degradazione della QoS come risultato degli sforzi della rete a gestire le varie connessioni. Per cui c` bisogno di incorporare e modalit di ripristino della QoS di connessioni degradate per ridurre i disagi causati a allutente nale.

10

1 Le Wireless Mesh Network e il risparmio energetico

Proposte per il power saving Negli ultimi anni sono state proposte varie soluzioni per il problema del risparmio energetico; possiamo, in generale, raggruppare le varie proposte in tre categorie [58]: Transmission Power Control : Nelle comunicazioni wireless, la potenza di trasmissione ha un forte impatto sul bit error rate, sul rate di trasmissione e sullinterferenza inter-radio. Il controllo di potenza pu essere utilizzato per ridurre o le interferenze ed aumentare il throughput a livello MAC [46]. La tecnica con la quale assegnare la potenza di trasmissione ad ogni host mobile cos da de terminare la migliore topologia di rete ` nota come topology control [10]. In e altri articoli si ` studiato come incrementare il throughput di rete adattando la e potenza di trasmissione [2]. Power-aware routing: I protocolli di routing power-aware hanno come obiettivo di smistare il traco tra i vari nodi in modo da ottimizzare il consumo di potenza dei nodi stessi. Sono stati proposti vari algoritmi che tengono conto di diversi parametri e funzioni di costo. Una delle soluzioni proposte ` di non fare inoltrare e i pacchetti a quei nodi il cui livello di batteria ` sotto una certa soglia [34]. Sono e state considerate anche diverse metriche basate sul consumo della batteria [48], e in alcune soluzioni proposte si ` tenuto conto come metrica sia della durata e della batteria che della distanza [13]. In alcune proposte, come vedremo meglio in seguito, ` stato utilizzato un approccio euristico. e Low-Power Mode: Sempre pi dispositivi supportano la modalit a basso conu a sumo energetico. Nel secondo capitolo analizzeremo la gestione della modalit a PS nei principali standard WLAN: IEEE 802.11, HyperLAN e IEEE 802.16e (WiMAX). Un host attivo pu risparmiare potenza spegnendo lequalizzatore in o accordo al bit rate di trasmissione.

2 Il power saving negli standard IEEE

In questo capitolo si analizzeranno gli attuali standard per reti wireless lan e le politiche di risparmio energetico previste dai vari standard.

2.1 Il protocollo 802.11


Il protocollo 802.11 ` stato standardizzato a cominciare dal 1990 e denisce il primo e e secondo livello dello stack ISO-OSI. A livello MAC ci sono due modalit di funzioa namento che si riferiscono al DCF (Distributed Coordination Function) e al PCF (Point Coordination Function). Il DCF ` lalgoritmo base di accesso alla rete e deve e essere supportato da tutte le stazioni, mentre il PCF ` opzionale e supporta servizi e time-bounded come il traco audio; il PCF costruisce un periodo contention-free sopra il meccanismo base di accesso, che ` contention-based: durante il contention-free e period laccesso al canale viene coordinato da un nodo centrale (Access Point). Laccesso al mezzo, sia nel PCF che nel DCF, ` regolato da un protocollo MAC e generale chiamato DFWMAC che si basa sulla classe dei protocolli CSMA/CA (carrier sense multiple access/collision avoidance). Esso prevede che, quando una certa stazione X deve trasmettere un pacchetto, seleziona uno slot n tra un certo numero di slot equamente distribuiti e monitorizza il canale no alla ne dell(n1)esimo slot. Se nessunaltra stazione ha cominciato a trasmettere sul canale no a quel momento, la stazione X comincia la sua trasmissione. Se unaltra stazione ha gi cominciato a trasmettere (cio ha selezionato uno slot di numero inferiore) la a e trasmissione ` ritardata no alla ne dello scambio del pacchetto. Il numero dello e slot nella trasmissione successiva ` decrementato di una quantit pari al numero di e a slot liberi nel ciclo precedente. In questo modo si da una pi alta priorit di accesso u a alle stazioni che partecipano alla contesa da pi tempo. u Il DFWMAC prevede due modi per trasmettere informazioni riguardo lo stato del canale: il carrier sensing e il net allocation vector (NAV) che ` un meccanismo e virtuale di carrier sense. Il NAV segnala loccupazione del canale per il traco futuro: si basa su uno scambio di pacchetti di richiesta/risposta di invio di dati che avviene prima della trasmissione di dati vera e propria. Tale meccanismo ` e molto utile per prevenire il problema del terminale nascosto in quanto tutte le

12

2 Il power saving negli standard IEEE

stazioni aggiornano il NAV con le informazioni riguardo la durata della trasmissione successiva in ognuno dei pacchetti RTS e CTS. Ad ogni priorit di accesso al mezzo corrisponde un diverso tempo inter-frame; a nel PCF gli AP devono avere un accesso al mezzo a maggiore priorit rispetto alle a altre stazioni che quindi aspettano un minor tempo prima di decidere che il canale ` libero (gura 4.9). In questo modo ` possibile impostare una struttura supere e frame che possa supportare traco time-bounded, a cui ` destinata la prima parte e del super-frame. LAP manda pacchetti in downlink e interroga le stazioni per i pacchetti in uplink. Nella seconda parte del super-frame laccesso al mezzo viene eettuato tramite tecnica a contesa (DCF).

Figura 2.1. Procedura di accesso al canale.

2.1.1 Power management in una WLAN con infrastruttura Relativamente al consumo di potenza, una stazione (STA) pu trovarsi in uno dei o seguenti stati [51]: Awake: la STA funziona a pieno regime.; Doze: la STA non riceve n trasmette e perci consuma pochissima potenza. e o

Una STA si sposta da uno stato allaltro in base ai cosiddetti Power Management Modes (modalit di gestione della potenza). Queste modalit sono riassunte nella a a tabella 2.1.
o Active Mode (AM) La STA pu ricevere frame in qualsiasi momento. In AM la STA si trova nello stato Awake. Se la STA ` presente nella polling list e dellAP, essa deve rimanere in AM per tutta la durata del CFP Power Save Mode (PS) La STA si trova nello stato Doze e passa in Awake solo per ascoltare dei beacon prestabiliti (in base al ListenInterval), per ricevere traco broadcast o multicast buerizzato dallAP (in base al ReceiveDTIMs), per trasmettere dei frame di tipo PS-Poll ed aspettare risposta agli stessi oppure per ricevere, durante il CFP se si tratta di una STA CF-Pollable, il traco buerizzato

Tabella 2.1. Modalit Power Management a

2.1 Il protocollo 802.11

13

Una STA che voglia cambiare modalit di funzionamento deve comunicarlo ala lAP tramite il bit Power Management contenuto nel Frame Control Field dei pacchetti. Il valore di questo bit indicher allAP quale sar, a conclusione dello scambio a a di frame in corso, durante il quale non pu ovviamente cambiare nulla, la modalit o a di funzionamento scelta dalla STA. Se la modalit scelta la modalit PS (Poa e a wer Save) lAP non deve trasmettere alcuna MSDU alla STA in PS, bens deve conservare tutto il traco relativo alla STA e trasmetterlo successivamente. La STA in PS ascolter il canale periodicamente per ricevere dei frame di tipo a beacon nei quali trova lelemento TIM (Trac Indication Map). La ricezione dei beacon, relativamente alla procedura di gestione degli elementi TIM, regolata dai e parametri ListenInterval e ReceiveDTIMs. In particolare, il parametro ListenInterval viene comunicato dalla STA allAP al momento dellassociazione e indica allAP in quali beacon la STA sar in ascolto. a Il parametro ReceiveDTIMs, invece, comunicato dalla STA allAP al momento e del cambio di modalit operativa (da AM a PS), ed indica se la STA in questione a ricever ed interpreter o meno i beacon con elemento DTIM. a a In pratica, lAP costruisce lelemento TIM come una mappa virtuale del traco che esso mantiene in memoria per tutte le STA che si trovano in PS. Questultime, ricevendo e analizzando il TIM contenuto nei beacon, possono sapere se lAP ha del traco in attesa destinato ad esse, ed agire di conseguenza ovvero: In una BSS operante col metodo DCF, o durante il CP che segue il CFP se la BSS opera col metodo PCF, la STA in PS trasmette un frame di tipo PSPoll (Power Save Poll) allAP per segnalare che pronta a ricevere il traco e buerizzato nellAP stesso. LAP risponde subito con la MSDU buerizzata oppure pu confermare tramite ACK la ricezione del frame PS-Poll e rispondere o pi tardi. u Se il TIM indica che il frame buerizzato verr inviato durante il CFP, la STA a (che sar dunque una STA CF-Pollable), non mander alcun frame PS-Poll, ma a a aspetter il proprio turno allinterno del CFP per ricevere il traco buerizzato a nellAP, rimanendo in AM per tutta la durata del CFP stesso. Nel caso in cui almeno una STA della BSS sia in PS, lAP deve buerizzare tutto il traco broadcast e multicast e trasmetterlo alla STA (o alle STA) immediatamente dopo la trasmissione del primo beacon che contiene unindicazione di tipo DTIM. Una STA che ritorna dallo stato Doze allo stato Awake deve compiere una procedura di Clear Channel Assesment (CCA), con la quale pu riconoscere correttamente o una sequenza di frame in corso e impostare il proprio NAV. Denizione dei TIM Un elemento TIM contiene una mappa virtuale delle STA in PS per le quali lAP mantiene del traco buerizzato. In aggiunta, il TIM indica anche la presenza di traco buerizzato di tipo broadcast o multicast. Ad ogni STA in una WLAN con infrastruttura viene assegnato, in fase di associazione, un identicativo AID. E proprio tramite questo AID che lAP costruisce il TIM. LAID=0 ` riservato al e traco broadcast o multicast buerizzato. Possiamo distinguere due tipi di TIM:

14

2 Il power saving negli standard IEEE

TIM: E un elemento TIM standard che viene incluso in ogni frame di tipo beacon. DTIM: E un elemento TIM trasmesso al posto di un TIM normale, ad intervalli pari al valore del parametro DTIMPeriod. Immediatamente dopo la trasmissione di un beacon con un elemento DTIM, lAP deve mandare tutto il traco buerizzato di tipo broadcast e multicast, prima di cominciare ad inviare quello unicast.

Figura 2.2. Power management nelle BSS con infrastruttura.

La gura 2.2 illustra una situazione possibile, con lipotesi che venga trasmesso un elemento DTIM ogni 3 elementi TIM. La linea pi in alto rappresenta lasse dei u tempi. La linea immediatamente sotto illustra lattivit dellAP. Questultimo proa gramma la trasmissione di un beacon anch avvenga ad ogni istante TBTT (ovvero e ad intervalli Beacon Interval). Nellistante TBTT il mezzo pu essere occupato: in o tal caso la trasmissione del beacon pu essere ritardata. Notiamo che: o subito dopo un beacon contenente un elemento DTIM, lAP trasmette tutto il traco broadcast buerizzato. la STA in PS la cui attivit nel tempo descritta dalla terza linea a e

Funzione Aging LAP implementa una funzione cosiddetta di aging, che serve a cancellare il trafco che ha buerizzato per un periodo di tempo troppo lungo. Questa funzione devessere basata sul parametro ListenInterval di ciascuna STA, ovvero la funzione devessere tale da non cancellare il traco prima che sia passato un intervallo pari a ListenInterval. La denizione di una tale funzione ` comunque fuori dalla e trattazione dello standard IEEE 802.11.

2.1 Il protocollo 802.11

15

2.1.2 Power management in una WLAN ad hoc (IBSS) La gestione della modalit power save nelle WLAN IEEE 802.11 ad hoc simile a e a quella vista per le WLAN che hanno una topologia con infrastruttura, ovvero le STA conservano in un buer il traco unicast e multicast destinato a STA che si trovano in modalit PS, e tale traco viene annunciato, prima di essere inviato, a in periodi prestabiliti nei quali tutte le STA, anche quelle in PS appunto, sono in ascolto. Il suddetto annuncio viene fatto tramite un frame dedicato alle WLAN ad hoc, il cosiddetto ATIM (Ad hoc Trac Indication Map).

Figura 2.3. Power management in una IBSS.

Facendo riferimento alla gura 2.3, si denisce ATIM Window lintervallo di tempo in cui tutte le STA, incluso quelle in PS, sono nello stato Awake. La durata della ATIM Window specicata dal parametro ATIMWindow (che si trova nellee lemento IBSS Parameter Set dei frame di tipo beacon e probe response). Essa inizia subito dopo listante TBTT e durante questa nestra temporale possono essere trasmessi solo frame di tipo beacon o ATIM. Quando una STA deve inviare una o pi u MSDU ad unaltra STA che si trova in modalit PS, essa deve innanzitutto inviare a verso la STA in PS un frame ATIM durante lATIM Window. Sempre nella gura 2.3, osserviamo come la STA A abbia la necessit di inviare a un frame alla STA B che si trova in PS. Allora, durante lATIM Window, la STA A invia un frame ATIM direttamente indirizzato alla STA B, che si trova nello stato Awake per tutta la durata dellATIM Window. La ricezione di un ATIM di tipo diretto (unicast) devessere confermata dalla STA ricevente (con un frame di tipo

16

2 Il power saving negli standard IEEE

ACK); in caso contrario, la STA trasmittente tenta la ritrasmissione eettuando una procedura di backo, sempre allinterno della ATIM Window. I frame di tipo ATIM di tipo multicast non prevedono alcuna conferma. La STA B, ricevendo un ATIM ad essa indirizzato, innanzitutto conferma tale ricezione con un frame ACK diretto alla STA A, poi rimane nello stato Awake per tutta la durata del beacon interval corrente, in attesa di ricevere la (o le) MSDU che la STA A deve inviarle. Se una STA in PS non riceve alcun frame ATIM durante lATIM Window pu tornare nello o stato Doze alla ne della ATIM Window no al successivo istante TBTT ovvero allinizio della successiva ATIM Window. Quindi, alla ne della ATIMWindow, possono iniziare le trasmissioni di tutti i frame unicast che sono stati annunciati con successo (ovvero quelli i cui relativi ATIM sono stati confermati con lACK) durante lATIM Window, e possono iniziare le trasmissioni di tutti i frame multicast e broadcast annunciati durante lATIMWindow. La trasmissione di questi frame segue le regole del metodo daccesso DCF. Nella IBSS, a causa della mancanza di unentit quale un AP che coordini la a WLAN, una STA pu soltanto stimare lo stato (AM o PS) di una qualsiasi altra o STA nella IBSS. Il modo in cui una STA compie questa stima fuori dalle speciche e dello standard IEEE 802.11, anche se viene consigliato di basarsi sulle informazioni relative al power management (bit Power Management nel Frame Control Field) trasmesse dalle altre STA, oppure anche su informazioni quali una cronologia delle trasmissioni riuscite e fallite verso le altre STA. In questultimo caso, luso del meccanismo RTS/CTS in una IBSS pu facilitare le stima dello stato PS delle STA: o se un frame RTS viene inviato ma non viene ricevuto un frame CTS, la STA mittente pu dedurre che la STA destinataria sia in modalit PS. o a

2.2 Hiperlan
Hiperlan ` lo standard wlan specicato dallETSI. Come lIEEE 802.11, lo standard e Hiperlan denisce il livello Fisico e Mac, tuttavia gli obiettivi di progettazione dietro i due standard sono diversi [31]. Lidea base che sta dietro Hiperlan ` di sviluppare e una WLAN in grado di operare in maniera completamente indipendente da tutte le infrastrutture, capace di supportare sia le reti ad-hoc che reti pi complesse u composte da celle multiple, senza distinzione tra le due diverse modalit (vale a a dire, ad-hoc e infrastrutturata) come invece fa l802.11 IEEE. Cos Hiperlan non ha bisogno di una stazione centrale (base station) al ne di consentire una maggiore copertura o di supportare dierenti classi di servizio. La banda di frequenza usata da Hiperlan ` intorno ai 5.2 Ghz ed ` divisa in e e cinque canali indipendenti. Il livello sico opera a due dierenti rate di velocit: a uno pi basso (1.4706 Mb/s) per trasmettere i pacchetti di ack e le intestazioni dei u pacchetti, e un data rate pi alto (23.5294 Mb/s) per trasmettere i pacchetti dati u veri e propri. La ragione per cui si usano due dierenti velocit sar spiegata nel a a paragrafo successivo. La funzione del livello Mac che si occupa del trasferimento dati supporta trasmissioni dati sia asincrone che time-bounded (temporalmente vincolate). Questo risultato ` ottenuto specicando una priorit per ogni pacchetto di dati: in partie a colare viene assegnato un tempo di vita del pacchetto e un ag che indica se la

2.2 Hiperlan

17

priorit ` alta o bassa. Il tempo di vita del pacchetto descrive il tempo in cui il a e pacchetto deve essere consegnato al destinatario al ne di poter essere utilizzato. Il livello Mac di Hiperlan si occupa di trasmettere prima i pacchetti con un breve tempo di vita residuo. Per raggiungere tale obiettivo il tempo di vita residuo e la priorit dellutente vengono mappati allinterno di un range di priorit per laccesso a a al canale che va da zero (livello di priorit pi alto, il tempo di vita residuo ` minore a u e di 10ms) a quattro (livello di priorit pi basso, il tempo di vita residuo ` maggiore a u e di 80ms). Tutti i pacchetti con tempo di vita residuo pari a zero vengono scartati o dal nodo sorgente o da un nodo intermedio.

Figura 2.4. Power management in una IBSS.

Come IEEE 802.11, Hiperlan usa un tipo di CSMA/CA per laccesso al canale. La variante usata da Hiperlan ` chiamata elimination yield/non-preemptive prioe rity multiple access (EY-NPMA). EY-NPMA divide la procedura daccesso in tre fasi (gura 2.4): determinazione, eliminazione e resa della priorit. Nella fase di a risoluzione della priorit, una stazione ascolta il mezzo durante un intervallo tema porale che ha una lunghezza proporzionale alla sua priorit. Se una stazione rileva a un segnale durante questo periodo si ferma e non trasmette; in caso contrario, trasmette un burst (una sequenza ben denita di bit trasmessa usando il data rate pi alto) per segnalare alle altre stazioni la sua classe di priorit. Tutte le stazioni u a con priorit uguale o pi alta sopravvivono a questa fase. Nella fase di eliminazioa u ne ogni stazione sopravvissuta manda un burst di eliminazione la cui lunghezza e vincolata e denita da una certa distribuzione di probabilit discreta. Dopo aver a mandato il proprio burst la stazione passa in modalit di ascolto. Se una stazione a rileva sul mezzo ancora un burst dopo linvio del proprio, rinvia laccesso al canale al ciclo successivo; in caso contrario, sopravvive a questa fase. Nella fase di resa ogni stazione superstite ascolta il canale: anche in questo caso il periodo di ascolto e individuale e denito da una certa funzione di distribuzione di probabilit discreta. a Se una stazione sente un segnale durante questo periodo, annulla la trasmissione; in caso contrario trasmette i propri frame di dati immediatamente dopo il periodo di resa. Oltre al meccanismo di accesso al canale, ci sono altre caratteristiche del Mac Hiperlan che ` necessario conoscere per capire alcune problematiche legate al risparmio e energetico che verranno ulteriormente discusse nel prossimo capitolo. In primo luogo, a causa della mancanza di una infrastruttura, ` necessario un e meccanismo che consenta lestensione sica di un Hiperlan oltre la portata radio

18

2 Il power saving negli standard IEEE

di una singola stazione. Pertanto lo standard Hiperlan denisce un meccanismo di inoltro dei pacchetti. Tale meccanismo non ` necessariamente implementato in e tutti i nodi; i nodi che eettuano linoltro dei dati vengono chiamati forwarders. Le informazioni necessarie per linoltro sono gestite tramite luso di funzioni di scambio di informazioni di routing del Mac. Una logica conseguenza del concetto di inoltro ` che la grandezza sica di una e Hiperlan ` denita dalla posizione dei forwarders e nonforwarders: a causa della e mobilit di ogni stazione (compresi i forwarders) la dimensione sica di un Hiperlan a ` funzione della posizione corrente di tutte le stazioni. e Linoltro dei dati risolve il problema della portata radio limitata ma introduce alcuni altri problemi: Per tenere traccia della topologia della rete ` necessario incrementare la quantit e a di dati scambiati tra i nodi. Luso di celle sovrapposte porta al problema del terminale nascosto. In termini di power saving, aumenta il consumo di potenza dei nodi forwarders perch devono ricevere, memorizzare e inoltrare i pacchetti mandati ad ognuno e dei propri client. Ne consegue che i nodi forwarders non posso essere alimentati a batteria, ma devono essere collegati ad un alimentatore: tali nodi, quindi, sono ssi.

Unaltra dicolt dovuta alla mobilit e alla portata radio limitata riguarda una a a possibile frammentazione della rete in cui una Hiperlan ` eettivamente divisa in pi e u sottoreti disgiunte. Serve pertanto un meccanismo che riunisca automaticamente i frammenti di Hiperlan quando ` possibile. e Pu succedere che pi Hiperlan utilizzino lo stesso canale radio: in tale situazioo u ne, per distinguere il traco di Hiperlan diverse, ogni Hiperlan ha un identicatore univoco. Tale ID viene utilizzato anche per potersi unire ad una specica Hiperlan tramite le funzioni di ricerca del Mac. 2.2.1 Power Saving Nei paragra precedenti ` stato analizzato il power saving per l802.11: adesso si e far una panoramica su come Hiperlan aronta questo problema e ci si concentrer a a sulle dierenze tra i meccanismi di PS dei due standard. Una delle dierenze ` che, rispetto al protocollo 802.11, Hiperlan ore un bit e rate di oltre 20Mb/s: una cos alta velocit di trasmissione richiede equalizzazione. a Un equalizzatore ` una delle parti pi costose del ricevitore in termini di cone u sumo energetico. Per ridurre il consumo energetico senza la perdita di funzionalit a come la raggiungibilit, si deve considerare come la procedura di ricezione operereba be in generale. Hiperlan ` basato su un canale di trasmissione, quindi ogni stazione e ascolta tutti i pacchetti trasmessi su quella determinata banda. Ogni volta che il livello sico rileva un segnale sul mezzo deve passare in modalit consumo energetia co/equalizzazione per ricevere il pacchetto. Dopo aver ricevuto il pacchetto intero, se la stazione destinataria ` unaltra il pacchetto viene scartato dal livello MAC. e Questo implica uno spreco di energia a causa di un inutile utilizzo del ricevitore ad alta velocit e dellequalizzazione. a

2.2 Hiperlan

19

Pertanto, per risparmiare energia, lequalizzazione deve essere utilizzata solo quando la stazione ` la destinataria del pacchetto. Per decidere se il pacchetto ` e e destinato alla stazione che lo riceve, senza dover eettuare lequalizzazione a priori, il pacchetto viene diviso in una parte a basso bit rate ed una parte ad alto bit rate. La parte a basso bit rate ` composta da 34 bit trasmessi a 1,4076 Mb/s e e non richiede equalizzazione. Uno dei suoi campi contiene un hash a somma di 8bit calcolata sullindirizzo di destinazione del pacchetto. Non appena una stazione riceve lhash pu determinare se ` o no la stazione destinataria. La funzione hash o e garantisce che, se la somma restituisce false (cio, la stazione non ` il destinatario e e del pacchetto), tale risultato ` corretto. Ovviamente solo la stazione il cui indirizzo e MAC ` contenuto nella parte a basso bit rate passa alla fase di equalizzazione per e ricevere la parte di dati ad alto bit rate. Esiste un meccanismo addizionale di power saving per Hiperlan la cui struttura base ` simile al meccanismo di DFWMAC in modalit distribuita; tuttavia rispetto e a al DFWMAC ci sono delle sostanziali dierenze che verranno evidenziate in seguito. Lidea generale ` in linea con il concetto di rete distribuita di Hiperlan. Questo e signica che Hiperlan non utilizza un singolo server PS che ` parte di una infrae struttura di rete come la base station in DFWMAC. Il power saving in Hiperlan si basa su una contrattazione tra almeno due stazioni: la stazione che vuole andare in power saving si chiama p-saver, mentre la stazione che fa da supporto si chiama p-supporter. Il p-saver ` attivo solo in determinati intervalli prestabiliti mentre il e p-supporter accoda tutti i pacchetti destinati ad uno dei suoi p-saver e schedula la trasmissione di questi pacchetti durante gli intervalli di attivit dei p-saver. a E un meccanismo simile allinoltro dei pacchetti da parte dei nodi di forward. Anche in questo caso ci sono alcune stazioni (p-supporter) che devono sostenere altre stazioni, e proprio per questo aumentano il consumo di potenza. I p-supporter devono essere collegati ad un alimentatore. A causa di questa somiglianza spesso accade che un nodo di relay agisce anche da p-supporter. Ogni p-saver pu avere pi p-supporter. Tutti i p-supporter devono essere alo u linterno del proprio range di copertura. I p-saver non sanno quali nodi della Hiperlan agiscono da p-supporter, perci non contattano direttamente il p-supporter o ma mandano le proprie richieste in broadcast a tutti i vicini. E possibile quindi che un p-saver riceva lo stesso pacchetto pi volte da diversi p-supporter. I duplicau ti vengono individuati tramite luso dei Hiperlan Mac-entity (HM-entity) sequence number. La ragione per la quale vengono forniti diversi p-supporter per ogni p-saver ` quella di mantenere il protocollo il pi semplice possibile, soprattutto nel caso di e u mobilit. Ovviamente una tale soluzione ha come difetto lo spreco di banda a causa a dei duplicati. Il p-saver informa i suoi p-supporter del suo intervallo di attivit mediante una a speciale Hiperlan Mac PDU (HM-PDU). Questa PDU contiene: La lunghezza dellintervallo durante il quale il p-saver sar in grado di ricevere a pacchetti. La quantit di tempo passata dallinizio dellultimo intervallo di attivit (oset). a a La quantit di tempo intercorsa tra linizio dei due intervalli di attivit (periodo). a a Il range di valori di questi parametri sono elencati in tabella 2.2. Il p-saver trasmette periodicamente le HM-PDU per due ragioni:

20

2 Il power saving negli standard IEEE Parametro Intervallo di attivit a Oset Periodo Range di valore (ms) 500-65535 0-65535 500-65535

Tabella 2.2. Valori validi per i parametri del PSM Hiperlan.

Pu aggiornare facilmente il suo intervallo di attivit e non ha bisogno di ulteriori o a pacchetti per cancellare la sua richiesta di PS. Un p-saver che si muove non ha bisogno di sapere quando sta lasciando il range di copertura di uno dei suoi p-supporter e informa del suo stato PS automaticamente tutti i p-supporter che si trovano nel suo nuovo raggio di copertura radio.

Il funzionamento dei p-supporter ` molto simile a quello di un nodo di forward: e deve infatti ricevere e salvare tutti i pacchetti indirizzati ad ognuno dei suoi p-saver. Ci signica che i p-supporter devono salvare tutte le informazioni contenute nelle o HM-PDU ricevute da tutti i p-saver vicini. Essi vengono a sapere a quali stazioni devono orire supporto registrando le informazioni contenute nelle IP-HMPDU da tutti i nodi vicini. Inne, la trasmissione dei pacchetti unicast memorizzati viene eettuata durante lintervallo in cui il p-saver ricevente si risveglia. Il p-supporter tiene solo un intervallo attivo per ogni p-saver e ogni volta che riceve una IPHMPDU aggiorna le informazioni vecchie. Le modalit di funzionamento descritte vanno bene per i pacchetti unicast ma a non per i pacchetti broadcast e multicast: poich ogni p-saver si risveglia in un e intervallo di tempo dierente, un p-supporter dovrebbe mandare una copia del pacchetto broadcast per ogni p-saver. In questo modo si avrebbe un notevole spreco di banda e per evitare ci ogni pacchetto broadcast o multicast viene trasmesso solo o una volta. Per sincronizzare la trasmissione di un pacchetto multicast con tutti i p-saver, il p-supporter denisce un pattern per il gruppo di partecipanti. Tale pattern ` strutturato come un pattern di attenzione individuale dei p-saver e viene e trasmesso regolarmente dal p-supporter. Anche stavolta il pattern viene trasmesso periodicamente perch questo ` il modo pi facile per mantenere aggiornato lo e e u stato di tutti i p-saver allinterno del range di copertura radio del p-supporter. Il p-supporter deve trasferire tutte le sue PDU multicast durante un particolare intervallo di tempo precedentemente dichiarato: a ogni p-saver viene comunicato di eettuare la ricezione dei pacchetti multicast durante tale intervallo. Sia lato p-saver che lato p-supporter viene attivato un timer allo scadere del quale vengono scartate le informazioni relative a un singolo nodo o a un gruppo: questo succede ad esempio quando un p-saver esce dal proprio stato di power saving o quando lascia il range di copertura radio del p-supporter. Facendo un confronto con il DFWMAC, la principale dierenza ` che nel DFe WMAC tutte le stazioni in PS si svegliano durante lo stesso intervallo di tempo e una singola stazione non pu denire il proprio intervallo di PS. Questo signica o che il traco in coda viene smistato allinterno di un intervallo temporale comune a tutte le stazioni. Contrariamente, Hiperlan permette ad ogni stazione di denire il proprio intervallo di attivit e di specicare il tempo che intercorre tra due a periodi di attivit. Quindi lintero traco di rete non ` concentrato solo in alcuni a e

2.3 IEEE 802.16e

21

intervalli. Il p-supporter sceglie un comune intervallo in cui i nodi in PS devono essere attivi solo per il traco multicast. Daltro canto Hiperlan, a dierenza del DFWMAC, non denisce un frame specico nel quale i p-supporter possono comunicare ai p-saver quanti pacchetti sono stati immagazzinati. Cos da un lato, il , p-supporter pu utilizzare per la trasmissione dei pacchetti solo un intervallo ben o denito che potrebbe essere troppo corto e potrebbe portare a tempi di attesa molto lunghi (il p-supporter deve ritardare la trasmissione dei pacchetti allintervallo attivo successivo) o alla perdita di pacchetti a causa delle dimensioni limitate delle code. Dallaltro, il p-saver deve rimanere in ascolto durante tutto lintervallo attivo perch non sa quanti pacchetti deve ricevere. e In conclusione, ` stato provato che il power saving non ha eetto sui servizi e di tipo time-bounded (limitati nel tempo) poich la pi piccola distanza tra due e u intervalli attivi ` di 500 ms e tale valore ` troppo alto per la maggior parte del e e traco time-bounded.

2.3 IEEE 802.16e


Il power management nel protocollo 802.16e opera a livello MAC e permette alle MS di cambiare il proprio stato da Normal Operations a Sleep e viceversa [40]. Entrando pi nello specico, una MS ` nello stato Normal Operation quando sta u e ascoltando, ricevendo o trasmettendo dati dallinterfaccia wireless, mentre una MS ` nello stato Sleep quando non ascolto la serving BS sul canale wireless. In altre e parole lo sleep mode ` uno stato in cui una MS conduce un periodo pre-negoziato e di assenza sul canale wireless della serving BS. Questi periodi sono caratterizzati dallindisponibilit della MS rispetto al traco in downlink e uplink con la serving a BS. Quando la MS ` in sleep mode la BS non trasmetter alla MS, che potr e a a spegnere uno o pi componenti sici per eseguire altre attivit che non richiedono u a comunicazione con la BS. Il protocollo IEEE 802.16 denisce tre classi di power saving (tipo I, II e III) che si dierenziano per il set di parametri, le procedure di attivazione/deattivazione, e le politiche di disponibilit alla trasmissione di dati. a Quando una classe di power saving diventa attiva, la MS entra nello sleep mode. Lo sleep mode ` caratterizzato da due stati interni: unavailable (sleep state) e e available (awake state). Il periodo in cui una MS ` nello stato unavailable ` chiamae e to sleep window, mentre il periodo in cui una MS ` available ` chiamato listening e e window. Nei paragra successivi, per brevit, non tratteremo la classe di power saving di a tipo III relativa alle trasmissioni broadcast e multicast, ma ci concentreremo sulle classi di tipo I e II relative, rispettivamente, al traco unicast real time e best eort. E importante notare che, nonostante lo standard specichi la corrispondenza tra le classi e i tipi di connessioni, lalgoritmo per la scelta del tipo di classe di Power Saving per una certa connessione non viene specicato. 2.3.1 Messaggi e parametri di Power Saving Come gi detto, la classe di power saving pu essere di tipo I, II e III. Ogni classe ha a o un Id unico chiamato sleep id (SLPID). Un connection identier (CID) pu essere o

22

2 Il power saving negli standard IEEE

associato solo a un SLPID. Uno o pi CID che appartengono alla stessa MS possono u essere associati con il medesimo SLPID. Una MS ` nello sleep mode quando tutti i e SLPD ad essa associati sono in sleep mode. Lo standard denisce due messaggi che la BS e la MS possono scambiarsi per entrare in sleep mode. In particolare, la MS pu mandare un messaggio di sleep o request (MOB SLP-REQ) alla BS in modo da richiedere di entrare in sleep mode. La BS pu rispondere alla MS mandando un messaggio di sleep response (MOB SLPo RSP). Il messaggio di sleep response pu essere usato sia per accettare che per o riutare la sleep request da parte della MS. In modo da permettere alla BS di informare una MS in sleep mode che ci sono dati ad essa indirizzati, lo standard denisce un mobile trac indicator message (MOB TRF-IND). In particolare, lo standard denisce un MOB TRF-IND positivo e uno negativo. Il MOB TRF-IND positivo ` mandato alla BS per forzare la MS e ad interrompere il processo di sleep, mentre il MOB TRF-IND negativo informa la MS che il processo di sleep pu continuare (cio non ci sono dati da trasmettere alla o e BS). Tutti i messaggi descritti sopra sono riferiti ad un SLPID. 2.3.2 Power Saving Class di Tipo I La classe di power saving di tipo I ` principalmente orientata alle connessioni di e tipo best eort e non real time a rate variabile. Durante lo stato normal operation, la MS pu richiedere alla BS di entrare nello sleep mode. o La BS pu accettare o riutare la sleep request ricevuta dalla MS. In ogni caso, o motiva la sua decisione alla MS per mezzo di un messaggio dedicato. Se la sleep request ` accettata dalla BS, la MS entra in sleep mode e la classe di power saving e cambia il suo stato in attivo. Quando ` attiva, la classe di PS di tipo I alterna stati sleep con stati awake. Lo e stato awake ha una durata ssata e la sua durata ` specicata nei parametri della e classe PS di tipo I. Lo sleep state ha una durata variabile. In particolare, la durata di uno sleep state (sleep window) ` calcolata come segue: quando la power class e diventa attiva, la sleep window ` uguale al parametro initial sleep window; quando e lo sleep window nisce, la MS entra nello stato awake; quando la listening window ` trascorsa (cio il periodo awake ` terminato) comincia un nuovo periodo sleep di e e e durata doppia rispetto al precedente. Lo sleep window viene raddoppiato alla ne di ogni periodo awake nch viene raggiunto il parametro maximum sleep window. e Successivamente, la dimensione dello sleep window rimane costante e uguale alla sua dimensione massima. La MS ferma la power saving class se si verica una delle seguenti condizioni: Viene ricevuto un trac indicator positivo dalla BS durante lawake state. Viene ricevuta una PDU da un livello superiore (la MS deve mandare una bandwidth request alla BS) Non vengono ricevute dalla BS informazioni di stato durante lawake state.

Quando la power saving class di tipo I viene fermata, la dimensione della sleep window ` riportata al valore iniziale. e Durante la listening windows la MS si aspetta di ricevere tutte le trasmissioni DL cos come avviene nello stato di normal operations.

2.3 IEEE 802.16e

23

La power saving class di tipo I si attiver di nuovo non appena una nuova sleep a request mandata dalla MS sar accettata dalla BS. a Un esempio di Power Saving Class di Tipo I ` riportato in gura 2.5. e

Figura 2.5. Power Saving Class di Tipo I.

Il set di parametri rilevanti per la Power Saving Class di Tipo I sono riportati in tabella 2.3
W is
f Wb s

Initial-Sleep window Final-Sleep window base Listening window Esponente della Final-Sleep window Numero del frame di inizio della prima sleep window

Wl
f We s

Ts

Tabella 2.3. Parametri rilevanti per la Power Saving Class di Tipo I


f La nal sleep window ` calcolata come segue: W f s =Wb s *2We mentre la sleep e s s window (W ) ` incrementata secondo la seguente formula: Wis =min(Wi1 *2, W f s ). e
fs

2.3.3 Power Saving Class di Tipo II Come descritto sopra, la Power Saving Class di Tipo II ` principalmente orientata e alle connessioni real time. Durante lo stato normal operation, una MS pu richiedere o alla BS di entrare nello sleep mode. La procedura di request ` simile a quella usata per il Tipo I. La BS pu accettare e o o riutare la sleep request ricevuta dalla MS. In ogni caso comunica la propria decisione alla MS attraverso un messaggio dedicato. Se la sleep request ` accettata e dalla BS, la MS entra nello sleep mode e cambia il suo stato di Power Saving Class in attivo. Quando ` attiva, la Power Saving Class di Tipo II alterna stati sleep e e awake. A dierenza del Tipo I, in questo caso sia lo stato awake che lo stato sleep hanno durata ssa. Un esempio di Power Saving Class di Tipo II ` riportata in gura 2.6 e Al contrario della Power Saving Class di Tipo I, durante la listening window della Power Saving Class di Tipo II la MS pu inviare e ricevere alcune MAC SDU o o dei loro frammenti senza stoppare la power saving class. Questa ` la principale e dierenza tra la Power Saving Class di Tipo I e II, e ci ` dovuto al fatto che la oe Power Saving Class di Tipo II ` orientata alle connessioni di tipo real time. e

24

2 Il power saving negli standard IEEE

Figura 2.6. Power Saving Class di Tipo II.

Una volta che ` cominciato, lo stato attivo della Power Saving Class di Tipo II e continua no a quando non vi ` una richiesta esplicita di interruzione della PSC. Il e termination message pu essere mandato sia dalla MS che dalla BS. o In tabella 2.4 vengono riportati i parametri pi rilevanti per la Power Saving u Class di Tipo II.
Wi Wl Ts Initial-Sleep window Listening window Numero del frame di inizio della prima sleep window

Tabella 2.4. Parametri rilevanti per la Power Saving Class di Tipo II

2.3.4 Power Saving Class e modalit a basso consumo energetico a I due tipi di Power Saving Class alternano stati sleep e awake in accordo con i parametri descritti nelle tabelle 2.3 e 2.4. Quando tutte le Power Saving Class appartenenti a una MS sono in sleep state, la MS spegne la scheda wireless ed entra in modalit a basso consumo energetico. a In questa modalit la MS non ` in grado di mandare/ricevere PDU da/verso la a e BS (queste PDU verranno scartate perch la scheda wireless ` spenta). Quindi, e e quando una MS ` in modalit a basso consumo energetico, verranno scartati anche e a i messaggi di segnalazione. Quando almeno una Power Saving Class non ` in sleep state, si suppone che e la scheda wireless sia attiva e sia in grado di mandare/ricevere le PDU relative a quella Power Saving Class che non ` in sleep state. Pertanto, quando almeno una e Power Saving Class non ` in sleep state, la MS non ` in modalit a basso consumo e e a energetico e continua a mandare messaggi di segnalazione. Per preservare lecienza della batteria, i meccanismi di power saving massimizzeranno i periodi low-power in ogni MS. La BS non ` mai in modalit a basso e a consumo, anche se tutte le MS sono in low power mode. Quando c` solo una Power Saving Class nella MS, gli intervalli di sleep e i e periodi in modalit a basso consumo si sovrappongono come mostrato in gura 2.7. a In gura 2.7 la MS ha una sola Power Saving Class, la classe A (che corrisponde alla Power Saving Class di Tipo I). Un chiaro esempio di dierenza tra intervalli di sleep e modalit a basso consumo a ` mostrato in gura 2.8 e In gura 2.8 la MS ha due Power Saving Class: classe A (Power Saving Class di Tipo I) e classe B (Power Saving Class di Tipo II). I periodi a basso consumo sono ottenuti dallintersezione degli intervalli di sleep delle Power Saving Class.

2.3 IEEE 802.16e

25

Figura 2.7. Esempio di operazioni sleep mode con una sola Power Saving Class.

Figura 2.8. Esempio di operazioni sleep mode con due Power Saving Class.

Il caso peggiore si verica quando gli intervalli di sleep delle Power Saving Class non si sovrappongono mai, e il terminale non entra mai in modalit a basso consumo. a Questa situazione pu causare un peggioramento delle performance in termini di o ritardo senza alcun tipo di vantaggio per quanto riguarda il power saving. Un esempio di tale situazione ` mostrato in gura 2.9. e

Figura 2.9. Esempio di operazioni sleep mode con tre Power Saving Class.

In gura 2.9 ci sono tre Power Saving Class: classe A (Power Saving Class di Tipo I), classe B (Power Saving Class di Tipo II) e classe C (Power Saving Class di Tipo II). I periodi a basso consumo sono le intersezioni degli intervalli di sleep delle Power Saving Class, e in questo caso non ci sono intersezioni.

3 Lo standard 802.11s

In questo capitolo verranno analizzate le principali caratteristiche della rete Mesh concepita dallo standard, il suo funzionamento e la struttura dei frame dati per poi approfondire le politiche di power saving previste ad oggi dal protocollo 802.11s.

3.1 Descrizione generale dello standard


3.1.1 Componenti dellarchitettura Nella maggior parte delle applicazioni WLAN 802.11, c` una chiara distinzione tra i e dispositivi che costituiscono linfrastruttura di rete e i dispositivi che semplicemente utilizzano linfrastruttura per ottenere laccesso alle risorse di rete. Le pi comuni u infrastrutture WLAN al momento sono costituite da Access Point (AP) 802.11 che forniscono un certo numero di servizi, come laccesso alla rete e servizi di autenticazione e management. Gli AP tipicamente sono direttamente connessi a una rete cablata, ad esempio di tipo Ethernet, e semplicemente forniscono connettivit ai a dispositivi client piuttosto che utilizzare la connettivit wireless per comunicare tra a loro. I client del resto, sono tipicamente semplici stazioni (STA) 802.11 che devono associarsi con un AP per ottenere laccesso alla rete. Tali stazioni dipendono in tutto e per tutto dagli AP a cui sono associate. Il modello di sviluppo tipico di queste WLAN ` illustrato nella Figura 3.1. e In una rete mesh, il DS (Distribution System), tipicamente cablato, viene realizzato facendo in modo che gli AP comunichino direttamente tra loro su link wireless, fornendo una rete magliata (mesh) per il trasporto delle informazioni tra i nodi in modalit multi-hop (WDS, Wireless Distribution System). I dispositivi tradizionala mente classicati come client, a loro volta possono beneciare della possibilit di a stabilire una connessione peer-to-peer wireless con gli altri client vicini o gli altri AP diversi da quello a cui sono associati. A loro volta, tali client evoluti, possono fornire gli stessi servizi degli AP, aiutando le stazioni standard IEEE 802.11 (STA) ad accedere alla rete. In questo scenario si perde la tradizionale distinzione tra i ruoli nettamente separati tra dispositivi client e quelli dellinfrastruttura. Lo standard distingue i dispositivi wireless in due categorie: nodi mesh, che sono dispositivi capaci di supportare servizi di tipo mesh, e nodi che non supportano i

28

3 Lo standard 802.11s

Figura 3.1. Architettura classica di una WLAN.

servizi mesh, come le tradizionali stazioni 802.11. I nodi mesh inoltre possono in modo opzionale supportare i servizi di accesso degli AP. I servizi mesh sono implementati come uninterfaccia logica MAC, che ` indie pendente dal tradizionale MAC 802.11. Quindi, in sostanza, un singolo dispositivo pu avere sia il ruolo di AP sia il ruolo di nodo mesh, oppure di nodo mesh e di o stazione standard. Un esempio di rete Mesh ` illustrata nella Figura 3.2. e I Mesh Point (MP) sono entit che supportano i servizi mesh, che partecipano a nella formazione e alloperativit della rete mesh. Un MP pu essere sia un dia o spositivo dedicato di una certa infrastruttura, o un dispositivo end-user capace di partecipare completamente alla formazione e alle operazioni della rete mesh. I nodi che forniscono i servizi di AP in modo aggiuntivo a quelli di un MP sono chiamati Mesh Access Point (MAP). Le stazioni standard si connetto ai MAP per ottenere laccesso alla rete e non partecipano alla fornitura dei servizi mesh, come ad esempio il meccanismo routing. La Figura 3.3 illustra gracamente la suddivisione funzionale delle tre tipologie di dispositivi. Inoltre nella rete mesh spesso ` presente un nodo che fornisce la connettivit e a verso reti esterne, chiamato Mesh Point Portal (MPP). Questo nodo integra sia le funzionalit di un MP sia quelle di un Portal. Le funzionalit di Portal sono mirate a a alla possibilit di interoperare a livello data link con un segmento di LAN 802, a

3.1 Descrizione generale dello standard

29

Figura 3.2. Architettura e componenti di una wireless mesh network secondo lo standard IEEE 802.11s.

realizzando tutte le funzionalit di un bridge, compresa limplementazione dello a STP (Spanning Tree Protocol) sulla LAN. Su tale LAN, a sua volta, pu essere o presente un Router (livello tre) per la connessione con reti esterne, o eventualmente un altro MPP che connette alla LAN unaltra rete Wireless mesh. I mesh point possono operare a diversi livelli di funzionalit. Non tutti i MP a devono utilizzare tutti i servizi di tipo mesh. Servizi come il routing possono essere utilizzati in modo parziale o addirittura non impiegati. Lo standard, infatti, prevede lesistenza di particolari tipi di MP che implementano funzionalit mesh minime. In particolare possono non far parte del Distribution a System (DS) e non implementare le funzionalit di routing. In questo modo sono a capaci solo di comunicare con i nodi vicini. 3.1.2 Modello protocollare La rete mesh ` in sostanza una rete LAN IEEE 802 composta di link IEEE 802.11. e In eetti, questo signica che la rete mesh ` funzionalmente equivalente ad una rete e Ethernet vista dalla prospettiva delle altre reti e dei livelli protocollari superiori, pertanto appare come se tutti i MP della mesh fossero direttamente connessi al livello data link. I protocolli mesh introdotti dallo standard nascondono i dettagli delle funzionalit mesh ai livelli superiori, fornendo semplicemente la consegna a dei dati a livello 2 allinterno della mesh; il piano di forwarding supporta sia un indirizzamento individuale che di gruppo (lo standard adotta la nomenclatura individually address per riferirsi alla consegna unicast, e group address per riferirsi a consegne broadcast o multicast).

30

3 Lo standard 802.11s

Figura 3.3. Suddivisione funzionale dei componenti di unarchitettura mesh basata su standard IEEE 802.11s.

La Figura 3.4 illustra questo concetto: la rete mesh appare ai bridge 802.1 e ai livelli superiori come un unico dominio broadcast di livello 2, privo di loop.

Figura 3.4. Modello di connettivit nella rete mesh. a

3.1.3 Internetworking Il Mesh Portal (MPP) permette alla rete mesh di comunicare con una rete esterna di livello 2 di tipo 802, come un segmento di LAN Ethernet. Il MPP in pratica agisce da bridge in modo compatibile allo standard 802.1D.

3.2 Frame in 802.11s

31

Figura 3.5. Internetworking tra la rete mesh e reti 802.

Nellesempio di Figura 3.5 i dispositivi 14, 12 e 13 interagiscono in modo trasparente come se fossero connessi ad un normale switch layer 2. In una rete mesh possono esistere pi MPP, come in Figura 3.5, e ciascuno di u essi implementa un meccanismo per annunciarsi allinterno della rete mesh. Questo meccanismo utilizza dei messaggi chiamati Portal Announcement (PANN), che vengono inoltrati periodicamente nella rete in modo broadcast. Nella rete mesh possono esistere pi MPP ma ciascun MP ` tenuto ad identicare come Portal uno solo di u e essi. Il protocollo denisce, in modo basilare, un meccanismo per la selezione del MPP che pu essere esteso per garantire un bilanciamento del traco tra i MPP o presenti ed un incremento della QoS.

3.2 Frame in 802.11s


Nello standard vengono introdotti nuovi tipi di frame ed altri gi esistenti sono a stati modicati. La maggior parte delle aggiunte riguardano i frame di management per la gestione dei servizi mesh introdotti dallo standard. Molte delle modiche a frame esistenti si presentano sotto forma di aggiunta di Information Element (IE), che hanno un formato standardizzato. Ad altri frame, come quelli Data sono stati aggiunti dei campi. Nel resto del paragrafo verranno descritti i formati dei frame di maggiore interesse. 3.2.1 Formato generale dei frame Il formato generale dei frame comprende una serie di campi che compaiono in un ordine pressato in tutti i tipi di frame. La gura 3.6 illustra il formato generale di una trama di livello MAC. Il primi tre campi (Frame Control, Duration/ID e Address 1) e lultimo campo (FCS) costituiscono il formato base e sono presenti in

32

3 Lo standard 802.11s

tutti i tipi di frame. I campi Address 2, Address 3, Sequence Control, Address 4, QoS Control, Mesh Header e Frame Body sono presenti solo in determinati tipi e sottotipi di frame. Il campo Address 1 (RA) contiene lindirizzo del MP che deve riceve il frame, mentre il campo Address 2 (TA) ` lindirizzo del MP che ha trasmesso e il frame. Il campo Address 3 (SA) contiene lindirizzo del MP che ha originato il frame, mentre Address 4 (DA) tipicamente rappresenta il MP a cui ` destinato il e frame. Il contenuto eettivo degli indirizzi dipende dai ag to-ds e from-ds nel campo Frame Control. I campi, Duration/ID e Sequence Control hanno lo stesso formato ed utilit dei frame classici dello standard IEEE 802.11. Quando presente, a il campo Mesh Header precede direttamente il campo Frame Body e rappresenta la principale introduzione dello standard IEEE 802.11s al formato classico delle trame IEEE 802.11. Lo standard descrive accuratamente il formato di ogni tipo e sottotipo di frame. Descrive tutti i componenti contenuti nel corpo dei frame di management ed il loro formato, ed in particolare il formato Mesh Action, che ` la struttura base e per il trasporto degli IE utilizzati per la gestione della maggior parte dei servizi Mesh.

Figura 3.6. Formato generale della trama IEEE 802.11.

La Tabella 3.1 riporta i tipi e sottotipi di frame aggiunti dallo standard IEEE 802.11s, specicati nei campi Type e Subtype del campo Frame Control.
Type b3 b2 Descrizione Type Extended Extended Subtype b7 b6 b5 b4 0000 0001 Descrizione Subtype Mesh Data Mesh Management Reserved

11 11

11

Extended

0010-1111

Tabella 3.1. Tipi di frame introdotti dallo standard IEEE 802.11s.

La Figura 3.7 illustra il formato del campo Mesh Header.

Figura 3.7. Formato del campo Mesh Header.

3.2 Frame in 802.11s

33

Il Mesh Header ` presente i tutti i frame di tipo Extended, di sottotipo Mesh e Data e Mesh Management, e pu avere una dimensione variabile da 4 o 16 byte. Il o principali campi sono i seguenti: Mesh Flags: che specica il tipo di processing dellheader mesh, in particolare specica se ` presente o meno il campo Mesh Address Extension. e TTL: ` utilizzato per mitigare leetto di eventuali loop nella rete, facendo si e che un frame venga scartato dopo che ` stato inoltrato un numero massimo di e volte. Mesh Sequence Number : ` utilizzato per rilevare la ricezione di frame duplicati e o fuori ordine. Mesh Address Extension: fornisce due indirizzi MAC addizionali, Address 5 e Address 6. Questi vengono utilizzati principalmente per la comunicazione tra entit che non supportano le funzionalit mesh. a a 3.2.2 Formato individuale dei frame Per fornire i servizi mesh vengono utilizzati sia i frame di tipo Extended, introdotti dallo standard, sia i frame Management classici dello standard IEEE 802.11, opportunamente modicati con laggiunta di alcuni campi (vedi Figura 3.8)

Figura 3.8. Schema dei nuovi tipi di frame utilizzati dallo standard IEEE 802.11s.

Frame di Management I principali frame di management che hanno subito delle modiche nel loro contenuto sono: Beacon, Association Requet, Association Respone, Reassociation Request,

34

3 Lo standard 802.11s

Reassociation Response, Probe Request e Probe Response. Qui descriviamo solo il frame di Beacon, che ` il frame di maggiore interesse per comprendere le funzionalit e a e i servizi di tipo mesh. Nella Figura 3.9 viene illustrato il contenuto del campo Body in un frame Beacon.

Figura 3.9. Campi contenuti in un frame di tipo Beacon.

Oltre ai campi standard previsti da IEEE 802.11, ne sono stati aggiunti altri sotto forma di IE. Tra questi, quello di maggior interesse ` il WLAN Mesh Capability, e utilizzato per annunciare i servizi disponibili nella rete mesh, ed ` presente in tutti e i frame di management sopra elencati. LIE WLAN Mesh Capability ha il formato illustrato nella Figura 3.10.

Figura 3.10. Formato dellInformation Element WLAN Mesh Capability.

Dopo i primi tre campi, di facile comprensione, ci sono i seguenti: Active Protocol ID: Active Metric ID: Peer Capacity: Power Save Capability: Synchronization Capability: MDA Capability: Channel Precedence:

Tra gli altri IE aggiunti nel formato del Beacon, vale la pena citare il Mesh ID. Tipicamente lSSID ` utilizzato dalle STA per trovare gli AP, mentre il Mesh e ID ` utilizzato dai MP per trovare gli altri MP appartenenti alla stessa rete. In e questo modo non vengono confuse le due funzionalit. Per evitare che le stazioni a trasmettano richieste di associazione ai MP non MAP, i MP possono inserire nel campo SSID un valore pari a tutti 1, mentre Mesh ID viene comunque rilevato dagli altri MP per le procedure di Discovery. Frame Extended I frame di tipo Extended possono essere di due sottotipi: Mesh Data e Mesh Management.

3.2 Frame in 802.11s

35

I frame Mesh Data hanno il formato completo descritto nel paragrafo 3.2.1, in particolare tutti e 4 gli indirizzi dellheader vengono utilizzati, e i ag To- DS e From-DS del campo Frame Control valgono entrambi 1. I frame Mesh Management hanno il formato riportato nella Figura 3.11, che si dierenzia da quello Mesh Data per la mancanza del QoS Header, oltre che per il contenuto specico del campo Body.

Figura 3.11. Formato di un frame di tipo Mesh Management.

Il corpo del frame Mesh Management consiste principalmente in un Mesh Action Data Unit, che ` un tipo di MMPDU (MAC Management Protocol Data Unit) e trasmessa tra due entit MAC, ed eventualmente un header per la gestione della a sicurezza. Il Mesh Action Data Unit contiene il campo Mesh Action, illustrato in Figura 3.12. Questo ` costituito da un campo Category e un campo Mesh Action Details, e costituito da un valore Action seguito da uno o pi IE diversi a seconda del tipo di u Mesh Action.

Figura 3.12. Formato del campo Mesh Action.

3.2.3 Information Element Lo standard denisce una serie di IE che possono essere utilizzati in varie combinazioni nei frame di tipo Management, Mesh Management e Mesh Data. Un esempio di IE ` gi stato visto nel 3.2.2 nella descrizione del formato del e a frame Beacon, ovvero il WLAN Mesh Capability. Piuttosto che descrivere dettagliatamente ogni tipo di IE denito nello standard, nel resto della tesi verr illustrato il formato dei vari IE contestualmente alle a procedure che li utilizzano. Tutti gli IE hanno una parte in comune costituita dai primi due campi: ID, che permette di distinguere il tipo di IE, e Length che rappresenta la lunghezza dellIE.

36

3 Lo standard 802.11s

DTIM Lelemento DTIM ` usato da un mesh point come beacon di broadcast. Lelemento e contiene informazioni circa il periodo DTIM della rete mesh. Il formato del DTIM ` mostrato in gura 3.13. e

Figura 3.13. Formato dellelemento DTIM.

Il campo DTIM Count indica quanti beacon (incluso il frame corrente) ci saranno prima dellinvio del prossimo DTIM. Un DTIM Count settato a 0 indica che lattuale TIM ` un DTIM. e Il campo DTIM period indica il numero di intervalli di beacon tra due DTIM consecutivi. Se tutti i TIM sono DTIM, il DTIM Period ha valore 1. Per questo campo, il valore 0 ` riservato. e Un mesh access point invier sia TIM che DTIM. Il DTIM Period tra i due tipi a di Information Element non deve essere uguale, in quanto i TIM saranno usati per servizi AP mentre i DTIM per servizi Mesh. 3.2.4 Formato dei Mesh Management Action Frame Il formato degli Action Frame tipicamente ` quello base del campo Mesh Action e visto in Figura 3.12. E composto da un campo Category, un campo Action e da uno o pi IE. Nella Figura 3.14 ` illustrato, come esempio, il formato di un Action u e Frame di tipo Route Request.

Figura 3.14. Formato dei Mesh Management Action Frame.

Il valore del campo Category ` posto a 5 per tutti i tipi di frame mesh. Il campo e Action individua il tipo di messaggio specico. La Tabella 3.2 illustra i valori del campo Action per i principali tipi di frame.

3.2 Frame in 802.11s Valore del Descrizione campo Action 0 Local Link state announcement 1 Peer Link Disconnect 2 Route Request 3 Route Reply 4 Route Error 5 Route Reply Ack 6 Congestion Control Request 7 Congestion Control Response 8 Neighborhood Congestion Announcement 9 Mesh Deterministic Access (MDA) 10 Beacon Timing Request 11 Beacon Timing Response 12 Non-mesh Action Encapsulation 13 Connectivity Report 14 Radio Aware Optimized Link State Routing (RA-OLSR) 15-254 Reserved 255 Vender Specic Mesh Management Applicazione Neighbor discovery Neighbor discovery HWMP routing HWMP routing HWMP routing HWMP routing Congestion Control Congestion Control Congestion Control MDA Beaconing and Synchronization Beaconing and Synchronization Action Connectivity reporting RA-OLSR Reserved Vender Specic

37

Tabella 3.2. Principali tipi di Action Frame introdotti dallo standard IEEE 802.11s.

3.2.5 Sincronizzazione Nell802.11, ogni Target Beacon Trasmission Time (TBTT) laccess point trasmette un frame di beacon non appena sente il mezzo wireless libero. Nel beacon, il campo Beacon Interval informa le stazioni circa il valore dellunit di tempo che intercorre a tra due TBTT consecutivi. Le stazioni congurano i propri clock al valore del Timing Synchronization Function (TSF) inviato dallAP allinterno del beacon. Nello standard 802.11s la sincronizzazione ` opzionale. Ad oggi, lo standard e estende i frame di beacon con Information Element (IE) addizionali che forniscono ad esempio messaggi di routing. Nell802.11 gli access point schedulano i beacon esattamente ogni TBTT dove TBTT = TSF. Per evitare collisioni tra beacon: I mesh point non sincronizzeranno i loro TSF in modo che diversi mesh point avranno diversi TSF I MP possono usare la Mesh Beacon Collision Avoidance (MBCA) Durante la fase di inizializzazione, ogni MP inserisce allinterno del beacon un proprio SelfTBTToset. Tale valore indica lo scostamento del MP dal global time, e il MP usa il SelfTBTToset e il timestamp di beacon per calcolare il TSF comune. Se il TSF calcolato ` in anticipo rispetto al proprio tempo, il MP adatta il suo TSF e locale. Il livello di precisione che si ottiene ` suciente per poter applicare il Mesh e Deterministic Access (MDA). Con il MBCA i MP a volte ritardano le trasmissioni dei frame di beacon in modo da poter determinare se i vicini hanno dei TBTT simili. Inoltre ogni MP informa gli altri MP vicini del proprio TBTT inserendo un

38

3 Lo standard 802.11s

appropriato IE allinterno del beacon. Ogni MP usa questa informazione per dare al proprio beacon un valore tale da minimizzare linterferenza. 3.2.6 Airtime Ogni nodo mesh eettua delle misure sulla qualit dei link e dei canali wireless; in a particolare, la metrica utilizzata dai nodi per avere una stima sullutilizzazione dei canali wireless ` lairtime. e Lairtime fornisce unindicazione sulla quantit di risorse di canale usate attraa verso la trasmissione di frame su un particolare link. Tale misura ` approssimativa e e progettata per avere facilit di implementazione e interoperabilit. a a Formalmente, lo standard 802.11s enuncia lairtime come: Ca = Oca + Op +
Bt r 1 1ept

Dove Oca ,Op e Bt sono delle costanti mostrate in tabella 3.3, e i parametri di input r e ept rappresentano rispettivamente il bit error rate espresso in Mbit/s e il frame error rate calcolato con un test frame di grandezza Bt . Il rate r rappresenta la velocit alla quale il mesh point vuole trasmettere un frame di dimensione standard a (Bt ) basandosi sulle condizioni correnti del canale e la sua stima dipende dalla locale implementazione delladattamento della velocit; il frame error rate ept rappresenta a la probabilit che quando un frame di dimensione standard (Bt ) viene trasmesso a al bit rate corrente di trasmissione (r), il frame arriva a destinazione corrotto e la sua stima dipende dalle politiche di scelta implementate localmente. Le perdite dei pacchetti dovute a un eccessivo TTL non sono incluse in questa stima e non sono correlate con le performance del link.

Parametro Oca Op Bt

Valore (802.11a) Valore (802.11b,g) 75s 335s 110s 364s 8192 8192

Descrizione Overhead di accesso al canale Overhead di protocollo Numero di bit nel frame di test

Tabella 3.3. Costanti airtime.

Lairtime riette la quantit di risorse di canale consumate trasmettendo i frame a su un particolare link. In breve, lairtime da unindicazione di quanto ` occupato il e canale.

3.3 Power Management


Il power management nelle reti mesh ` opzionale [42]. e

3.3 Power Management

39

3.3.1 Approccio Base Un mesh point che supporta le operazioni di power saving pu operare sia in uno o stato attivo che in power save. Il nodo mesh avvertir i suoi vicini del suo stato a power save tramite un beacon e inviando un frame Null-Data con il bit PS attivo. Un nodo mesh in power save mode ascolta periodicamente i beacon DTIM: quando si risveglia, prima di ritornare in modalit sleep, resta in attesa per un a periodo di durata almeno uguale a una nestra ATIM; la durata di tale intervallo verr indicata nei suoi beacon. a I mesh point in power save si svegliano, inoltre, seguendo un programma che hanno negoziato con gli altri mesh point. Tale tabella temporale ` presente nel e TSPEC setup. I mesh point rimarranno svegli no al termine del service period. I mesh point che desiderano comunicare con i nodi mesh in modalit power save a devono buerizzare il traco destinato a tali nodi. Esistono tre modi per consegnare il traco ai nodi in power save: Mandare il traco ai nodi citati sopra in base ai valori presenti nellAPSD (Automatic Power Save Delivery) del TSPEC setup. Mandare direttamente o in broadcast pacchetti ATIM durante gli ATIM window in modo da segnalare ai nodi PS di rimanere svegli in attesa di ulteriore traco. Mandare un singolo pacchetto Null-Data durante lATIM window dei nodi PS per riattivare un usso che ` stato sospeso o per segnalare che la modalit power e a save ` stata cambiata. e Tutti i nodi mesh non-AP che supportano il meccanismo power save devono poter gestire meccanismi di sincronizzazione. Tali mesh point non-Ap, nel caso non siano Mesh Point sincronizzati, lo diventeranno alla ricezione di un beacon o un probe response con il bit Request Synchronization from Peers settato allinterno del campo Synchronization Capability del Wlan Mesh Capability Information Field. Tutti i nodi mesh che vorranno entrare in uno stato power save saranno MP synchronizing e potranno richiedere ai vicini di entrare in sincronizzazione utilizzando il campo Synchronization Capability. I nodi mesh che fanno da access point (MAP) possono entrare in modalit power save senza essere necessariamente MP sincronizzati. a Ogni nodo che desidera comunicare con un MAP non sincronizzato, ed entra in modalit PS, si sveglier per un periodo di tempo pari alla durata del beacon a a DTIM del MAP. Analogamente, se un MP desidera comunicare con pi MAP non u sincronizzati si dovr svegliare ad ogni beacon DTIM di ogni MAP in aggiunta ad a ogni TBTT che pu essere schedulato per i suoi vicini MP sincronizzati. o Le operazioni di power save di un MAP non sincronizzato sono basate sullo standard IEEE 802.11 con infrastruttura. In particolare, le stazioni wlan (inclusi i mesh point) che cambiano il proprio power management mode informano il MAP usando i bit di Power Management allinterno del campo Frame Control dei frame trasmessi. Un MAP non sincronizzato non trasmetter arbitrariamente le MSDU a ai MP in PS mode ma le buerizzer per poi trasmetterle ad intervalli di tempo a opportuni (durante gli intervalli DTIM).

40

3 Lo standard 802.11s

3.3.2 Inizializzazione del power management allinterno di una mesh Per inizializzare il power management allinterno di una nuova mesh, o durante lunione con una mesh gi esistente, vengono usate le seguenti procedure: a 1. Un nodo mesh che si unisce ad una mesh gi esistente aggiorner la propria a a ATIM window e lintervallo DTIM in base ai valori ricevuti dai beacon nella mesh. 2. Il mesh point setta il suo stato power save personale e lo notica tramite beacon. 3. Un mesh point che crea una rete mesh setta i valori dellATIM window, dellintervallo DTIM e del power save state e lo notica inviando trame di beacon. 4. Linizio dellATIM window sar misurato dal TBTT. a 3.3.3 Transizione nello stato power save Un mesh point pu cambiare il proprio stato in power save mode solo se vengono o soddisfatte le seguenti condizioni: Il mesh point supporta le operazioni di power save. Tutti i mesh point a cui ` connesso (ovvero, con cui ha una relazione di vicinato) e sono in grado di trasmettere traco ai nodi mesh che operano in modalit power a save

Un nodo mesh che passa allo stato power save informer tutti i vicini mesh a mandando un Null-data frame in broadcast con il power bit allinterno del frame control header settato. Il pacchetto sar mandato durante le nestre ATIM del a beacon DTIM e sar ripetuto almeno due volte in due dierenti intervalli DTIM. a Se il MP riceve un beacon dove non ` settato il bit di PS state relativo al MP e che vuole entrare in PS mode allinterno della Neighbor list, il MP continuer a a mandare pacchetti Null-Data nei successivi DTIM. Il mesh point includer un mesh a PS information element con un valore di power save nei beacon successivi. Un mesh point che cambia il power mode in attivo informer i suoi vicini inviando a un Null-Data frame in broadcast con il power bit nel frame control header azzerato. Il pacchetto sar inviato durante la nestra ATIM del beacon DTIM e verr ripetuto a a due volte in due intervalli DTIM consecutivi. Il mesh point includer un mesh PS a information element con un valore pari ad attivo nei beacon successivi. Il mesh point passer immediatamente allo stato attivo indipendentemente dallistante in a cui i beacon vengono inviati. Un mesh point che opera in power save mode setter il power bit nel frame a control header di ogni frame in uscita. Un mesh point che opera in modalit attiva a invier ogni frame in uscita con il power bit nel frame control header azzerato. a Un mesh point in power save mode passa dallo stato awake allo stato doze in accordo con le seguenti regole: Un mesh point entrer nello stato awake prima di ogni TBTT che combacia con a lintervallo DTIM.

3.3 Power Management

41

Un mesh point che ` entrato nello stato awake tramite un evento TBTT e che e non ha inviato un ATIM, qualora non ricevesse un ATIM unicast o multicast pu ritornare allo stato doze alla ne della nestra ATIM. o Se un mesh point ha ricevuto un frame ATIM pu ritornare allo stato doze dopo o la ricezione di un pacchetto dove risultano azzerati, allinterno del control eld, tutti i bit relativi alle sorgenti che hanno inviato verso di lui un pacchetto ATIM. Un mesh point passato allo stato awake pu trasmettere un beacon, tuttavia o questo non impedisce il ritorno allo stato doze alla ne della nestra ATIM. Un mesh point, inoltre, entrer nello stato awake ad ogni istante prestabilito a tramite lo scambio di APSD TSPEC con gli altri mesh point. Un mesh point, entrato nello stato awake in un certo istante a causa di uno specico usso di dati per il quale ` stato settato il bit EOSP, pu tornare e o allo stato doze dopo aver ricevuto e/o mandato un frame o alla scadenza del maximum service interval per quel usso. Un mesh point pu passare allo stato awake ad ogni istante di tempo pressato. o 3.3.4 Trasmissione dei frame La trasmissione dei frame descritta in questo paragrafo ` relativa solo ai mesh point e in modalit power save: i MP che non supportano il PS non avranno traccia dei a nodi in PS. Ogni mesh point immagazziner le informazioni relative ai nodi che sono in PS a monitorando i beacon ed estraendo le informazioni dal neighbour list IE. Un mesh point considera la rete mesh operante in power save mode se almeno uno dei nodi mesh ` in PS. In una rete mesh che opera nello stato attivo i frame e possono essere inviati in qualsiasi istante, mentre in una mesh che opera in power save devono essere applicate una serie di regole. Il traco broadcast e multicast sar buerizzato dai nodi mesh che percepiscono a la rete mesh in power save mode. Questi pacchetti verranno trasmessi solo negli intervalli DTIM. Tutto il traco unicast indirizzato ai mesh point in power save sar buerizzato. a Questi pacchetti verranno trasmessi solo negli intervalli DTIM. Durante gli ATIM window i nodi mesh trasmetteranno solo i pacchetti di tipo ACK, CTS, RTS, ATIM, Beacon e Null Data. I mesh point che trasmettono ai mesh point in power save state (incluso il traco broadcast e multicast) andranno a settare dei bit in pi nel frame control header u se ci sono ulteriori trame da trasmettere verso una specica destinazione. Per un traco che appartiene a un usso per il quale ` stato congurato lAPSD e TSPEC e quindi prevista unopportuna procedura di scheduling con un altro mesh point, le trasmissioni verranno eettuate come prestabilito.

4 Nuove proposte per il Power Saving

In questo capitolo si elencheranno le proposte pi interessanti che sono state fatte u per il power saving. Nella prima parte si analizzeranno i miglioramenti proposti al power management relativo al protocollo 802.11 e per wlan generiche. Successivamente verranno illustrate alcune proposte per la realizzazione di un access point a risparmio energetico. Inne si descriveranno le ant colony e come possono essere utilizzate per ottenere un eciente bilanciamento del carico sulla rete.

4.1 Miglioramenti al PSM 802.11


Il principale problema del power save per il protocollo 802.11 ` che, a causa della e sua intrinseca staticit, non si adatta alle variazioni nelle condizioni della rete e a nelle richieste da parte delle applicazioni. Teoricamente, il power management dovrebbe mantenere linterfaccia wireless attiva quando ci sono pacchetti da trasferire, disabilitata durante i periodi di idle. In letteratura sono stati proposti diversi miglioramenti al power saving di base, ed i pi importanti sono descritti di seguito. u 4.1.1 Bounded-Slowdown (BSD) E stato dimostrato che un intervallo di 100 ms di sleep mode ` troppo lungo per ape plicazioni interattive request/response e troppo corto per minimizzare il consumo di potenza durante i periodi di lunga inattivit; il Bounded-Slowdown [45] nasce proa prio dallesigenza di un algoritmo che adatti dinamicamente il suo comportamento in base alle condizioni della rete. Lobiettivo di questo protocollo ` di minimizzare il consumo di potenza garane tendo che lRTT non incrementi pi di una certa percentuale. Per ottenere tale u risultato linterfaccia wireless rimane attiva per un breve periodo dopo aver mandato una richiesta e varia dinamicamente la frequenza con la quale si sveglia, in termini di beacon, quando la rete ` idle. Restando nello stato attivo diminuisce il ritardo di e comunicazione ma incrementa il consumo di potenza. Daltro canto, ascoltare pochi beacon fa risparmiare energia ma incrementa il ritardo di comunicazione.

44

4 Nuove proposte per il Power Saving

Formalmente, poniamo che sia R lRTT della connessione TCP tra un terminale mobile e un server remoto quando linterfaccia wireless ` attiva in modo continuo e (cio senza power management). Lobiettivo del protocollo BSD ` di minimizzare il e e consumo di potenza limitando lRTT osservato a (1+p)R, dove p > 0 ` un parametro e denito. Descriviamo il funzionamento del protocollo. Dopo aver mandato alcuni pacchetti (ad esempio una request o un ACK TCP) il terminale mobile mantiene linterfaccia wireless attiva per un tempo Tawake . Quindi entra in un loop nel quale, ad ogni passo, esegue le seguenti azioni: dorme per un periodo Tsleep . si sveglia e interroga lAP per ricevere i nuovi pacchetti arrivati (se ce ne sono).

Il loop termina non appena il terminale mobile non ha un nuovo pacchetto da inviare. Quando avviene questo lalgoritmo riparte (al contrario, i pacchetti ricevuti dallAP non hanno eetto sullalgoritmo). Ad ogni iterazione, lo sleep interval Tsleep ` il tempo passato da quando ` stato inviato lultimo pacchetto dal terminale mobile, e e moltiplicato di un fattore p. poich Tsleep ` il massimo ritardo addizionale introdotto e e dal protocollo BSD, lRTT osservato `, al massimo, uguale a R+Tsleep =(1+p)R. e Per implementare il protocollo BSD in uno scenario reale, ad esempio su una scheda IEEE 802.11, Tawake e Tsleep devono essere sincronizzati con il tempo di Beacon Tbp (Tbp =100ms nel PSM IEEE 802.11). Nello specico, Tsleep deve sempre essere arrotondato a un multiplo di Tbp . La prima volta in cui linterfaccia wireless viene messa in sleep mode, Tsleep ` uguale a Tbp e, quindi, lRTT pu essere e o incrementato, al massimo, di una quantita pari a Tbp . Pertanto Tawake deve essere uguale a Tbp /p.

Figura 4.1. Evoluzione del PSM e BSD con p=0.5.

La gura 4.1 mostra levoluzione del PSM e BSD con p=0.5. In questo esempio Tawake =Tbp /p=100/0.5=200ms. E stato dimostrato, tramite simulazioni, che il BSD riduce il tempo medio di recupero di una pagina del 5-64% e contemporaneamente il consumo di potenza del 1-14% in confronto al PSM. I beneci delluso del BSD sono molto pi evidenti u quando lRTT della connessione TCP ` pi piccolo di un tempo di Beacon (100 ms). e u Il BSD ha alcuni importanti inconvenienti. Poich linterfaccia wireless pu essere e o disabilitata per un tempo molto lungo, questa politica ` appropriata per una MS e (Mobile Station) che lavora come client in applicazioni di tipo request/response (ad esempio pagine web, e-mail, trasferimento di le). Non ` adatta quando una MS ` un e e server, oppure in scenari peer-to-peer. In questi casi lunghe disconnessioni possono impedire la ricezioni di pacchetti da altre stazioni, come una service request.

4.2 Power Management in WLAN generiche

45

4.1.2 Smart Power-Saving Mode (SPSM) Pi recentemente, Qiao e Shin [44] hanno proposto lo Smart Power-Saving Mode u (SPSM). LSPSM pu essere visto come un miglioramento al BSD. Durante un o tempo di idle, il BSD denisce statisticamente un insieme di punti nel tempo dove le MS ascoltano i beacon dallAP. Al contrario, lSPSM denisce questo set di punti dinamicamente basandosi su una stima del tempo di idle. LSPSM ` pi eciente e u in termini energetici rispetto al BSD, e ottiene gli stessi risultati riguardo il ritardo addizionale. Tuttavia in alcuni casi viene consumata pi energia rispetto al PSM. u Poich lSPSM ` molto simile al BSD, ` possibile applicare le stesse osservazioni e e e discusse nel paragrafo precedente. 4.1.3 Algoritmo Dynamic Beacon Period (DBP) Gli autori di [47] hanno proposto lalgoritmo Dynamic Beacon Period. Come il BSD e lSPSM, il DBP ha lo scopo di ridurre il ritardo addizionale introdotto dal PSM nel tempo di download di pagine Web. Sostanzialmente, ogni host mobile seleziona il suo intervallo di Beacon personale e lAccess Point ` responsabile della generazione e di specici frame di Beacon per ogni MS. Nella soluzione proposta rimane come problema aperto quello della scalabilit. a

4.2 Power Management in WLAN generiche


In questa sezione, daremo alcune soluzioni di power management che non sono specicamente mirate alla tecnologia IEEE 802.11, ma possono essere utilizzate per qualsiasi tecnologia WLAN. In molti casi le soluzioni proposte operano al di sopra del livello MAC (ad esempio, a livello application), e vengono implementate a livello software. Questo approccio permette una maggiore essibilit rispetto alle soluzioni a implementate a livello MAC. Di seguito parleremo separatamente di soluzioni proposte sia per applicazioni non real-time (ad esempio, la navigazione web, gaming, trasferimento di le), che per applicazioni real time (ad esempio, traco voce). 4.2.1 Power Management per applicazioni non Real-Time In [35] gli autori propongono una soluzione interamente centralizzata nellAccess Point. Il tempo ` diviso in Beacon Interval (come nello standard 802.11) e - allinie zio di ogni Beacon Interval - lAccess Point esegue lo scheduling per la trasmissione di frame allarrivo del Beacon Interval. Prima di qualsiasi altra trasmissione, lAccess Point trasmette un Beacon Frame per pubblicizzare quali host mobili stiano per ricevere i frame. Questi host mobili rimangono svegli no a quando non hanno ricevuto tutti i frame schedulati, mentre gli altri host possono passare immediatamente alla modalit low-power. Questa soluzione ore allAccess Point maggiore a essibilit in quanto pu attuare diverse politiche di scheduling, ma richiede una a o notevole complessit computazionale presso lAccess Point. Anand et al. [39] procea dono ad una valutazione sperimentale di PSM sia sui palmari che sui laptop. Essi si concentrano essenzialmente sul traco generato dalle applicazioni che utilizzano

46

4 Nuove proposte per il Power Saving

sistemi di le di rete come NFS e Coda. I loro risultati confermano le conclusioni in [45] per quanto riguarda il ritardo aggiuntivo introdotto dal PSM. Per superare questo problema, si propone il protocollo Self-Tuning Power Management (STPM). LSTPM opera a livello di sistema operativo, e sfrutta suggerimenti forniti dalle applicazioni di rete. In sostanza, i suggerimenti descrivono le future esigenze delle applicazioni in termini di attivit di networking. LSTPM sfrutta questi suggeria menti, e le caratteristiche energetiche di tutto il sistema, per gestire linterfaccia wireless in modo appropriato. Gli autori dellarticolo [24] propongono il Cross-Layer Energy Manager (XEM) che sfrutta le informazioni sparse in vari strati dello stack protocollare per rilevare linizio dellUser Think Times e dei burst. Come lSTPM, lo XEM si basa su diverse politiche di gestione energetica e sceglie dinamicamente la pi appropriata. Durante u i burst attiva il PSM, mentre durante lUser Think Times spegne linterfaccia wireless. La dierenza principale tra lo XEM e lSTPM risiede nella maggiore semplicit a dello XEM; inoltre lo XEM e non richiede alcun tipo di modiche del codice dellapplicazione. Lo XEM non peggiora la qualit del servizio dellutente e, a seconda a del modello di traco di rete, riduce il consumo energetico di un ulteriore 20-96% rispetto allo standard PSM. Un sistema di gestione della potenza specicamente adattato per applicazioni di navigazione sul Web ` stato presentato in [27] e [23]. Per mezzo di tecniche di tipo e prefetch, le pagine Web vengono trasferite tramite la rete WLAN in un singolo (o pochi) burst, massimizzando cos la quantit di tempo durante la quale linterfaccia a wireless rimane spenta. Questa tecnica non introduce ritardi signicativi. Naturalmente, la gestione dellenergia ` legata alla particolare applicazione per cui ` stata e e progettata. In [27] e [23] viene dimostrato che questo vincolo pu essere attenuato o con un accettabile degrado delle prestazioni energetiche. In particolare, la soluzione in [27] stima dinamicamente la durata prevista dei tempi di inattivit. Linterfaccia a wireless sulla MS viene spenta per la durata prevista del tempo di inattivit. a In [9], [11], [30] si utilizzano dei timeout di inattivit per decidere quando spea gnere linterfaccia wireless. I valori di timeout sono ssi e dipendono dalla specica applicazione. [9] si basa su unarchitettura indiretta TCP e buerizza i pacchetti che arrivano allAccess Point mentre lhost mobile ` scollegato. Invece [11] evita quale siasi supporto da parte dellAccess Point e sfrutta la conoscenza del comportamento delle applicazioni per evitare la perdita dei pacchetti. [30] utilizza un approccio puro client-centric, cio non riceve alcun sostegno dallAccess Point. In particolare, [30] e utilizza un approccio molto simile a [28], nel senso che i tempi di interarrivo vengono stimati on-line. Inoltre, i timeout di inattivit sono utilizzati per rilevare lUser a Think Times. Per quanto riguarda [28], esso non sfrutta alcun supporto dallAccess Point e quindi i pacchetti che arrivano mentre lhost mobile ` disconnesso verranno e persi. Gli articoli [57], [14] e [50] si occupano della gestione energetica a livello di sistema operativo. In [57] si sfruttano delle indicazioni on-line a livello applicazione per decidere quando spegnere la wireless. Quindi questo sistema richiede delle modiche al codice dellapplicazione. Gli autori di [14], [50] arontano il problema di gestione dellenergia come un problema lineare, dove lobiettivo ` ridurre al e minimo il consumo energetico di un particolare componente, e il vincolo ` il degrae do massimo tollerabile di prestazioni (per esempio in termini di ulteriore ritardo).

4.2 Power Management in WLAN generiche

47

Successivamente, si ottengono politiche di gestione energetica ottimali per guidare il componente nei diversi modi di funzionamento. Il principale inconveniente di questo approccio ` che esso richiede a priori dei modelli statistici di utilizzo del e componente. Inne altri approcci per la gestione dellenergia includono tecniche per la trasmissione a potenza controllata [36], o un drastico re-design dellarchitettura a livello applicazione [49], [33] e [29]. In particolare, [29] introduce una tecnologia abbastanza recente, denominata AJAX. Lidea principale ` il disaccoppiamento (nelle ape plicazioni Web) tra lutente e il server tramite un componente basato su un proxy (denominato motore Ajax) in esecuzione sul client. Lutente interagisce realmente con il motore Ajax, che in modo asincrono recupera dal server i dati necessari per soddisfare le richieste degli utenti. Ajax ` in grado di ridurre signicativamente la e quantit di dati scambiati attraverso la rete in caso di lieve modica di una pagina a web correntemente visualizzata. 4.2.2 Power Management per applicazioni Real Time Le soluzioni descritte nella sezione precedente non sono adatte per applicazioni real time (ad esempio, audio o video in streaming) a causa dei vincoli di tempo imposti da tali applicazioni per il processo di trasmissione. Inoltre, IEEE 802.11 PSM non ` adatto per applicazioni real time. Come mostrato in [5] PSM funziona bene e solo quando il traco real time in arrivo ` regolare, mentre non funziona in modo e soddisfacente con i tradizionali ussi multimediali. Tutte le soluzioni descritte di seguito dunque suppongono che PSM sia inattivo. Esse si concentrano su applicazioni di streaming, che ` la classe pi tradizionale di applicazioni real-time in ambiente e u WLAN. Le proposte di gestione della potenza per applicazioni real time si basano tipicamente su di uno (o entrambi) dei seguenti approcci generali: Commutazione dellinterfaccia wireless in modalit standby quando non vi sono a attivit di reti; a Riduzione del ritardo totale di trasferimento dellapplicazione. Lo spegnimento completo dellinterfaccia wireless non viene generalmente considerato perch richiede troppo dispendio di tempo e quindi potenzialmente pericoloso e per ladempimento dei vincoli real time. Le tecniche di transcodica sono state introdotte per ridurre le dimensioni dei ussi audio/video per ridurre il ritardo di trasferimento in applicazioni streaming [[6], [7]]. Tuttavia, mentre conducono a piccoli risparmi energetici (linterfaccia wireless consuma energia anche in modalit a idle), queste tecniche possono determinare una signicativa riduzione nella qualit dello streaming. Le tecniche pi ecaci, come sopra, si basano sul passaggio a u dellinterfaccia wireless in modalit sleep (o o) durante i periodi di inattivit. a a Sono state introdotte alcune tecniche a livello applicazione per eettuare previsioni sul comportamento del traco in arrivo. Esse utilizzano linterfaccia wireless in modalit active quando ` previsto larrivo di un pacchetto e in modalit sleep a e a quando ` previsto un periodo di inattivit. [3] e [8] propongono soluzioni in bae a se alle previsioni lato client dei tempi di inter-arrivo dei pacchetti sulla base della

48

4 Nuove proposte per il Power Saving

loro storia. Le previsioni sbagliate provocano la perdita del pacchetto e la degradazione della qualit. Le tecniche basate su previsioni lato client possono portare a ad un risparmio energetico compreso tra il 50% e 80% [[3]]. Tuttavia, le migliori prestazioni si ottengono quando il traco in entrata ` regolare. Le previsioni pose sono quindi trarre vantaggio da alcuni modelli di traco per diventare pi ecaci. u Tuttavia, realizzare il modello di traco lato server ` inutile perch le trasmissioni e e via Internet cambiano il prolo di traco con lintroduzione del jitter nel ritardo sperimentato dai pacchetti. Pertanto, il modello di traco deve essere eseguito ad un proxy vicino allMS. Le soluzioni proposte in [5] e [8] eseguono le operazioni di controllo sul traco sul proxy e si basano su previsioni lato client per utilizzare linterfaccia wireless in modalit sleep durante i periodi di inattivit. Il lavoro in [8] propone anche una a a seconda soluzione in cui le previsioni sono proxy-assistite. Il proxy invia al client una sequenza di pacchetti consecutivi in un singolo burst. Successivamente, informa il client che la trasmissione dati sar sospesa per un dato intervallo di tempo. Il a client pu cos utilizzare linterfaccia wireless in modalit sleep per lintervallo di o a tempo annunciato. Lenergia totale risparmiata varia [[8]] dal 65% all85% quando si utilizzano le previsioni lato client e dall80% al 98% in base alle previsioni proxyassistite. Questi risultati sono stati ottenuti riducendo il consumo di energia sia sullinterfaccia wireless (che viene utilizzata in modalit sleep durante i periodi di a inattivit), che su la CPU (il cui uso viene diminuito grazie alla transcodica). a La soluzione proposta in [25] si basa su una architettura basata su proxy dove il proxy utilizza uno scheduler ON/OFF per le trasmissioni dati al client, cio alterna e periodi di trasmissione e di inattivit. Inoltre, il proxy avverte il client, non appena a sta iniziando un periodo di non-trasmissione in modo tale che il client possa utilizzare linterfaccia wireless in modalit sleep. A dierenza della soluzione proposta a in [8], vengono applicate politiche dierenti per le reti wireless e per quelle cablate. Inoltre, lo scheduler di trasmissione ` regolato dinamicamente dal proxy in base alla e larghezza di banda attualmente disponibile, nonch in base al livello del buer del e client.

4.3 Power Saving access point per wireless lan 802.11


Lo standard IEEE 802.11 include meccanismi PS per le stazioni terminali ma non prevede power saving per gli access point. Le reti infrastructure-based adottano algoritmi PS solo per le stazioni terminali, mentre la modalit ad-hoc non ` consia e stente con lobiettivo di implementare una rete a infrastruttura ssa. Nellarticolo [21] ` stato proposto un progetto relativo ad un access point power saving basato e su tecnologia 802.11, nalizzato allutilizzo in applicazioni multihop a batteria o ad energia solare/batteria come nelle reti SolarMESH. Piuttosto che considerare un sistema proprietario il PSAP proposto ` compatibile con una vasta gamma di e funzionalit IEEE 802.11 e con gli access point cablati esistenti. a 4.3.1 Power saving access point IEEE 802.11 (PSAP) Un esempio del sistema ` mostrato in gura 4.2: un access point convenzionale e fornisce una connessione cablata a internet. Sono stati installati anche PSAP che

4.3 Power Saving access point per wireless lan 802.11

49

forniscono unestensione di copertura wireless. I PSAPs lavorano utilizzando riserve energetiche ridotte e quindi ` fondamentale lavorare a basso consumo energetico. e La progettazione dei PSAPs ` tale che essi possono svolgere ritrasmissioni multie hop dual-channel e allo stesso tempo fornire una vasta gamma di funzionalit a convenzionali IEEE 802.11 alle stazioni terminali denotate in gura come MSs.

Figura 4.2. Esempio di wireless LAN power saving.

I PSAPs si possono anche associare ad access point cablati convenzionali. Ogni PSAP fornisce un Home-Channel (H-Channel) e funge da access point per le MS che rientrano nel suo raggio di copertura. Inoltre, ogni PSAP ha un Relay-Channel (R-Channel) usato per ricevere/inoltrare il traco da/verso lAP o PSAP con cui comunica. Nellesempio L usa come R-Channel una frequenza di f3 e come H-Channel una frequenza di f1 . Il design ` molto essibile e un PSAP pu usare per lH o lRe o Channel la stessa frequenza 802.11 o due dierenti. In gura tutti gli H-Channel sono dierenti, ma questo non ` un requisito fondamentale e dipende dalla topologia e di rete e dalla versione dell802.11. Per esempio nell802.11b abbiamo 3 frequenze non sovrapposte mentre nell802.11a ne abbiamo otto. Il sistema descritto pu funzionare quando alcuni o tutti gli R e o H-Channel sono condivisi tra i PSAP se il numero di frequenze ` limitato. Nelle e tipiche infrastrutture di rete agli AP adiacenti sono assegnate diverse frequenze cos da non interferire tra loro. E importante notare che per diminuire il costo ogni PSAP ha solo una singola interfaccia wireless. Si assume che i PSAP formano uno spanning tree verso lAP. Quando un PSAP si associa con un AP cablato, lo fa in modalit 802.11 DCF a power saving mode (PS). Il PSAp comunicher con lAP allappropriato tempo di a beacon allo scopo di ricevere o inoltrare il traco. Il traco in uscita dallAP ` e ottenuto usando le normali procedure PS-Poll power saving.

50

4 Nuove proposte per il Power Saving

Temporizzazione dei frame PSAP In gura 4.3 vengono evidenziate le operazioni temporali del PSAP. Le attivit di a trasmissione mostrate sotto la linea temporale sono relative allH-Channel (frequenza fH ), mentre quelle mostrate sopra indicano le attivit dellR-Channel (frequenza a fH ). Come per lIEEE 802.11 convenzionale, il PSAP stabilisce un superframe di lunghezza tSF che pu attraversare intervalli multipli di beacon se desiderato. o

Figura 4.3. Operazioni temporali del PSAP.

La linea temporale PSAP base consiste di tre subframe. Nel subframe S (Sleep/Doze) il PSAP dorme e potenzialmente gli altri sottosistemi entrano in uno stato di conservazione di potenza. Nel sottoframe R (Relay) il PSAP ` sintonizzato sullR-Channel e inoltra il traco da/per i suoi vicini. Inne e c` il contention period o CP subframe durante il quale linterfaccia radio del PSAP e ` attiva sullH-Channel: durante tale periodo il traco ` trasmesso tra i PSAP e le e e MS usando le normali procedure IEEE 802.11 DCF infrastructure-based. In accordo con lo standard 802.11 denotato come B/M packets, tutto il traco broadcast e multicast ` trasmesso prima di entrare nello stato sleep/doze. Inoltre e alla ne del subframe R il PSAP trasmette sul canale H un pacchetto CF-End per segnalare che il CP sta per cominciare. Quando un beacon ` trasmesso allinizio di un superframe, il beacon annuncia e il PSAP come un point coordinator 802.11; il beacon specica anche la durata del periodo PCF usando i parametri CFPMaxDuration e CFPDurRemaining nel CF Parameter Set [4], di durata uguale a tN B , che corrisponde alla somma dei subframe S e R. tN B ` il NAV blocking time e serve ad impedire che le stazioni trasmettano e sul canale H per una durata di tempo uguale al tN B , in quanto in accordo a tale parametro le MS congureranno il proprio Network Allocation Vector (NAV) [20]. La congurazione del NAV pu essere vista come lintervallo di tempo nel quale la o stazione non pu accedere al canale usando le procedure DCF. In questo periodo o di tempo il PSAP ` libero di entrare nella fase di sleep o di switchare sul canale R. e Tale tecnica verr chiamata NAV-blocking. a

4.3 Power Saving access point per wireless lan 802.11

51

4.3.2 Frame Layout Dalla gura 4.3 ` mostrato come durante il NAV-blocking un PSAP compie attivit e a sia di relay che di sleep. Ci sono due modalit in cui pu essere eettuata tale a o operazione: in gura 4.3 il subframe S precedere il subframe R; in questo caso si parla di SR frame layout. Quando i subframe sono disposti in ordine inverso, si parler di RS frame layout. In entrambi gli schemi il NAV-blocking ` congurato in a e modo tale che entrambi i subframe S e R siano coperti dal tN B . SR Frame layout In gura 4.4 ` mostrato un esempio di SR Frame Layout: e

Figura 4.4. Esempi di linee temporali di frame SR con dierenti posizioni del beacon.

La linea superiore U rappresenta il PSAP di pi alto livello (PSAP-ul), associato u a un PSAP L di livello inferiore (PSAP-ll). Le tre linee L mostrano tre esempi di U linee temporali. TCP rappresenta la durata del CP per U. Esistono dei vincoli per quanto riguarda il PSAP di basso livello, ad esempio il subframe R non pu mai o superare la durata del subframe CP di pi alto livello, e la ne di R deve sempre u sovrapporsi alla trasmissione del beacon da parte del PSAP di livello superiore. Tale sovrapposizione ` necessaria anch il PSAP-ll pu continuare ad ascoltare il e e o beacon del PSAP-ul e rimanere sincronizzato al suo time. U L L Dato un TCP per U, si ha un TCP e TR per il PSAP-ll. Quindi si avr che: a
L L L TCP + TR + TS + TB = tSF L dove i tempi B/M e CF-end son inglobati rispettivamente in TB e TR . Un layout che soddisfa queste condizioni ` considerato ottimo. L(a), L(b) ed L(c) e sono tre esempi di allocazione ottimale: in L(a) il PSAP destina la maggior parte del tempo del canale per la fase di sleeping; in L(b) si ha una ripartizione equa delle tre

52

4 Nuove proposte per il Power Saving

regioni, mentre in L(c) non viene eettuata alcuna attivit di sleeping. Nellesempio a i tre L-beacon hanno dierenti fasi di oset tph e, poich i beacon vengono generati e da L periodicamente, non possono essere modicati. Adesso si considerer il caso in cui la fase di oset ` ssa: gura 4.5. a e

Figura 4.5. Esempi di diverse linee temporali di frame SR con uguale CP.
L Il valore TCP ` ssato ed ` uguale a: e e L TCP = tph TB L Anche se il TCP ` ssato, lSR layout permette al PSAP di muovere dinamicae mente il conne tra S e R, come mostrato in gura nei tre diversi L. Quindi, per una data congurazione di rete, TSF e tph saranno valori ssati, mentre la durata dei subframe R ed S potr variare in accordo con la relazione: a L L TR + TS = tSF tph

In questo caso la durata del subframe CP ` data da: e


L TCP = tph TB

Il risultato ` che quando un set di PSAP sono interconnessi, la congurazione e del frame di un PSAP a pi` alto livello vincola quelli dei livelli pi bassi secondo le u u relazioni:
L tph = TCP + TB L U tB + = tB + + tph L U TB TR TCP

4.3 Power Saving access point per wireless lan 802.11

53

Figura 4.6. Esempi di linee temporali di frame RS con dierenti posizioni del beacon.

RS Frame layout In gura 4.6 ` mostrato un esempio di frame RS: anche in questo caso la ne del e subframe R di L si sovrappone al subframe B di U. Le tre linee L(a), L(b) e L(c) rappresentano dei layout ottimi ed in ogni linea lL-beacon occupa una posizione dierente. In gura 4.7 la fase di oset ` ssa. e

Figura 4.7. Esempi di diverse linee temporali di frame RS con uguale CP.

In questo caso la durata del subframe R ` ssa, mentre il conne tra CP e S pu e o variare dinamicamente. Si ha che:
L TCP R TL = tSF tph L + TS = tph TB

54

4 Nuove proposte per il Power Saving

La freccia mostra come nei tre casi il conne tra S e CP viene spostato. Si ha dunque che, in una congurazione di rete gerarchica secondo un modello spanning tree, il frame del PSAP di livello superiore pone dei vincoli sui frame dei PSAP di livello inferiore in base alle relazioni:
R tph = tSF TL L U TR TCP tL + = tU + + tph B B L R 0 TCP tSF TL TB

Linsieme di queste relazioni mostra la fondamentale dierenza che c` tra la e congurazione SR ed RS. In SR, una volta settata la relativa fase di beacon, la durata del subframe CP ` ssata e non pu essere cambiata. Tuttavia, ` possibile variare dinamicamente la e o e quantit di tempo di subframe dedicata alla fase di relaying (R ) e sleeping (S). a Viceversa, in RS, la fase di beacon setta la durata del subframe R, che non pu essere cambiata. In questo caso, tuttavia, ` possibile variare dinamicamente la o e quantit di tempo dedicata al subframe contention period (CP) e sleeping (S). a SRS Frame layout In questo paragrafo verr considerato un ibrido dei casi SR e RS, chiamato SRS a frame layout. In questo schema ci sono due dierenti S-frame, ciascuno dei quali fornisce un conne spostabile che consente un indipendente tradeo tra capacit di a relay e risparmio energetico, e tra capacit CP e risparmio energetico. Un esempio a di questo ` mostrato in Figura 4.8. In questo caso, il NAV-blocking deve coprire e entrambi R subframe e S subframe.

Figura 4.8. Esempi di linee temporali di frame SRS con dierenti posizioni del beacon.

4.4 Power Saving a infrastruttura condivisa per le reti Mesh 802.11s ad energia solare

55

I tre esempi mostrano come questi conni possono essere spostati dinamicamen` te. E evidente che, nel caso di SRS, una volta che la posizione dellL-beacon ` scelto e L L rispetto allU-beacon, si ha un limite massimo per TR e TCP :
L max(TR ) = tSF tph L max(TCP ) = tph TB

Una volta che il sistema viene inizializzato, i due conni mobili fanno parte di un sistema in cui i possibili tempi di allocazione per il subframe R, il subframe CP e il subframe S giacciono su un piano denito da:
L L L TCP + TR + TS = tSF TB

Nellequazione precedente si hanno le seguenti limitazioni:


L U 0 TR min(tSF tph , TCP ) L 0 TCP tph TB

Quindi, nel momento in cui viene congurata una rete, i PSAP di livello inferiore dovranno rispettare le condizioni:
L tph = tSF max(TR ) L max(TCP ) = tph TB L U max(TR ) TCP L U tB + = tB + + tph L L 0 TCP max(TCP ) L L 0 TR max(TR )

E importante osservare che si possono ottenere delle pi complesse organizzau zioni del frame inserendo addizionali subframe R, S e CP, ma loro non alterano gli equilibri tra attivit di trasmissione e sleep che sono presenti nellSRS. a Nel progetto PSAP, c` un ampio margine di essibilit nel modo in cui le durate e a dei vari subframe siano assegnate e aggiornate. Questo pu variare da un caso o altamente dinamico, dove il sistema tenta di tenere traccia del traco arretrato su una breve scala di tempo, al caso dove le durate dei subframe sono scelte in maniera quasi statica e aggiornate molto pi raramente u Per esempio, in situazioni di copertura outdoor, ci pu essere carico relativao mente pesante in tutte le normali ore lavorative, e puossono essere assegnati ai subframe CP/R dei valori abbastanza grandi per soddisfare queste condizioni. Di notte, tuttavia, il carico di traco pu essere virtualmente inesistente e lS sub frao me pu essere settato ad un valore molto grande, permettendo cos un alto grado o di risparmio energetico.

4.4 Power Saving a infrastruttura condivisa per le reti Mesh 802.11s ad energia solare
Il costo di nodo wlan pu dipendere fortemente dal costo relativo allalimentazione, o pannello solare o batteria, per cui ridurre il consumo energetico ` molto importante. e In questo tipo di rete il picco di banda richiesta pu non essere soddisfatto da un o

56

4 Nuove proposte per il Power Saving

singolo access point, anche se la banda media richiesta pu essere molto bassa. In o questo caso per rispondere a tale richiesta di banda possono essere necessari AP multipli o sovrapposti. Quando ci succede il consumo a lungo termine dei nodi o pu essere ridotto implementando politiche condivise di risparmio energetico tra o i nodi WLAN mesh. In questo capitolo vengono proposti due algoritmi per un utilizzo eciente dellinfrastruttura a energia solare quando viene richiesta banda addizionale. Gli algoritmi proposti sono progettati in modo da essere compatibili con lIEEE 802.11 standard e includono i meccanismi di bilanciamento del carico convenzionali quando sono attivi pi di un AP in una data area di copertura. Il bilanciamento u del carico incluso ` basato su unestensione degli algoritmi esistenti. Il meccanismo e di load balancing scelto ` il pi attrattivo poich non dipende da un controllo e u e centralizzato e il bilanciamento del carico di rete viene eseguito senza modicare lIEEE 802.11 standard. 4.4.1 Copertura con Access point multipli In gura 4.9 ` mostrato un esempio di area a copertura mesh con AP multipli: i e nodi (SN0, SN1 e SN2) stanno funzionando come mesh AP fornendo una copertura WiFi in unarea di copertura condivisa. Tali nodi vengono congurati per lavorare su diversi canali.

Figura 4.9. Nodi mesh con area di copertura condivisa.

Ogni nodo ha due interfacce radio: una che fornisce il collegamento alle varie stazioni (STAs), laltra che eettua il relay verso gli altri nodi mesh. Il collegamento

4.4 Power Saving a infrastruttura condivisa per le reti Mesh 802.11s ad energia solare

57

a internet viene fornito tramite un sistema multihop attraverso i vari nodi mesh, no ad arrivare alla rete cablata: tale collegamento non viene mostrato in gura. Assumiamo che i nodi possono essere in due stati di base: ACTIVE MODE, in cui i SN forniscono un accesso alle STA e tutte le loro interfacce sono continuamente operative, e IDLE MODE, dove gli SN non forniscono copertura per le MS e si trovano quindi in uno stato a basso consumo energetico. Un nodo che si trova in Idle mode funziona in modo simile al convenzionale PS mode, cio prova e a minimizzare lutilizzo delle interfacce radio spegnendole e risvegliandole periodicamente per comunicare con i suoi nodi mesh di relay. Assumiamo che il sistema usa lIEEE 802.11e, dove la linea temporale ` composta da un intervallo temporale e governato da traco Connection Oriented (CO) gestito via HCCA, e traco Best Eort (BE) gestito via EDCA. Lobiettivo ` di mantenere un buon livello di servizio e e contemporaneamente di minimizzare il consumo di potenza dei SN. Lobiettivo indicato pu essere formulato come un problema di ottimizzazione. o Verr mostrato come tale problema pu essere suddiviso in sottoproblemi molto a o dicili computazionalmente. Per esempio, si pu dimostrare che il bilanciamento del o carico ` richiesto per evitare che un nodo si attivi inutilmente, e un load balancing e ottimale ` un NP-completo mediante riduzione al Partition problem. Per questo e motivo gli algoritmi proposti possono essere visti come euristici. 4.4.2 Algoritmi di power saving a infrastruttura condivisa Verranno presentati di seguito due algoritmi, PLAS e LAS [15]; entrambi gli algoritmi tentano di regolare il numero di SN attivi allinterno dellarea di copertura condivisa. Il PLAS incorpora una versione modicata dello schema di bilanciamento del carico proposto nel documento [32] e supporta solo traco best eort: per questo il load balancing viene applicato su una scala dei tempi molto granulare. Il LAS contiene una serie di miglioramenti rispetto al PLAS: piuttosto che applicare il load balancing su una scala dei tempi pi ne, il LAS svolge tale compito quando reputa u che la banda dedicata al traco BE non ` suciente. Il LAS gestisce anche traco e connection oriented Poich il load balancing ` applicato in entrambi, il traco deve essere distibuito e e dalle STA trasmittenti tra i vari SN. Questo si pu eettuare in vari modi, come la o STA disassociation o tramite comandi diretti di hando. I SN che coprono comuni aree condivise si scambiano periodicamente informazioni come: TCO : somma dei periodi HCCA in un superframe (traco CO) TBE : somma dei periodi EDCA in un superframe (traco BE) UCO : utilizzazione del canale durante i periodi HCCA (traco normalizzato rispetto a TCO ) UBE : utilizzazione del canale durante i periodi EDCA (traco normalizzato rispetto a TBE ) Quando una STA prova a stabilire una nuova connessione assumiamo che lIEEE 802.11e eettui un processo di admission control. Leettiva banda necessaria ` e

58

4 Nuove proposte per il Power Saving

determinata dal SN: Trequest . Il SN manipola le richieste valutando leetto di accettare la nuova connessione calcolando: TCO = TCO + Trequest TBE = TBE - Trequest UBE = UBE TBE T
BE

Se UBE < UBEmax il SN accetta la connessione, altrimenti la riuta e la STA dovr provare ad associarsi ad un altro SN. UBEmax ` la massima utilizzazione che a e si vuole avere sui nodi e lalgoritmo fa del suo meglio anch questo valore non e venga superato: se una richiesta di connessione non pu essere accettata da nessun o SN attivo come risultato si avr lattivazione di un altro nodo (cio da IDLE ad a e ACTIVE). Se ci non ` possibile, la richiesta verr riutata. o e a 4.4.3 PLAS: Persistent Load Balancing e Awakening/Sleeping Questo algoritmo incorpora una versione dellalgoritmo per il load balancing proposto nellarticolo [32] opportunamente modicato per permettere lattivazione e la deattivazione dei SN. Per questa ragione viene considerato solo traco best eort e quindi il traco connection oriented ` considerato pari a 0. Lalgoritmo ` molto ate e tivo in quanto cerca continuamente di mantenere il carico in situazione di equilibrio anche se le prestazioni rientrano nei limiti accettabili. Questi vincoli sono abbassati nel secondo algoritmo proposto. Ora si riassumeranno brevemente gli aspetti del [4] che sono necessari per il nostro algoritmo. ` quel parametro che viene utilizzato e per indicare quanto bene ` equilibrato il carico nellarea di copertura condivisa per e un periodo di tempo pre-specicato, vale a dire: =
( N i )2
2 i

dove N ` il numero di SN attivi mentre i indica il throughput del SNi . pu e o variare in (0,1), dove 1 indica il perfetto bilanciamento del carico tra tutti i nodi: tutti i nodi hanno lo stesso throughput. Lobiettivo ` di massimizzare in ogni e istante. Un altro parametro conosciuto come carico medio ` L: e L=
i NACT IV E

e indica appunto il carico medio su ogni nodo. I nodi con un throughput stimato minore di L sono considerati underload (sottocaricati) e sono considerati idonei per il trasferimento di carico. Un nodo ` considerato bilanciato quando L = = 1.1L. e Adesso si introducono delle modiche per incorporare gli stati IDLE e ACTIVE dei nodi SN. Gli eventi di attivazione/deattivazione avvengono sulla base di informazioni collezionate dai SN sulla nestra temporale Tw . Per esempio lutilizzazione media UBE ` data da: e
NACT IV E n=1 i UBE

UBE =

NACT IV E

(4.1)

4.4 Power Saving a infrastruttura condivisa per le reti Mesh 802.11s ad energia solare

59

e u Se UBE > UBEmax c` bisogno di un nuovo SN e lIDLE SN con pi riserva di batteria verr svegliato. Al contrario, se UBE < UBEmax ` possibile deattivare a e un ACTIVE SN. Prima di procedere alla disattivazione di un nodo, il SN con la riserva di batteria minore dovr valutare UBE grazie allequazione 4.1 sostituendo a NACT IV E con (NACT IV E -1). Se UBE < UBEmaxHhyst allora il SN trasferir le a STA associate ed entrer in IDLE MODE. Hhyst fornisce un margine isteretico a allattivit wakeup/sleep. a 4.4.4 LAS: Load Distribution e Awakening/Sleeping Tali algoritmi includono miglioramenti che permettono di gestire sia traco Best eort che traco Connection Oriented (CO). E pi conservativo del PLAS: le u stazioni sono trasferite tra AP solo quando un particolare criterio di performance BE non ` soddisfatto. e E stato dimostrato nel documento [14] che se UBE non supera una certa soglia, UBEthreshold , il ritardo dei pacchetti per il traco BE ` ragionevole, incluse le e applicazioni delay-sensitive. Analizzeremo pi avanti come scegliere tale soglia. u Un disassociation-token (DT) viene passato tra i nodi tramite modello roundrobin. Il DT ` usato per garantire il diritto di spostare STA tra nodi ogni ciclo e di esecuzione dellalgoritmo, cio Tw secondi. Per semplicit indichiamo il nodo in e a possesso del DT come SN-i. Tutti i SN attivi misurano e comunicano lUBE ogni Tw secondi in modo da tenere ogni SN attivo sotto la soglia UBEmax . Per tenere i UBE sotto la soglia UBEmax i SN valutano inizialmente solo il trasferimento verso altri nodi di stazioni con traco BE. Se tale stima fallisce, allora il nodo valuta il trasferimento di stazioni con traco CO. Adesso consideriamo il test fatto per determinare come trasferire il carico tra i nodi. Trasferimento di stazioni BE Indichiamo con il carico che desideriamo trasferire ed ` dato da: e
i i = (UBE UBEmax )TBE

(4.2)

Esprimiamo per comodit il carico come tempo di canale per superframe. SN-i a deve anche determinare quanto carico pu essere trasferito a tutti i nodi vicini; o indichiamo tale quantit con ed ` data da: a e
NACT IV E

=
j=1

j j (UBEmax UBE )TBE ,

j = i

(4.3)

j che ` zero se UBEmax < UBE dopo il contributo di questo SN alla precedente e somma. Se > allora SN-i ` in grado di valutare la ridistribuzione di parte del e suo carico. A tale scopo SN-i deve calcolare per ogni nodo ATTIVO quanto carico esso pu ricevere. o Questa espressione ` data da: e

60

4 Nuove proposte per il Power Saving

j j C(j) = (UBEmax UBE )TBE ,

j = i

(4.4)

SN-i cerca la stazione k (BE-only, con solo traco best eort) con il pi alto u valore di tempo di utilizzazione tk che pu essere ospitata dal nodo con il maggior o BE valore C(j). Se non c` nessun nodo che pu prendere in carico tale stazione, la e o stazione k viene considerata non-trasferibile e viene rimossa dalla lista delle stazioni che possono essere trasferite. Altrimenti, la STA viene rimossa dalla lista, viene associata al nodo j e C(j) viene ridotto di tk . Questo processo continua senza BE sovraccaricare nessun SN (cio far diventare C(j) < 0), nch: e e tk > , BE

per tutte le STA selezionate

(4.5)

o nch SN-i ha valutato il trasferimento di tutte le stazioni. e Trasferimento di stazioni sia BE che CO SN-i adesso considera la possibilit di trasferire tutte le stazioni (non solo quelle a BE). In questo caso, ogni volta che SN-i trasferisce una stazione, UBE pu essere o ridotto sia da tempi CO che BE. Il valore aggiornato pu essere scritto come: o UBE TBE TBE

i UBE >

(4.6)

dove ` la stima del tempo totale usato per gli intervalli BE, tk , mentre e BE ` il tempo totale allocato per gli intervalli CO, tk . Come prima lobiettivo ` di e e CO i rendere UBE < UBEmax . Quindi usando lequazione 4.4.4 si pu scrivere: o
i i + UBEmax > (UBE UBEmax )TBE

(4.7)

Usando questa disuguaglianza, SN-i calcola per ognuna delle sue stazioni:
k k v(k) = TBE + TCO UBEmax

(4.8)

SN-i usa allora v(k) per stabilire quale STA trasferire. Come nel test precedente SN-i valuta il trasferimento delle stazioni ai nodi vicini; comincia cercando la stazione con il maggior valore di v(k) e trova il SN ATTIVO con il maggior C(j) (banda disponibile) in ordine discendente nch ne trova uno che pu supportare la e o k k richiesta della stazione (TBE e TCO ) senza essere sovraccaricato. Se viene trovato un SN-j capace di supportare tale stazione, allora viene registrata unentry STA/SN, C(j) viene aggiornato e la STA viene rimossa dalla lista. Altrimenti, se il nodo non viene trovato, la stazione non pu essere trasferita e quindi viene rimossa dalla lista. o SN-i continua scegliendo la STA rimanente con il v(k) maggiore e valutando il suo trasferimento. Il test continua nch la 4.7 ` soddisfatta o nch SN-i non ha pi e e e u stazioni da trasferire.

4.5 Ant Colony

61

4.5 Ant Colony


Utilizzando alcune tecniche computazionali ispirate a insetti sociali come le formiche, diversi esempi basati su agenti mobili sono stati progettati per risolvere i problemi di routing e di controllo nelle telecomunicazioni e nelle reti [12]. Da sola, una formica ` una creatura semplice, mentre collettivamente una colonia di formiche e pu svolgere utili compiti come costruire tane o ricercare cibo. Ci che ` pi intereso o e u sante ` che le formiche sono abili a trovare il cammino pi breve verso una risorsa di e u cibo e a condividere tali informazioni con le altre formiche attraverso la stigmergia. La stigmergia ` una forma di comunicazione indiretta che le formiche eettuano e rilasciando una sostanza chimica chiamata ferormone. Negli anni scorsi tali modelli di intelligenza collettiva sono stati trasformati in utili modelli euristici di ottimizzazione e di controllo. Nellemergente campo dellant colony optimization (ACO)una colonia di formiche ` tipicamente modellata su una societ di agenti mobili (formie a che articiali). Nellapplicare lACO ai problemi di routing e load-balancing, una formica articiale non ` altro che un semplice programma che consiste in semplici e procedure che simulano il rilascio e la rilevazione del ferormone, e strutture dati che registrano il tempo di percorso e i nodi che la formica ha attraversato. Passando da nodo a nodo una formica articiale simula il rilascio di ferormone aggiornando la corrispondente entry nella routing (o ferormone) table in un nodo che registra, per esempio, il numero di formiche che passano da quel nodo. 4.5.1 Ant colony optimization (ACO) Questo paragrafo descrive un esempio di ACO nel trovare il cammino ottimale. Supponiamo che ci sono 4 formiche e 2 cammini possibili verso una risorsa di cibo: R1 e R2 sono i cammini con R1 > R2. Lungo i due cammini ci sono sei nodi: Ne (nodo tana, nest), N1 , N2 , N3 , N4 , Fo (Food source).

Figura 4.10. Esempio di ACO.

62

4 Nuove proposte per il Power Saving

Inizialmente tutte le formiche (A1 , A2 , A3 , A4 ) sono al punto iniziale Ne (decision point) e devono scegliere tra R1 e R2 per raggiungere Fo (gura 4.10). 1. In Ne , nessuna formica ha informazioni circa la posizione di Fo . Quindi loro sceglieranno casualmente da R1, R2. Supponiamo che A1 e A2 scelgano R1, A3 e A4 scelgano R2. 2. Mentre A1 e A2 si muovono lungo R1, e A3 e A4 si muovono lungo R2, lasciano lungo il proprio cammino una certa quantit di ferormone (rispettivamente 1 a e 2 ). 3. Poich R2 < R1, A3 e A4 raggiungono Fo prima di A1 e A2 . Quando A3 e A4 e attraversano R2 per raggiungere Fo , 2 = 2, ma A1 e A2 non hanno ancora raggiunto Fo e quindi 1 = 0. Per tornare da Fo a Ne , A3 e A4 devono scegliere uno dei due cammini. In Fo , A3 e A4 rilevano che 2 > 1 , quindi sono pi inclini a scegliere R2. Supponiamo u che A3 e A4 scelgano R2. 4. Quando A3 e A4 attraversano per la seconda volta R2, 2 viene incrementato a 4. Lincremento di 2 a 4 consolida ulteriormente R2 come cammino pi breve. u Quando A1 e A2 raggiungeranno Fo , 1 = 2 e 2 = 4. Quindi A1 e A2 sono pi u inclini a scegliere R2. Se la formica ` in un punto di scelta in cui non c` ferormone, sceglie in modo e e casuale uno dei cammini R1 o R2, con una probabilit dello 0,5 di scegliere luno o a laltro cammino. Invece, quando il ferormone ` presente, vi ` una pi alta possibilit e e u a di scegliere il cammino con un livello di ferormone maggiore. Controllo euristico del ferormone Un problema connesso a tale questione ` la stagnation: consideriamo che venga e scelto un cammino ottimo p0 , tutte le formiche sceglieranno sempre quel cammino incrementando ricorsivamente il livello di ferormone. A tal proposito ` possibile congurare le formiche in modo che la loro scelta e del percorso non dipenda esclusivamente dal livello di ferormone. Questo pu essere o ottenuto modicando la funzione di probabilit Pij , relativa alla scelta del percorso a (i,j), usando una combinazione sia della concentrazione di ferormone ij che di una funzione euristica ij . Una formica sceglie un arco (i,j) in modo probabilistico mediante una combinazione funzionale per Pij . Nel routing di rete, ij ` funzione e del costo dellarco (i,j) (che pu includere fattori come la lunghezza della coda, la o distanza, il ritardo). ij pu essere funzione della lunghezza dellarco dij o della lunghezza della coda o qij presente sullarco (i,j), e ij ` data da: e qij
lNi

ij > 1 Pij ` dato dalla formula seguente: e

qij

(4.9)

4.5 Ant Colony

63

Pij (t) >

[ij ] [ij ] [ij ] [ij ]

(4.10)

Dove alfa e beta rappresentano rispettivamente i pesi di ij e ij . Quindi le preferenze di routing possono essere cambiate modicando i valori di e . Se > , le formiche sceglieranno pi spesso i cammini con un pi alto valore di u u ferormone, mentre un pi alto valore di indirizza le formiche verso cammini con un u valore euristico migliore. Un pi basso valore di ` generalmente preferito quando u e la concentrazione di ferormone lungo i cammini non indica necessariamente la loro ottimalit. Esempi di tali situazioni includono lo stato iniziale di una rete dopo a un reboot, e quando si vericano frequenti e brutali cambiamenti nello stato della rete dovuti alla caduta di un link o allaggiunta di nuovi nodi. Comunque, quando la rete si stabilizza, si preferisce un pi alto valore di , mentre a basso carico u impostando un valore di pi alto ` possibile caricare prevalentemente alcuni nodi u e e lasciare inattivi gli altri. Inoltre ricerche recenti hanno dimostrato che variare dinamicamente e in risposta ai cambiamenti della rete pu incrementare le o performance delle formiche. 4.5.2 Multiple Ant Colony Optimization (MACO) Un approccio basato su tale modello si ` rivelato molto interessante per quanto e riguarda il load balancing. Riuscire a bilanciare adeguatamente il carico della rete pu far risparmiare energia globalmente: si pu pensare ad esempio, in condizioni o o di basso carico, di far gravare il traco di rete solo su alcuni nodi in modo da permettere agli altri nodi di entrare in PS. Sono state fatte varie proposte: la pi interessante sembra essere quella relativa u al Multiple Ant Colony Optimization. Approcci come lACO mantengono per ogni nodo solo una tabella di routing probabilistica. Di conseguenza, se c` pi di un cammino ottimo, ` molto probabile e u e che tutto il traco venga inoltrato solo attraverso un unico nodo. Una delle possibili soluzioni ` quella di mantenere pi tabelle probabilistiche di e u routing in ogni nodo. Un lavoro che aronta tale questione ` il paradigma probleme solving MACO (multiple ant colony optimization) [12]. Nel MACO viene utilizzata pi di una colonia di formiche per trovare un camu mino ottimale, ed ogni colonia di formiche deposita un dierente tipo di ferormone rappresentato da un dierente colore. Sebbene le formiche di ogni colonia rispondo al ferormone della propria colonia, nel MACO vi ` anche un meccanismo di repulsioe ne che impedisce a formiche di colonie diverse di scegliere come cammino ottimale lo stesso percorso. Come nelle ACO a colonia singola, una formica che si trova a un choice-point dove non c` ferormone sceglie in maniera casuale il percorso da e prendere. Quando ` presente solo ferormone della propria colonia c` unalta probae e bilit che la formica scelga il cammino con maggiore concentrazione di ferormone. a Inoltre, a causa della repulsione, una formica ` meno propensa a scegliere percorsi e con alte concentrazioni di ferormone di altre colonie: i gradi di attrazione e repulsione sono determinati da due parametri pesati combinati allinterno di una funzione probabilistica.

64

4 Nuove proposte per il Power Saving

Esempio MACO Supponiamo che ci siano quattro formiche: Ar1 , Ar2 , Ab1 e Ab2 , dove Ar1 e Ar2 sono formiche della colonia rossa, Ab1 e Ab2 sono formiche della colonia blu. Ci sono tre percorsi R1, R2 e R3 che conducono alla risorsa di cibo Fo tali che R1 > R2 > R3. Inizialmente tutte le formiche sono nel nido Ne e devono scegliere uno tra i tre percorsi. Supponiamo che, in modo random, Ar1 scelga come percorso R3, Ab1 scelga R2, Ar2 e Ab2 scelgano R1. Mentre Ar1 e Ar2 depositeranno rispettivamente una unit di ferormone di colore rosso r , Ab1 e Ab2 depositeranno una unit di a a ferormone blu b (gura 4.11).

Figura 4.11. Tutte le formiche cominciano a muoversi.

Poich R3 < R2 < R1, Ab1 raggiunger Fo prima di Ab2 , Ar1 e Ar2 . In Fo , e a per scegliere il percorso di ritorno, Ab1 scoprir che c` una unit di b in R2 e a e a nessuna in R1 e R3 (gura 4.12).

Figura 4.12. Ab1 sceglie il suo percorso di ritorno.

r3 r2 r1 u o e Poich b > b e b > b , la scelta pi probabile che Ab1 pu fare ` R2. In e r2 r2 tal modo, Ab1 incrementer ulteriormente b (gura 4.13). a

4.5 Ant Colony

65

Figura 4.13. Ab1 sceglie nuovamente R2 mentre Ar1 ` arrivata in Fo . e

Di conseguenza, poich R3 < R1, Ar1 raggiunge Fo prima di Ab2 e Ar2 . Al e r3 r1 momento di eettuare il viaggio di ritorno, Ar1 scopre che r = 1, mentre r = r2 r2 e e u r = 0 e b = 2. Poich su R3 c` una pi alta concentrazione di r rispetto a R1 e R2, Ar1 sceglier con pi alta probabilit R3 rispetto a R2, mentre avr a u a a repulsione verso R2 a causa dellalta concentrazione di b . Supponiamo quindi r3 che Ar1 scelga R3: r sar portato a 2 unit (gura 4.14). a a

Figura 4.14. Ar1 sceglie R3 mentre Ab2 e Ar2 stanno scegliendo il proprio percorso di ritorno.

Quando nalmente anche Ab2 e Ar2 raggiungono Fo , sceglieranno il percorso di ritorno in funzione del loro grado di attrazione rispettivamente verso b e r e del loro grado di repulsione rispettivamente verso r e b . Poich Ab2 scopre che e r2 r1 r2 r3 r1 r3 b > b e b > b , e che r e r sono diversi da zero, sar pi attratta da a u R2 e meno da R1 e R3 a causa della repulsione. Analogamente, Ar2 sceglier con a pi probabilit R3 e avr minore preferenza per R1 e R2 a causa della repulsione. u a a Supponiamo quindi che Ab2 scelga R2 mentre Ar2 scelga R3 (gura 4.15). Quando le quattro formiche arrivano a Ne , R2 avr una concentrazione pi a u a u pesante di taub , mentre R3 avr una concentrazione pi pesante di taur . Di conseguenza, le formiche della colonia blu saranno pi propense a selezionare u R2, mentre le formiche della colonia rossa saranno pi propense a selezionare u R3.

66

4 Nuove proposte per il Power Saving

Figura 4.15. Ab2 sceglie R2 e Ar2 sceglie R3.

Applicazione del MACO nel Load-Balancing In questo esempio usiamo due set di agenti per stabilire due connessioni di chiamata in una rete a commutazione di circuito. Per stabilire le connessioni tra il gateway 1 e il gateway 3 i due gruppi di agenti costruiscono, manipolano e consultano le loro tabelle di routing. Nel MACO, ad ogni gruppo di agenti corrisponde una colonia di formiche (MAG1 e MAG2) e la routing table di ogni gruppo corrisponde alla tabella del ferormone di ogni colonia. Ogni gruppo di agenti prende in considerazione sia le proprie preferenze di routing, che quelle dellaltro gruppo: durante la costruzione della propria tabella di routing, MAG1 (e viceversa) consulta anche la tabella di routing di MAG2 in modo da evitare che i due gruppi scelgano come percorso preferito lo stesso cammino.

Figura 4.16. Instaurazione delle connessioni da parte degli agenti mobili.

4.5 Ant Colony

67

In questo modo aumenta la possibilit che due dierenti connessioni tra gateway a 1 e gateway 3 si possano stabilire, e conseguentemente la possibilit di distribuire il a traco tra le due connessioni p1 e p2. Applicando il MACO sar possibile ridurre la a probabilit che tutti i gruppi di agenti mobili stabiliscano le connessioni utilizzando a il cammino ottimo: se MAG2 sceglie il cammino ottimo p2, lidea di repulsione incrementa la possibilit che MAG1 scelga un percorso alternativo. a

Figura 4.17. MAG1 e MAG2 stabiliscono dierenti connessioni.

La potenza del MACO ` che si pu bilanciare il traco di rete senza aumentare il e o traco di controllo: tuttavia ha linconveniente di prevedere una tabella aggiuntiva di routing per ogni nodo (una per ogni colonia).

5 Congurazione di un nodo mesh 802.11s tramite OpenWrt.

In questo capitolo si descriver come implementare un Firmware open source per a Wireless Mesh Networks. In particolare verr illustrato come compilare un sistema a operativo adatto allarchitettura embedded usata, e successivamente si focalizzer a lattenzione sugli applicativi specici per gli obiettivi di questa tesi.

5.1 Il router mesh


5.1.1 Componenti del router mesh Il prototipo che ` stato considerato per lapplicazione del progetto ` un nodo mesh in e e grado di fare da access point per i client 802.11, da relay da/verso gli altri nodi mesh e da gateway per un eventuale collegamento alla rete cablata. Si passa dunque ad implementare il dispositivo che dovr possedere le interfacce descritte dallo schema a riportato di seguito in Figura 5.1.

Figura 5.1. Primi 3 livelli ISO/OSI del Nodo Mesh.

uninterfaccia di rete IEEE 802.3 per il collegamento ad eventuali reti cablate;

70

5 Congurazione di un nodo mesh 802.11s tramite OpenWrt.

uninterfaccia di rete IEEE 802.11bg per permettere laccesso ed il collegamento di dispositivi wireless non mesh; uninterfaccia di rete IEEE 802.11s per il collegamento dei vari Mesh point.

5.1.2 Lassemblaggio Larchitettura embedded del sistema che si intende realizzare (illustrata in Figura 5.2) ` costituita dalle seguenti componenti: e

Figura 5.2. Componenti del sistema.

Scheda Madre: Alix 3c2 RAM: 512 Mb Scheda Ethernet IEEE 802.3 Due schede di Rete Wireless MiniPCI con chip Atheros supportata dai driver ath5k per il Mesh Memoria di massa: Compact Flash 2Gb Case MiniBox per esterno Quattro pigtail per il collegamento delle antenne alle schede Wireless MiniPCI Quattro antenne a 2.4 Ghz con 5 dBi di guadagno

5.2 Il sistema operativo


La scelta del sistemo operativo ` ovviamente ricaduta su un sistema basato su e GNU/Linux, che garantisce stabilit, versatilit in quanto si pu adattare alle pi a a o u disparate esigenze ed ` opensource! e Tra i documenti rilasciati dal produttore, la PCEngines [55], si pu trovare o una lista di distribuzioni note che supportano le schede prese in esame (Alix). Tali

5.2 Il sistema operativo

71

Sistemi Operativi si basano su NetBSD, FreeBSD, OpenBSD e diversi sistemi Linux. Si evince quindi che in teoria ed in pratica ` possibile costruire da zero o adattare e un ambiente software composto da Sistema Operativo e applicativi specici per lhardware che si ` preso in considerazione. e Invece di scegliere un sistema generico per poi adattarlo ai requisiti di un nodo di rete si ` preferito utilizzare una distribuzione pensata appositamente per rimpiazzare e il rmware di un router con un sistema GNU/Linux: OpenWrt. OpenWrt ` un rmware embedded basato su Linux orientato in particolar moe do ai dispositivi wireless, come hotspot, switch etc. Esso permette di liberare il proprio hardware e fornirlo di capacit avanzate normalmente non presenti nei a rmware rilasciati dal produttore. Invece di cercare di creare un unico rmware statico, OpenWrt ore un lesystem pienamente modicabile tramite la gestione dei pacchetti. In questo modo si libera lutente dalla selezione delle applicazioni e delle congurazioni fornite dal venditore e permette di personalizzare il dispositivo mediante lutilizzo di pacchetti adatti a ogni applicazione. Per gli sviluppatori, OpenWrt ` lo strumento per creare unapplicazione senza e dover creare un rmware completo intorno ad essa; agli utenti rappresenta una soluzione per una personalizzazione completa, in modo da utilizzare il dispositivo a proprio piacimento. I sorgenti del kernel possono essere comodamente scaricati da http://downloads.openwrt.org/, dove ci sono diverse versioni (come kamikaze e la pi recente backre) e i vari u pacchetti possono essere scaricati singolarmente ed installati tramite opkg. Linsieme dei pacchetti sotto sviluppo, chiamato trunk, pu invece essere scario cato tramite il comando svn: $ svn checkout svn://svn.openwrt.org/openwrt/trunk kamikaze In tal modo verr creata una cartella kamikaze allinterno della quale si eettuer a a il download del trunk. 5.2.1 OpenWrt Openwrt utilizza un approccio dierente, rispetto agli sistemi, per costruire un rmware; viene eettuato da zero il download, il patching e la compilazione, inclusa la cross compilazione. In altri termini, OpenWrt non contiene nessun eseguibile n e sorgente, ma ` un sistema automatico per scaricare i sorgenti, patcharli per lavorare e con una data piattaforma e compilarli correttamente per quella piattaforma. Ci o signica che cambiando i template, ` possibile modicare qualsiasi passo nel processo. e Per esempio, se viene rilasciato un nuovo kernel, un semplice cambiamento a uno dei Makeles permetter il download dellultima versione di kernel, e applicando a opportune patch sar possibile farlo funzionare su piattaforme embedded e produrre a un nuovo rmware [55]. 5.2.2 La struttura del sistema base Una volta scaricato, il sistema base sar diviso in quattro parti fondamentali: a

72

5 Congurazione di un nodo mesh 802.11s tramite OpenWrt.

tools toolchain package target

tools e toolchain si riferiscono ai tools comuni che saranno utilizzati per costruire limmagine del rmware, il compilatore e la libreria C. Il risultato sar la creazione a di tre nuove directory: build_dir/host: ` una directory temporanea per e costruire i target independent tool build_dir/toolchain-<arch>*: ` usata per costruire e le toolchain per una specifica architettura staging_dir/toolchain-<arch>*: ` la directory dove e verranno installati i toolchain risultanti. package serve appunto per i pacchetti. In un rmware openwrt, quasi tutto ` un e pacchetto .ipk che pu essere aggiunto al rmware per fornire nuove funzionalit o o a pu essere rimosso per guadagnare spazio. o target si riferisce alla piattaforma embedded. che contiene gli elementi specici di una particolare piattaforma embedded. Di particola particolare interesse ` la cartella e target/linux che contiene le patch per il kernel e il prolo di congurazione per una particolare piattaforma. 5.2.3 La compilazione Mentre le operazioni di costruzione dellambiente OpenWrt sono mirate pi agli u sviluppatori, la compilazione pu essere eettuata anche da un utente con poca o esperienza che pu costruire il sistema pi adatto alle proprie esigenze. o u Utilizzando il comando: make menuconfig Si acceder al menu di congurazione di OpenWrt, attraverso il quale ` possibile a e selezionare che tipo di piattaforma si vuole creare, quale versione di toolchain si vuole utilizzare e quali pacchetti si vogliono installare allinterno dellimmagine del rmware. Durante la selezione dei pacchetti viene anche eseguito un controllo sulle dipendenze, per far funzionare correttamente il pacchetto. Cos come per la compilazione del kernel linux, ogni opzione ha tre scelte, y/m/n che sono rappresentate come segue: <*> (premendo y) - sar incluso nellimmagine del rmware a <M> (premendo m) - sar compilato ma non incluso a <> (premendo n) - non sar compilato a Una volta nita la selezione dei pacchetti, basta uscire e salvare i cambiamenti alla congurazione. Per cominciare la compilazione del rmware occorre lanciare il comando:

5.3 Applicazioni usate per limplementazione dellalgoritmo di PS

73

make Di default OpenWrt, durante la compilazione, non mostra ogni comando individuale ma d una visione di alto livello. Per avere una visione pi dettagliata, ad esempio a u per individuare degli errori di compilazione, basta lanciare il comando: make V=99 5.2.4 Moduli per limplementazione dellalgoritmo Di seguito si elencheranno i principali moduli e librerie che sono serviti per congurare le funzionalit di rete e per permettere limplementazione di politiche di power a saving. ath5k Ath5k ` il driver utilizzato sui nodi. Rappresenta levoluzione del driver madwi, ma e a dierenza del madwi che forniva funzionalit mesh tramite il protocollo OLSR a su nodi 802.11a, lath5k implementa in pieno il protocollo 802.11s. mac80211 Il mac80211 ` un framework che gli sviluppatori possono utilizzare per scrivere driver e per dispositivi wireless SoftMAC. I dispositivi SoftMAC consentono un controllo pi u preciso dei componenti hardware, permettendo che la gestione dei frame 802.11 sia fatta a livello software, sia per quanto riguarda la generazione che la ricezione dei frame. Ath5k si poggia su mac80211. hostapd Hostapd ` il modulo che gestisce le funzionalit di AP del nodo e fa da autenticae a tore IEEE 802.1X/WPA/WPA2/EAP/RADIUS. Ath5k non gestisce direttamente le funzionalit access point ma si poggia sul modulo hostapd. a nl80211 Nl80211 si occupa del netlink interface public header, cio gestisce i meccanismi e di comunicazione inter-processo tra il kernel e luser space per quanto riguarda le interfacce di rete; hostapd e il comando iw si basano su questo modulo, ed ` e indispensabile per eettuare le stime di canale sullinterfaccia AP.

5.3 Applicazioni usate per limplementazione dellalgoritmo di PS


Oltre ai vari moduli di base, sono state utilizzate diverse applicazioni la cui funzione ` sfruttare le potenzialit dei moduli citati precedentemente fornendo uninterfaccia e a a livello user space. Di seguito verranno elencate una serie di applicazioni utili per gestire le interfacce di rete, la loro congurazione e per realizzare un prototipo di nodo mesh a risparmio energetico.

74

5 Congurazione di un nodo mesh 802.11s tramite OpenWrt.

5.3.1 I wireless-tools e le wireless extension Le Linux Wireless Extension e i Wireless Tools fanno parte di un progetto open source sponsorizzato da Hewlett Packard a partire dal 1966 e implementato con il contributo di numerosi utenti Linux di tutto il mondo [22]. Le Wireless Extension (WE) sono delle API generiche (Application Programming Interface API - Interfaccia di Programmazione di unApplicazione)che permettono al driver di orire a livello user space funzionalit di congurazione e statistiche a speciche per le Wireless Lan. Il pregio ` che un singolo set di tool pu supportare e o qualsiasi tipo di wireless lan, a condizione che il driver supporti le WE. Un altro vantaggio ` che le varie impostazioni possono essere cambiate senza dover riavviare e il driver. I Wireless Tools sono un insieme di tool che permettono di manipolare le Wireless Extensions. Sono gestiti tramite uninterfaccia testuale, piuttosto rudimentale, il cui scopo ` supportare in pieno le Wireless Extension. Esistono molti altri tool che e possono essere utilizzati con le Wireless extension, ma i Wireless Tools rimangono lapplicazione di riferimento. I Wireless Tools sono: iwcong: gestisce i parametri wireless base. iwlist: permette di lanciare uno scan sulle frequenze wireless dando informazioni sui beacon ricevuti. iwspy: permette di stimare la qualit per nodo di un link. a iwpriv: permette di manipolare le WE speciche di un driver. ifrename: permette di assegnare un nome alle interfacce basandosi su vari criteri statici.

Molte distribuzioni Linux forniscono un supporto integrato alle WE nei loro script di inizializzazione di rete, eseguendo la congurazione delle interfacce wireless durante il boot. 5.3.2 Il comando iw iw ` unutility per la congurazione di dispositivi wireless, molto utile per la gestione e e la congurazione delle interfacce mesh [37]. Le Varie Opzioni Mediante il seguente comando ` possibile visualizzare tutte le possibili opzioni messe e a disposizione dal comando iw. iw help Le principali funzioni utilizzate per la realizzazione del sistema in esame verranno illustrate di seguito. Info sul dispositivo Per avere informazioni come la banda di frequenze (2.4 GHz, e 5 GHz), ed informazioni inerenti l802.11s ` possibile usare il comando seguente: e iw list

5.3 Applicazioni usate per limplementazione dellalgoritmo di PS

75

Statistiche sulle Stazioni Per avere informazioni statistiche sulle stazioni come ad esempio il numero di bytes Tx/rx: iw dev wlan1 station dump Attribuire informazioni statistiche di un peer Se si vogliono attribuire speciche statistiche riguardo un determinato peer che comunica con la propria stazione: iw dev wlan1 station get <peer-MAC-address> Nel caso di STA il peer-MAC-address potrebbe essere lindirizzo MAC dellAP. Aggiungere interfacce tramite iw LA linea di comando `: e iw phy phy0 interface add moni0 type monitor Dove si pu modicare monitor con qualsiasi altra cosa e moni0 con il nome o dellinterfaccia, ed occorre modicare phy0 con il nome PHY del proprio hardware. Modicare i ags dellinterfaccia monitor Si pu personalizzare il type monitor. Questo ` molto utile per le applicazioni di o e debugging: iw dev wlan0 interface add fish0 type monitor flags none Adesso occorrer che lutente usi tcpdump: a tcpdump -i fish0 -s 65000 -p -U -w /tmp/fishing.dump I possibili Monitor ags sono: none fcsfail plcpfail control otherbss cook

Cancellare uninterfaccia con iw iw dev moni0 del Dove moni0 ` linterfaccia virtuale precedentemente creata che deve essere eliminata. e

76

5 Congurazione di un nodo mesh 802.11s tramite OpenWrt.

Visualizzazione di eventi E possibile visualizzare gli eventi che riguardano le interfacce wireless tramite il comando: iw event Per operazioni di debug, pu essere utile visualizzare i frame di autenticazione, o associazione, deautenticazione e disassociazione tramite: iw event -f Per avere anche informazioni temporali basta usare lopzione -t: iw event -t Creare ed ispezionare le interfacce Mesh Point con iw Si possono aggiungere manualmente delle interfacce che supportino le operazioni dei Mesh Point. Ogni mesh Point ha un mesh id che ` simile allSSID delle reti ad e infrastruttura. Per esempio, per aggiungere linterfaccia mesh0 al dispositivo phy0 con il mesh id mymesh: iw phy phy0 interface add mesh0 type mp mesh_id mymesh Di default il Mesh point viene congurato per utilizzare il Channel 1. Il Mesh Point comincer a funzionare non appena verr settata up linterfaccia. Nella conguraa a zione di default le interfacce Mesh cercheranno automaticamente di creare i links fra i vari peers con lo stesso mesh ID. E possibile anche aggiornare la lista delle stazioni mesh vicine in qualsiasi momento tramite il comando: iw dev mesh0 scan Per vedere la lista dei vari links creati fra i peers baster utilizzare un comando a come station dump: iw dev mesh0 station dump Una volta inviato del traco ad altri Mesh point (es: Pingando gli altri mesh point), si pu visualizzare la lista degli mpaths: o iw dev mesh0 mpath dump 5.3.3 Le iptables e la gestione del rewall Iptables ` il rewall a linea di comando piu diuso nei sistemi Unix-like. E un e componente standard di tutte le moderne distribuzioni ed ` utilizzato non solo e dagli amministratori delle reti ma anche dagli utenti che vogliono rendere sicura la propria linux box. Il modo migliore ` realizzare un rewall a ltro di pacchetto. e Un rewall ` un dispositivo (hardware o software) attraverso il quale transitano e tutte le informazioni in entrata e in uscita da una rete, che possono essere controllate e ltrate secondo alcuni criteri preimpostati. Le regole per il ltraggio delle informazioni vengono caricate preventivamente e si possono applicare ai pacchetti in entrata (INPUT), in uscita (OUTPUT) o in transito (FORWARD).

5.3 Applicazioni usate per limplementazione dellalgoritmo di PS

77

Netlter/Iptables Iptables ` il programma che consente di congurare netlter, il vero componente del e kernel Linux che si occupa della sicurezza dei pacchetti scambiati in rete. Netlter viene spesso usato in dispositivi hardware dedicati (chiamati rewall hardware), che per motivi di sicurezza hanno esclusivamente questo compito, o su computer dotati di due o pi interfacce di rete, in grado di trasferire in modo opportuno i dati sulle u sottoreti presenti. Congurare iptables La prima cosa da fare ` controllare che sia abilitato linoltro dei pacchetti. Per e visualizzare il contenuto del le ip forward si utilizza il seguente comando: vi /proc/sys/net/ipv4/ip_forward Se appare uno 0, signica che ` disattivato. Per attivarlo, si lancia: e echo 1 > /proc/sys/net/ipv4/ip_forward La sintassi generale del comando iptables `: e iptables [-t tabella] opzioni catena_controllo [regola] [-j azione] Le parti racchiuse allinterno delle parentesi quadre sono opzionali, ma in alcuni casi necessarie. lter ` la tabella predenita che memorizza le regole di ltraggio, quindi si pu e o anche omettere il comando -t table se non si hanno particolari congurazioni da gestire. Le opzioni specicano loperazione che si vuole eettuare:

-L | list

-F | ush -A | append -I | insert -R | replace -D | delete -P | policy

elenca le regole della catena specicata, o di tutta la tabella; aggiungendo lopzione -v o verbose si ottengono informazioni pi u dettagliate; elimina tutte le regole della catena specicata, o di tutta la tabella; aggiunge una regola in coda alla catena specicata; inserisce una regola in una posizione stabilita della catena specicata; sostituisce una regola nella catena specicata; elimina una o pi regole nella catena specicata; u cambia la politica predenita per la catena specicata; Tabella 5.1. Opzioni iptables.

La catena di controllo pu essere: o

78

5 Congurazione di un nodo mesh 802.11s tramite OpenWrt. pacchetti provenienti dallesterno e destinati al rewall; pacchetti in transito: provenienti dallesterno e destinati altrove; pacchetti generati allinterno del rewall; Tabella 5.2. Catene di controllo iptables.

INPUT FORWARD OUTPUT

Tramite le regole ` possibile specicare: e un protocollo: p [!]{tcp | udp | icmp | all} un indirizzo IP di ingresso: s [!] indirizzo [maschera] una porta di ingresso (per TCP o UDP): sport [!] {porta | intervallodiporte} un indirizzo IP di destinazione: d [!] indirizzo [maschera] una porta di destinazione (per TCP o UDP): dport [!] {porta | intervallod ip orte} una interfaccia di ingresso: i [!] interf accia una interfaccia di uscita: 0 [!] interf accia

Il punto esclamativo (opzionale) si usa come negazione: la regola verr applicata a a tutti gli altri indirizzi (o porte o interfacce) tranne quelli/e specicati/e. Lazione pu essere: o

ACCEPT DROP REJECT

consente il transito del pacchetto; impedisce il transito del pacchetto, limitandosi a ignorarlo; impedisce il transito del pacchetto noticando allorigine il riuto (viene inviato un messaggio ICMP che notica che il pacchetto ` stato e riutato); Tabella 5.3. Azioni iptables.

5.3.4 Eettuare stime sul canale: il tool Wprobe Wprobe ` un tool scritto per eettuare stime sul canale wireless. Per poter utilizzare e wprobe dobbiamo includere nel kernel il modulo: kmod_wprobe Per poter utilizzare il modulo ` necessario aggiungere due pacchetti: e wprobe_utils wprobe_export

5.4 Congurazione dei nodi

79

Wprobe utils permette di eettuare stime di canale su una singola interfaccia locale, mentre wprobe export permette di esportare da remoto informazioni sul canale utilizzando il protocollo ipx. Wprobe-utils La sintassi per usare wprobe-utils ` la seguente: e wprobe-utils <interface>|-P [options] Dove interface indica uninterfaccia di rete. Le possibili opzioni specicabili nel campo options sono: -c: -d: Applica solo la configurazione Ritardo tra due set di misure (in millisecondi, di default: 1000) -f: Il risultato delle misure verr` ridotto a attraverso un filtro di livello 2 -F <file>: Applica un filtro di livello 2 da <file> -h: Help text -i <interval>: Configura lintervallo delle misure -m: Avvia il ciclo di misure -p: Configura la porta TCP per il server/client (default: 17990) -P: Si avvia in proxy mode (ascolta sulla rete) Misure wprobe Le misure eettuate tramite il tool wprobe sono riassunte in tabella 5.4:

Il campo PHY BUSY rappresenta lairtime totale; come detto nei capitoli precedenti, tale parametro da unindicazione di quanto ` occupato il canale. I nodi mesh, e nellalgoritmo che verr proposto, prenderanno in considerazione proprio questo a parametro.

5.4 Congurazione dei nodi


Oltre che settare il funzionamento del router con i comandi visti precedentemente, ` possibile predisporre una congurazione di default che verr caricata dal sistema e a in fase di boot. I le di congurazione si trovano in /etc/cong. I principali le, che determinano il funzionamento base del router, sono tre: wireless, network e rewall.

80

5 Congurazione di un nodo mesh 802.11s tramite OpenWrt. global noise global phy busy global phy rx rumore di fondo wprobe globale airtime globale totale airtime globale totale misurato dai frame in ricezione global phy tx airtime globale totale misurato dai frame in trasmissione link rssi indicazione del livello di segnale ricevuto sul link link signal indicazione del livello di segnale in dB link ieee rx rate data rate in ricezione sul link 802.11 link ieee tx rate data rate in trasmissione sul link 802.11 link retransmit 200 ritrasmissioni per pacchetti minori di 200 bytes link retransmit 400 ritrasmissioni per pacchetti minori di 400 bytes link retransmit 800 ritrasmissioni per pacchetti minori di 800 bytes link retransmit 1600 ritrasmissioni per pacchetti maggiori di 800 bytes Tabella 5.4. Output wprobe.

NOISE PHY BUSY PHY RX PHY TX RSSI SIGNAL IEEE RX RATE IEEE TX RATE RETRANSMIT 200 RETRANSMIT 400 RETRANSMIT 800 RETRANSMIT 1600

5.4.1 Congurazione a livello due Tramite il le wireless si congura il comportamento delle interfacce di rete wireless a livello due. Per ogni interfaccia ` necessario prima creare il device sullinterfaccia sica, e e poi congurare linterfaccia di rete. Nella sezione wi-device si crea il device: type: indica la scelta del driver. In questo caso lopzione mac80211 ` relativa e al driver ath5k. channel : ` il canale di trasmissione wireless. e macaddr : ` lindirizzo mac della scheda. Con questo parametro viene identicata e linterfaccia sica sulla quale montare il device. hwmode: modalit di funzionamento relativa al protocollo 802.11. Per linterfaca cia AP si ` scelto l802.11g. e I parametri relativi alla sezione wi-iface sono: device: ` il nome del device indicato nella sezione wi-device. e mode: denisce la modalit di funzionamento dellinterfaccia. Sar mesh, per a a linterfaccia mesh, ap per linterfaccia access point. ssid : ` lssid dellinterfaccia ap. e encryption: ` il tipo di crittograa usata per la connessione dei client sullintere faccia ap mesh id : ` lidenticativo mesh che serve per creare la rete mesh a livello due e con gli altri nodi vicini. Nel caso del router preso in esame, il le di congurazione sar: a

5.4 Congurazione dei nodi

81

config option option option option config option option option option

wifi-device wlan0 type mac80211 channel 5 macaddr "indirizzo mac della scheda" hwmode 11g wifi-iface device wlan0 mode ap ssid OpenWrt encryption none

config option option option config option option option

wifi-device wlan1 type mac80211 channel 5 macaddr "indirizzo mac della scheda" wifi-iface device wlan1 mode mesh mesh_id mymesh

5.4.2 Congurazione a livello tre Tramite il le network si congura il comportamento del router a livello tre. Per ogni interfaccia di livello due si gestiscono gli indirizzamenti ip. In questo caso si ha una sola sezione, cong interface, in cui si indicher: a ifname: nome dellinterfaccia di livello due. proto: tipo di indirizzamento, statico o dinamico. Nel caso di un router ` e conveniente scegliere un indirizzamento statico. ipaddr : indirizzo ip. netmask : maschera di sottorete. gateway: gateway per i pacchetti da forwardare. dns: indirizzo del gateway dns. Nel router preso in esame, si avranno due interfacce wireless denite nella sezione wireless pi linterfaccia 802.3 per leventuale connessione alla rete cablata. u Il le di congurazione sar: a config option option option option option option interface lan ifname eth0 proto static ipaddr 192.168.1.32 netmask 255.255.255.0 gateway 192.168.1.1 dns 192.168.1.1

82

5 Congurazione di un nodo mesh 802.11s tramite OpenWrt.

config option option option option

interface wifi ifname wlan0 proto static ipaddr 192.168.2.1 netmask 255.255.255.0

config option option option option option option

interface mesh ifname wlan1 proto static ipaddr 192.168.3.2 netmask 255.255.255.0 gateway 192.168.3.3 dns 192.168.3.3

5.4.3 Congurazione del rewall Dal le rewall si stabilisce il comportamento del router con i pacchetti in entrata, in uscita e di passaggio dal sistema. Per ogni interfaccia (di livello tre) si crea una zona di rewall, e si stabilisce il comportamento che il router deve avere con i pacchetti input, output e forward che arrivano su quella interfaccia. Inoltre, per permettere il forwarding dei pacchetti da uninterfaccia verso unaltra ` necessario creare delle regole chiamate appunto regole di forwarding. Questo ` e e indispensabile quando, per esempio, un nodo mesh non ha il collegamento ethernet alla rete cablata, e si desidera che i pacchetti in arrivo sullinterfaccia ap vengano inoltrati sullinterfaccia mesh; oppure, considerando il caso opposto, si desidera inoltrare i pacchetti in arrivo sullinterfaccia mesh verso la rete cablata, e viceversa. Il le sar quindi: a config option option option option config option option option option option option zone name lan input ACCEPT output ACCEPT forward ACCEPT zone name wan input REJECT output ACCEPT forward ACCEPT masq 1 mtu_fix 1

config rule option src wan option proto udp

5.4 Congurazione dei nodi

83

option dest_port 68 option target ACCEPT option family ipv4 config option option option option config option option option option option config option option option option option rule src wan proto icmp icmp_type echo-request target ACCEPT zone name wifi network wifi input ACCEPT forward ACCEPT output ACCEPT zone name mesh network wlan1 input ACCEPT forward ACCEPT output ACCEPT

config forwarding option src lan option dest wan config forwarding option src wifi option dest wan config forwarding option src wifi option dest lan config forwarding option src lan option dest wifi config forwarding option src mesh option dest wan config forwarding option src mesh option dest lan

84

5 Congurazione di un nodo mesh 802.11s tramite OpenWrt.

config forwarding option src lan option dest mesh config forwarding option src mesh option dest wifi config forwarding option src wifi option dest mesh config forwarding option src mesh option src mesh Nel caso specico si ` anche abilitata la ricezione di pacchetti udp e icmp dalla rete e cablata. 5.4.4 Congurazione del Nat Congurando il rewall si gestisce la dinamica dellinoltro dei pacchetti allinterno del nodo. Per i pacchetti in transito da uninterfaccia allaltra, o in transito sul nodo da/verso lesterno ` necessario settare delle regole di NAT MASQUERADE, ovvero e mascherare lindirizzo ip del pacchetto in uscita con quello dellinterfaccia da cui il pacchetto esce verso lesterno. Per denire tali regole si utilizzer il comando iptables: a iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE iptables -t nat -A POSTROUTING -o wlan1 -j MASQUERADE E possibile eseguire i comandi allavvio aggiungendoli al le /etc/rc.local.

5.5 I socket
I socket costituiscono un meccanismo di comunicazione tra processi molto potente. Come caso particolare possono essere usati per la comunicazione anche da processi che girano su una stessa macchina, ma la loro caratteristica pi importante ` di u e consentire il dialogo tra applicazioni residenti su macchine diverse, sia della stessa rete locale sia tramite reti geograche molto estese come la rete Internet. Linterfaccia dei socket che viene fornita da un sistema operativo consente al programmatore di scrivere programmi che utilizzano la rete senza richiedere la conoscenza approfondita del funzionamento della rete e dei protocolli che stanno alla base del suo funzionamento n tantomeno di dover supportare i diversi canali e e mezzi sici che vengono usati per la trasmissione.

5.5 I socket

85

Linterfaccia dei socket e lhardware della rete si occupano di gestire tutti questi dettagli; il programmatore che la usa si limita sostanzialmente a richiedere la trasmissione e la ricezione dei dati, tramite primitive molto semplici, simili a quelle utilizzate per leggere o scrivere nei le locali e a denire protocolli (o formati) dei dati solo al pi alto livello, allo scopo di consentire alle applicazioni di interpretare u correttamente i dati che si scambiano. Tutti gli altri problemi della trasmissione (quali ad esempio il rilevamento e la correzione degli errori, il routing e la comunicazione tra diverse reti locali, la conversione dei segnali per passare da un mezzo trasmissivo allaltro, eccetera) sono gi stati risolti da livelli software e hardware a inferiori, senza che il programmatore debba preoccuparsene. I socket rappresentano il punto nale di un canale di comunicazione bidirezionale tra processi diversi (o al limite anche lo stesso processo). Per processo di intende un programma in esecuzione. Con bidirezionale si intende che ` possibile sia inviare e sia ricevere byte sullo stesso canale. Il sistema operativo UNIX semplica lutilizzo dei socket facendoli apparire dal punto di vista dei programmi come un normale descrittore di le. Si tratta comunque sempre di un le speciale. Il nome di un socket di questo tipo, che corrisponde come concetto al nome di un le ordinario in un lesystem, ` costituito da due elementi: e lindirizzo IP di rete di un host il numero di porta I socket di tipo SOCK STREAM sono full-duplex, il che signica che si possono leggere e scrivere ussi di byte contemporaneamente e indipendentemente nel canale (in modo simile a come si fa con le pipe). I dati non vengono mai perduti o ricevuti in modo duplicato. Uno dei calcolatori allestremit di una comunicazione di dati basata su socket a viene detto server e laltro viene detto client. Di solito ` il client che inizia la connessione con il server. Il client deve conoscere e lintero nome del socket sul server, ovvero deve conoscere non solo lindirizzo IP del server da contattare ma anche il numero di porta su cui il server risiede. Di solito il server non stabilisce alcuna connessione nel momento in cui viene avviato, ma semplicemente si mette in attesa che un client si connetta e richieda dei servizi. Un server sa in anticipo quando i client si connetteranno. 5.5.1 Tcl Il linguaggio di programmazione scelto per implementare la comunicazione tramite socket tra i vari nodi ` tcl. e La sigla Tcl sta per tool command language, un semplice linguaggio di scripting per controllare ed estendere applicazioni. Il tcl fornisce generiche funzionalit a di programmazione utili per una moltitudine di applicazioni, come la gestione di procedure e loop [56]. Il grande pregio di tcl ` di essere embeddable: il suo interprete ` implementato e e tramite una libreria di procedure C che possono essere facilmente incorporate in applicazioni, ed ogni applicazione pu ampliare il core Tcl con comandi addizionali o specici per quellapplicazione.

86

5 Congurazione di un nodo mesh 802.11s tramite OpenWrt.

La scelta ` ricaduta su questo linguaggio per la semplicit nella gestione dei e a socket, indispensabili per far comunicare e scambiare informazioni tra i nodi. Installare il tcl su un sistema linux ` molto semplice. Basta scaricare il pacchetto e tcl-tk.ipk ed installarlo, avendo precedentemente incluso le librerie: librt libpthread

Le librerie sopra elencate sono relative agli standard POSIX: POSIX, o Portable Operating System Interface, ` il nome della famiglia di standard specicata e dallIEEE per la denizione delle API (application programming interface). 5.5.2 Socket lato client Per aprire la connessione lato client il comando socket(n) va usato con la seguente sintassi: socket ?options? host port Il comando socket restituisce un identicatore di canale che pu essere usato sia per o leggere che per scrivere sul canale, come si fa in un le. In Tcl viene denito come canale ogni risorsa che permette di eettuare operazioni di I/O, indipendentemente dal dispositivo che pu essere un le, un nastro, o un terminale o un socket. Largomento host ` il nome di dominio o lindirizzo IP numerico del calcolatore e a cui ci si vuole connettere; localhost (o 127.0.0.1) viene detto anche indirizzo di loopback e si riferisce allo stesso host sul quale viene invocato il comando. port indica la porta a cui connettersi; pu essere un numero intero oppure il o nome di un servizio se il sistema operativo su cui gira linterprete Tcl supporta la conversione del nome nel numero di porta corrispondente. Le opzioni che si possono specicare prima dellhost sono le seguenti. Tcl utilizza i parametri con nome per aumentare la leggibilit e non costringere il a programmatore a ricordarsi lordine in cui devono essere specicati. -myaddr addr: addr specica il nome di dominio o lindirizzo IP numerico dellinterfaccia di rete lato client da utilizzare per la connessione. Questa opzione risulta utile nel caso la macchina client abbia pi interfacce di rete. Se lopzione u viene omessa allora linterfaccia lato-client da usare verr scelta dal software di a sistema. -myport port: port specica un numero intero di porta (o un nome di servizio, se supportato dal sistema operativo su cui si usa Tcl) che verr utilizzato per il a lato client della connessione. Se questa opzione viene omessa, il numero di porta del client verr scelto casualmente tra quelli liberi dal software di sistema. a -async: Lopzione -async fa s che il socket del client venga connesso in modalit a asincrona. La modalit asincrona implica che il socket verr creato immediataa a mente, ma potrebbe non essere ancora connesso al server nel momento in cui il comando socket viene eseguito. Se viene chiamato il comando gets(n) o ush(n) sul socket prima che la connessione avvenga con successo o fallisca, e se

5.5 I socket

87

il socket ` in modalit bloccante, questi comandi provocheranno unattesa ne a ch la connessione viene completata o fallisce. Se invece il socket ` impostato e e in modalit non-bloccante e viene invocato sul socket un comando gets o ush a prima che il tentativo di connessione riesce o fallisce, loperazione viene eseguita immediatamente e il comando fblocked sul socket ritorna 1. A meno che non vengano settati in modo non-bloccante tramite fcongure(n), i socket vengono aperti in modalit bloccante, come avviene per default per tutti gli a altri canali. 5.5.3 Socket lato server Per aprire una connessione dal lato server il comando socket(n) va usato con la seguente sintassi: socket -server command ?options? port Il socket creato sar un server per la porta specicata dal parametro port (che a pu essere un intero oppure, se il sistema operativo host lo supporta, un nome di o servizio). Questo sar il numero di porta che i client dovranno usare quando fanno a una richiesta di connessione. Tcl predispone le cose in modo da accettare automaticamente le connessioni alla porta specicata. Dopo aver creato il server socket col comando socket, Tcl controller lo stato di leggibilit di questo socket nel suo ciclo degli eventi. a a Ogni volta che Tcl nel suo ciclo degli eventi scopre che un socket server ` die ventato leggibile, ossia che un client vuole connettersi, esegue la accept in modo da creare un nuovo canale che pu essere utilizzato per comunicare con il client o e invoca il comando command specicato come argomento del comando socket. A questo comando verranno aggiunti tre argomenti, che sono i parametri di uscita della connect. Nellordine: il nome del nuovo canale lindirizzo IP del client in notazione puntata il numero di porta del client In questo modo il comando command verr invocato una sola volta per ogni a client che si connette al server. Il socket server continua ad ascoltare per accettare nuove connessioni sul numero di porta stabilito. Poich in Tcl un processo server ` completamente controllato dal ciclo degli e e eventi come descritto, ` necessario che il server entri nel ciclo degli eventi. Se lape plicazione server non entra mai nel ciclo degli eventi, allora non sar` accettata a alcuna connessione e il server rimarr` inutilizzabile. a In Tcl per scrivere server in grado di servire pi di un client alla volta occorre u impostare nel comando command il socket in modalit non bloccante e poi utilizzare a il comando leevent(n) per creare un gestore di evento su le. Un gestore evento su le permette di stabilire un legame tra un canale di I/O e uno script, in modo tale che lo script venga eseguito ogni volta che sul canale ci sono dei dati da leggere o da scrivere.

88

5 Congurazione di un nodo mesh 802.11s tramite OpenWrt.

Lutilizzo dei gestori di evento su le ` utile anche nelle applicazioni client intee rattive in quanto permette di ricevere dei dati da un altro processo con un approccio basato sugli eventi, in modo che il processo ricevente pu continuare a interagire o con lutente mentre aspetta che i dati arrivino. Normalmente infatti se unapplicazione invoca gets(n) o read(n) su un canale impostato in modalit bloccante sul quale non ` disponibile dellinput, il processo si a e bloccher nch arriveranno dei dati di input rimanendo cos congelato. Usando lea e vent invece il processo riesce a sapere quando i dati che aspettava arrivano e invocare la gets o la read per leggerli solo quando ` sicuro che questi non bloccheranno. e I canali di tipo server non possono essere utilizzati per linput o loutput; il loro unico scopo ` di accettare nuove connessioni. Sono i canali che vengono creati per e ciascuna connessione in entrata del client possono essere utilizzati per linput e per loutput. Lunica opzione che pu essere specicata prima del numero di porta `: o e -myaddr addr: addr specica il nome di dominio o lindirizzo IP numerico dellinterfaccia di rete lato-server da usare per la connessione. Questa opzione risulta utile nel caso la macchina server abbia pi interfacce di rete. Se lopu zione viene omessa allora il server socket viene associato allindirizzo speciale INADDR ANY, in modo che possa accettare connessioni da tutte le interfacce disponibili.

Se port vale zero, il sistema operativo allocher una porta non usata per il socket a server.

5.6 PCI Power Management Specication


Le PCI Power Management Specication sono uninterfaccia standard per il controllo di varie operazioni di power saving [38]. Limplementazione del PCI PM Spec ` opzionale: se un device supporta il PCI e PM Spec, ci sar un campo di 8 byte allinterno del suo PCI conguration space. a Questo campo verr utilizzato per descrivere e controllare le caratteristiche del PCI a power management. Il PCI PM Spec denisce quattro stati operativi per un device (D0, D1, D2 e D3) e per un bus (B0, B1, B2, B3). Pi alto ` il numero, meno potenza consumer u e a il device. Tuttavia, pi alto ` il numero, maggiore sar la latenza prima che il device u e a torni allo stato operativo normale (D0). E importante sottolineare che tutti i devices supportano gli stati D0 e D3, indipendentemente dallimplementazione del PCI PM Spec. Le possibili transizioni di stato sono riassunte nella tabella 5.5: Quando un sistema entra in uno stato globale di sospensione, tutti i device vengono messi nello stato D3, mentre quando il sistema viene risvegliato, tutti i device entrano nello stato D0. Quando il sistema ` in esecuzione sono possibili altre e transizioni, come visto precedentemente.

5.6 PCI Power Management Specication Stato corrente D0 D1 D2 D1, D2, D3 Nuovo stato D1, D2, D3 D2, D3 D3 D0

89

Tabella 5.5. Transizioni di stato PCI PM Spec.

5.6.1 Pciutils I comandi utilizzati per congurare la modalit di funzionamento della scheda di a rete per quanto riguarda il risparmio energetico fanno parte dei pciutils [53]. Il pacchetto PCI Utilities ` un set di programmi per elencare i dispositivi PCI, e ispezionare il loro stato e impostare i loro registri di congurazione. Il pacchetto PCI Utilities contiene lspci, setpci e update-pciids. lspci: lspci ` unutilit per visualizzare informazioni su tutti i bus PCI nel e a sistema e tutti i dispositivi connessi ad essi. setpci: setpci ` unutilit per interrogare e congurare dispositivi PCI. e a update-pciids: update-pciids prende la versione corrente della ID list PCI. Lspci Lspci ` unutility che serve a visualizzare informazioni relative ai bus PCI e a tutti e i device connessi a loro. lspci [options] Da impostazione predenita, il comando mostra un breve elenco di dispositivi, ma utilizzando particolari opzioni ` possibile avere un elenco molto pi dettagliato: e u -v: visualizza informazioni su ogni device pci. -vv: visualizza informazioni pi dettagliate rispetto allopzione -v. u -vvv: visualizza tutte le possibili informazioni sui device PCI. -n: mostra i codici relativi al PCI vendor e device. -x: visualizza la stampa esadecimale della parte standard del registro di congurazione. -xxx: visualizza la stampa esadecimale dellintero registro di congurazione. -xxxx: visualizza la stampa esadecimale della parte extended del registro di congurazione, valida per PCI-X 2.0 e PCI Express. -b: visione bus-centrica. Mostra gli IRQ e gli indirizzi come sono visti lato bus. -t: mostra un diagramma ad albero contenente tutti i bus, i bridge e i device e le connessioni tra loro. -s [[[[< domain >]:[< bus >]:][< slot >][.[< f unc >]]: mostra solo il device relativo al dominio, al bus, allo slot o alla funzione specicata. -d [< vendor >]:[< device >]: mostra solo i device con il vendor o il device ID specicato. -i < f ile >: usa il le specicato come PCI ID list invece di /usr/share/hwdata/pci.ids.

90

5 Congurazione di un nodo mesh 802.11s tramite OpenWrt.

Setpci Setpci ` unutility che serve per interrogare e congurare i device PCI. e setpci [options] devices operations... Tutti i numeri sono inseriti in notazione esadecimale. Per la maggior parte delle operazioni servono i privilegi di root. Le opzioni possibili sono: -v: modalit verbose. Mostra informazioni dettagliate sugli accessi allo spazio a di congurazione. -f : non da errore se non viene selezionato nessun device. Questa opzione ` da e utilizzare in script di congurazione in scenari distribuiti dove non si ` certi che e il device in questione sia presente sulla macchina. -D: demo mode. Non scrive nulla sul registro di congurazione del sistema. Selezione del device: -s [[[[< domain >]:[< bus >]:][< slot >][.[< f unc >]]: seleziona il device relativo al dominio, al bus, allo slot o alla funzione specicata. -d [< vendor >]:[< device >]: seleziona il device con il vendor o il device ID specicato. Per interrogare il valore di un registro di congurazione ` suciente scrivere il e nome o lindirizzo specicando .B, .W o .L se la grandezze del registro ` di un byte, e word o longword. Per settare il valore di un registro ` necessario scrivere reg=values, dove reg e individua il registro, in maniera analoga a come vengono eettuate le interrogazioni, mentre values indica una lista di valori separati dalla virgola.

6 Progettazione e implementazione di un algoritmo di Power Saving per un nodo mesh-802.11

In questo capitolo verr descritto lalgoritmo di power saving progettato. Si analiza zeranno le scelte fatte, approfondendo le problematiche legate allimplementazione e quanticando in linea di massima il risparmio che si pu ottenere con la soluzione o proposta.

6.1 Introduzione
Nel creare un algoritmo per il risparmio energetico si devono considerare vari fattori. Analizzando la topologia di una rete mesh emerge che non tutti i nodi svolgono la stessa funzione, e quindi non si possono applicare a tutti i nodi le stesse politiche di power saving. Essenzialmente, per realizzare un risparmio di energia che abbia un impatto globale su una rete a gestione distribuita come quella mesh, si possono eettuare tre diversi approcci al problema che si occupano di aspetti diversi e che possono essere combinati tra loro: Politiche di power saving per i nodi mesh non AP. I nodi che fanno solo da relay possono essere governati da politiche dierenti rispetto ai nodi che fanno da interfaccia tra i client e la rete. Il protocollo mesh 802.11s, come detto nei capitoli precedenti, gi implementa delle funzionalit di power saving per questo a a tipo di nodi, molto simili alla modalit power saving per i client 802.11. a Gestione eciente del carico sulla rete. Delle politiche ecienti di gestione del load balancing possono favorire lo spegnimento di alcuni nodi in fase di basso carico della rete. Il load balancing deve essere di tipo adattativo, cio deve e applicare politiche diverse in base alla situazione del carico sulla rete. In fase di forte carico sulla rete, il traco deve essere spalmato su pi nodi possibili in u modo da garantire ai client una qualit del servizio soddisfacente. Al contrario, a quando la rete ha un basso carico, il traco deve essere instradato attraverso meno nodi possibili in modo da permettere lo spegnimento del maggior numero di nodi e quindi ottenere un forte risparmio energetico a livello globale di rete. Politiche di power saving per i nodi mesh AP. Questo tipo di nodi non possono seguire le dinamiche di spegnimento dei nodi che fanno solo da relay. In particolare, in situazione di nodi non sovrapposti, spegnere un nodo signica

92

6 Progettazione e implementazione di un algoritmo di Power Saving per un nodo mesh-802.11

non dare la possibilit di connessione alla rete nellarea di copertura del nodo a stesso. Il lavoro di questa tesi ` proprio la creazione di un algoritmo eciente e di power saving per i nodi mesh-AP, che entrando in modalit power saving doa vranno garantire una connessione agli eventuali client collegati, e la copertura di rete per eventuali client che arrivino nellarea di copertura dopo lo spegnimento del nodo stesso.

6.2 Algoritmo di power saving per un nod mesh-802.11


Si suppone di avere un nodo, che chiameremo nodo ps, con due interfacce: una mesh attraverso la quale comunica con un vicino tramite protocollo 802.11s, e uninterfaccia 802.11g con la quale fa da access point. Il nodo ` collegato alla rete elettrica. e Il nodo non ` sovrapposto con il suo vicino, quindi nel momento in cui si vericae no le condizioni per entrare in power saving dovr assicurarsi che i client potranno a ricollegarsi al nodo vicino, cio sono in copertura anche rispetto allaltro nodo mesh. e I passi fondamentali sono: Si ssa una soglia minima e massima per lairtime. Il nodo ps misura il proprio airtime totale. Se lairtime del nodo ` al di sotto e della soglia minima, iniziano le operazione di power saving. Il nodo ps contatta il proprio vicino, che risponde inviando il proprio airtime. Se lairtime del vicino. Se tale somma non supera la soglia massima, il nodo procede alla deallocazione-riallocazione degli host. Il nodo ps manda ad ognuno dei client un messaggio di query con il mac del nodo vicino per controllare che tutti gli host sia in visibilit rispetto al nodo a vicino. Se tutti i client sono in visibilit rispetto al nodo vicino, il nodo manda un a messaggio di deallocazione-riallocazione. Il nodo ps va in power saving mettendo uninterfaccia in modalit a basso a consumo energetico e creando un vap (virtual access point) tra mesh e ap. Il nodo riattiva la propria interfaccia se riceve un messaggio di wake-up dal nodo vicino o se un client esegue una procedura di autenticazione.

Ogni nodo mesh-802.11 controlla periodicamente il proprio airtime sullinterfaccia access point. Se il valore dellairtime scende sotto una certa soglia, signica che il canale ` poco occupato, e quindi la quantit di dati inviati dai client ` relativamente e a e bassa. In queste condizioni si pu pensare di spostare i client connessi al nodo su o un nodo vicino, a patto che il nodo vicino sia in grado di orire una connessione ai client presi in esame. Per stabilire se il nodo vicino pu accettare i client, si sono considerati due fato tori. Il primo, e il pi ovvio, ` che i client siano in copertura rispetto al nodo vicino. u e Il secondo, ` che il nodo vicino non abbia troppo carico: in questo caso, spostando e i client, aumenterebbe le trasmissioni sulla wlan del vicino, e quindi aumenterebbero troppo le perdite con un conseguente degrado del segnale e quindi del servizio oerto. A tal proposito, si ssa una soglia massima del valore dellairtime, sopra la quale un nodo non pu accettare altri client da nodi vicini che vogliono entrare in o power saving.

6.2 Algoritmo di power saving per un nod mesh-802.11

93

Far lavorare una interfaccia di rete a pieno carico richiede meno potenza rispetto a due interfacce a medio carico. Questo problema ` stato gi ampiamente discusso e a in letteratura; in particolare, nella maggior parte delle politiche di power saving si preferisce far trasmettere alle interfacce 802.11 burst di dati su piccoli periodi di tempo, e poi spegnere linterfaccia, anzich trasmettere a velocit pi bassa per pi e a u u tempo. La verica della copertura wireless e il processo di deassociazione reassociazione devono essere eettuati in successione, e mai contemporaneamente.

Figura 6.1. Tutti i client del MAP1 sono in copertura rispetto al MAP2.

Nel caso mostrato in gura 6.1, se il MAP1 vuole entrare in power saving, pu o spostare entrambi i client sul MAP2. Nel caso mostrato in gura 6.2, non tutti i client vedono il MAP2. Se si eettuasse la verica della copertura contemporaneamente alla procedura di deassociazione reassociazione, si potrebbe avere una situazione in cui la STA2 viene spostata sul MAP2, mentre la STA1 resterebbe sul MAP1. In questo modo si caricherebbe eccessivamente il MAP2 senza mandare il MAP1 in modalit power saving. a Un volta che il nodo ps ` entrato in power saving, spegner linterfaccia ap e e a creer un virtual access point mesh-ap sullaltra interfaccia. a Linterfaccia logica mesh servir a comunicare con il nodo vicino. Se il nodo a vicino arriva sopra la soglia critica, il nodo ps si risvegler. a Linterfaccia logica ap servir a continuare a dare copertura 802.11. Se spegnesa simo linterfaccia ap senza creare il vap, un client che arriva in una zona coperta dal MAP1 ma non dal MAP2 non potrebbe collegarsi. Quando un client eettuare una procedura di associazione con il nodo ps, il nodo sveglia linterfaccia ap ed elimina il vap.

94

6 Progettazione e implementazione di un algoritmo di Power Saving per un nodo mesh-802.11

Figura 6.2. Non tutti i client del MAP1 sono in copertura rispetto al MAP2.

6.3 Scambio di messaggi


Lo scambio di messaggi avviene tramite lapertura di socket. Sia sui nodi mesh, che sui client, si avr un socket di tipo server aperto a costantemente. I messaggi scambiati in rete, come mostrato in gura 6.3, sono essenzialmente di tre tipi: Airtime request/response: servono per scambiare tra i nodi mesh informazioni relative allinterfaccia AP, come lairtime. AP nd request/response: vengono scambiati tra nodi mesh e client, e servono per controllare la visibilit di un access point da parte di un client. a Deassociation Reassociation request/response: vengono scambiati tra nodi mesh e client, e servono per eettuare la reassociazione di un client su unltro nodo. a

6.4 Implementazione lato client


Una volta che il nodo ps ha deciso di entrare in modalit power saving, dovr a a gestire i client in modo da assicurare la continuit del servizio di collegamento alla a rete internet. Tale operazione ` composta da due passi: e Verica della copertura da parte del vicino: ad ogni client verr inviato tramite a socket un messaggio contenente il mac del vicino, e i client controlleranno se lAP con il mac ricevuto ` in visibilit. e a

6.4 Implementazione lato client

95

Figura 6.3. Messaggi scambiati tra i nodi e i client.

Deallocazione-riallocazione: se tutti i client possono collegarsi al nodo vicino, il nodo invia un messaggio di deallocazione riallocazione con il quale chiede ai client di scollegarsi e ricollegarsi al nodo vicino. La seconda fase viene eseguita solo se la prima fase termina con esito positivo. Se almeno un client non pu collegarsi a un altro nodo, il nodo ps non entra in o modalit power saving. a 6.4.1 Comunicazione tramite Socket Ogni client apre un socket server sulla porta 9900. Questo sar il canale di comunia cazione che lAP su quale ` connesso il client utilizzer nel caso in cui voglia entrare e a in modalit power saving. a proc Server {channel clientaddr clientport} { gets $channel tipo puts $tipo if {$tipo == "verifica"} { gets $channel mac set output [exec ./AP_find.tcl $mac] flush $channel puts $channel $output flush $channel

96

6 Progettazione e implementazione di un algoritmo di Power Saving per un nodo mesh-802.11

} if {$tipo == "riconnessione"} { gets $channel essid gets $channel mac puts "essid $essid" puts "mac $mac" exec ./deassoc_reassoc.tcl $essid $mac flush $channel } close $channel } socket -server Server 9900 vwait forever Quando il client viene contattato dallAP pu ricevere due tipi di messaggi: verica o e riconnessione. Quando il client riceve un messaggio di tipo verica, verr eseguita la procea dura di verica della copertura da parte dellAP vicino. Il nodo ps invier il mac a dellAP a cui intende far collegare il client. Il nodo vicino non pu sapere se il client ` in visibilit perch, nello standard o e a e 802.11, i beacon vengono inviati solo in modalit access point. Si potrebbe fare, lato a AP, uno scan delle frequenze per individuare gli eventuali messaggi di segnalazione da parte del client, e quindi stabilire se lAP vicino ` in grado di dare copertura al e client in questione. Tuttavia, con lo standard 802.11w, si ha intenzione di rendere anche i messaggi di segnalazione criptati, per cui si ` optato per una soluzione di e ap scan lato client. Quando il client riceve un messaggio di tipo riconnessione, lap ha gi vericato a che il client pu collegarsi al nodo vicino, per cui invia mac e essid del nodo vicino o per permettere la riconnessione del clien. Questa procedura ` in accordo con lo standard 802.11e, relativo alla qualit e a del servizio, che tra i suoi obiettivi ha il bilanciamento del carico di rete che pu o essere realizzato solo permettendo agli access point di forzare una disconnessionericonnessione dei client verso un altro nodo. 6.4.2 AP nd Quando il client riceve un messaggio di tipo verica, eseguir lo script ap nd.tcl a che riceve in input il mac di un access point e restituisce trovato se laccess point ` in visibilit, assente altrimenti. e a exec ifconfig wlan0 up

6.5 Implementazione lato Access point

97

exec iwlist wlan0 scan > list.txt set input [lindex $argv 0] set a 1 set scan_wifi [open list.txt r] while {[gets $scan_wifi line] >= 0} { if {[regexp -nocase $input $line]} { set a 2}} if {$a == 2} {puts trovato} else {puts assente} Loutput verr trasmesso al nodo ps sul canale aperto dal socket. a 6.4.3 Deassociazione riassociazione Quando il client riceve un messaggio di tipo riconnessione, si proceder alla a deassociazione del client dal nodo ps e alla reassociazione con lo nodo vicino. set essid [lindex $argv 0] set APmac [lindex $argv 1]

exec iwconfig wlan0 essid $essid exec iwconfig wlan0 ap $APmac exec dhclient wlan0 Lo script deassoc reassoc.tcl riceve in input un indirizzo mac e un essid e procede alla reassociazione tramite comandi iwcong, e congura la scheda a livello tre inviando un dhclient.

6.5 Implementazione lato Access point


Tutte le dinamiche di spegnimento e riaccensione delle interfacce, deallocazione riallocazione degli host, sono collegate al valore dellairtime misurato; a tal proposito ogni nodo misura continuamente lairtime sullinterfaccia access point usando il tool wprobe. set airprobe [open "| wprobe-util ath0 -m " r] set avg -1

98

6 Progettazione e implementazione di un algoritmo di Power Saving per un nodo mesh-802.11

global alpha if ![info exists alpha] { set alpha 0.20 }

proc ewma {ave cur} { if {$ave < 0} { return $cur } else { global alpha return [expr (1 - $alpha) * $ave + $alpha * $cur] } } while {[gets $airprobe line] >=0} { if [regexp -nocase {phy_busy=(\w*)} $line => airtime] { set air_avg [ewma $avg $airtime] set avg $air_avg set air_out [open "air" w] puts $air_out $air_avg close $air_out} } Ogni volta che viene misurato lairtime, viene eettuata una media pesata usando la formula: (1 ) m + airtime dove m ` la media precedente, ` il peso della media, airtime ` lultimo airtime e e e rilevato. La media viene quindi aggiornata e scritta in un le di testo che pu o essere letto in qualsiasi momento. Questo script verr inserito allinterno del le a /etc/rc.local in modo che venga eseguito allavvio del sistema. Si ha, quindi, un indice delle condizioni del canale access point aggiornato in tempo reale. Il parametro utilizzato per prendere le decisioni relative allo spegnimento/riaccensione della scheda ` la media pesata tra la media precedente e lultimo airtime e rilevato: in questo modo si evita che outlier possano portare a decisioni erronee. 6.5.1 Comunicazione tramite Socket Su ogni nodo, oltre a misurare lairtime istante per istante, ` importante comunicare e tale valore ai nodi vicini. Ogni nodo quindi apre un socket server sulla porta 9800: il canale aperto dal socket serve a comunicare lairtime ai nodi vicini attraverso linterfaccia mesh . proc Server {channel clientaddr clientport} {

6.5 Implementazione lato Access point

99

set val [open /tcl/airtime/air r] gets $val line close $val

set apconfig [open "| ifconfig wlan0" r] while {[gets $apconfig var1] >= 0} { if [regexp -nocase { HWaddr (\w*:\w*:\w*:\w*:\w*:\w*)} $var1 => ip] { } } set apfile [open /etc/config/wireless r] while {[gets $apfile var2] >= 0} { if [regexp -nocase "ssid" $var2] { regexp -nocase {(\w*)$} $var2 => essid } }

puts $channel $line puts $channel $ip puts $channel $essid flush $channel }

socket -server Server 9800 vwait forever Oltre allairtime, quando viene contattato il nodo comunica anche lessid e lindirizzo mac dellinterfaccia ap. Questi parametri serviranno per la riallocazione dei client, che hanno bisogno del mac e dellessid per sapere a che nodo devono collegarsi. 6.5.2 Controllo della soglia e avvio della procedura di spegnimento Ogni nodo legge periodicamente il valore contenuto nel le /airtime/air. set set set set val [open /tcl/airtime/air r] sogliaminima 10 sogliamassima 80 deassoc deassoc_failed

100

6 Progettazione e implementazione di un algoritmo di Power Saving per un nodo mesh-802.11

gets $val line close $val if {$line < $sogliaminima} { set ch_vicino [exec ./ch_vicino.tcl] set airtime_vicino [lindex [split $ch_vicino] 0] set mac_vicino [lindex [split $ch_vicino] 1] set essid_vicino [lindex [split $ch_vicino] 2] if {$airtime_vicino < $sogliamassima} { set deassoc [exec ./psave_array.tcl $mac_vicino $essid_vicino]} puts $mac_vicino } if {$deassoc == deassoc_ok} { exec ifconfig wlan0 down exec setpci -H1 -s 00:0c.0 48.W=0103 } Nellesempio considerato si ` ssata una soglia minima pari a 10 e una soglia massie ma pari a 80. Se lairtime ` minore rispetto alla soglia minima, il nodo ha poco carico e sullinterfaccia access point, e quindi pu iniziare la procedura di power saving: o Si contatta il vicino e tramite lo script ch vicino.tcl si ottengono il valore dellairtime, il mac e lessid dellinterfaccia access point. Se lairtime del vicino ` inferiore rispetto alla soglia massima, si procede alla e deallocazione riallocazione dei client. Se la procedura di deallocazione riallocazione ha esito positivo, si procede allo spegnimento della scheda e alla costruzione del vap sullinterfaccia mesh.

6.5.3 Airtime del nodo vicino Un nodo che vuole entrare in power saving, ma ha dei client collegati, deve trovare un altro nodo che possa fornire loro un collegamento alla rete. La lista dei nodi vicini pu essere ottenuta utilizzando il comando ip neigh. Nel o prototipo utilizzato si ` implementato lalgoritmo utilizzando un solo vicino, ma e pu essere facilmente adattato ad una topologia di rete con pi nodi vicini. o u set ipneigh [open "| ip neigh" r] while {[gets $ipneigh val1] >= 0} { regexp -nocase {^(\w*.\w*.\w*.\w*)} $val1 => ipvicino } set ipmesh [open "| ifconfig wlan1" r]

6.5 Implementazione lato Access point

101

while {[gets $ipmesh val2]} { if [regexp -nocase {addr:(\w*.\w*.\w*.\w*)} $val2 => myip] { } } set sockChan [socket -myaddr $myip $ipvicino 9800] gets puts gets puts gets puts $sockChan airtime $airtime $sockChan ip_vicino $ip_vicino $sockChan essid_vicino $essid_vicino

close $sockChan Quindi il nodo apre un socket client verso il nodo vicino, sul quale riceve lairtime, il mac e lessid. 6.5.4 Deallocazione/riallocazione dei client Innanzitutto si estrae la lista dei client attualmente connessi al nodo: exec iw dev wlan0 station dump > lista_client set sta_mac [open lista_client r] set sta_ip [open /var/dhcp.leases] Quindi, per ogni client, verico che ci sia la copertura da parte del nodo vicino. set AP_mac [lindex $argv 0] set AP_essid [lindex $argv 1] set copertura 1 #verifico che tutti i client vedano lAP #su cui voglio spostare il traffico while {[gets $sta_mac line] >= 0} { if [regexp -nocase { Station (\w*.\w*.\w*.\w*.\w*.\w*)} $line => mac] { set sta_ip [open /var/dhcp.leases] while {[gets $sta_ip line1] >= 0} { if [regexp -nocase $mac $line1] { regexp -nocase {(192.\w*.\w*.\w*)} $line1 => ip set a($mac) $ip if {[exec ./apfind.tcl $AP_mac $ip] == "assente" } { set copertura 0} }

102

6 Progettazione e implementazione di un algoritmo di Power Saving per un nodo mesh-802.11

} close $sta_ip}} Dove lo script apnd.tcl si occupa di aprire un socket verso il client e vericare la copertura del nodo vicino inviando un messaggio di tipo verica: set mac [lindex $argv 0] #e lindirizzo mac dellAP a cui vogliamo far coolegare la STA set server [lindex $argv 1] #e lindirizzo ip della STA

set sockChan [socket -myaddr 192.168.2.1 $server 9900] puts $sockChan verifica puts $sockChan $mac flush $sockChan gets $sockChan risultato puts $risultato close $sockChan Se tutti i client possono essere spostati sul nodo vicino, allora si procede alla deallocazione riallocazione. if {$copertura == 1} { foreach i [array names a] { exec ./reconnect.tcl $AP_essid $AP_mac $a($i)} puts deassoc_ok } else {puts deassoc_failed} La riconnessione viene eettuata attraverso lo script reconnect.tcl, che apre un socket verso il client e invia un messaggio di tipo riconnessione: set APmac [lindex $argv 0] set essid [lindex $argv 1] set server [lindex $argv 2]

set sockChan [socket -myaddr 192.168.2.1 $server 9900] puts $sockChan riconnessione puts $sockChan $essid puts $sockChan $APmac close $sockChan 6.5.5 Spegnimento della scheda Se la deallocazione riallocazione dei client termina con successo, si procede allo spegnimento della scheda.

6.5 Implementazione lato Access point

103

Prima di spegnere la scheda, abbassiamo il device con ifcong in modo da non avere problemi con il driver che potrebbe andare in crash: ifcong wlan0 down Dopo aver messo in down linterfaccia ap, ` possibile spegnere la scheda: e setpci -H1 -s 00:0c.0 48.W=0103 Usando i pci-tools, in particolare il comando setpci, si eettua un accesso al registro di congurazione di power management del device pci e si porta il dispositivo nello stato D3, ovvero a risparmio energetico. Quando il device ` nello stato D3, il consumo di potenza del nodo ` paragonabile e e a quello che si ha in assenza di scheda di rete. In gura 6.4 ` possibile vedere la variazione del consumo di potenza del nodo e in tre situazioni dierenti: con la scheda wi accesa in modalit access point senza a client collegati, con la scheda wi in power saving e senza scheda wi.

Figura 6.4. Consumo di potenza del nodo.

Quando la scheda wlan ` accesa si ha un consumo medio di 4,3 W, mentre e mandando la scheda in power saving il consumo scende a 3,5 W: si ha un risparmio di quasi un watt, che corrisponde a circa un quarto del consumo totale del nodo. Dalla gura ` possibile notare come il consumo della scheda in power saving ` quasi e e nullo. 6.5.6 Creazione e rimozione del virtual access point Quando il nodo ps spegne la scheda, per poter orire un servizio di connessione nella sua area di copertura ` necessario creare un virtual access point sullinterfaccia e mesh, lunica rimasta attiva. Il vap si crea semplicemente con il comando iw:

104

6 Progettazione e implementazione di un algoritmo di Power Saving per un nodo mesh-802.11

iw phy phy1 interface add wlan2 type ap in questo modo avremo sullinterfaccia sica phy due interfacce logiche, una mesh e una access point. Nel momento in cui il nodo dovr riattivare la scheda in power saving, baster a a eliminare linterfaccia wlan2 e richiamare i parametri di congurazione di default del sistema con il comando wi: iw dev wlan2 del wifi up Lanciando il comando wi up il sistema ripristina le interfacce di rete come specicato nei le di congurazione presenti nella cartella /etc/cong. La scheda che abbiamo messo in uno stato di power saving D3 torner automaticamente allo a stato D0 e quindi pienamente operativa.

6.6 Valutazioni qualitative


In gura 6.4 ` mostrato come varia il consumo di un nodo in tre diversi stati: e con linterfaccia ap accesa senza client collegati, con linterfaccia ap spenta e senza interfaccia ap. Adesso si analizzer il comportamento dei nodi con dei client collegati e in a funzione del traco smaltito. 6.6.1 Saturazione del nodo Utilizzando un tool di generazione di traco, mgen, ` stato portata linterfaccia ap e alla saturazione inviando traco udp a 14, 16, 18, 20, 22 e 24 Mbit/sec (gura 6.5). Ogni step ` durato 180 secondi. e Dal graco si vede chiaramente come dai 18 Mbit/sec in su le perdite iniziano ad essere molto consistenti. Analizzando la percentuale di perdite, mostrate in gura 6.6, si vede come nellultimo step, con traco inviato a 24 Mbit/sec, le perdite raggiungono il 60%. Nel caso preso in esame, in funzione delle particolari condizioni del canale, si ` e considerato un throughput massimo su una interfaccia ap di 18 Mbit/sec. 6.6.2 Risparmio globale di rete Adesso, per mostrare come varia il consumo globale di rete, si considerano due access point mesh e due client. Su entrambi i client ` attivo un generatore di traco, che e varier il bit rate da 0 a 9 Mbit/sec, incrementando di 1 Mbit ogni 60 secondi. a Si hanno due dierenti situazioni, una in cui non ` stato applicato lalgoritmo di e power saving, e una situazione in cui la rete ` in modalit a risparmio energetico. e a Nel caso 1, gura 6.7, ogni client ` connesso ad un nodo dierente. e Nel caso 2, gura 6.8, i client sono connessi allo stesso nodo, permettendo al nodo 2 di andare in power saving.

6.6 Valutazioni qualitative

105

Figura 6.5. Massimo bit rate sullinterfaccia ap.

Figura 6.6. Analisi delle perdite.

Per entrambe le situazioni, si sono eettuate delle misure in cui ognuno dei due client genera traco contemporaneamente, da 0 a 9 Mbit/sec. Nel primo caso i client inviano il traco ognuno su un nodo dierente, nel secondo caso entrambi i client mandano il traco su unico nodo. Nel graco, la velocit di trasmissione a ` riferita ad ogni nodo, quindi il carico di traco globale sar il doppio di quello e a descritto. Se si va a misurare il consumo di potenza globale (nodo 1 + nodo 2) nelle due situazioni si ha landamento descritto in gura 6.9. La velocit di trasmissione ` a e relativa alla quantit di dati trasmessi contemporaneamente da ogni client. a

106

6 Progettazione e implementazione di un algoritmo di Power Saving per un nodo mesh-802.11

Figura 6.7. Caso 1.

Figura 6.8. Caso 2.

Figura 6.9. Consumo di potenza al variare del carico.

Analizzando il graco di gura 6.9 si evince unimportante legge: il risparmio che si ottiene in condizioni di assenza di traco rimane costante anche al variare del traco stesso. Lunica condizione che potr imporre il risveglio del nodo in power saving sar a a laumento considerevole delle perdite sullaltro nodo, perch questo comporterebbe e una degradazione del servizio oerto agli utenti.

7 Conclusioni

Le Wireless Mesh Network rappresentano unimportante evoluzione delle tecnologie di accesso wireless. Soluzioni pratiche portate avanti grazie allimpiego di WMN hanno contribuito a migliorare i servizi di pubblica utilit (dai sistemi mirati al a potenziamento dei trasporti no alla sicurezza personale), hanno fornito accesso wireless in localit dicilmente raggiungibili da strutture cablate o si sono rivelate a estremamente ecienti per lo studio di fenomeni ambientali in termini di impatto sullambiente. Se si considera un dispiegamento su larga scala di punti di accesso wireless, riuscire a garantire un risparmio energetico a livello globale di rete diventa una priorit. In questo caso ` necessario applicare dierenti politiche di power saving a e che agiscono sia sui singoli nodi, considerando il ruolo del nodo stesso, che sullintera rete. Analizzando la topologia di una rete mesh emerge che non tutti i nodi svolgono la stessa funzione, e quindi non si possono applicare a tutti i nodi le stesse politiche di power saving. Essenzialmente, per realizzare un risparmio di energia che abbia un impatto globale su una rete a gestione distribuita come quella mesh, si possono eettuare tre diversi approcci al problema che si occupano di aspetti diversi e che possono essere combinati tra loro: una politica di power saving per i nodi mesh che fanno solo da relay, peraltro gi prevista dallo standard 802.11s; delle tecniche a di power saving per i nodi mesh-ap; una gestione eciente del carico sulla rete, che si possa adattare dinamicamente allo stato della rete e quindi possa favorire il risparmio energetico sui singoli nodi. Il lavoro di questa tesi ` stato quello di progettare un eciente algoritmo di power e saving per i nodi mesh-802.11, in grado di garantire un risparmio energetico in fase di basso carico di rete senza interrompere lerogazione del servizio internet nellarea di copertura del nodo stesso. I risultati ottenuti mostrano come si pu minimizzare o il consumo delle interfacce di rete wireless, risparmiando no al 98% della potenza. Lapproccio usato pu essere integrato con altri meccanismi di sospensione per gli o altri componenti hardware del nodo stesso. Creare un nodo di rete che si accende solo quando c` la necessit, e si spegne e a quando non serve, presenta forti vantaggi indipendentemente dalle scelte fatte per quanto riguarda lalimentazione.

108

7 Conclusioni

Nei nodi alimentati ad energia solare, si riducono i costi relativi ai pannelli che forniscono energia al nodo garantendo una maggiore durata della batteria nelle ore notturne. Nei nodi alimentati dalla rete elettrica, si rende il costo di alimentazione di un nodo proporzionale alla quantit di accessi al nodo da parte dei client. Questo a rappresenta un grande traguardo per i gestori di servizio internet che avrebbero cos delle reti il cui costo, a parte linvestimento iniziale, sar proporzionato alluso della a rete da parte degli utenti.

Riferimenti bibliograci

1. Andrea Argento. Studio del problema di associazione in wireless mesh networks: equilibri e dinamiche tra utenti e reti, 2009-2010. 2. S. L. Wu e J. P. Sheu C. F. Huang, Y. C. Tseng. Increasing the throughput of multihop packet radio networks with power adjustment, 2001. 3. S. Chandra. Wireless network interface energy consumption implications of popular streaming formats, 2003. 4. IEEE Standards Dept. Wireless lan medium access control (mac)and physical layer specications, 1997. 5. S. Chandra e A. Vahdat. Application-specic network management for energy-aware streaming of popular multimedia formats, 2002. 6. S. Acharya e B. C. Smith. Compressed domain transcoding of mpeg, 1998. 7. N. Bjork e C. Christopoulos. Video transcoding for universal multimedia access., 2000. 8. P. Shenoy e P. Radkov. Proxy-assisted power-friendly streaming to mobile devices, 2003. 9. R. Kravets e P.Krishnan. Power management techniques for mobile communication, 1998. 10. R. Ramanathan e R. Rosales-Hain. Topology control of multlhop wlreless networks using transmit power adjustment, 2000. 11. M. Stemm e R.H. Katz. Measuring and reducing energy consumption of network interfaces in handheld devices, 1997. 12. Kwang Mong Sim e Weng Hong Sun. Ant colony optimization for routing and loadbalancing: Survey and new directions, 2003. 13. I. Stojmenovic e X. Lin. Power-aware localized routing in wireless network, 2000. 14. A. Bogliolo Y. H. Lu E.-Y. Chung, L. Benini and G. De Micheli. Dynamic power management for nonstationary service requests, 2002. 15. Terence D. Todd Enrique J. Vargas, Amir A. Sayegh. Shared Infrastructure Power Saving for Solar Powered IEEE 802.11 WLAN Mesh Networks. 16. Elias Z. Tragos et al. Admission control for qos support in heterogeneous 4g wireless networks. 17. Guido R. Hiertz et al. Ieee 802.11s: Wlan mesh standardization and high performance extensions. 18. Suman Sarkar et al. A novel delay-aware routing algorithm (dara) for a hybrid wirelessoptical broadband access network (woban). 19. Terence D. Todd et al. The need for access point power saving in solar powered wlan mesh networks. 20. D. Zhao e V. Kezys F. Zhang, T.D. Todd. Power saving access points for ieee 802.11 wireless network infrastructure, 2004.

110

Riferimenti bibliograci

21. Dongmei Zhao e Vytas Kezys Feng Zhang, Terence D. Todd. Power saving access points for ieee 802.11 wireless network infrastructure, 2006. 22. Wireless Tools for linux. http://www.hpl.hp.com/personal/jean tourrilhes/linux/tools.html. 23. E. Gregori A. Passarella G. Anastasi, M. Conti. Performance comparison of power saving strategies for mobile web access, 2003. 24. E. Gregori A. Passarella G. Anastasi, M. Conti. 802.11 power-saving mode for mobile computing in wi- hotspots: Limitations, enhancements and open issues, 2008. 25. E. Gregori A. Passarella L. Pelusi G. Anastasi, M. Conti. An energy-ecient protocol for multimedia streaming in a mobile environment, 2005. 26. E. Gregori e A. Passarella G. Anastasi, M. Conti. A performance study of power saving policies for wi- hotspots, 2004. 27. W. Lapenna G. Anastasi, M. Conti. A power saving network architecture for accessing the internet from mobile devices: Design, implementation and measurements, 2003. 28. E.Gregori e A.Passarella G.Anastasi, M.Conti. Saving energy in wi- hotspots through 802.11 psm: an analytical model, 2004. 29. J.J. Garrett. Ajax: A new approach to web applications, 2005. 30. S.A. Watterson e D.K. Lowenthal H. Yan, R. Krishnan. Client-centered energy savings for concurrent http connections, 2004. 31. Morten Schlager Adam Wolisz Hagen Woesner, Jean-Pierre Ebert. Power-Saving Mechanisms in Emerging Standards for wireless LANs: The MAC Level Perspective. Technical University, Berlin, 1998. 32. Gunnar Karlsson Hector Velayos, Victor Aleo. Load Balancing in Overlapping Wireless LAN Cells. 33. S. Park J. Flinn and M. Satyanarayanan. Balancing performance, energy, and quality in pervasive computing, 2002. 34. M. Naghshineh e C. Bisdikian J. Gomez, A. T. Campbell. A distributed contention control mechanism for power saving in random access ad hoc wlreless local area networks, 1999. 35. e E.K.P. Chong J. Lee, C. Rosenberg. Energy ecient schedulers in wireless networks: Design and optimization, 2006. 36. E. Wiederhold J.P. Ebert, B. Stremmel and A. Wolisz. An energy-ecient power control approach for wlans, 2000. 37. linuxwireless.org. http://linuxwireless.org/en/users/documentation/iw. 38. LWN.net. http://lwn.net/2001/0704/a/pcipm-doc.php3. 39. e J. Flinn M. Anand, E. Nightingale. Self-tuning wireless network power management, 2005. 40. Antonio Marzia. Performance Evaluation of IEEE 802.16e Power Saving Mechanism. PhD thesis, 2007. 41. Ioanis Nikolaidis. Wireless mesh networks: Now in green too, May/June 2008. 42. 802.11 Working Group of the LAN/MAN Committee. Draft amendment to standard for information technology - telecommunications and information exchange between systems - lan/man specic requirements - part 11: Wireless medium access control (mac) and physical layer (phy) specications: Amendment: Ess mesh networking, 2006. 43. Yuri Paratore. Soluzioni innovative per il routing, la sicurezza e gestione di reti mesh di prossima generazione, 2008-2009. 44. D. Qiao and K.G. Shin. Smart power-saving mode for ieee 802.11 wireless lans. IEEE INFOCOM 2005, Miami (FL), 2005. 45. Hari Balakrishnan Ronny Krashinsky. Minimizing energy for wireless web access with bounded slowdown. MIT Laboratory for Computer Science, Cambridge,, 2002. 46. e J. P. Sheu S. L. Wu, Y. C. Tseng. Intelligent medium access for mobile ad hoc network with busytones and power control, 2000.

Riferimenti bibliograci

111

47. S. Seshan S. Nath, Z. Anderson. Choosing beacon periods to improve response times for wireless http clients. ACM International Workshop on Mobility Management and Wireless Access (MobiWac04), Philadelphia (PA),, 1/10/2004. 48. M. Woo e C. S. Raghavendra S. Singh. Power-aware routing in mobile ad hoc networks, 1998. 49. B.R. Badrinath S.H. Phatak, V. Esakki and L. Iftode. Web&: An architecture for non interactive web, 2001. 50. P. Glynn T. Simunic, L. Benini and G. De Micheli. Event-driven power management, 2001. 51. Maurizio Tallarico. Confronto tra due protocolli per reti Wireless: IEEE 802.11 e Bluetooth. PhD thesis, Universit` degli Studi di Pisa, 2002. a 52. Mohammed N. Smadi e Dongmei Zhao Terence D. Todd, Amir A. Sayegh. The need for access point power saving in solar powered wlan mesh networks, 2008. 53. Pci Utils. http://mj.ucw.cz/pciutils.html. 54. www.EuroParlamento24.eu. http://www.europarlamento24.eu/banda-larga-eambienti-rurali-arrivano-i-fondi/0125476 art 46400.html. 55. www.OpenWrt.org. http://openwrt.org/. 56. www.tcl.tk. http://www.tcl.tk/. 57. L. Benini e G. De Micheli Y.-H. Lu. Power-aware operating systems for interactive systems, 2002. 58. Ten-Yueng Hsieh Yu-Chee Tseng, Chih-Shun Hsu. Power-saving protocols for ieee 802.1l-based multi-hop ad hoc networks, 2002.