1. Lo standard IEEE 802.11
In questo modulo introdurremo la terminologia e i concetti della comunicazione wireless descritti dai vari protocolli IEEE 802.11. Ogni scheda wireless supporta un protocollo 802.11 specifico e può funzionare o meno con gli altri.
È utile comprendere questi protocolli perché dipenderemo in larga misura dall'hardware che utilizziamo, nonché dall'attrezzatura presente nell'ambiente di test. È facile immaginare come la comprensione di un dispositivo hardware possa aiutarci a usarlo correttamente. A tal fine, questo modulo ha due scopi.
In primo luogo, vogliamo fornire una panoramica di questi protocolli e delle differenze tra loro. Non ci aspettiamo che qualcuno memorizzi le informazioni qui contenute, ma è importante sapere quale standard supporta il nostro dispositivo e quali frequenze copre.
Consideriamo questo rapido esempio. Se stiamo cercando di catturare pacchetti da un trasmettitore 802.11ac, una comprensione di base di beamforming e streams potrebbe essere utile in caso di problemi.
Il secondo scopo di questo modulo è fungere da guida di riferimento abbreviata. Ancora una volta, ci sono molti termini e concetti qui, e non possiamo memorizzarli tutti. In generale, quando incontriamo un nuovo dispositivo hardware, potremmo scegliere di tornare a questo modulo per una rapida revisione.
1.1. IEEE
L'Institute of Electrical and Electronics Engineers (IEEE) è un gruppo di oltre 423.000 scienziati, ingegneri e altri professionisti che sono le principali autorità in ambito aerospaziale, telecomunicazioni, ingegneria biomedica, energia elettrica e altro ancora.
Il comitato 802 dell'IEEE sviluppa standard per Local Area Network (LAN) e Metropolitan Area Network (MAN). Questi includono Ethernet, Token Ring, Wireless LAN, Bridging e Virtual Bridged LAN.
1.2. Standard e emendamenti 802.11
IEEE 802.11 è lo standard per le WLAN (Wireless LAN). Le specifiche coprono il livello fisico e la sezione Media Access Control (MAC) del livello di collegamento dati nel modello OSI.
Il comitato 802.11 ha rilasciato emendamenti agli standard man mano che la tecnologia wireless è avanzata. Tratteremo gli emendamenti elencati di seguito:
- 802.11: Lo standard WLAN originale
- 802.11a: Fino a 54 Mbit/s su 5 GHz
- 802.11b: 5,5 Mbit/s e 11 Mbit/s su 2,4 GHz
- 802.11g: Fino a 54 Mbit/s su 2,4 GHz, retrocompatibile con 802.11b
- 802.11h: Requisito normativo per limitare potenza e trasmissione nella banda 5 GHz
- 802.11i: Fornisce sicurezza migliorata
- 802.11n: Fornisce maggiore throughput con Multiple Input/Multiple Output (MIMO), noto anche come Wi-Fi 4
- 802.11ac: Very High Throughput (VHT) < 6 GHz, noto anche come Wi-Fi 5
- 802.11ad: Multi-Gigabit nella banda 60 GHz, noto come WiGig
- 802.11ax: High Efficiency (HE) Wireless LAN, noto anche come Wi-Fi 6
- 802.11ax (estensione 6 GHz): Opera nella banda 6 GHz, commercializzato come Wi-Fi 6E
- 802.11be: Extremely High Throughput (EHT), noto anche come Wi-Fi 7 (ratificato nel 2024)
1.2.1. IEEE 802.11
Lo standard IEEE 802.11 originale, rilasciato nel 1997, definisce i data rate di 1 e 2 Mbit/s su frequenze radio utilizzando Direct-Sequence Spread-Spectrum (DSSS) e Frequency Hopping Spread-Spectrum (FHSS). È spesso chiamato pure-802.11.
Entrambe queste modulazioni sono spread spectrum, che diffondono deliberatamente la trasmissione. Ciò fornisce una migliore resistenza a rumore, interferenze e jamming. Quando il DSSS è in uso con 802.11, i canali saranno larghi 22 MHz. Il FHSS, come suggerisce il nome, salta attraverso la propria larghezza di banda allocata. Tecnologie come GPS e Zigbee utilizzano il DSSS, mentre il Bluetooth è noto per l'uso del FHSS.
Consideriamo una semplice conversazione quotidiana. Possono verificarsi problemi quando le persone cercano di parlare e ascoltare contemporaneamente, o quando più persone parlano insieme. Ci sono problemi simili con il Wi-Fi e, in generale, per qualsiasi tecnologia wireless.
Trasmettere simultaneamente presenta un problema quando il traffico "calpesta" altro traffico. Generalmente ci riferiamo a questo come collisione. Non è possibile individuare le collisioni. Sono indistinguibili da interferenze o rumore. In alcuni casi, queste collisioni avvengono più lontano e, di conseguenza, non sono rilevabili dal trasmettitore.
Come la maggior parte delle altre tecnologie wireless, le radio Wi-Fi possono ricevere o trasmettere, ma non possono fare entrambe le cose simultaneamente. Questa limitazione funzionale è il motivo per cui ci riferiamo alla radio Wi-Fi come half duplex. Se due o più radio trasmettono contemporaneamente, non hanno modo di sapere se la loro trasmissione è andata a buon fine o è andata in collisione, quindi il meglio che si può fare è cercare di evitare le collisioni.
IEEE 802.11 utilizza Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA) prima di trasmettere. Prima che un sistema su una rete CSMA/CA trasmetta dati, ascolterà prima per un periodo di tempo predeterminato per assicurarsi che nessun altro sistema stia trasmettendo. Questo è il protocollo Carrier Sense (Multiple Access). Se il sistema rileva traffico, attenderà prima di riavviare questo processo. Questo è il protocollo Collision Avoidance.
A volte, due o più nodi possono cercare di comunicare con l'access point ma sono troppo distanti l'uno dall'altro e non possono sentire il traffico reciproco. Applicando CSMA/CA, il canale può diventare libero per entrambi contemporaneamente, e entrambi trasmetteranno. Tuttavia, ciò comporta interferenze all'access point. Questo è chiamato hidden node problem.
Figura 1: Hidden Node Problem
Come suggerisce il nome, CSMA/CA cerca di evitare le collisioni, ma non può sempre evitarle. Può essere integrato con il meccanismo Request to Send/Clear to Send (RTS/CTS) per migliorare le probabilità di evitare una collisione.
Utilizzando RTS/CTS, le stazioni inviano un RTS, che viene riconosciuto con un CTS dall'access point. Una volta che la stazione riceve il CTS, i dati vengono scambiati. Nello scenario del hidden node problem, entrambe le stazioni che sono nel raggio dell'access point (ma fuori portata l'una dall'altra) ricevono il CTS, ma solo la stazione menzionata nel CTS trasmette.
1.2.2. IEEE 802.11b
L'emendamento IEEE 802.11b ha aggiunto Complementary Code Keying (CCK), fornendo data rate di 5,5 e 11 Mbit/s sulla banda 2,4 GHz (operante da 2,4 GHz a 2,485 GHz) su 14 canali.
La Figura 2 fornisce una rappresentazione visiva dei canali 802.11b nell'intervallo di frequenze 2,4 GHz.
Figura 2: Canali 802.11b
Ogni canale è largo 22 MHz e, come dimostra questa figura, c'è spettro sufficiente solo per tre canali non sovrapposti in questo intervallo di frequenze.
Come per qualsiasi altro equipaggiamento wireless, quando ci riferiamo alla frequenza di un canale, ci riferiamo sempre alla sua frequenza centrale. La frequenza centrale è la frequenza al centro della larghezza di banda di un canale. Ad esempio, l'intervallo per il canale 1 è da 2,401 GHz a 2,423 GHz, ma ci riferiamo alla sua frequenza come 2,412 GHz, che si trova al centro di questo intervallo.
La Tabella 1 elenca la frequenza centrale di ciascun canale.
| Channel | Center Frequency |
|---|---|
| 1 | 2.412 GHz |
| 2 | 2.417 GHz |
| 3 | 2.422 GHz |
| 4 | 2.427 GHz |
| 5 | 2.432 GHz |
| 6 | 2.437 GHz |
| 7 | 2.442 GHz |
| 8 | 2.447 GHz |
| 9 | 2.452 GHz |
| 10 | 2.457 GHz |
| 11 | 2.462 GHz |
| 12 | 2.467 GHz |
| 13 | 2.472 GHz |
| 14 | 2.484 GHz |
Tabella 1 - Elenco canali 2,4 GHz
I canali elencati in questa sezione si basano sull'emendamento 802.11b. Tuttavia, ogni paese alloca e regola frequenze, potenza di trasmissione e alcune altre variabili in modo indipendente.
Ad esempio, Stati Uniti e Canada consentono i canali da 1 a 11 (12 e 13 sono consentiti in condizioni di bassa potenza), la maggior parte dell'Europa consente da 1 a 13, e il Giappone consente da 1 a 14 (il canale 14 è solo 802.11b). Possiamo leggere di più a riguardo qui.
Il rispetto di queste normative è generalmente gestito dal sistema operativo, dal driver dell'adattatore Wi-Fi o dal firmware della scheda wireless.
1.2.3. IEEE 802.11a
L'emendamento IEEE 802.11a è stato rilasciato contemporaneamente all'802.11b. Utilizza la banda 5 GHz, offrendo più canali, che non si sovrappongono rispetto a quelli definiti dall'802.11b. Si trattava anche di uno spettro meno affollato, non influenzato dai dispositivi consumer a basso costo che si ammassavano nell'intervallo di frequenze 2,4 GHz.
IEEE 802.11a utilizza la modulazione Orthogonal Frequency-Division Multiplexing (OFDM) per fornire data rate fino a 54 Mbit/s, utilizzando canali da 20 MHz.
In parole semplici, l'OFDM divide ogni canale in più "sottocanali" e poi codifica i dati su più frequenze portanti contemporaneamente. Di solito ci riferiamo a questi sottocanali come subcarriers, ma sono anche chiamati tones. Tutti i subcarriers sono allocati durante la trasmissione.
Ci sono 64 subcarriers in ogni canale: 48 di essi trasportano dati, 4 sono pilots (toni di sincronizzazione) e 12 sono null, il che significa che non c'è trasmissione. Ogni subcarrier è largo 312,5 KHz.
Come menzionato in 802.11b, [each country](https://en.wikipedia.org/wiki/List_of_WLAN_channels#5_GHz_or_5.8_GHz_(802.11a/h/j/n/ac/ax) alloca frequenze e livelli di potenza diversi per il Wi-Fi. Questo vale anche per 802.11a.) L'allocazione tra i paesi è più complessa rispetto alla banda 2,4 GHz, e a volte cambia nel tempo.
1.2.4. IEEE 802.11g
IEEE 802.11g utilizza la stessa tecnica di modulazione del segnale (OFDM) dell'802.11a, ma sulla banda 2,4 GHz. La portata del segnale è leggermente migliore rispetto all'802.11a ed è retrocompatibile con IEEE 802.11b. L'802.11g ricadrà su data rate inferiori (e modulazione) quando un dispositivo 802.11b si connette.
Come mostrato di seguito, i numeri dei canali e le frequenze centrali sono gli stessi dell'802.11b.
Figura 3: Canali 802.11g/n
Si noti che il canale 14 era disponibile solo in Giappone per 802.11b.
802.11a/b/g a volte utilizza più antenne, ma non va confuso con Multiple-Input Multiple-Output (MIMO), di cui parleremo più avanti in questo modulo. 802.11a/b/g è Single Input Single Output (SISO), che è l'opposto del MIMO. Nel caso di 802.11a/b/g, l'uso di più antenne è chiamato antenna diversity.
1.2.5. IEEE 802.11n
IEEE 802.11n era destinato a migliorare i data rate e fornire maggiore portata sulle reti 2,4 GHz e 5 GHz. Ci sono stati due rilasci, il primo che consentiva velocità fino a 74 Mb/s, e successivamente velocità fino a 300 Mb/s. Il primo rilascio si basa sulla bozza, mentre l'IEEE 802.11 stava ancora lavorandoci. L'aumento di velocità in IEEE 802.11n è dovuto in gran parte al suo utilizzo della tecnologia MIMO.
Il MIMO utilizza più antenne, ciascuna con il proprio trasmettitore e ricevitore. Migliora la ricezione del segnale sfruttando il fenomeno della multipath propagation. Normalmente, i segnali rimbalzano su oggetti come muri, porte, ecc., degradando la qualità della ricezione. Al contrario, il MIMO sfrutta questo problema per migliorare la ricezione.
802.11n consente l'uso di fino a quattro spatial streams e del numero equivalente di antenne per inviare e ricevere a un data rate più elevato. Commercialmente, sono disponibili fino a tre streams e la larghezza del canale può essere di 40 MHz invece di 20 MHz, raddoppiando così il data rate.
Un'analisi approfondita degli spatial streams, comunemente abbreviati come streams nel Wi-Fi, è fuori ambito per questo corso. Tuttavia, il numero di streams diventerà importante quando analizzeremo le reti, come vedremo più avanti.
802.11n ha anche introdotto una nuova modalità chiamata Greenfield mode. La Greenfield mode introduce un nuovo preamble (una pausa che precede l'arrivo di un segnale wireless su un dispositivo di rete) solo per 802.11n, in base alla quale solo i dispositivi che operano in 802.11n saranno ammessi sulla rete.
Infine, in 802.11n un canale da 20 MHz è diviso in subcarriers, simile a 802.11a/g. I 64 subcarriers sono divisi in modo leggermente diverso. Quattro di essi sono utilizzati per i pilots come in 802.11a/g, ma 52 sono utilizzati per i dati (invece di 48) e quindi otto sono utilizzati come null.
Antenne
Il numero di streams e, quindi, i data rate che possono essere raggiunti, dipendono dal numero di antenne sul trasmettitore e sul ricevitore.
Il formato di notazione è txr:s
- t: Numero di catene di trasmissione (TX)
- r: Numero di catene di ricezione (RX)
- s: Numero massimo di spatial streams che la radio può utilizzare
Ad esempio, una configurazione comune sarebbe 2x2:2, dove la radio ha 2 catene TX, 2 catene RX e 2 streams. Un 3x3:3 ha 3 RX, 3 TX e 3 streams.
Questa notazione non è utilizzata solo per 802.11n, ma anche per qualsiasi altro emendamento che utilizza MIMO.
Potreste incontrare un formato di notazione leggermente diverso: tTrR. Le due configurazioni sopra sarebbero 2T2R e 3T3R. Il numero di streams non è presente in questo formato. In generale, possiamo assumere che il numero di streams sia uguale al valore più alto tra i due numeri presenti.
Il numero di antenne non corrisponde sempre al numero di streams/catene, ma il numero di antenne è sempre maggiore o uguale al numero di streams/catene. Pertanto, un dispositivo con quattro antenne potrebbe benissimo avere tre streams o anche due.
Ad esempio, l'adattatore wireless Alfa AWUS1900 ha quattro antenne (quattro catene di trasmissione e ricezione) ma è un dispositivo a tre spatial streams: 4x4:3.
Warning
Quando si analizzano le reti, il numero di streams sarà un'informazione cruciale, poiché abbiamo bisogno di un dispositivo con altrettanti streams (o più) rispetto a quelli del client. Con troppo pochi streams, non saremo in grado di decodificare la comunicazione.
MCS Rates
802.11n utilizza diverse modulazioni, coding rate e streams per raggiungere velocità fino a 600 Mbit (450 Mbit commercialmente). Un MCS rate (Modulation and Coding Scheme) è semplicemente un numero che si riferisce a una specifica modulazione e coding rate e, nel caso di 802.11n, al numero di spatial streams in uso. Il data rate dipende anche dalla larghezza di banda del canale e, in misura minore, dal guard interval, che è l'intervallo tra i frame.
Il coding rate (nella quarta colonna del grafico sottostante) di un codice di forward error correction è la porzione non ridondante di dati utili. È solitamente espresso in k/n, dove per k bit di informazione ci sono un totale di n bit. I bit n-k sono ridondanti per la correzione degli errori.







