Il livello collegamento Wi-Fi (802.11 o WiFi)

Luglio 2015

Il livello di collegamento di dati


Il livello Collegamento di dati della norma 802.11 è composto da due substrati: il livello di controllo del collegamento logico (Logical Link Control, sigla LLC) e il livello di controllo di accesso al supporto (Media Access Control o MAC).

Il livello MAC definisce due metodi di accesso diversi :
  • Il metodo CSMA/CA che utilizza la Distributed Coordination Function (DCF)
  • La Point Coordination Function (PCF)

Il metodo di accesso CSMA/CA


In una rete locale Ethernet classica, il metodo di accesso utilizzato per i terminali è il CSMA/CD (Carrier Sense Multiple Access with Collision Detect), per cui ogni terminale è libero di comunicare in qualsiasi momento. Ogni terminale che invia un messaggio verifica che nessun altro messaggio sia stato inviato allo stesso momento da un altro terminale. Se è questo il caso, i due terminali aspettano per un tempo aleatorio prima di ricominciare ad emettere.

In un ambiente senza fili questa procedura non è possibile dato che le due stazioni comunicanti con un ricettore non si sentono reciprocamente per forza in ragione del loro raggio di portata. Così la norma 802.11 propone un protocollo simile detto CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance).

Il protocollo CSMA/CA usa un meccanismo per evitare le collisioni basato sul principio di ricevuta di ritorno reciproca tra l'emittente e il ricevente :
RTS / CTS / Data / ACK


La stazione che vuole emettere ascolta la rete. Se la rete è occupata, la trasmissione sarà differita. In caso contrario, se il media è libero per un tempo dato (detto DIFS per Distributed Inter Frame Space), allora la stazione può emettere. La stazione trasmette un messaggio detto Ready to Send (sigla RTS che significa pronto ad emettere) che contiene delle informazioni sul volume dei dati che vuole emettere e sulla velocità di trasmissione. Il ricevente (generalmente un punto di accesso) risponde un Clear To Send (CTS, che significa Il campo è libero per emettere), poi la stazione comincia l'emissione dei dati.

Alla ricezione di tutti i dati emessi dalla stazione, il ricevente invia una ricevuta di ritorno (ACK). Tutte le stazioni vicine aspettano allora per un periodo di tempo che considera essere necessario alla trasmissione del volume di informazioni da emettere alla velocità annunciata.

Somma di controllo


Il livello MAC del protocollo 802.11 offre un meccanismo di controllo di errore che permette di verificare l'integrità del frame. Si tratta di una differenza fondamentale con lo standard Ethernet. In effetti Ethernet non propone nessun sistema di rilevamento o di correzione degli errori, dato che questo compito è lasciato ai protocolli di trasporto del livello superiore (TCP).

In una rete senza fili il tasso di errore è più elevato, ragione per cui un controllo di errore è stato integrato a livello del livello collegamento di dati. Il controllo di errore è basato sul polinomio di grado 32 che segue :
x32+x26+x23+x22+x16+x12+x10+x8+x7+x5+x4+x2+x+1

Frammentazione e riassemblaggio


D'altra parte il tasso di errore di trasmissione sulle reti senza fili aumenta generalmente con dei pacchetti di dimensione importante, ragione per cui la norma 802.11 offre un meccanismo di frammentazione, che permette di scomporre un frame in più pezzi (frammenti).

Formato dei frame


Lo standard 802.11 definisce il formato dei frame scambiate. Ciascun frame è costituito da un'intestazione (detta MAC header, lunga 30 byte), da un corpo e da un FCS (Frame Sequence Check) che permette la correzione di errore.

FC
(2)
D/ID
(2)
Indirizzo 1
(4 byte)
Indirizzo 2
(4 byte)
Indirizzo 3
(4 byte)
SC
(2)
Indirizzo 4
(4 byte)
Corpo della frama
(da 0 a 2312 byte)
FCS
(2)



Ecco la descrizione di questi campi :
  • FC (Frame Control, in italiano controllo di frame): questo campo di due byte è costituito dalle seguenti informazioni :


Versione del protocollo
(2 bits)
Tipo
(2 bits)
Sotto tipo
(4 bits)
To DS
(1 bit)
From DS
(1 bit)
More Frag
(1 bit)
Retry
(1 bit)
Power Mgt
(1 bit)
More Data
(1 bit)
WEP
(1 bit)
Order
(1 bit)



*
    • Versione del protocollo : questo campo di 2 bit permetterà di considerare le evoluzioni della versione dello standard 802.11. Il valore è pari a zero per la prima versione
    • Tipo e Sotto tipo : questi campi, rispettivamente di 2 e 4 bit, definiscono il tipo e il sotto tipo dei frame esplicitati nella tabella sottostante. Il tipo gestione corrisponde alle richieste di associazione nonché ai messaggi di annuncio dei punti di accesso. Il tipo controllo è usato per l'accesso al media per richiedere le autorizzazioni per emettere. Infine il tipo dati riguarda gli invii di dati (la maggior parte del traffico).
    • To DS : questo bit vale 1 quando il frame è destinato al sistema di distribuzione (DS), vale zero negli altri casi. Ogni frame inviato da una stazione a destinazione di un punto d'accesso ha quindi un campo To DS posizionato a 1.
    • From DS : questo bit vale 1 quando il frame proviene dal sistema di distribuzione (DS), vale zero negli casi. Quindi, quando i due campi To e From sono posizionati a zero si tratta di una comunicazione diretta tra due stazioni (modalità ad hoc).
    • More Fragments (frammenti supplementari): permette di indicare (quando vale 1) che restano dei frammenti da trasmettere
    • Retry : questo bit specifica che il frammento in corso è una ritrasmissione di un frammento precedentemente inviato (e sicuramente perso)
    • Power Management (gestione d'energia): indica, quando è a 1, che la stazione che ha inviato questo frammento entra in modalità di gestione dell'energia
    • More Data (gestione d'energia): questo bit, usato per la modalità di gestione dell'energia, è usato dal punto di accesso per specificare ad una stazione che dei frame supplementari sono memorizzati in attesa.
    • WEP : questo bit indica che l'algoritmo di codifica WEP è stato usato per cifrare il corpo della frama.
    • Order (ordine): indica che la frama è stata inviata usando la classe di servizio strettamente ordinata (Strictly-Ordered service class)
  • Durata / ID : Questo campo indica la durata d'utilizzo del canale di trasmissione.
  • Campi indirizzi : un frame può contenere fino a 3 indirizzi oltre all'indirizzo di 48 bit.
  • Controllo di sequenza : questo campo permette di distinguere i diversi frammenti di uno stesso frame. È composto da due sotto campi che permettono di riordinare i frammenti :
    • Il numero di frammento
    • Il numero di sequenza
  • CRC : una somma di controllo che serve a verificare l'integrità del frame.


La tabella sottostante riassume i tipi e i sotto tipi di frame incapsulati nel campo di controllo del frame dell'intestazione MAC :

Tipo Descrizione del tipo Sotto tipo Descrizione del sotto tipo

00

Management (gestione)

0000

Association request (richiesta di associazione)

00

Management (gestione)

0001

Association response (risposta d'associazione)

00

Management (gestione)

0010

Reassociation request (richiesta ri-associazione)

00

Management (gestione)

0011

Reassociation response (risposta di ri-associazione)

00

Management (gestione)

0100

Probe request (richiesta di inchiesta)

00

Management (gestione)

0101

Probe response (risposta di inchiesta)

00

Management (gestione)

0110-0111

Reserved (riservato)

00

Management (gestione)

1000

Beacon (tag)

00

Management (gestione)

1001

Annoucement traffic indication message (ATIM)

00

Management (gestione)

1010

Disassociation (dissociazione)

00

Management (gestione)

1011

Authentication (autenticazione)

00

Management (gestione)

1100

Deauthentication (disautenticazione)

00

Management (gestione)

1101-1111

Reserved (riservato)

01

Control (controllo)

0000-1001

Reserved (riservato)

01

Control (controllo)

1010

Power Save (PS)-Poll (economia d'energia)

01

Control (controllo)

1011

Request To Send (RTS)

01

Control (controllo)

1100

Clear To Send (CTS)

01

Control (controllo)

1101

ACK

01

Control (controllo)

1110

Contention Free (CF)-end

01

Control (controllo)

1111

CF-end + CF-ACK

10

Data (dati)

0000

Data (dati)

10

Data (dati)

0001

Data (dati) + CF-Ack

10

Data (dati)

0010

Data (dati) + CF-Poll

10

Data (dati)

0011

Data (dati) + CF-Ack+CF-Poll

10

Data (dati)

0100

Null function (no Data (dati))

10

Data (dati)

0101

CF-Ack

10

Data (dati)

0110

CF-Poll

10

Data (dati)

0111

CF-Ack + CF-Poll

10

Data (dati)

1000-1111

Reserved (riservato)

11

Data (dati)

0000-1111

Reserved (riservato)

Point Coordination Function (PCF)


La Point Coordination Function (PCF) detta modalità di accesso controllato. Essa è fondata sull'interrogazione a turno delle stazioni, o polling, controllate dal punto di accesso. Una stazione non può emettere se non è autorizzata e non può ricevere se non è selezionata. Questo metodo è concepito per le applicazioni in tempo reale (video, voce) che necessitano di una gestione dei tempi delle trasmissioni di dati.
Per poter consultare questo documento offline, ne potete scaricare gratuitamente una versione in formato PDF:
Il-livello-collegamento-wi-fi-802-11-o-wifi .pdf

Vedi anche


The Wi-Fi link layer
The Wi-Fi link layer
La capa de enlace Wi-Fi
La capa de enlace Wi-Fi
Die Wi-Fi Sicherungsschicht (802.11 oder WiFI)
Die Wi-Fi Sicherungsschicht (802.11 oder WiFI)
La couche liaison Wi-Fi (802.11 ou WiFi)
La couche liaison Wi-Fi (802.11 ou WiFi)
A camada ligação Wi-Fi (802.11 ou WiFi)
A camada ligação Wi-Fi (802.11 ou WiFi)
Il documento intitolato « Il livello collegamento Wi-Fi (802.11 o WiFi) » da CCM (it.ccm.net) è reso disponibile sotto i termini della licenza Creative Commons. È possibile copiare, modificare delle copie di questa pagina, nelle condizioni previste dalla licenza, finché questa nota appaia chiaramente.