wiki:IEEE802.11/FormatoDeiFrameMAC

Version 2 (modified by soujak, 18 years ago) (diff)

Aggiornamento dopo le due settimane di revisioni.

<revisionato>

IEEE 802.11 - Formato dei frame MAC

Ciascun frame MAC e' composto dalle seguenti parti:

  1. intestazione (header): comprende informazioni sul controllo del frame, sulle tempistiche, sull'indirizzamento e sul controllo di sequenza;
  2. Corpo (body): contiene informazioni dipendenti dal tipo di frame ed e' di lunghezza variabile;
  3. Sequenza di controllo (frame check sequence o FCS): contiene un codice di controllo CRC a 32 bit.

gnappo: inserire qua uno screenshot formato frame. I paragrafi sottostanti ne illustrano i campi (prendere da pagina 34)
SoujaK: oppure uno snello ASCII-art ;)

Intestazione (Header)

Frame Control

Segue una disamina dei campi contenuti nel cosiddetto frame control, utile, appunto, per il controllo del frame.

  • Versione del protocollo: indica secondo quale revisione del protocollo e' stato formattato il frame. Una stazione ricevente un frame il cui campo di versione del protocollo e' maggiore di quello supportato, potra' scartarlo, evitando di inoltrarlo al LLC, senza informare la stazione mittente.
  • Tipo e sottotipo: identificano il tipo di frame (controllo, dati o gestione). I sottotipi chiariscono nello specifico la funzionalita' del frame (e.g. un frame di management potrebbe essere un frame contenente una richiesta di autenticazione oppure di associazione).
  • Al DS (to DS): indica se il frame e' destinato al Distribution System (e.g. tutti i frame dati inviati dalle STA verso gli AP hanno questo flag asserito).
  • Dal DS from DS: indica se il frame proviene dal Distribution System.
  • Frammenti ulteriori (more fragments): indica se il frame corrente e' seguito da altri frammenti (in caso di MPDU frammentate).
  • Ritentativo (retry): e' asserito se il frame corrente costituisce una ritrasmissione di uno gia'precedentemente inviato, aiutando cosi' il ricevitore nel processo di eliminazione dei frame duplicati.
  • Power management: indica se la stazione opera in active oppure power-save mode.
  • Dati in attesa (more data): indica che il trasmittente ha dei dati in attesa di essere spediti. Nello specifico, nelle comunicazioni tra un AP e una STA in modalita' power save, questo bit indica che l'AP ha almeno una MSDU o una MMPDU pronto per l'invio alla STA in questione. Ancora, il bit puo' essere usato in una trasmissione tra una STA CF-pollable e l'PC come risposta ad un CF-poll, per indicare che la STA ha almeno una MSDU "bufferizzata" pronta per l'invio. E' asserito anche per trasmissioni broadcast dell'AP, qualora esso abbia altre MSDU o MMPDU da spedire entro l'invio del prossimo beacon.
  • WEP: indica se il corpo del frame e' stato processato dall'algoritmo WEP. Il campo e' significativo solo nei frame di tipo gestione e sottotipo autenticazione e nei frame di tipo dati.
  • In ordine (order): indica se il frame e' stato spedito utilizzando la classe di servizio StrictlyOrdered .

Duration/ID

Il campo Duration/ID ha due interpretazioni a seconda del tipo di frame.

  1. Generalmente contiene un valore di durata dell'occupazione del mezzo trasmissivo, espresso in unita' di tempo. Ad esempio in un frame RTS il valore del campo Duration e' dato dalla somma del tempo di trasmissione dei dati pendenti, di un CTS, di un frame ACK e di tre SIFS. Il valore e' fissato a 32768 per frame inviati durante il CFP, quando invece e' minore di 32768 e' usato da ogni STA per aggiornare il proprio NAV (Network Allocation Vector).
  2. Per frame PS-Poll: contiene l' association id (AID) della stazione trasmittente.

Indirizzamento

In un frame MAC sono presenti 4 campi address utilizzati per identificare il BSSID, gli indirizzi delle stazioni che intervengono nella comunicazione: sorgente, destinazione, trasmittente e ricevente.

In generale un indirizzo puo' essere individuale o di gruppo. I primi identificano una particolare STA nella rete, mentre i secondi identificano un gruppo di STA e si differenziano in multicast e broadcast. Gli indirizzi di tipo multicast denotano un gruppo logico di STA appartenenti ad una stessa rete, mentre quelli di tipo broadcast si riferiscono all'insieme di tutte le STA appartenenti ad una data LAN.

Il BSSID denota univocamente ogni BSS. Per quanto riguarda le IBSS questo valore e' determinato da un algoritmo che genera numeri casuali con un'elevata probabilita' di essere unici.

Controllo di sequenza

Questo campo e' suddiviso in due parti: una contenente il numero di sequenza di MSDU/MMPDU (in modulo 4096) ed un'altra per l'enumerazione dei frammenti di ciascun MSDU/MMPDU.

Corpo (body)

Questo campo contiene l'effettivo data-load, costituito dalla MSDU.

Sequenza di controllo (FCS)

E' il campo contentente il codice di ridondanza ciclica (CRC) a 32 bit calcolato su tutti i campi dell' header e sul frame body.


Alcune note sui frame di gestione

A differenziare il formato dei diversi frame di management (MMPDU) e' solo il loro rispettivo corpo, diversamente fissato sul numero e tipo dei campi in esso contenuti.

Segue un elenco dei frame di management e una sintetica descrizione del loro contenuto:

  • beacon: timestamp del nodo, beacon interval (i.e. il numero di TU che intercorrono tra le trasmissioni dei beacon), informazioni sulle caratterisitche del nodo, parametri della rete fisica e dei servizi (e.g. se l'AP supporta PCF allora nei beacon saranno contenuti i parametri necessari alle STA);
  • disassociation: ragione della richiesta di dissociazione;
  • association request: informazioni sulle caratteristiche operative della STA, intervallo di ascolto (i.e. ogni quanto tempo la STA si risveglia per ascoltare i beacon dell'AP), SSID, rate supportati;
  • association response: informazioni sulle capacita' dell'AP, stato dell'associazione (valida oppure errore), identificativo dell'associazione, rate supportati;
  • reassociation response: come sopra;
  • probe request: SSID, rate supportati;
  • probe response: analogo al beacon;
  • authentication: numero identificante l'algoritmo di autenticazione, numero identificante lo step del processo di autenticazione, stato, challenge text (presente solo in particolari frame di autenticazione);
  • deauthentication: ragione della richiesta di deautenticazione.