2.3 Livello MAC
2.3.5 Tipi di trama
Per spostare le MSDU tra entità alla pari dello strato LLC, lo strato MAC utilizza vari tipi di trame, cia- scuna con uno scopo specifico. Le trame MAC sono divise dallo standard in tre categorie, che forniscono funzioni di gestione, controllo e scambio di dati tra stazioni ed AP. Di seguito è descritta la struttura delle trame più importanti.
Lo scopo delle trame di gestione è stabilire le comunicazioni preliminari tra le stazioni e gli AP, offrendo servizi come l’autenticazione e l’associazione. La Figure 2.23 illustra il formato comune a tutte le trame di gestione.
Figura 2.23: Il formato delle trame di gestione
Nei periodi a contesa il campo Duration delle trame di gestione assume i valori seguenti: • "0" se l’indirizzo di destinazione è un indirizzo di gruppo;
• contiene il numero di microsecondi necessari a trasmettere un ACK ed un SIFS se il campo More Frag è posto a "0" e l’indirizzo di destinazione è un indirizzo individuale;
• contiene il numero di microsecondi necessari a trasmettere il frammento successivo, due ACK e tre SIFS se il campo More Frag è posto a "1" e l’indirizzo di destinazione è un indirizzo individuale. Quand una stazione riceve una trama di gestione, confronta l’indirizzo contenuto nel campo DA con il proprio: se i due coincidono, copia la trama e la passa agli strati protocollari più alti, altrimenti la ignora.
Di seguito sono descritti i tipi di trame di gestione:
• Association Request: una stazione invia questa trama per richiedere l’associazione con un AP; • Association Response: dopo aver ricevuto una richiesta di associazione, l’AP invia questa trama
di risposta per indicare se ha accettato o meno l’associazione;
• Reassociation Request: una stazione invia questa trama se si vuole riassociare con un AP. Una riassociazione può avere luogo quando una stazione esce dalla portata di un AP e si avvicina ad un altro. La stazione si dovrà riassociare con il nuovo AP in modo che quest’ultimo sappia che deve negoziare l’inoltro di trame dati dal vecchio AP;
• Reassociation Response: un AP invia questa trama per indicare se ha accettato o meno una richiesta di riassociazione;
• Probe Request: una stazione invia una trama di questo tipo per ottenere informazioni da un’altra stazione. Per esempio, può inviare una trama di Probe Request per determinare se un certo AP è disponibile;
• Probe Response: una stazione che riceve un Probe Request risponde con una trama di questo tipo inviando le informazione che le erano state richieste;
• Beacon: in una rete di tipo infrastructure, un AP invia periodicamente dei Beacon che forniscono sincronizzazione alle stazioni con lo stesso strato fisico; il Beacon contiene un timestamp che le stazioni usano per aggiornare ciò che lo standard definisce funzione di sincronizzazione dei tempi (timing synchronization function, TSF);
• ATIM: se una stazione ha del traffico in attesa per altre stazioni invia loro una trama ATIM (an- nouncement traffic indication message) durante la finestra ATIM, che segue immediatamente la trasmissione di un Beacon; in seguito la stazione trasmette le trame in attesa a chi è in grado di ricevere; la trasmissione di una trama ATIM avvisa le stazioni in stato di Risparmio Energetico di rimanere attive abbastanza a lungo da ricevere le trame a loro destinate;
• Disassociation: se una stazione o un AP vuole terminare un’associazione, invia questa trama; una singola trama di disassociazione può concludere l’associazione con più di una stazione contempo- raneamente;
• Authentication: una stazione invia una trama di autenticazione ad un AP col quale si vuole au- tenticare; la sequenza di autenticazione dipende dal tipo di autenticazione implementata (a sistema aperto o a chiave comune);
• Deauthentication: una stazione invia questa trama per terminare la comunicazione sicura. Il contenuto del campo Frame Body delle trame di gestione dipende dal tipo di trama spedito. Effettuate le fasi di Autenticazione ed Associazione, le trame di controllo forniscono funzionalità atte ad assistere alla consegna delle trame. Di seguito sono descritti i tipi di trame di controllo:
• Request to Send (RTS): una stazione invia una trama RTS ad una stazione ricevente per negoziare l’invio di una trama di dati.
La Figure 2.24 mostra il formato di una trama RTS. Il valore del campo Duration, in microsecondi, è il tempo che la stazione trasmittente impiegherà a trasmettere la trama dati, più il tempo di una trama CTS, una trama ACK e tre SIFS.
Figura 2.24: Il formato delle trame RTS
• Clear to Send (CTS) Ricevuto un RTS, la stazione ricevente trasmette un CTS per indicare alla stazione sorgente che può iniziare la trasmissione della trama dati. Le stazioni rispondono sempre agli RTS, anche se non sono configurate per iniziare loro stesse delle sequenza RTS.
La Figure 2.24 mostra il formato della trama CTS. Il valore del campo Duration è pari a quello dalla trama RTS meno il tempo necessario a trasmettere un CTS ed un SIFS.
Figura 2.25: Il formato della trama CTS e della trama ACK
• Acknowledgement (ACK): una stazione che riceva una trama senza errori deve inviare un ACK alla stazione trasmittente per indicare l’avvenuta ricezione. La Figure 2.25 illustra il formato della trama ACK.
Il valore del campo Duration è uguale a "0" se il bit More Fragment nel campo Frame Control della trama precedente è uguale a "0". Altrimenti, contiene il valore del campo Duration della trama precedente meno il tempo per trasmettere un ACK ed un SIFS.
2.3. Livello MAC
Figura 2.26: Il formato della trama PS Poll
• Power-Save Poll (PS Poll): se una stazione riceve una trama di questo tipo, aggiorna il suo NAV. Questo è un modo per impedire ad una stazione di trasmettere per un certo periodo di tempo. La Figure 2.26 illustra il formato di una trama PS Poll.
• Contention-Free End (CF End): designa la fine di un periodo senza contesa gestito da PCF. La Figure 2.27 illustra il formato di questa trama. Il campo duration è sempre "0" ed il campo RA è di tipo broadcast (tutti "1").
Figura 2.27: Il formato della trama CF End e della trama CF End + CF ACK
• CF End + CF ACK: questa trama conferma la ricezione di un CF End. Il suo formato è illustrato in Figure 2.27 ed il valore del campo duration è sempre "0".
Lo scopo principale delle trame dati è di trasportare l’informazione, ovvero le MSDU, alla stazione di destinazione affinché sia passata allo strato LLC.