wiki:IEEE802.11/FormatoDeiFrameMAC

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

Partizionamento di wiki:Protocollo (7/9)

IEEE 802.11 - Formato dei frame MAC

20061111-1735 gnappo
Ciascun MAC frame e' composto dalle seguenti parti:

  1. un header che comprende informazioni sul controllo (del frame stesso), la durata, l'indirizzo e il controllo di sequenza del frame;
  2. il frame body contenente informazioni dipendenti dal tipo di frame in oggetto e di lunghezza variabile;
  3. un Frame Check Sequence, cioe' un codice di rilevazione d'errore.

gnappo: inserire qua "screenshot" formato frame. I paragrafi sottostanti ne illustrano i campi.

Frame Control

20061111-1735 gnappo
A seguire una disamina dei campi contenuti nel cosiddetto Frame Control:

  • campo di versione del protocollo (i.e. 802.11{a,b,g,...}): una stazione che riceve un frame di una versione di protocollo non supportata lo potra' scartare senza informare la stazione mittente o LLC;
  • campi di tipo e sottotipo: identificano il tipo di frame (controllo, dato o management). I sottotipi chiariscono nello specifico la funzionalita' del frame (e.g. un frame di management potrebbe essere un frame contente una richiesta di autenticazione oppure di associazione). Si rimanda alla tabella 1 per tutte le possibili combinazioni per i due campi.
  • Campo To DS: indica se il frame e' destinato al Distribution System (e.g. tutti i frame inviati dalle STA verso gli AP hanno questo flag asserito);
  • campo from DS: indica se il frame proviene dal Distribution System;
  • campo More Fragments: indica se il frame corrente ha altri frammenti a seguire;
  • campo Retry: e' asserito se il frame corrente e' una ritrasmissione di uno precedente aiutando cosi' il ricevitore nel processo di eliminazione di frame duplicati;
  • campo Power Management: indica se la stazione opera in active oppure power-save mode;
  • campo More Data: si tratta di un bit che se asserito, indica alla stazione in power-save che l'AP ha MSDU o MMPDU bufferizzati a lei diretti pronti per l'invio. Inoltre il bit puo' essere valido in una trasmissione tra STA CF-pollable e AP come risposta ad un CF-poll per indicare che la STA ha almeno un MSDU "bufferizzato" pronto per l'invio. Vale ancora 1 anche per le trasmissioni in broadcast dell'AP qualora abbia altri MSDU o MMPDU da inviare entro l'invio del prossimo beacon.
  • Campo WEP: indica se il frame body e' stato crittografato utilizzando WEP. Il campo e' significativo solo nei frame di tipo Management sottotipo Authentication e nei frame di tipo Data.
  • Campo Order: indica se il frame e' stato spedito utilizzando la classe di servizio StrictlyOrder

gnappo: che cos'e' la classe di servizio StrictlyOrder?

Duration/ID

20061111-1735 gnappo
Il campo Duration/ID ha due interpretazioni a seconda della situazione:

  1. in frame Power Save (PS)-Poll contiene l' association id (AID) della stazione trasmittente;
  2. per tutti gli altri frame contiene un valore di durata di impiego del mezzo trasmissivo. 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. Per frame inviati durante il CFP il valore e' fissato a 32768.

Ogni volta che il contenuto del campo Duration/ID e' minore di 32768 ogni STA aggiorna il proprio NAV (Network Allocation Vector).

Address

20061111-1735 gnappo
Ci sono 4 campi address in un frame MAC utilizzati per identificare il BSSID, gli indirizzi della stazione sorgente, destinazione, trasmittente e ricevente. Alcuni frame potrebbero non contenere alcuni di questi sottocampi.
Gli indirizzi si suddividono in:

  • indirizzi individuali;
  • indirizzi di gruppo: multicast oppure broadcast.

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

Sequence number

20061111-1735 gnappo
Questo campo e' suddiviso in due sottocampi: un campo contenente il numero di sequenza di MSDU/MMPDU (modulo 4096) ed un altro per il conteggio dei frammenti di ciascun MSDU/MMPDU (eventualmente zero).

Frame Body

20061111-1735 gnappo
Come gia' affermato in precedenza, questo campo contiene l'effettivo data-load.

FCS

20061111-1735 gnappo
Campo contentente il codice di ridondanza ciclica (CRC) a 32 bit calcolato su tutti i campi del MAC header e sul frame body.

Alcune note sui frame di controllo

20061111-1735 gnappo
A differenziare il formato dei diversi frame di management e' solo il loro rispettivo corpo, diversamente fissato sul numero e tipo dei campi in esso contenuti.
A seguire un elenco dei frame di management e una sintetica descrizione del loro contenuto:

  • beacon: timestamp, beacon interval (rappresenta il numero di TU che intercorrono tra le trasmissioni dei beacon), informazioni sulle capacita' del nodo, parametri della rete (fisica) e dei servizi (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 capacita' 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);
    gnappo: dove e quando e' utilizzato?
  • deauthentication: ragione della richiesta di disautenticazione.