Changes between Version 30 and Version 31 of Protocollo


Ignore:
Timestamp:
Dec 13, 2006, 9:52:13 AM (18 years ago)
Author:
gnappo
Comment:

Aggiunti appunti riguardanti il formato dei MAC frame.

Legend:

Unmodified
Added
Removed
Modified
  • Protocollo

    v30 v31  
    542542lasciando quest'ultima parte di paragrafo come "prossima ad essere aggiornata".
    543543
     544== Formato dei frame MAC ==
     545,,20061111-1735 gnappo,, [[BR]]
     546Ciascun MAC ''frame'' e' composto dalle seguenti parti:
     547 1. un ''header'' che comprende informazioni sul controllo (del ''frame''
     548    stesso), la durata, l'indirizzo e il controllo di sequenza del ''frame'';
     549 2. il ''frame body'' contenente informazioni dipendenti dal tipo di ''frame''
     550    in oggetto e di lunghezza variabile;
     551 3. un ''Frame Check Sequence'', cioe' un codice di rilevazione d'errore.
     552
     553,,gnappo: ''inserire qua "screenshot" formato frame. I paragrafi sottostanti ne illustrano i campi.'',,
     554
     555=== Frame Control ===
     556,,20061111-1735 gnappo,, [[BR]]
     557A seguire una disamina dei campi contenuti nel cosiddetto ''Frame Control'':
     558 * campo di versione del protocollo (i.e. 802.11{a,b,g,...}): una stazione che
     559   riceve un frame di una versione di protocollo non supportata lo potra'
     560   scartare senza informare la stazione mittente o LLC;
     561 * campi di tipo e sottotipo: identificano il tipo di frame (controllo, dato o
     562   ''management''). I sottotipi chiariscono nello specifico la funzionalita' del
     563   ''frame'' (e.g. un ''frame'' di ''management'' potrebbe essere un ''frame''
     564   contente una richiesta di autenticazione oppure di associazione).
     565   Si rimanda alla tabella 1 per tutte le possibili combinazioni per i due
     566   campi.
     567 * Campo ''To DS'': indica se il ''frame'' e' destinato al ''Distribution
     568   System'' (e.g. tutti i ''frame'' inviati dalle STA verso gli AP hanno questo
     569   flag asserito);
     570 * campo ''from DS'': indica se il ''frame'' proviene dal ''Distribution
     571   System'';
     572 * campo ''More Fragments'': indica se il ''frame'' corrente ha altri frammenti
     573   a seguire;
     574 * campo ''Retry'': e' asserito se il ''frame'' corrente e' una ritrasmissione
     575   di uno precedente aiutando cosi' il ricevitore nel processo di eliminazione
     576   di ''frame'' duplicati;
     577 * campo ''Power Management'': indica se la stazione opera in ''active'' oppure
     578   ''power-save  mode'';
     579 * campo ''More Data'': si tratta di un bit che se asserito, indica alla
     580   stazione in ''power-save'' che l'AP ha MSDU o MMPDU bufferizzati a lei
     581   diretti pronti per l'invio. Inoltre il bit puo' essere valido in una
     582   trasmissione tra STA ''CF-pollable'' e AP come risposta ad un ''CF-poll'' per
     583   indicare che la STA ha almeno un MSDU "bufferizzato" pronto per l'invio. Vale
     584   ancora 1 anche per le trasmissioni in ''broadcast'' dell'AP qualora abbia
     585   altri MSDU o MMPDU da inviare entro l'invio del prossimo ''beacon''.
     586 * Campo WEP: indica se il ''frame body'' e' stato crittografato utilizzando
     587   WEP. Il campo e' significativo solo nei ''frame'' di tipo ''Management''
     588   sottotipo ''Authentication'' e nei ''frame'' di tipo ''Data''.
     589 * Campo ''Order'': indica se il frame e' stato spedito utilizzando la classe
     590   di servizio ''StrictlyOrder''
     591
     592,,gnappo: ''che cos'e' la classe di servizio !StrictlyOrder?'',,
     593
     594=== Duration/ID  ===
     595,,20061111-1735 gnappo,, [[BR]]
     596Il campo ''Duration/ID'' ha due interpretazioni a seconda della situazione:
     597 1. in ''frame Power Save (PS)-Poll'' contiene l' ''association id'' (AID) della
     598    stazione trasmittente;
     599 2. per tutti gli altri frame contiene un valore di durata di impiego del
     600    mezzo trasmissivo.
     601    Ad esempio in un ''frame'' RTS il valore del campo ''Duration'' e' dato
     602    dalla somma del tempo di trasmissione dei dati pendenti, di un CTS, di un
     603    frame ACK e di tre SIFS.
     604    Per frame inviati durante il CFP il valore e' fissato a 32768.
     605
     606Ogni volta che il contenuto del campo ''Duration/ID'' e' minore di 32768 ogni
     607STA aggiorna il proprio NAV (Network Allocation Vector).
     608
     609=== Address ===
     610,,20061111-1735 gnappo,, [[BR]]
     611Ci sono 4 campi ''address'' in un frame MAC utilizzati per identificare il
     612BSSID, gli indirizzi della stazione sorgente, destinazione, trasmittente e
     613ricevente. Alcuni frame potrebbero non contenere alcuni di questi sottocampi.
     614[[BR]]
     615Gli indirizzi si suddividono in:
     616 * indirizzi individuali;
     617 * indirizzi di gruppo: ''multicast'' oppure ''broadcast''.
     618
     619Il BSSID denota univocamente ogni BSS. Per quanto riguarda le IBSS questo
     620valore e' determinato da un algoritmo che genera numeri "random" con un'elevata
     621probabilita' di esser unici.
     622
     623=== Sequence number ===
     624,,20061111-1735 gnappo,, [[BR]]
     625Questo campo e' suddiviso in due sottocampi: un campo contenente il numero di
     626sequenza di MSDU/MMPDU (modulo 4096) ed un altro per il conteggio dei
     627frammenti di ciascun MSDU/MMPDU (eventualmente zero).
     628
     629=== Frame Body ===
     630,,20061111-1735 gnappo,, [[BR]]
     631Come gia' affermato in precedenza, questo campo contiene l'effettivo
     632''data-load''.
     633
     634=== FCS ===
     635,,20061111-1735 gnappo,, [[BR]]
     636Campo contentente il codice di ridondanza ciclica (CRC) a 32 bit calcolato su
     637tutti i campi del ''MAC header'' e sul ''frame body''.
     638
     639
     640=== Alcune note sui frame di management ===
     641,,20061111-1735 gnappo,, [[BR]]
     642A differenziare il formato dei diversi ''frame'' di ''management'' e' solo il
     643loro rispettivo corpo, diversamente fissato sul numero e tipo dei campi in esso
     644contenuti. [[BR]]
     645A seguire un elenco dei ''frame'' di ''management'' e una sintetica descrizione
     646del loro contenuto:
     647 * ''beacon'': timestamp, ''beacon interval'' (rappresenta il numero di TU
     648   che intercorrono tra le trasmissioni dei ''beacon''), informazioni sulle
     649   capacita' del nodo, parametri della rete (fisica) e dei servizi (se l'AP
     650   supporta PCF allora nei ''beacon'' saranno contenuti i parametri necessari
     651   alle STA);
     652 * ''disassociation'': ragione della richiesta di disassociazione;
     653 * ''association request'': informazioni sulle capacita' della STA, intervallo
     654   di ascolto (i.e. ogni quanto tempo la STA si "risveglia" per ascoltare i
     655   ''beacon'' dell'AP), SSID, ''rate'' supportati;
     656 * ''association response'': informazioni sulle capacita' dell'AP, stato
     657   dell'associazione (valida oppure errore), identificativo dell'associazione,
     658   ''rate'' supportati;
     659 * ''reassociation response'': come sopra;
     660 * ''probe request'': SSID, ''rate'' supportati;
     661 * ''probe response'': analogo al ''beacon'';
     662 * ''authentication'': numero identificante l'algoritmo di autenticazione,
     663   numero identificante lo ''step'' del processo di autenticazione, stato,
     664   ''challenge text'' (presente solo in particolari ''frame'' di
     665   autenticazione);[[BR]]
     666   ,,gnappo: ''dove e quando e' utilizzato?'',,
     667 * ''deauthentication'': ragione della richiesta di disautenticazione.
     668
    544669== Management del sottolivello MAC ==
    545670