| 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); |