• Non ci sono risultati.

2. Lo standard IEEE 802.11s

N/A
N/A
Protected

Academic year: 2021

Condividi "2. Lo standard IEEE 802.11s"

Copied!
57
0
0

Testo completo

(1)

57

2. Lo standard IEEE 802.11s

2.1 Introduzione: stato dei lavori e obiettivi

La IEEE nel maggio 2004 ha costituito un Task Group chiamato “IEEE 802.11s ESS Mesh” sotto il Working Group 802.11, con l’obiettivo di creare un framework standard per lo sviluppo della tecnologia WMN nelle Wireless LAN 802.11. Il Task Group, spesso riferito con la sigla “TGs”, ha indetto le consultazioni per la raccolta di proposte da utilizzare come base del processo di standardizzazione; da tali consultazioni sono emerse una decina di proposte, di cui le due principali, sostenute da due gruppi di aziende leader del mondo delle telecomunicazioni, sono denominate SEE-Mesh e Wi-Mesh. Nel marzo 2006 è stato redatto il primo documento ufficiale da cui è partito l’attuale processo di standardizzazione:

(2)

58

il documento si chiama “Joint SEE-Mesh/Wi-Mesh Proposal to 802.11

TGs” [32] e nasce, appunto, dall’unione delle due principali proposte,

SEE-Mesh e Wi-SEE-Mesh. Il documento si propone come una soluzione completa che copre tutti i requisiti di funzionalità minimi per la realizzazione di una rete WLAN mesh basata su standard IEEE 802.11, flessibile ed autoconfigurante, mirata a reti non amministrate, come ad esempio reti medio-piccole che non necessitino di una configurazione completa da parte di un service provider.

L’obiettivo dichiarato è quello di definire un framework flessibile che supporti le applicazioni più comuni delle WMN ma che allo stesso tempo fornisca la possibilità di definire protocolli e meccanismi alternativi e proprietari ottimizzati allo scenario applicativo, garantendo allo stesso tempo l’interoperabilità tra le soluzioni commerciali e facilitando eventuali sviluppi futuri.

Vengono introdotti una serie di nuovi meccanismi per l’installazione, la configurazione e l’operatività di una WLAN mesh. Tali meccanismi si collocano a livello MAC dello standard IEEE 802.11 e possono essere implementati sul livello fisico di tutta la famiglia degli standard, IEEE 802.11a/b/g/n. La proposta introduce un’estensione per quanto riguarda la formazione della topologia, per rendere la WLAN mesh autoconfigurabile, dinamica e di facile impiego. La principale caratteristica che contraddistingue l’approccio proposto dal TGs dai comuni sistemi WMN è l’introduzione di un meccanismo di forwarding e instradamento completamente a livello MAC, piuttosto che a livello di rete, realizzando, di fatto, un routing a livello 2; tale meccanismo è denominato HWMP (Hybrid

(3)

59

una soluzione mandataria mirata a garantire l’interoperabilità, e che altri tipi di soluzioni possono essere impiegate. Lo standard prevede il supporto delle comunicazioni di tipo broadcast e multicast oltre a quelle unicast. Inoltre definisce dei meccanismi di base per sfruttare le tecniche multi-channel, sia nel caso di dispositivi con singolo modulo radio che con più moduli radio. Gli obiettivi delle specifiche presentate nel documento sono:

• Incrementare il raggio di copertura e la flessibilità d’uso (rispetto alle normali soluzioni WLAN)

• Prestazioni affidabili • Sicurezza

• Supporto alle comunicazioni multimediali tra i dispositivi • Efficienza energetica per dispositivi con limiti di consumo • Compatibilità con gli standard precedenti

• Assicurare l’interoperabilità per il networking • Possibilità di incrementare il throughput

Nella Figura 2.1 viene illustrato in uno schema stratificato l’insieme delle funzionalità logiche del livello MAC introdotte dallo standard.

(4)

60

LAN metaphor, 802.1 bridging support

Legacy 802.11 a/b/g/n 802.11i link security based Mesh Measurement Mesh Topology

Learnigng Routing & Forwarding

Mesh Internetworking with other 802 networks

Medium Access Coordination Mesh Security

802.11 service

integration Mesh Configuration & Management PHYs Single-hop/multi-hop neighbor discovery Extensible path selection & forwarding MAC enhancements Unmanaged automatic management Discovery & Association

Figura 2.1: struttura logica delle funzionalità definite dallo standard IEEE 802.11s

Nell’ultimo anno il TGs ha redatto nuovi documenti, di difficile reperibilità, che modificano sostanzialmente molti dei meccanismi della proposta iniziale. Pur mantenendo inalterati gli obiettivi, il formato dei frame, il protocollo di routing HWMP e i meccanismi di controllo e gestione sono cambiati notevolmente. Non disponendo di nessun Draft completo ufficiale, a parte il documento della proposta iniziale, sono state

(5)

61

reperite in rete alcune “redline” [33], ovvero documenti ufficiali che riportano solo le differenze rispetto alle versioni precedenti delle decisioni prese nei vari incontri del TGs. Da tali documenti sono stati estratti gran parte degli argomenti di interesse di questa tesi. Alcune “redline” sono molto esaustive in quanto apportano modifiche di parti complete riguardo ai meccanismi di interesse, come ad esempio il protocollo HWMP.

Tuttavia il processo di standardizzazione è ancora nelle fasi iniziali, e attualmente non è ancora stato approvato il Draft 1.0. Ciò rende difficoltoso avere una visione esaustiva e certa di ciò che sarà lo standard effettivo, la cui ratifica è prevista, nel migliore dei casi, per fine 2008.

2.1.1 Outline dello standard

Lo standard descrive un framework completo per la realizzazione di una rete mesh con tecnologia IEEE 802.11 affrontando una vasta serie di problematiche. Innanzitutto definisce l’architettura e gli elementi base della rete. Specifica come realizzare il supporto alle tecniche multi-channel e come gestire l’interconnessione alle altre reti. Una sezione sostanziosa è dedicata alla descrizione dettagliata del formato dei frame, sia quelli nuovi introdotti per la gestione dei servizi mesh, sia le modifiche apportate ai tipi di frame già esistenti, come ad esempio i beacon.

Vengono poi descritti i servizi mesh. I principali sono:

• La scoperta dei nodi, la formazione e il mantenimento della topologia: comprende la descrizione di come viene automatizzata la creazione

(6)

62

della rete, la gestione dei link, la gestione dei canali negli scenari multi-channel, le procedure di attivazione di un nodo

• Il meccanismo di selezione dei path d’inoltro e il forwarding: descrive il protocollo di routing HWMP, le metriche utilizzate ed il modo in cui vengono inoltrati i dati

• La gestione della sicurezza

• L’ottimizzazione dei parametri del meccanismo di accesso al mezzo, EDCA, introdotto nello standard IEEE 802.11e

• Il meccanismo di Congestion Control all’interno della rete mesh

Common Channel Framework (CCF), un meccanismo opzionale per

la gestione del multi-channel integrato nel livello MAC

Mesh Deterministic Access (MDA), uno schema opzionale di

miglioramento al meccanismo di accesso al mezzo

• La descrizione del supporto all’internetworking, che descrive i modi per interfacciarsi con le reti esterne e l’utilizzo delle VLAN all’interno della mesh.

Mesh Beaconing e Syncronization, descrive le procedure di

sincronizzazione tra i nodi della rete mesh

• Power Management, ovvero gestione del controllo delle risorse energetiche, ottimizzata per lo senario mesh

Il resto del capitolo si concentra in particolare sugli aspetti topologici e di routing; verranno fatti cenni ai meccanismi di miglioramento del livello MAC ed altri aspetti, come la sicurezza, verranno totalmente tralasciati.

(7)

63

2.2 Overview delle WLAN Mesh

In questo paragrafo verranno analizzate le principali caratteristiche della rete Mesh concepita dallo standard.

2.2.1 Componenti dell’architettura

Nella maggior parte delle applicazioni WLAN 802.11, c’è una chiara distinzione tra i dispositivi che costituiscono l’infrastruttura di rete e i dispositivi che semplicemente utilizzano l’infrastruttura per ottenere l’accesso alle risorse di rete. Le più comuni infrastrutture WLAN al momento sono costituite da Access Point (AP) 802.11 che forniscono un certo numero di servizi, come l’accesso 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 dispositivi client piuttosto che utilizzare la connettività wireless per comunicare tra loro. I client del resto, sono tipicamente semplici stazioni (STA) 802.11 che devono associarsi con un AP per ottenere l’accesso 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 2.2

(8)

64

Figura 2.2: architettura classica di una WLAN

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 tradizionalmente classificati come client,

a loro volta possono beneficiare della possibilità di 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 tradizionali (individuate con l’acronimo STA nello standard IEEE 802.11) ad accedere alla rete. In questo scenario si perde la tradizionale distinzione tra i ruoli nettamente separati tra dispositivi client e quelli dell’infrastruttura.

(9)

65

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 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 un’interfaccia logica MAC, che è indipendente 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 stazione standard.

Un esempio di rete Mesh è illustrata nella Figura 2.3.

MP AP MP AP MP MP Portal MP Portal MP MP AP MP AP STA STA STA STA Rete cablata

Mesh Point

Mesh AP

Stazioni

Mesh Portal

Link Mesh Link 802.11

Figura 2.3: architettura e componenti di una wireless mesh network secondo lo standard IEEE 802.11s

I Mesh Point (MP) sono entità che supportano i servizi mesh, che partecipano nella formazione e all’operatività della rete mesh. Un MP può

(10)

66

essere sia un dispositivo 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 l’accesso alla rete e non partecipano alla fornitura dei servizi mesh, come ad esempio il meccanismo routing. La Figura 2.4 illustra graficamente la suddivisione funzionale delle tre tipologie di dispositivi.

Inoltre nella rete mesh spesso è presente un nodo che fornisce la connettività 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 alla possibilità di interoperare a livello data link con un segmento di LAN 802, realizzando tutte le funzionalità di un bridge, compresa l’implementazione dello STP (Spanning Tree Protocol) sulla LAN. Su tale LAN, a sua volta, può essere presente un Router (livello tre) per la connessione con reti esterne, o eventualmente un altro MPP che connette alla LAN un'altra rete Wireless mesh.

(11)

67

normali stazioni

802.11

Mesh Point Mesh Access Point Access Point normali stazioni 802.11

Mesh Point Mesh Access

Point

Access Point

Figura 2.4: suddivisione funzionale dei componenti di un’architettura mesh basata su standard IEEE 802.11s

I mesh point possono operare a diversi livelli di funzionalità. Non tutti i MP 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 l’esistenza di particolari tipi di MP che implementano funzionalità mesh minime. In particolare possono non far parte del Distribution System (DS) e non implementare le funzionalità di routing. In questo modo sono capaci solo di comunicare con i nodi vicini.

2.2.2 Modello protocollare

La rete mesh è in sostanza una rete LAN IEEE 802 composta di link IEEE 802.11. In effetti, questo significa che la rete mesh è funzionalmente equivalente ad una rete 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

(12)

68

introdotti dallo standard nascondono i dettagli delle funzionalità mesh ai livelli superiori, fornendo semplicemente la consegna dei dati a livello 2 all’interno 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).

La Figura 2.5 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. 802.11s Mesh Point 802.11s Mesh Point 802.11s Mesh Point 802.11s Mesh Point 802.11s Mesh Point 802.11s Mesh Point 802.11s Mesh Point 802.11s Mesh Point 802.11s 802.11s MAC MAC 802 802 MAC MAC Bridge Bridge 802.11s 802.11s MAC MAC 802 802 MAC MAC Bridge Bridge 802.11s 802.11s MAC MAC 802 802 MAC MAC Bridge Bridge 802.11s 802.11s MAC MAC 802 802 MAC MAC Bridge Bridge Mesh Portal Mesh Portal

L3 Router L3 Router 802.11s Mesh Point 802.11s Mesh Point 802.11s Mesh Point 802.11s Mesh Point 802.11s Mesh Point 802.11s Mesh Point 802.11s Mesh Point 802.11s Mesh Point 802.11s 802.11s MAC MAC 802 802 MAC MAC Bridge Bridge 802.11s 802.11s MAC MAC 802 802 MAC MAC Bridge Bridge 802.11s 802.11s MAC MAC 802 802 MAC MAC Bridge Bridge 802.11s 802.11s MAC MAC 802 802 MAC MAC Bridge Bridge Mesh Portal Mesh Portal

L3 Router L3 Router

Figura 2.5: modello di connettività nella rete mesh

2.2.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.

(13)

69

Figura 2.6: internetworking tra la rete mesh e reti 802

Nell’esempio di Figura 2.6 i dispositivi 14, 12 e 13 interagiscono in modo trasparente come se fossero connessi ad un normale switch layer 2.

Il una rete mesh possono esistere più MPP, come in Figura 2.6, e ciascuno di essi implementa un meccanismo per annunciarsi all’interno 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 identificare come Portal uno solo di essi. Il protocollo definisce, in modo basilare, un meccanismo per la selezione del MPP che può essere esteso per garantire un bilanciamento del traffico tra i MPP presenti ed un incremento della QoS.

(14)

70

2.3 Formato dei frame

Nello standard vengono introdotti nuovi tipi di frame ed altri già esistenti sono stati modificati. La maggior parte delle aggiunte riguardano i frame di management per la gestione dei servizi mesh introdotti dallo standard. Molte delle modifiche 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.

2.3.1 Formato generale dei frame

Il formato generale dei frame comprende una serie di campi che compaiono in un ordine prefissato in tutti i tipi di frame. La Figura 2.7 illustra il formato generale di una trama di livello MAC. Il primi tre campi (Frame Control, Duration/ID e Address 1) e l’ultimo campo (FCS) costituiscono il formato base e sono presenti in 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 l’indirizzo del MP che deve riceve il frame, mentre il campo Address 2 (TA) è l’indirizzo del MP che ha trasmesso il frame. Il campo Address 3 (SA) contiene l’indirizzo del MP che ha originato il frame, mentre Address 4 (DA) tipicamente rappresenta il

(15)

71

MP a cui è destinato il frame. Il contenuto effettivo degli indirizzi dipende dai flag “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, 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 per il trasporto degli IE utilizzati per la gestione della maggior parte dei servizi Mesh.

Header MAC FCS 4 Body 4 o 16 2 6 2 6 6 6 2 Octets: 2 Mesh Header QoS Control Address 4 Sequence Control Address 3 Address 2 Address 1 Duration/ ID Frame Control FCS 4 Body 4 o 16 2 6 2 6 6 6 2 Octets: 2 Mesh Header QoS Control Address 4 Sequence Control Address 3 Address 2 Address 1 Duration/ ID Frame Control

Figura 2.7: formato generale della trama IEEE 802.11

La Tabella 2.1 riporta i tipi e sottotipi di frame aggiunti dallo standard IEEE 802.11s, specificati nei campi Type e Subtype del campo Frame

(16)

72

Type b3 b2 Descrizione Type Subtype b7 b6 b5 b4 Descrizione Subtype

11 Extended 0000 Mesh Data

11 Extended 0001 Mesh Management

11 Extended 0010-1111 Reserved

Tabella 2.1: tipi di frame introdotti dallo standard IEEE 802.11s

La Figura 2.8 illustra il formato del campo Mesh Header.

12 2 1 Ottetti: 1 Mesh Address Extension Mesh Sequence Number Mesh Time To Live (TTL) Mesh Flags 12 2 1 Ottetti: 1 Mesh Address Extension Mesh Sequence Number Mesh Time To Live (TTL) Mesh Flags

Figura 2.8: formato del campo Mesh Header

Il Mesh Header è presente i tutti i frame di tipo Extended, di sottotipo Mesh

Data e Mesh Management, e può avere una dimensione variabile da 4 o 16

byte. Il principali campi sono i seguenti:

Mesh Flags: che specifica il tipo di processing dell’header mesh, in

particolare specifica se è presente o meno il campo Mesh Address

Extension

TTL: è utilizzato per mitigare l’effetto di eventuali loop nella rete,

facendo si che un frame venga scartato dopo che è stato inoltrato un numero massimo di volte

Mesh Sequence Number: è utilizzato per rilevare la ricezione di frame

(17)

73

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. Nel paragrafo 2.6.2 verrà descritto dettagliatamente il loro utilizzo.

2.3.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 modificati con l’aggiunta di alcuni campi (vedi Figura 2.9).

modificati MAC Frame Format nuovi Type: Extended Type: Management Subtype: Mesh Data Subtype: Mesh Management Beacon

Association Request / Response Reassociation Request / Response Probe Request

Probe Response

Local Link State Announcement Route Request

Route Reply Route Error Route Reply Ack ecc… (vedi tabella 2.2 )

(18)

74

2.3.2.1 Frame di Management

I principali frame di management che hanno subito delle modifiche nel loro contenuto sono: Beacon, Association Requet, Association Respone,

Reassociation Request, 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 i servizi di tipo mesh. Nella Figura 2.10 viene illustrato il contenuto del campo Body in un frame Beacon.

SSID Mesh ID Mesh Capability Mesh Neighbor List Mesh DTIM Mesh Portal Reachability BeaconTiming

MDAOP

AdvertisementsMKDDIE

Figura 2.10: 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, utilizzato per annunciare i servizi disponibili nella rete mesh, ed

è presente in tutti i frame di management sopra elencati.

L’IE WLAN Mesh Capability ha il formato illustrato nella Figura 2.11.

Channel Precedence Indicator 4 1 1 1 2 4 4 1 1 1 MDA Capabilit y Syncroniz ation Capability Power Save capability Peer Capacity Active Metric ID Active Protocol ID Version Length ID PrecedenceChannel Indicator 4 1 1 1 2 4 4 1 1 1 MDA Capabilit y Syncroniz ation Capability Power Save capability Peer Capacity Active Metric ID Active Protocol ID Version Length ID

Figura 2.11: formato dell’Information Element WLAN Mesh Capability

(19)

75

Active Protocol ID: identifica il protocollo di routing utilizzato nella

rete mesh (vale 0 per HWMP)

Active Metric ID: identifica il tipo di metrica utilizzato nella rete mesh

(vale 0 per la metrica Airtime)

Peer Capacity: indica la capacità di un MP di stabilire link aggiuntivi

Power Save Capability: indica il supporto alla modalità “power safe”

Synchronization Capability: indica il supporto ai servizi di

sincronizzazione

MDA Capability: indica il supporto del nodo alla modalità MDA

Channel Precedence: è il valore di precedenza del canale dell’UCG

(Unified Channel Graph) a cui il MP appartiene

Tra gli altri IE aggiunti nel formato del Beacon, vale la pena citare il Mesh

ID. Tipicamente l’SSID è utilizzato dalle STA per trovare gli AP, mentre il

Mesh ID è utilizzato dai MP per trovare gli altri MP appartenenti alla stessa rete. In questo modo non vengono confuse le due funzionalità. Per evitare che le stazioni 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.

2.3.2.2 Frame Extended

I frame di tipo Extended possono essere di due sottotipi: Mesh Data e

(20)

76

I frame Mesh Data hanno il formato completo descritto nel paragrafo 2.3.1, in particolare tutti e 4 gli indirizzi dell’header vengono utilizzati, e i flag

To-DS e From-To-DS del campo Frame Control valgono entrambi 1.

I frame Mesh Management hanno il formato riportato nella Figura 2.12, che si differenzia da quello Mesh Data per la mancanza del QoS Header, oltre che per il contenuto specifico del campo Body.

Header MAC FCS 4 Body 4 o 16 6 2 6 6 6 2 2 Mesh Header Address 4 Sequence Control Address 3 Address 2 Address 1 Duration/ ID Frame Control FCS 4 Body 4 o 16 6 2 6 6 6 2 2 Mesh Header Address 4 Sequence Control Address 3 Address 2 Address 1 Duration/ ID Frame Control

Figura 2.12: 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) trasmessa tra due entità MAC, ed eventualmente un header per

la gestione della sicurezza.

Il Mesh Action Data Unit contiene il campo Mesh Action, illustrato in Figura 2.13. Questo è costituito da un campo Category e un campo Mesh

Action Details, costituito da un valore Action seguito da uno o più IE diversi

a seconda del tipo di Mesh Action.

varibile Ottetti: 1

Mesh Action Details Category

varibile Ottetti: 1

Mesh Action Details Category

(21)

77

2.3.3 Information Element

Lo standard definisce 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 2.3.2.1 nella descrizione del formato del frame Beacon, ovvero il WLAN Mesh Capability.

Piuttosto che descrivere dettagliatamente ogni tipo di IE definito nello standard, nel resto della tesi verrà illustrato il formato dei vari IE contestualmente alle 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 dell’IE.

2.3.4 Formato dei Mesh Management Action Frame

Il formato degli Action Frame tipicamente è quello base del campo Mesh Action visto in Figura 2.13. E’ composto da un campo Category, un campo Action e da uno o più IE. Nella Figura 2.14 è illustrato, come esempio, il formato di un Action Frame di tipo Route Request.

Route Request IE

variabile 1

Ottetti: 1

Action

Category Route Request IE

variabile 1

Ottetti: 1

Action Category

(22)

78

Il valore del campo Category è posto a 5 per tutti i tipi di frame mesh. Il campo Action individua il tipo di messaggio specifico. La Tabella 2.2 illustra i valori del campo Action per i principali tipi di frame.

Valore del campo Action

Descrizione Applicazione

0 Local Link state announcement Neighbor discovery

1 Peer Link Disconnect Neighbor discovery

2 Route Request HWMP routing

3 Route Reply HWMP routing

4 Route Error HWMP routing

5 Route Reply Ack HWMP routing

6 Congestion Control Request Congestion Control

7 Congestion Control Response Congestion Control

8 Neighborhood Congestion

Announcement

Congestion Control

9 Mesh Deterministic Access (MDA) MDA

10 Beacon Timing Request Beaconing and

Synchronization

11 Beacon Timing Response Beaconing and

Synchronization

12 Non-mesh Action Encapsulation Action

13 Connectivity Report Connectivity reporting

14 Radio Aware Optimized Link State

Routing (RA-OLSR)

(23)

79

15-254 Reserved Reserved

255 Vender Specific Mesh Management Vender Specific

Tabella 2.2: principali tipi di Action Frame introdotti dallo standard IEEE 802.11s

2.4 Sequenza di avvio di un MP

Nei prossimi paragrafi vengono descritti i principali protocolli e servizi previsti dallo standard IEEE 802.11s. Per mantenere una logica descrittiva verrà seguito l’ordine delle operazioni che esegue un MP quando viene acceso, ovvero la sequenza di avvio.

Tale processo può essere schematizzato nei seguenti punti: 1. Scanning attivo o passivo per scoprire altri MP. 2. Selezione del canale.

3. Creazione dei link con i vicini • Autenticazione • Associazione

• Autenticazione 802.11i e scambio di password 4. Misura della qualità dei link

5. Avvio dei servizi di routing e forwarding 6. Inizializzazione degli AP, se il nodo è un MAP

(24)

80

Figura 2.15: sequenza di avvio di un MP

2.5 Mesh Discovery e creazione dei link

Le procedure di Mesh Discovery e Peer Link Establishment descrivono il modo in cui i MP, in modo automatizzato, rilevano la presenza di una rete mesh, scoprono quali sono i loro vicini e configurano i link

(25)

81

wireless che andranno a formare la topologia. Ogni MP è configurato con un unico Mesh ID (vedi paragrafo 2.3.2.1) e con almeno un profilo o più profili di diversa priorità. Un profilo consiste di tre elementi:

• Il Mesh ID

• L’identificativo del protocollo di routing • L’identificativo di una metrica da utilizzare

2.5.1 Procedura di Discovery

L’obiettivo di questa procedura è quello di scoprire quali sono i MP vicini e le loro proprietà. Un MP che non è parte di una rete mesh, esegue uno scanning passivo (esaminando i Beacon ricevuti) o attivo (attraverso i messaggi di tipo Probe) per scoprire i MP vicini.

Quando viene rilevato un dispositivo, vengono esaminate le informazioni da esso annunciate, in particolare il Mesh ID e le informazioni di profilo contenute nell’IE Mesh Capability (entrambi contenuti sia nei Beacon sia nei messaggi di Probe, vedi paragrafo 2.3.2.1). Il nodo può essere classificato in una delle seguenti categorie:

Neighbor: un nodo viene considerato neighbor quando le informazioni

annunciate dal vicino coincidono con almeno uno dei profili configurati sul nodo locale

Candidate peer: se oltre ad avere un profilo compatibile, il campo Peer Capability contenuto nell’IE Mesh Capability è diverso da zero,

il vicino viene considerato come un possibile nodo verso cui stabilire un link

(26)

82

Ignore node: se nessuno dei profili configurati coincide con le

caratteristiche annunciate da un dispositivo rilevato, questo viene classificato come nodo da ignorare

Se il MP non rileva nessun nodo vicino, adotta il Mesh ID del profilo configurato con più alta priorità e rimane attivo (ad esempio nel caso del primo MP che viene acceso).

Le informazioni sullo stato dei nodi vicini e le loro caratteristiche, principalmente quelle annunciate nell’IE Mesh Capability, vengono mantenute localmente nella Neighbor Table.

2.5.2 Selezione del canale

Nella rete mesh ci possono essere MP che hanno una o più interface radio e che possono utilizzare uno o più canali per la comunicazione tra MP. Se i dispositivi non supportano il channel-switching, ogni interfaccia radio deve essere configurata per lavorare su un singolo canale per volta, ma il canale può variare nel tempo. Lo schema di assegnamento dei canali usato nella WLAN Mesh può essere diverso a seconda della topologia e dei requisiti delle applicazioni della rete (vedi paragrafo 1.6 ).

(27)

83

La Figura 2.16 illustra tre esempi di allocazione dei canali. La Figura 2.16.a illustra il caso più semplice in cui tutti i MP utilizzano lo stesso canale, ad esempio nel caso in cui i MP siano forniti di una singola interfaccia radio. Questa modalità è chiamata Simple Unification Mode. Lo standard specifica un protocollo che permette ad una serie di MP di sincronizzarsi su un canale comune per comunicare, realizzando uno schema di questo tipo. I casi (b) e (c) di Figura 2.16 illustrano due metodi di allocazione dei canali più avanzati, in cui i MP possono avere più interfacce radio e nella rete vengono utilizzati più canali contemporaneamente. Questo schema è chiamato Advanced Mode. Lo standard è flessibile e permette di implementare un qualsiasi meccanismo di selezione dei canali, per ottimizzare le prestazioni nei vari scenari applicativi.

Una serie di interfacce radio di MP che sono interconnessi l’un l’altro attraverso un canale comune è definito nello standard come Unified

Channel Graph (UCG). Lo stesso dispositivo può appartenere a differenti

UCG. La Figura 2.17 esplica il concetto di UCG.

Esempi di Unified Channel

Graphs

(28)

84

Lo standard definisce un meccanismo per la coordinazione del cambio del canale usato all’interno di un UCG, nel caso sia necessario cambiare il canale per problemi di interferenza. Ogni UCG nella WLAN Mesh possiede un valore comune di precedenza utilizzato per unire più UCG o cambiare canale utilizzato in un UCG.

Per ogni interfaccia un MP può decidere di utilizzare una delle due modalità sopra descritte. La modalità utilizzata viene annunciata attraverso il flag apposito nell’IE Mesh Capability, contenuto sia nei Beacon che nei messaggi di Probe Request/Response.

I due protocolli che lo standard propone per la gestione degli UCG sono: • Simple channel unification protocol: meccanismo che consente di

sincronizzare tutti i MP sullo stesso canale nel caso in cui i MP siano configurati nella modalità Simple Unification Mode. Questo protocollo consente ai nuovi MP che vengono accesi di sincronizzarsi sul canale comune utilizzato in una mesh. Inoltre consente unificazione nel caso vengano rilevati più UCG disgiunti.

Channel graph switch protocol: meccanismo che consente di cambiare

il canale di un UCG sincronizzando tutti i MP che ne fanno parte. Questo protocollo utilizza un nuovo tipo di frame chiamato Switch

Announcement.

Esaminiamo il caso più semplice in cui un MP sia configurato nella modalità Simple Unification Mode. Quando un MP non rileva nessun vicino durante la procedura di Discovery, adotta il Mesh ID di uno dei profili configurati, seleziona un canale operativo e il valore iniziale random del

(29)

85

mesh disgiunta, ovvero più MP operanti su canali diversi, viene selezionato il canale utilizzato dal nodo candidate peer che annuncia il CPI più elevato, e tale canale diventerà quello comune dell’UCG; inoltre il MP inoltre imposta il proprio CPI al valore di quello più elevato appena scoperto. Se un nodo già operativo rileva un MP con CPI più elevato che sta utilizzando un canale diverso da quello con cui è configurato lui stesso, può opzionalmente iniziare la procedura di Channel Graph Switching.

Per chiarire il concetto, conviene fare un esempio basandosi sulla situazione in Figura 2.18.

C

A

D

B

Figura 2.18: esempio di rete mesh in topologia lineare. In questo esempio si suppone che l’ordine di accensione dei nodi sia: A, B, C, D

Partiamo dallo stato in cui tutti i nodi sono spenti.

1. Il nodo A si accende. Non trova nessun vicino, quindi passa al canale 1 (definito nel suo primo profilo) e seleziona un valore del CPI in modo random pari a 5

2. Il nodo B si accende. Non trova nessun vicino, quindi passa al canale 2 (definito nel suo primo profilo) e seleziona un valore del CPI in modo random pari a 8

(30)

86

3. Il nodo C si accende. Rileva il vicino A, configura il canale 1, pari a quello di A, e setta il valore CPI come quello di A ovvero 5. In pratica si è creato un UCG sul canale 1 con CPI pari a 5.

4. Il nodo D si accende. Rileva il nodo A e il nodo B. Poiché B ha un CPI più grande, seleziona il canale 2, come B. In questo modo si è formato un UCG sul canale 2 con CPI pari a 8.

5. A rileva un MP con CPI maggiore sul canale 2 ed inizia la procedura di Channel Graph Switching, mandando in broadcast un messaggio di Switch Announcement per passare al canale 2. Setta un timer al cui scadere passerà al canale 2.

6. C riceve il messaggio di Switch Announcement e lo inoltra a sua volta. Anche il nodo C, allo scadere di un timer passerà al canale 2. In questo modo dopo un certo intervallo di tempo tutti i nodi comunicano su un canale comune, costituendo un unico UCG.

2.5.3 Creazione dei link

Il passo successivo è quello di creare i link tra i MP per formare la topologia Mesh. Nessun frame dati o di management viene trasmesso o accettato finché la procedura di link establishment non si è conclusa. Un MP inizia la procedura di link establishment, o partecipa alla procedura iniziata da un nodo vicino, solo nel caso in cui non abbia raggiunto il numero massimo di connessioni con i vicini.

Nel caso in cui siano stati rilevati più candidate peer, un MP decide quali link stabilire in base alle misure di qualità effettuate sui link.

(31)

87

I MP utilizzano tre tipi di messaggi di management per la gestione del protocollo:

Association Request, con incluso l’IE Peer Link Open, utilizzato per

richiedere la creazione di un link

Association Response, con incluso l’IE Peer Link Confirm, utilizzato

per accettare la creazione di un link

Disassociation, con incluso l’IE Peer Link Close, utilizzato per

chiudere la connessione tra due MP

Un link si considera stabilito solo quando entrambi i nodi agli estremi del link hanno trasmesso e ricevuto i messaggi Peer Link Open e Peer Link

Confirm.

Il protocollo gestisce un meccanismo di ritrasmissioni, gestito attraverso timer, che garantisce la robustezza del meccanismo. Inoltre i messaggi trasportano un campo, detto directionality, che trasporta un numero pseudocasuale utilizzato per evitare problemi di sessioni concorrenziali del protocollo.

(32)

88

Stato di A: candidate peer Stato di B: candidate peer

A B

Stato di B: associatrion_pending

Stato di B:subordinatenode, link down

Stato di A: association pending

Stato di A: superordinate node link down

Assoc req (dir=5) Assoc req (dir=3)

Assoc req (deny) Assoc req (accept)

se dirrecv<= dirsendallora scarta

Figura 2.19: scambio di messaggi per la fase di link establishment

Una volta stabilito il link, il nodo con indirizzo MAC più alto viene chiamato “superordinate node” e l’altro “subordinate node”. Dopodiché è necessario effettuare le misure sulla qualità del link richieste dal protocollo di routing. Prima che le misure siano state effettuate il link è considerato in stato inattivo. I link in questo stato sono ancora inibiti alla gestione dei servizi mesh. Il nodo denominato superordinate node è responsabile di effettuare le misure di qualità sul link. I parametri da valutare dipendono dal tipo di metrica che utilizza il protocollo di routing; nel caso di HWMP, il protocollo mandatario, i parametri sono due, ovvero la packet error rate, e il rate trasmissivo.

Una volta eseguite le misure, queste vengono trasmesse al nodo “subordinate node” attraverso i messaggi Local Link State Announcement. Tale meccanismo garantisce la simmetria delle informazioni sul link.

Nella Figura 2.20 è illustrato il formato dell’IE Local Link State

Announcement (LLSA), dove r è il bit rate espresso in Mbps e ef è la

(33)

89

ef 2 r 2 1 Ottetti: 1 Lenngth ID ef 2 r 2 1 Ottetti: 1 Lenngth ID

Figura 2.20: formato dell’Information Element Local Link State Announcement, utilizzato per lo scambio delle misure di canale tra due MP vicini

Una volta che entrambi i MP posseggono le informazioni sulla qualità del link, quest’ultimo viene considerato attivo (vedi Figura 2.21 ).

misure

subordinate superordinate

Stato di A: link down

Stato di A: link up Stato di B: link down

Stato di B: link up

Local link state ann.

(r, ept)

A B

Figura 2.21: scambio delle misure di canale e modifica dello stato di un link

La Tabella 2.3 riassume i possibili stati di associazione in cui può trovarsi un nodo. La Neighbor Table deve memorizzare tale informazione e tutte le altre informazioni necessarie alla gestione del link, quali: l’indirizzo MAC primario del MP vicino, eventuali indirizzi MAC secondari nel caso in cui il MP sia fornito di più interfacce radio, le misure di qualità del link e il canale utilizzato.

(34)

90

Stato Descrizione

Neighbor Rilevato, ma senza possibilità di creare un link (peer

capability = 0)

Candidate peer Nodo candidate, link non ancora stabilito Association pending Procedura di creazione del link in corso

Subordinate, link down Associazione completa, link down in attesa delle misure. Nodo “superordinate”

Subordinate, link up Link attivo. Nodo “superordinate”

Superordinate, link down Associazione completa, link down in attesa delle misure. Nodo “subordinate”

Superordinate, link up Link attivo. Nodo “subordinate”

Tabella 2.3: descrizione dei possibili stati di un link secondo lo standard IEEE 802.11s

2.6 Path Selection Protocol e inoltro dei frame

Lo standard si riferisce ai termini “mesh path selection” e “mesh

forwarding” per descrivere la selezione dei path, single-hop o multi-hop e

l’inoltro dei frame lungo questi path a livello data link. Nel resto della tesi ci si riferirà con il termine “routing” per indicare il meccanismo di “mesh

path selection”, poiché in pratica si tratta di un vero e proprio protocollo di

(35)

91

I frame di tipo Data utilizzano il formato a quattro indirizzi con l’aggiunta di alcune informazioni specifiche (vedi paragrafo 2.3.1). Le stazioni si connettono ai Mesh AP (MAP) con le stesse procedure dello standard IEEE 802.11, poiché da un punto di vista logico la mesh è un insieme di AP che fanno parte dello stesso ESS (Extended Service Set).

I messaggi di routing, così verrà chiamato per semplicità il meccanismo, sono a loro volta trasportati a livello 2, utilizzando i frame di management (MMPDUs). I messaggi che utilizza il protocollo di routing si presentano sotto forma di IE, con i formati descritti nel paragrafo 2.3.2.2.

Sebbene lo standard garantisce flessibilità nella scelta del protocollo di routing, definisce un protocollo di routing mandatario, chiamato HWMP (Hybrid Wireless Mesh Protocol) per permettere l’interoperabilità tra le soluzioni di diversi venditori. Ogni MP può supportare più meccanismi di routing, ma solo uno deve essere utilizzato nella rete mesh. Allo stesso modo permette di implementare liberamente le metriche utilizzate dal protocollo di routing, ma, per gli stessi motivi, ne definisce una mandataria, che tutti i MP devono supportare, chiamata Airtime.

Come descritto nel paragrafo 2.3.2.1, il tipo di protocollo di routing utilizzato e la metrica scelta sono annunciati all’interno del campo Mesh

Capability Information.

Oltre al protocollo HWMP, che deve essere implementato in ogni nodo, lo standard propone anche un protocollo alternativo, chiamato RA-OLSR, basato sui principi del protocollo OLSR [7], ma adattato per lavorare a livello 2 sulla base del framework disegnato dallo standard.

(36)

92

2.6.1 Airtime metric

La metrica definita nello standard, chiamata “Airtime” per riflettere la sua caratteristica radio-aware, è concettualmente molto simile alla metrica ETX citata nel paragrafo 1.5.4.

Il costo di un link riflette l’ammontare delle risorse consumate su un canale per la trasmissione di un frame. Questa metrica rappresenta una stima approssimata e semplice di facile implementazione.

L’espressione analitica è la seguente:

pt t p ca a

e

r

B

O

O

c

⎥⎦

⎢⎣

+

+

=

1

1

dove Oca e Op sono delle costanti che rappresentano l’overhead del

protocollo, Bt è la dimensione, in numero di bit, del frame di test, mentre r e ept sono il rate di trasmissione espresso in Mbps e la percentuale di perdita

di frame sul link. La percentuale di perdita di frame ept è la probabilità che,

quando un frame di dimensione standard Bt viene trasmesso al rate corrente r, il frame venga corrotto dalla trasmissione. Lo standard lascia libera

(37)

93

Parametro (802.11a) Valore (802.11b) Valore Descrizione

Oca 75 us 335 us Channel access overhead

Op 110 us 364 us Protocol overhead

Bt 8224 8224

Number of bits in test frame

Tabella 2.4: valori delle costanti per il calcolo della metrica Airtime

2.6.2 Inoltro dei frame

Poiché la rete opera completamente a livello 2, l’inoltro dei frame avviene in base agli indirizzi MAC trasportati. In alcune situazioni i 4 indirizzi dell’header MAC non sono sufficienti: il caso principale è la comunicazione tra entità, come le STA tradizionali, che non implementano i servizi MAC. In questa situazione i MAP agiscono da proxy per le STA e non ci sono abbastanza indirizzi nell’header MAC per trasportare gli indirizzi MAC della STA sorgente e destinataria. Per questo nel Mesh

Header inserito nel frame IEEE 802.11 sono stati aggiunti due indirizzi

MAC opzionali. La presenza dei due indirizzi aggiuntivi è stabilita dal valore del flag AE del Mesh Header (vedi paragrafo 2.3.1).

La rete mesh è altamente dinamica, la topologia può cambiare velocemente nel tempo, inoltre i protocolli di routing sono dinamici quindi i percorsi possono cambiare nel tempo. Per questo motivo i frame originati da un MP possono arrivare fuori ordine al MP destinatario, oppure possono arrivare più copie dello stesso frame. Il campo Sequence Control presente

(38)

94

nell’header IEEE 802.11 è pensato per essere utilizzato hop-by-hop per controllare il problema dell’ordinamento dei frame e alla loro duplicazione su un singolo link, quindi non può essere utilizzato per risolvere il problema nella rete mesh. Pertanto nel Mesh Header è stato introdotto un nuovo campo, il Mesh Sequence Number, grazie al quale è possibile rilevare i frame duplicati e controllare l’ordinamento.

Lo standard distingue due tipi di indirizzi: “individually address” che rappresentano gli indirizzi unicast, e “group address” intendendo gli indirizzi che individuano contemporaneamente un gruppo di MP, quindi quelli che tipicamente sono gli indirizzi multicast e broadcast.

2.6.2.1 Inoltro dei frame unicast

La casistica delle possibili trasmissioni unicast comprende i seguenti casi: MP-MP, STA-STA. I casi ibridi come la comunicazione tra una STA e un MP si possono facilmente dedurre.

In linea di principio i sei indirizzi vengono utilizzati in questo modo: • Address 1 (RA) e Address 2 (TA) tra i nodi terminali di un link, tra il

trasmettitore (TX) e ricevitore (RX)

Address 3 e Address 4 (SA) tra i nodi terminali di un percorso, tra un

MP sorgente e un MP destinatario (inclusi MPP e MAP)

Address 5 e Address 6 per la comunicazione end-to-end tra due

terminali di tecnologia 802. Ad esempio tra due STA o tra una STA e un MP e viceversa.

(39)

95

MAP MP MPP STA 802

802.11 STA

link link link link

mesh path

comunicazione 802 end-to-end

Figura 2.22: illustrazione dei tre tipi di path tra dispositivi

La Tabella 2.5 riassume l’utilizzo dei sei indirizzi e il valore dei flag To-DS e From-DS del campo Frame Control e del flag AE nei vari casi.

Tabella 2.5: significato ed utilizzo dei 6 indirizzi di un frame IEEE 802.11s

I casi principali in cui è necessario l’utilizzo di sei indirizzi sono la comunicazione tra due STA, sia interne che esterne alla rete mesh, e la comunicazione tra due MP passando dal MPP.

(40)

96

Vediamo per esplicito questi due scenari.

In Figura 2.23 è illustrato il caso di comunicazione tra una STA 802.11 interna alla mesh e una stazione esterna su una rete cablata 802 connessa al MPP, come nel caso illustrato nella Figura 2.22.

Figura 2.23: caso di comunicazione tra una stazione IEEE 802.11 ed una stazione su una LAN esterna, in cui sono necessari tutti e 6 gli indirizzi della trama MAC IEEE 802.11s

I campi Address 5 e Address 6 in questo caso trasportano gli indirizzi MAC delle stazioni. La comunicazione tra una STA 802.11 (STA1) e l’Access Point (MAP1) avviene nel modo standard utilizzando solo tre indirizzi. La Figura 2.24 invece illustra il caso della comunicazione tra due MP interni alla rete attraverso un percorso che passa per il MPP. Questo caso è molto frequente e si presenta quando un MP vuole comunicare con un altro

(41)

97

MP interno alla mesh, ma il protocollo di routing non fornisce un percorso diretto tra i due MP.

Figura 2.24: esempio di impiego dei 6 indirizzi del frame IEEE 802.11s; comunicazione tra due MP interni alla rete mesh transitando per il MPP

2.6.2.2 Inoltro dei frame broadcast

I frame broadcast sono individuati dal campo Address 2 pari a tutti 1. Un MP accetta frame broadcast solo dai vicini. L’indirizzo MAC sorgente (SA) e il valore del Mesh Sequence Number identificano univocamente un frame broadcast. In questo modo un MP è in grado di sapere se un determinato frame è già stato ricevuto e, in tal caso, lo scarta. Prima di

(42)

98

inoltrare un frame broadcast, un MP decrementa il valore del TTL nel Mesh

Header.

2.7 Il protocollo HWMP

L’obbiettivo del routing è determinare i percorso d’inoltro verso le destinazioni e popolare la tabella di routing. Il protocollo HWMP è un protocollo di routing ibrido che combina la flessibilità del routing on-demand con un’estensione preventiva basata sulla costruzione di una topologia ad albero. La combinazione di queste due caratteristiche rende l’HWMP un protocollo flessibile adatto a una vasta tipologia di reti mesh, sia per le architetture di tipo “infrastruttura”, o gerarchiche, sia quelle flat, o ad-hoc.

L’HWMP utilizza una serie di regole derivate dal protocollo di routing AODV [6], adattato per un funzionamento totalmente a livello data link e col supporto di una metrica radio-aware adatta al mezzo wireless.

Il protocollo distingue due modalità operative non esclusive: • Modalità on-demand:

Modalità preventva tree-based:

Nel caso in cui nella rete non ci sia un MPP, la procedura on-demand si occupa di instaurare i percorsi di instradamento peer-to-peer tra i MP. Nel caso invece in cui è presente un MPP come punto di uscita verso l’esterno, si possono combinare i due meccanismi: il meccanismo preventivo si occupa di costruire e mantenere una topologia ad albero che ha come radice il MPP e instaura una connessione tra tutti i MP e il MPP, fornendo

(43)

99

l’accesso alla rete esterna; il meccanismo on-demand consente di instaurare le comunicazioni intra-mesh tra i MP senza transitare dalla radice dell’albero. Tale scelta si basa sulla constatazione che la maggior parte delle applicazioni delle reti mesh mirano a fornire una connettività verso le reti esterne, come Internet, pertanto una grande porzione del traffico della rete è diretta da e verso il MPP.

L’approccio utilizzato dall’HWMP porta innumerevoli benefici :

• Flessibilità di adattamento ai requisiti che deve avere ogni rete mesh in ogni tipo di scenario.

• La scelta dei percorsi ottimi è affrontata in modo semplice ed efficiente.

• Inoltre la costruzione di una topologia ad albero ha i seguenti vantaggi:

o Il flooding è ridotto alla ricerca delle destinazioni all’esterno della mesh.

o Il traffico broadcast di management è ridotto.

o I path on-demand possono utilizzare la topologia dell’albero come appoggio per istituire percorsi di backup.

Entrambe le modalità utilizzano messaggi e regole di processing comuni. I messaggi utilizzati dal protocollo sono: Route Request (RREQ), Route

Reply (RREP), Route Error (RERR) e Route Announcement (RANN).

Questi messaggi sono strutturati in modo flessibile in modo da permettere di adattarsi ad entrambe le modalità di routing.

Inoltre l’HWMP utilizza un meccanismo basato sui sequence number per stabilire la validità dei messaggi e garantire l’assenza di loop nella rete in ogni momento.

(44)

100

Il fatto di disporre di due meccanismi che possono essere utilizzati anche insieme, consente di combinarli per elaborare diverse strategie di comunicazione, ed alcuni esempi verranno illustrati nel paragrafo 2.7.5.

Gestione delle informazioni locali

Per il corretto funzionamento del protocollo ogni MP mantiene localmente una serie di tabelle, le principali sono: Neighbor Table, Proxy Table, Forwarding Table.

Come accennato in precedenza, un MP è come se agisse da Proxy per i terminali normali, STA, a lui connessi, implementando i servizi mesh per fornire la connettività a tali nodi. Un MP pertanto deve conoscere quali sono i nodi per cui agisce da Proxy e mantiene tale informazione in una tabella apposita.

La Forwarding Table, elemento chiave del protocollo di routing, mantiene le informazioni sulla raggiungibilità degli altri MP. In essa sono registrate le informazioni sui MP, come indirizzo MAC e sequence number, e quelle relative al percorso per raggiungerli, ovvero next hop, metrica del path, lunghezza del path in termini di hop ed altre informazioni.

Per garantire l’affidabilità di tali informazioni, le entry delle tabelle sono gestite attraverso un meccanismo di timer e sequence number.

2.7.1 Routing on-demand

Se un MP sorgente S vuole comunicare con un MP destinatario D e non ha alcuna informazione per poter raggiungere tale nodo, deve

(45)

101

innanzitutto far si che nella rete si instauri un percorso d’inoltro tra i due nodi. Questa tecnica segue i principi base delle tecniche di routing on-demand come ad esempio AODV da cui l’HWMP riprende la maggior parte delle primitive.

Il routing on-demand nell’HWMP utilizza un meccanismo basato sui messaggi Route Request ( RREQ ) e Route Reply ( RREP ) per stabilire i percorsi tra i MP presenti nella rete.

Il formato di questi due messaggi è illustrato in Figura 2.25 e Figura 2.26.

Metric Element ID Length Flags Time to Live Ottetti: 1 1 4 1 RREQ ID 4 Originator Address 6 Originator Sequence Number 4 4 Destination Flags #1 1 Hop-count 1 Destination Address #1 6 …… 4 1 6 Destination Seq. Num. #N …… 1 DO RF Reserved Destination Flags #N DO RFReserved Destination Address #N Destination Seq. Num. #1 Lifetime Proxied Address 0 o 6 4

Figura 2.25: formato dell’Information Element Route Request (RREQ)

ID Length ModeFlags Time to Live

Ottetti: 1 1 4 1 Destination MP Address 6 Destination Sequence Number 4 Lifetime 4 4 Hop-count 1 Originator Address #1 6 6 4 Dependent MP DSN #1 …… 1 Dependent MP MAC Address #1 Originator Seq. Num. #1 Metric Dependent MP Count N 4 6 Dependent MP DSN #1 Dependent MP MAC Address #1 1 Destination Proxied Address 0 o 6

(46)

102

Quando un MP S vuole trovare un percorso per raggiungere un MP destinatario D, invia un messaggio RREQ in broadcast annunciando la destinazione D nel campo Destination Address. Inoltre è possibile, nello stesso RREQ, annunciare la ricerca di più destinazioni contemporaneamente. Per ogni destinazione viene specificato il MAC address, il numero di sequenza necessario per processare pacchetti non obsoleti e due flag DO (“Destination Only”) e RF (“Reply and Forward”) che gestiscono le politiche d’inoltro dei RREP da parte dei nodi intermedi. A causa della trasmissione broadcast, ogni nodo può ricevere copie multiple dello stesso RREQ che è stato originato da S, ognuno dei quali ha seguito un percorso diverso per arrivare alla destinazione D. Quando un nodo che non è il destinatario riceve un RREQ, crea una route verso S, oppure, se l’informazione sulla route è già nota e se il pacchetto ricevuto non è obsoleto e la metrica che annuncia per raggiungere S è migliore di quella già presente, aggiorna le informazioni sulla route. Dopo di ché il pacchetto RREQ viene re-inoltrato in broadcast. Prima di inoltrare il RREQ, il nodo deve aggiornare il campo Metric con la metrica cumulativa del path fino a quel punto del percorso, in questo modo il nodo destinatario è in grado di conoscere la metrica di ogni possibile path verso la sorgente.

I nodi intermedi non sono tenuti a generare RREP se non esplicitato nel messaggio RREQ attraverso i flag DO e RF.

Se DO =1, solo la destinazione può rispondere con un RREP. Se RF=1 invece, i nodi intermedi, se hanno già informazioni sul percorso verso la destinazione, possono rispondere con un RREP e allo stesso tempo re-inoltrare in broadcast il RREQ. La possibilità di risposta dei nodi intermedi permette di ridurre il tempo di instaurazione del percorso d’inoltro.

(47)

103

Una volta raggiunta la destinazione D, il MP crea, od aggiorna, la route verso il MP sorgente ed invia un messaggio RREP di risposta, in modalità unicast verso la sorgente.

Il MP può ricevere più RREQ che hanno seguito percorsi diversi. In teoria il MP potrebbe aspettare di ricevere tutti i possibili RREQ e scegliere il path con metrica migliore, ma poiché il tempo di instaurazione del path è molto critico nelle procedure on-demand, la soluzione scelta è quella di scegliere il path relativo al primo RREQ che giunge a destinazione.

Il RREP seguirà il percorso a ritroso verso la sorgente seguendo il percorso migliore; ogni nodo, infatti, ha precedentemente creato la route per raggiungere il MP S. Allo stesso tempo i nodi intermedi che processano il RREP, creano la route per raggiungere il MP destinatario. Una volta che il RREP è giunto a S, il path si è stabilito e la comunicazione può iniziare.

2.7.2 Routing preventivo tree-based

Quando nella rete è presente un MPP che fornisce la connettività verso la rete esterna, ogni nodo può mantenere, in modo preventivo, le informazioni sulla raggiungibilità del Portal. In questo modo si ottimizzano le comunicazioni verso la rete esterna, poiché le informazioni sulla route per raggiungere il MPP sono sempre disponibili ed aggiornate, senza la necessità di invocare la procedura on-demand. Oltre ai vantaggi in termini di velocità, tale soluzione consente di ottimizzare l’utilizzo delle risorse della rete. Infatti, in uno scenario in cui la maggior parte delle

(48)

104

comunicazioni sono dirette verso l’esterno, sarebbe inefficiente ogni volta inondare la rete di messaggi broadcast per instaurare il path verso il MPP. Il meccanismo di routing tree-based consente la creazione di una topologia ad albero nella rete mesh che ha come radice il MPP.

L’HWMP prevede due metodi per la disseminazione delle informazioni di routing necessarie per instaurare i path verso la radice. Il primo metodo si basa sull’invio periodico da parte del MPP di messaggi di RREQ, in tal caso ci si riferisce a tali messaggi come Proactive RREQ. Il secondo metodo utilizza i messaggi Root Announcement (RANN), intesi alla distribuzione delle informazioni di raggiungibilità della radice.

La differenza è che il primo metodo è mirato all’instaurazione vera e propria dei path d’inoltro tra i MP e la radice. Nel secondo caso, invece, la radice distribuisce le informazioni sulla sua raggiungibilità, ma i percorsi d’inoltro possono essere instaurati on-demand.

Entrambi i meccanismi sono regolati da una serie di timer per il controllo del flooding e l’ottimizzazione delle scelte dei percorsi d’inoltro, tuttavia per snellire la trattazione non verranno descritti.

2.7.2.1 Meccanismo basato sui Proactive RREQ

In questa modalità il MPP invia periodicamente in broadcast i messaggi PRREQ. In questi messaggi i flag DO e RF valgono 1, la metrica è pari a zero e il sequence number è un numero progressivo incrementato dal MPP ad ogni invio.

(49)

105

I MP che ricevono tale messaggio inizializzano o aggiornano le informazioni di raggiungibilità del MPP, registrando il next hop, la metrica del path e il numero di hop necessari per raggiungere la radice. Dopo di ché aggiornano i campi hop count e TTL del PRREQ e aggiornano la metrica aggiungendovi quella dell’ultimo link su cui è stato ricevuto il messaggio. Poi inoltrano il messaggio.

In questo modo le informazioni circa la presenza e la raggiungibilità della radice sono disseminate in tutta la rete.

Ogni MP può ricevere copie multiple del PRREQ ognuna proveniente da un percorso diverso dalla radice al MP. Il MP può aggiornare o cambiare la route verso la radice solo se il PRREQ contiene un sequence number maggiore oppure se ha lo stesso sequence number, ma una metrica di percorso migliore rispetto a quella memorizzata nella tabella di forwarding. In questo modo si sono creati i percorsi d’inoltro in uplink, ovvero ogni MP sa come raggiungere il MPP, ma ancora l’instaurazione del path non è completa poiché i MP non hanno ancora informazioni sulla presenza e raggiungibilità dei loro figli nell’albero.

L’instaurazione del percorso inverso avviene attraverso l’invio di messaggi RREP, detti “gratuitous” (GRREP). A seconda del flag “Proactive RREP” contenuto nel PRREQ, un MP può o deve rispondere al PRREQ con un GRREP.

Il GRREP è trasmesso in modo unicast verso la radice. In questo modo, sia i MP intermedi che il MPP registrano la raggiungibilità del MP che ha originato il messaggio. A questo punto i percorsi d’inoltro si sono formati, costruendo una topologia ad albero e permettendo una connettività bidirezionale.

(50)

106

Come illustrato in Figura 2.26, nel messaggio RREP compaiono una serie di campi, chiamati “Dependent MP”. Questi sono utilizzati nei Gratuitous RREP, per annunciare i MP discendenti dell’albero, ovvero quei MP che passano attraverso il MP in esame per raggiungere la radice.

Lo standard non specifica l’utilità di questi campi, ma intuitivamente essi servono per una serie di procedure di mantenimento dell’albero in seguito alla caduta di link o quando un MP cambia il nodo genitore. Nel caso in cui un MP scelga di cambiare genitore, lo standard specifica solo che il MP deve mandare un GRREP verso la Root, attraverso il nuovo percorso, ed annunciare l’elenco dei suoi dependent node, senza poi specificare dei meccanismi per la gestione di tali informazioni.

2.7.2.2 Meccanismo basato sui RANN

In questa modalità la root trasmette periodicamente i messaggi di Root Announcement (RANN) in modo broadcast. Il flooding di questi messaggi segue le stesse regole dei PRREQ. La differenza è che i MP che ricevono il RANN non sono obbligati a instaurare un path verso la radice.

Una volta memorizzate le informazioni sulla raggiungibilità della root, se un MP vuole instaurare una connessione con essa, per raggiungere le reti esterne, deve iniziare una procedura on-demand. Tale procedura segue in linea di principio le regole descritte nel paragrafo 2.7.1, ma in questo caso i RREQ sono mandati in modo unicast verso la root, in quanto si hanno già le informazioni sulla raggiungibilità. Lo scambio di messaggi RREQ e RREP serve solo alla creazione delle route nei nodi intermedi.

(51)

107

Analogamente al meccanismo basato sul PRREQ, quando un MP decide di cambiare il genitore per raggiungere la root, deve mandare un GRREP contenente la lista dei suoi dependent node.

Nella Figura 2.27 è illustrato il formato del messaggio Root Announcement (RANN).

ID Length Flags Time to Live

Ottetti: 1 1 1 Originator Address 6 Destination Sequence Number 4 Lifetime 4 4 Hop-count 1 1 Metric

Figura 2.27: formato dell’Information Element Root Announcement (RANN)

2.7.3 Mantenimento e ottimizzazione

La prima proposal dello standard prevedeva solo l’utilizzo del meccanismo basato sui RANN e le sue procedure erano molto più complesse. In particolare descriveva una lunga serie di meccanismi per il mantenimento e l’ottimizzazione dei percorsi dell’albero, attraverso l’invio periodico di messaggi di verifica, e con utilizzo intenso dei messaggi Route Error nel caso di cambiamenti topologici dell’albero. Negli ultimi draft tali procedure sono state snellite pesantemente, fino a ridursi alle semplici procedure descritte nei paragrafi precedenti. Tuttavia, da un’analisi dettagliata dei protocolli, ci si rende conto che ci sono ancora molte lacune su questi aspetti.

(52)

108

Nel caso in cui il link verso un nodo vicino non sia più disponibile, ad esempio per la rottura del dispositivo, un MP trasmette in broadcast un messaggio di Route Error (RERR), che annuncia che lui non è più in grado di comunicare con il MP caduto. L’informazione, propagandosi nella rete, fa si che anche gli altri MP possano eventualmente aggiornare le informazioni di routing.

In Figura 2.28 è illustrato il formato di un messaggio RERR.

ID Length Mode Flags Ottetti: 1 1 Destination Address 6 Destination MP Sequence Number 4 Num. of Destination 1 1

Figura 2.28: formato dell’Information Element Route Error (RERR)

2.7.4 Gestione delle stazioni 802.11

Come visto nei paragrafi precedenti, i MAP agiscono da proxy per le normali stazioni che non implementano le funzionalità mesh.

Ogni MP mantiene una Proxy Table dove tiene traccia delle STA, chi è il loro MP Proxy, e se sono interne o esterne alla rete mesh (infatti potrebbero anche trovarsi in una LAN collegata al MPP).

Lo standard prevede un meccanismo per la gestione delle informazioni sulle normali stazioni [34]. Tale procedura si basa su due tipi di messaggi: Proxy

Update (PU) e Proxy Update Confirmation (PUC). Il Proxy Update viene

(53)

109

facendo da Proxy; tale messaggio può annunciare la presenza, o la cancellazione, di una o più stazioni.

Il PUC serve per dare la conferma della ricezione, poiché il protocollo prevede un meccanismo d’inoltro affidabile con tanto di ritrasmissioni multiple nel caso in cui non arrivi il PUC entro un certo tempo.

Nella Figura 2.29 sono illustrati i formati del PU e del PUC.

ID Length Flags Ottetti: 1 1 Proxy Address 6 Sequence Number Proxied MAC Address #1 6 …… 1 Number of Proxy Address N 2 1 Proxied MAC Address #1 6 ID Length Flags Ottetti: 1 1 Destination MP Address 6 Sequence Number 1 1 Proxy Update

Proxy Update Confirmation

Figura 2.29: formato degli Infromation Element Proxy Update (PU) e Proxy Update Confirmation (PUC)

Figura

Figura 2.1: struttura logica delle funzionalità definite dallo standard IEEE 802.11s
Figura 2.2: architettura classica di una WLAN
Figura 2.3: architettura e componenti di una wireless mesh network secondo lo  standard IEEE 802.11s
Figura 2.4: suddivisione funzionale dei componenti di un’architettura mesh basata  su standard IEEE 802.11s
+7

Riferimenti

Documenti correlati

[r]

i messaggi di label request/reply; ciò significa che gli LSP sono mappati sulle rotte SRCR. Inoltre l’ LDP monitora periodicamen- te la FMLinkTable e in presenza di cambiamenti

1.4 Un esempio delle capacità del Leap Motion unito alla Realtà Aumentata 8 1.5 Vuforia con target

Civil society actors will find it hard to leverage fundamental criticism against European external policy when coherence should be achieved without radically departing

2) As an alternative, I have examined the stabilization problem under asymmetric shocks if allowance is made for discretionary national fiscal policies. In principle, if

Over 97% of all enterprises in Vietnam's supporting industry are micro, small and medium but with appropriate development and support policies, Vietnamese

In this work several catalysts for the steam reforming of oxygenated compounds (ethanol or glycerol) derived from biomass were prepared. The main objective of this thesis was to

© The Author(s). European University Institute. Available Open Access on Cadmus, European University Institute Research.. l'Ufficio delle Bollette che furono anche