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. |
| 6 | Ciascun ''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. |
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'' === |
53 | | ,,gnappo: ''che cos'e' la classe di servizio !StrictlyOrder?'',, |
| 25 | Segue una disamina dei campi contenuti nel cosiddetto ''frame control'', |
| 26 | utile, 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 | ''. |
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. |
| 71 | Il 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. |
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''. |
| 88 | In generale un indirizzo puo' essere individuale o di gruppo. I primi |
| 89 | identificano una particolare STA nella rete, mentre i secondi identificano un |
| 90 | gruppo di STA e si differenziano in ''multicast'' e ''broadcast''. |
| 91 | Gli indirizzi di tipo ''multicast'' denotano un gruppo logico di STA |
| 92 | appartenenti ad una stessa rete, mentre quelli di tipo ''broadcast'' si |
| 93 | riferiscono all'insieme di tutte le STA appartenenti ad una data LAN. |
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 |
| 112 | E' il campo contentente il codice di ridondanza ciclica (CRC) a 32 bit calcolato |
| 113 | su tutti i campi dell' ''header'' e sul ''frame body''. |
| 114 | |
| 115 | -------------------------------------------------------------------------------- |
| 116 | |
| 117 | == Alcune note sui frame di gestione == |
| 118 | |
| 119 | A differenziare il formato dei diversi ''frame'' di ''management'' (MMPDU) e' |
| 120 | solo il loro rispettivo corpo, diversamente fissato sul numero e tipo dei campi |
| 121 | in esso contenuti. |
| 122 | |
| 123 | Segue un elenco dei ''frame'' di ''management'' e una sintetica descrizione |
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); |