Changes between Version 1 and Version 2 of IEEE802.11/FormatoDeiFrameMAC


Ignore:
Timestamp:
Mar 19, 2007, 5:21:01 PM (18 years ago)
Author:
soujak
Comment:

Aggiornamento dopo le due settimane di revisioni.

Legend:

Unmodified
Added
Removed
Modified
  • IEEE802.11/FormatoDeiFrameMAC

    v1 v2  
    11[[PageOutline(1-6)]]
     2<revisionato>
     3
    24= IEEE 802.11 - Formato dei ''frame'' MAC =
    35
    4 ,,20061111-1735 gnappo,, [[BR]]
    5 Ciascun MAC ''frame'' e' composto dalle seguenti parti:
    6  1. un ''header'' che comprende informazioni sul controllo (del ''frame''
    7     stesso), la durata, l'indirizzo e il controllo di sequenza del ''frame'';
    8  2. il ''frame body'' contenente informazioni dipendenti dal tipo di ''frame''
    9     in oggetto e di lunghezza variabile;
    10  3. un ''Frame Check Sequence'', cioe' un codice di rilevazione d'errore.
     6Ciascun ''frame'' MAC e' composto dalle seguenti parti:
     7 1. [wiki:IEEE802.11/FormatoDeiFrameMAC#Intestazioneheader intestazione] (''header''):
     8    comprende informazioni sul controllo del ''frame'', sulle tempistiche,
     9    sull'indirizzamento e sul controllo di sequenza;
     10 2. [wiki:IEEE802.11/FormatoDeiFrameMAC#Corpobody Corpo] (''body''):
     11    contiene informazioni dipendenti dal tipo di ''frame'' ed e' di lunghezza
     12    variabile;
     13 3. [wiki:IEEE802.11/FormatoDeiFrameMAC#Sequenzadicontrollo Sequenza di controllo]
     14    (''frame check sequence'' o FCS): contiene un codice di controllo CRC a 32
     15    bit.
    1116
    12 ,,gnappo: ''inserire qua "screenshot" formato frame. I paragrafi sottostanti ne
    13 illustrano i campi.'',,
     17,,gnappo: ''inserire qua uno ''screenshot'' formato frame. I paragrafi
     18sottostanti ne illustrano i campi (prendere da pagina 34)'',,[[BR]]
     19,,SoujaK: ''oppure uno snello ASCII-art ;)'',,[[BR]]
    1420
    15 == ''Frame Control'' ==
     21== Intestazione (''Header'') ==
    1622
    17 ,,20061111-1735 gnappo,, [[BR]]
    18 A seguire una disamina dei campi contenuti nel cosiddetto ''Frame Control'':
    19  * campo di versione del protocollo (i.e. 802.11{a,b,g,...}): una stazione che
    20    riceve un frame di una versione di protocollo non supportata lo potra'
    21    scartare senza informare la stazione mittente o LLC;
    22  * campi di tipo e sottotipo: identificano il tipo di frame (controllo, dato o
    23    ''management''). I sottotipi chiariscono nello specifico la funzionalita' del
    24    ''frame'' (e.g. un ''frame'' di ''management'' potrebbe essere un ''frame''
    25    contente una richiesta di autenticazione oppure di associazione).
    26    Si rimanda alla tabella 1 per tutte le possibili combinazioni per i due
    27    campi.
    28  * Campo ''To DS'': indica se il ''frame'' e' destinato al ''Distribution
    29    System'' (e.g. tutti i ''frame'' inviati dalle STA verso gli AP hanno questo
    30    flag asserito);
    31  * campo ''from DS'': indica se il ''frame'' proviene dal ''Distribution
    32    System'';
    33  * campo ''More Fragments'': indica se il ''frame'' corrente ha altri frammenti
    34    a seguire;
    35  * campo ''Retry'': e' asserito se il ''frame'' corrente e' una ritrasmissione
    36    di uno precedente aiutando cosi' il ricevitore nel processo di eliminazione
    37    di ''frame'' duplicati;
    38  * campo ''Power Management'': indica se la stazione opera in ''active'' oppure
    39    ''power-save  mode'';
    40  * campo ''More Data'': si tratta di un bit che se asserito, indica alla
    41    stazione in ''power-save'' che l'AP ha MSDU o MMPDU bufferizzati a lei
    42    diretti pronti per l'invio. Inoltre il bit puo' essere valido in una
    43    trasmissione tra STA ''CF-pollable'' e AP come risposta ad un ''CF-poll'' per
    44    indicare che la STA ha almeno un MSDU "bufferizzato" pronto per l'invio. Vale
    45    ancora 1 anche per le trasmissioni in ''broadcast'' dell'AP qualora abbia
    46    altri MSDU o MMPDU da inviare entro l'invio del prossimo ''beacon''.
    47  * Campo WEP: indica se il ''frame body'' e' stato crittografato utilizzando
    48    WEP. Il campo e' significativo solo nei ''frame'' di tipo ''Management''
    49    sottotipo ''Authentication'' e nei ''frame'' di tipo ''Data''.
    50  * Campo ''Order'': indica se il frame e' stato spedito utilizzando la classe
    51    di servizio ''StrictlyOrder''
     23=== ''Frame Control'' ===
    5224
    53 ,,gnappo: ''che cos'e' la classe di servizio !StrictlyOrder?'',,
     25Segue una disamina dei campi contenuti nel cosiddetto ''frame control'',
     26utile, appunto, per il controllo del ''frame''.
     27 * '''Versione del protocollo''': indica secondo quale revisione del
     28   protocollo e' stato formattato il ''frame''. Una stazione ricevente un
     29   ''frame'' il cui campo di versione del protocollo  e' maggiore di quello
     30   supportato, potra' scartarlo, evitando di inoltrarlo al LLC, senza informare
     31   la stazione mittente.
     32 * '''Tipo e sottotipo''': identificano il tipo di ''frame'' (controllo, dati
     33   o gestione). I sottotipi chiariscono nello specifico la funzionalita'
     34   del ''frame'' (e.g. un ''frame'' di ''management'' potrebbe essere un
     35   ''frame'' contenente una richiesta di autenticazione oppure di
     36   associazione).
     37 * '''Al DS''' (''to DS''): indica se il ''frame'' e' destinato al
     38   ''Distribution System'' (e.g. tutti i ''frame'' dati inviati dalle STA verso
     39   gli AP hanno questo ''flag'' asserito).
     40 * '''Dal DS''' ''from DS'': indica se il ''frame'' proviene dal ''Distribution
     41   System''.
     42 * '''Frammenti ulteriori''' (''more fragments''): indica se il ''frame''
     43   corrente e' seguito da altri frammenti (in caso di MPDU frammentate).
     44 * '''Ritentativo''' (''retry''): e' asserito se il ''frame'' corrente
     45   costituisce una   ritrasmissione di uno gia'precedentemente inviato, aiutando
     46   cosi' il   ricevitore nel processo di eliminazione dei
     47   [wiki:IEEE802.11/DefinizioneDeiServiziMAC#Frameduplicati frame duplicati].
     48 * '''''Power management''''': indica se la stazione opera in ''active'' oppure
     49   ''power-save  mode''.
     50 * '''Dati in attesa''' (''more data''): indica che il trasmittente ha dei dati
     51   in attesa di essere spediti. Nello specifico, nelle comunicazioni tra un AP
     52   e una STA in modalita' ''
     53   [wiki:IEEE802.11/GestioneDelLivelloMAC#Powermanagement power save]'',
     54   questo bit indica che l'AP ha almeno una MSDU o una MMPDU pronto per
     55   l'invio alla STA in questione. Ancora, il bit puo' essere usato in una
     56   trasmissione tra una STA ''CF-pollable'' e l'PC come risposta ad un
     57   ''CF-poll'', per indicare che la STA ha almeno una MSDU "bufferizzata" pronta
     58   per l'invio. E' asserito anche per trasmissioni ''broadcast'' dell'AP,
     59   qualora esso abbia altre MSDU o MMPDU da spedire entro l'invio del prossimo
     60   ''beacon''.
     61 * '''WEP''': indica se il corpo del ''frame'' e' stato processato
     62   dall'algoritmo WEP. Il campo e' significativo solo nei ''frame'' di tipo
     63   gestione e sottotipo autenticazione e nei ''frame'' di tipo dati.
     64 * '''In ordine''' (''order''): indica se il ''frame'' e' stato spedito
     65   utilizzando la classe di servizio ''
     66   [wiki:IEEE802.11/ServiziMAC#Servizioperloscambiodidatiasincrono StrictlyOrdered]
     67   ''.
    5468
    55 == ''Duration/ID''  ==
     69=== ''Duration/ID''  ===
    5670
    57 ,,20061111-1735 gnappo,, [[BR]]
    58 Il campo ''Duration/ID'' ha due interpretazioni a seconda della situazione:
    59  1. in ''frame Power Save (PS)-Poll'' contiene l' ''association id'' (AID) della
    60     stazione trasmittente;
    61  2. per tutti gli altri frame contiene un valore di durata di impiego del
    62     mezzo trasmissivo.
    63     Ad esempio in un ''frame'' RTS il valore del campo ''Duration'' e' dato
    64     dalla somma del tempo di trasmissione dei dati pendenti, di un CTS, di un
    65     frame ACK e di tre SIFS.
    66     Per frame inviati durante il CFP il valore e' fissato a 32768.
     71Il campo ''Duration/ID'' ha due interpretazioni a seconda del tipo di ''frame''.
     72 1. Generalmente contiene un valore di durata dell'occupazione del mezzo
     73    trasmissivo, espresso in unita' di tempo. Ad esempio in un ''frame'' RTS il
     74    valore del campo ''Duration'' e' dato dalla somma del tempo di trasmissione
     75    dei dati pendenti, di un CTS, di un frame ACK e di tre SIFS. Il valore e'
     76    fissato a 32768 per ''frame'' inviati durante il CFP, quando invece e'
     77    minore di 32768 e' usato da ogni STA per aggiornare il proprio NAV (Network
     78    Allocation Vector).
     79 2. Per ''frame'' ''PS-Poll'': contiene l' ''association id'' (AID) della
     80    stazione trasmittente.
    6781
    68 Ogni volta che il contenuto del campo ''Duration/ID'' e' minore di 32768 ogni
    69 STA aggiorna il proprio NAV (Network Allocation Vector).
     82=== Indirizzamento ===
    7083
    71 == ''Address'' ==
     84In un frame MAC sono presenti 4 campi ''address'' utilizzati per identificare
     85il BSSID, gli indirizzi delle stazioni che intervengono nella comunicazione:
     86sorgente, destinazione, trasmittente e ricevente.
    7287
    73 ,,20061111-1735 gnappo,, [[BR]]
    74 Ci sono 4 campi ''address'' in un frame MAC utilizzati per identificare il
    75 BSSID, gli indirizzi della stazione sorgente, destinazione, trasmittente e
    76 ricevente. Alcuni ''frame'' potrebbero non contenere alcuni di questi
    77 sottocampi.
    78 [[BR]]
    79 Gli indirizzi si suddividono in:
    80  * indirizzi individuali;
    81  * indirizzi di gruppo: ''multicast'' oppure ''broadcast''.
     88In generale un indirizzo puo' essere individuale o di gruppo. I primi
     89identificano una particolare STA nella rete, mentre i secondi identificano un
     90gruppo di STA e si differenziano in ''multicast'' e ''broadcast''.
     91Gli indirizzi di tipo ''multicast'' denotano un gruppo logico di STA
     92appartenenti ad una stessa rete, mentre quelli di tipo ''broadcast'' si
     93riferiscono all'insieme di tutte le STA appartenenti ad una data LAN.
    8294
    83 Il BSSID denota univocamente ogni BSS. Per quanto riguarda le IBSS questo
    84 valore e' determinato da un algoritmo che genera numeri "random" con un'elevata
    85 probabilita' di esser unici.
     95Il BSSID denota univocamente ogni BSS. Per quanto riguarda le IBSS questo valore
     96e' determinato da un algoritmo che genera numeri casuali con un'elevata
     97probabilita' di essere unici.
    8698
    87 == ''Sequence number'' ==
     99=== Controllo di sequenza ===
    88100
    89 ,,20061111-1735 gnappo,, [[BR]]
    90 Questo campo e' suddiviso in due sottocampi: un campo contenente il numero di
    91 sequenza di MSDU/MMPDU (modulo 4096) ed un altro per il conteggio dei
    92 frammenti di ciascun MSDU/MMPDU (eventualmente zero).
     101Questo campo e' suddiviso in due parti: una contenente il numero di sequenza di
     102MSDU/MMPDU (in modulo 4096) ed un'altra per l'enumerazione dei frammenti di
     103ciascun MSDU/MMPDU.
    93104
    94 == ''Frame Body'' ==
    95105
    96 ,,20061111-1735 gnappo,, [[BR]]
    97 Come gia' affermato in precedenza, questo campo contiene l'effettivo
    98 ''data-load''.
     106== Corpo (''body'') ==
    99107
    100 == FCS ==
    101 ,,20061111-1735 gnappo,, [[BR]]
    102 Campo contentente il codice di ridondanza ciclica (CRC) a 32 bit calcolato su
    103 tutti i campi del ''MAC header'' e sul ''frame body''.
     108Questo campo contiene l'effettivo ''data-load'', costituito dalla MSDU.
    104109
    105 == Alcune note sui frame di controllo ==
     110== Sequenza di controllo (FCS) ==
    106111
    107 ,,20061111-1735 gnappo,, [[BR]]
    108 A differenziare il formato dei diversi ''frame'' di ''management'' e' solo il
    109 loro rispettivo corpo, diversamente fissato sul numero e tipo dei campi in esso
    110 contenuti. [[BR]]
    111 A seguire un elenco dei ''frame'' di ''management'' e una sintetica descrizione
     112E' il campo contentente il codice di ridondanza ciclica (CRC) a 32 bit calcolato
     113su tutti i campi dell' ''header'' e sul ''frame body''.
     114
     115--------------------------------------------------------------------------------
     116
     117== Alcune note sui frame di gestione ==
     118
     119A differenziare il formato dei diversi ''frame'' di ''management'' (MMPDU) e'
     120solo il loro rispettivo corpo, diversamente fissato sul numero e tipo dei campi
     121in esso contenuti.
     122
     123Segue un elenco dei ''frame'' di ''management'' e una sintetica descrizione
    112124del loro contenuto:
    113  * ''beacon'': timestamp, ''beacon interval'' (rappresenta il numero di TU
    114    che intercorrono tra le trasmissioni dei ''beacon''), informazioni sulle
    115    capacita' del nodo, parametri della rete (fisica) e dei servizi (se l'AP
    116    supporta PCF allora nei ''beacon'' saranno contenuti i parametri necessari
    117    alle STA);
     125 * ''beacon'': ''timestamp'' del nodo, ''beacon interval'' (i.e. il
     126   numero di TU che intercorrono tra le trasmissioni dei ''beacon''),
     127   informazioni sulle caratterisitche del nodo, parametri della rete fisica e
     128   dei servizi (e.g. se l'AP supporta PCF allora nei ''beacon'' saranno
     129   contenuti i parametri necessari alle STA);
    118130 * ''disassociation'': ragione della richiesta di dissociazione;
    119  * ''association request'': informazioni sulle capacita' della STA, intervallo
    120    di ascolto (i.e. ogni quanto tempo la STA si "risveglia" per ascoltare i
    121    ''beacon'' dell'AP), SSID, ''rate'' supportati;
     131 * ''association request'': informazioni sulle caratteristiche operative della
     132   STA, intervallo di ascolto (i.e. ogni quanto tempo la STA si risveglia per
     133   ascoltare i ''beacon'' dell'AP), SSID, ''rate'' supportati;
    122134 * ''association response'': informazioni sulle capacita' dell'AP, stato
    123135   dell'associazione (valida oppure errore), identificativo dell'associazione,
     
    129141   numero identificante lo ''step'' del processo di autenticazione, stato,
    130142   ''challenge text'' (presente solo in particolari ''frame'' di
    131    autenticazione);[[BR]]
    132    ,,gnappo: ''dove e quando e' utilizzato?'',,
    133  * ''deauthentication'': ragione della richiesta di disautenticazione.
     143   autenticazione);
     144 * ''deauthentication'': ragione della richiesta di deautenticazione.