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


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

Aggiornamento dopo le due settimane di revisioni.

Legend:

Unmodified
Added
Removed
Modified
  • IEEE802.11/GestioneDelLivelloMAC

    v1 v2  
    1 [[PageOutline(1-6)]]
     1[[PageOutline]]
     2,,(dafinire),,
     3
    24= IEEE 802.11 - Gestione del livello MAC =
    35
    46Uno degli aspetti piu' importanti, per quanto riguarda la connessione di piu'
    5 host ad una rete wireless, e' sicuramente il meccanismo di sincronizzazione, il
    6 quale deve esistere per permettere la comunicazione all'interno della rete. Per
    7 permettere cio' ogni nodo ha al suo interno un TSF (''Timing Synchronization
    8 Function'') che funge da orologio per tutti i nodi. La sincronizzazione e'
    9 presente sia nei BSS che nei IBSS e avviene in maniere differenti.
     7STA ad una rete wireless, e' sicuramente il meccanismo di sincronizzazione fra
     8di esse, indispensabile per permettere la comunicazione all'interno della rete.
     9A tal fine, ogni nodo possiede la funzione di sincronizzazione (''Timing
     10Synchronization Function'' TSF), basata su un orologio interno in microsecondi
     11(con valori espressi modulo 2^64^). Questa funzione e' presente sia nei BSS a
     12infrastruttura che nei IBSS ma avviene in maniere differenti.
    1013
    11 In un BSS la sincronizzazione viene mantenuta dall'AP, che inizializza il suo
    12 TSF interno e invia ''beacons'' a tutti i nodi della rete con all'interno il
    13 proprio timer. Ogni nodo che riceve il beacon deve sincronizzare il proprio
    14 timer con il valore del timestamp ricevuto.
     14In un '''BSS ad infrastruttura''' la sincronizzazione viene gestita dall'AP,
     15che inizializza un orologio TSF, comunicandone il valore ad ogni nodo della rete
     16attraverso i ''beacon''. Ogni STA che riceve il beacon deve sincronizzare il
     17proprio orologio con il valore ricevuto.
    1518
    16 In un IBSS invece ogni nodo partecipa allla sincronizzazione mediante l'utilizzo
    17 di un algoritmo distribuito; in pratica ogni nodo invia dei beacon ad ogni nodo
    18 della rete e riceve beacons da tutti gli altri. Decide poi autonomamente se
    19 settare il proprio timer col valore ricevuto o se scartare il beacon perche' il
    20 valore del timetamp all'interno e' piu' vecchio del valore del proprio timer.
     19In un '''IBSS''', invece, ogni nodo partecipa alla sincronizzazione mediante
     20l'utilizzo di un algoritmo distribuito che si fonda parimenti sullo scambio
     21reciproco di ''beacon''. Ogni STA decide autonomamente se regolare il proprio
     22orologio al valore ricevuto o se ignorarlo (quando il ''timestamp'' e' meno
     23recente del proprio). Il ''[wiki:CollegamentoMancante beacon interval]'' e'
     24fissato nel momento della creazione della rete, dalla STA che la inizializza.
    2125
    22 Il mantenimento della sincronizzazione e' dato da un algoritmo: ogni nodo
    23 mantiene un timer TSF in modulo 2^64^ microsecondi e si aspetta di ricevere un
    24 beacon ad intervalli regolari (definiti come ''aBeaconPeriod'', che e' un
    25 parametro del nodo). Un nodo che vuole inviare un beacon deve settare il valore
    26 del timestamp, che e' dato dalla somma tra il valore del TSF al tempo della
    27 trasmissione del primo bit del timestamp su PHY e dal tempo di ritardo per la
    28 trasmissione (passaggio dall'interfaccia MAC-PHY a PHY).
     26Ogni STA, indipendentemente dalle distinzioni fatte fin ora, si aspetta di
     27ricevere ''beacon'' ad intervalli regolari (di lunghezza definita dal parametro
     28`aBeaconPeriod`). Un nodo che voglia inviare un ''beacon'' dovra' calcolare
     29il valore del ''timestamp'' senza trascurare le latenze dovute alle procedure
     30trasmissive, sommando il valore dell'orologio TSF (rilevato nel momento
     31dell'inoltro a PHY del primo bit del ''timestamp'') con il tempo di ritardo
     32introdotto dal passaggio dall'interfaccia MAC-PHY al livello fisico (i.e.
     33l'antenna).
    2934
    3035== Acquisizione della sincronizzazione mediante scansione ==
    3136
    32 Ogni stazione (o nodo) puo' operare attraverso due modalita' di scansione: la
    33 modalita' passiva o la modalita' attiva. In modalita' di scansione passiva la
    34 stazione sta in ascolto su tutti i canali e aspetta di ricevere dei beacon in
    35 cui il valore SSID sia uguale al valore SSID dell'ESS di cui la stazione vuole
    36 entrare a fare parte. Una volta ritornati questi frame, la stazione (attraverso
    37 opportune funzioni) entra a far parte di un BSS, acquisendo tutti i parametri
    38 del BSS (timer di sincronizzazione, parametri di PHY, BSSID, parametri di
    39 trasmissione dei beacon...).
     37Ogni stazione, per sincronizzarsi con un BSS, ha a disposizione due modalita' di
     38scansione: la modalita' passiva e la modalita' attiva.
    4039
    41 La modalita' di scansione attiva invece si basa sullo scambio di frame di tipo
    42 ''Probe Request'' e ''Probe Response'': praticamente una stazione invia una
    43 richiesta e si mette in ascolto di una risposta. Quando giunge il frame Probe
    44 Response contenente il SSID cercato dalla stazione ha poi inizio la
    45 sincronizzazione e da quel momento la stazione entra a far parte di un BSS.
    46 L'algoritmo di scansione e' descritto nel dettaglio nella sezione 11.1.3.2.2
    47 (pag 127 di IEEE 802.11-1999).
     40In modalita' di '''scansione passiva''' la stazione ascolta progressivamente
     41ogni canale, aspettando di ricevere dei ''beacon'' nei quali il valore SSID sia
     42uguale a quello dell'ESS di cui vuole entrare a fare parte. Dopodiche' la
     43stazione (attraverso opportune funzioni) entra a far parte di quel BSS,
     44acquisendone tutti i parametri: timer di sincronizzazione, parametri di
     45PHY, BSSID, parametri di trasmissione dei beacon.
    4846
     47La modalita' di '''scansione attiva''' invece si basa sullo scambio di ''frame''
     48di tipo ''probe request'' e ''probe response''. La STA che voglia entrare a far
     49parte di un BSS, inviera' un ''frame'' di richiesta (''probe request'')
     50richiedendo esplicitamente le informazioni desiderate. Si sincronizzera' non
     51appena ricevera' il corrispondente ''frame'' di risposta (''probe response'').
    4952
    5053== Associazione e riassociazione di una stazione con un AP ==
    5154
    52 L'associazione tra una stazione e un AP avviene in due fasi:
    53  * autenticazione
    54  * associazione
    55 Una volta effettuata l'autenticazione su un AP, la stazione invia una richiesta
    56 di associazione all'AP e attende la risposta; in caso di risposta affermativa la
    57 stazione sara' fisicamente associata all'AP e potra' avviare la comunicazione,
    58 in caso contrario la stazione non si potra' associare. Analogamente quando una
    59 stazione vorra' riassociarsi ad un AP inviera' allo stesso una richiesta di
    60 riassociazione e attendera' la risposta dall'AP. Naturalmente, quando un AP
    61 riceve una richiesta di associazione controlla che la stazione che ha inviato
    62 tale richiesta sia autenticata presso di lui; in caso affermativo l'AP inviera'
    63 una risposta (positiva o negativa) alla stazione interessata.
     55,,SoujaK: l'aspetto su cui mi soffermerei, parlando in generale di tutte e tre le
     56primitive (associazione/dissociazione/riassociazione), e' il funzionamento
     57interno di MAC durante quei momenti: `FOO.request`, invio ''frame'', ricevizione
     58''frame'', `FOO.confirm`. ,,
    6459
    65 == ''Power Management'' ==
     60== Gestione energetica ==
    6661
    67 ,,20061108-1512 Roma,,[[BR]]
    68 Le stazione possono cambiare il proprio power management, informando
    69 preventivamente l'AP al quale sono associate, accondando la richiesta di cambio
    70 al campo Frame Control del frame inviato all'AP. L'AP deve tener traccia di
    71 tutte le stazione che operano in modalita' ''power save'' in quanto la
    72 trasmissione dei dati a tali stazioni deve avvenire in modo differente rispetto
    73 alle stazioni che non operano in tale modalita'; infatti un AP non puo'
    74 trasmettere i dati in maniera arbitraria alle stazioni in modalita' ''power
    75 save'' ma deve bufferizzarli per poi trasmetterli in momenti precisi.
    76 [[BR]],,20061109-1424 SoujaK: ''Il pezzo seguente e' da chiarire'',,[[BR]]
    77 Tutte le stazioni che ricevono dati bufferizzati dall'AP sono riunite nel TIM
    78 (''Traffic Indication Map'') il quale rappresenta un campo dei vari ''beacon''
    79 generati dall'AP stesso. Ogni stazione per sapere se i dati ricevuti sono stati
    80 bufferizzati per lei deve ricevere e interpretare il TIM associato al beacon (
    81 per fare cio' ogni stazione si mette peridicamente in ascolto di beacon, e
    82 quindi in ascolto per ricevere eventuali TIM, secondo opportune funzioni). In un
    83 BSS ogni stazione (in modalita' ''power save'') per sapere se dei dati sono
    84 stati correttamente bufferizzati invia un frame di tipo PS-Poll all'AP, il quale
    85 rispondera' o inviando direttamente i dati bufferizzati o acknowledgiando la
    86 richiesta e inviando i dati successivamente.
    87 Ogni stazione puo' lavorare in due modalita':
    88  * ''awake''
    89  * ''doze''
     62Lo standard prevede la possibilita' di utilizzare l'hardware in maniera
     63efficiente rispetto ai consumi energetici, dal momento che non e' affatto
     64infrequente l'uso di dispositivi portatili alimentati a batteria. Il principio
     65di base su cui fonda e' di limitare la potenza dissipata nei momenti in cui
     66essa non sia necessaria.
    9067
    91 Nella modalita' ''awake'' la stazione lavora a piena potenza e puo' ricevere
    92 frame in qualsiasi momento; e' detta anche modalita' attiva. Nella modalita'
    93 ''doze'' la stazione lavora in ''power save'' e riceve frame attraverso il
    94 meccanismo sopra descritto. Naturalmente le stazioni possono passare da una
    95 modalita' all'altra, ma possono farlo solo alla fine di uno scambio di dati
    96 informando l'AP del cambio.
     68Una STA e' tenuta ad effettuare il cambio del proprio stato di gestione
     69energetica (''power management'') informando preventivamente ogni potenziale
     70trasmettitore (ad esempio l'AP di una BSS ad infrastruttura). I potenziali
     71trasmettitori, dal canto loro, devono tener traccia di tutte le stazioni che
     72operano in modalita' di risparmio energetico, poiche' la trasmissione dei dati
     73verso questo insieme di STA deve avvenire in maniera differente rispetto alla
     74consuetudine.
    9775
    98 == ''Power Management'' in un IBSS ==
     76Infatti una STA in modalita' di risparmio energetico puo' alternare il proprio
     77stato fra:
     78 * '''veglia''' (''awake'')
     79   la stazione lavora a piena potenza e puo' ricevere frame in qualsiasi
     80   momento; e' detta anche modalita' attiva;
     81 * '''riposo''' (''doze'')
     82   la stazione lavora in risparmio energetico e riceve ''frame'' attraverso il
     83   meccanismo che sara' descritto a breve.
     84Naturalmente le stazioni possono passare da uno stato all'altro, a seconda
     85delle loro necessita', ma sono tenute ad informare adeguatamente i potenziali
     86trasmettitori durante un generico scambio di ''frame''. Il campo ''power
     87management'' indica appunto lo stato corrente della STA trasmittente.
     88
     89Le STA che intendano comunicare con una STA in stato di riposo sono pertanto
     90tenute a accumulare i dati ad essa diretti procrastinandone l'invio fino al
     91successivo risveglio.
     92
     93=== Gestione energetica in un BSS ad infrastruttura ===
     94
     95Le stazioni in modalita' di gestione energetica che non abbiano dati da inviare
     96cercano di limitare lo stato di veglia solo nei momenti di effettiva ricezione
     97di dati. Lo stato di veglia minimo coincidera' con i momenti di trasmissione
     98dei ''beacon'' da parte dell'AP, poiche' in tali ''frame'' e' contenuta la
     99'''TIM''' (''Traffic Indication Map''), contenente gli AID delle STA per le
     100quali esso possiede ''frame'' in attesa di consegna.
     101
     102Una STA appena riattivatasi che trovera' il proprio AID (''association ID'')
     103nella TIM richiedera' esplicitamente l'invio dei ''frame'' a lei diretti
     104inviando all'AP il ''frame PS-poll''. L'AP potra' quindi procedere alla
     105trasmissione desiderata oppure ritardarla ulteriormente.
     106
     107I TIM sono differenziati a seconda del tipo di trasmissione in attesa:
     108''unicast'' oppure ''multicast''/''broadcast''. I primi vengono definiti
     109propriamente '''TIM''' e sono presenti in ogni ''beacon''; i secondi sono
     110denominati '''DTIM''' (''Delivery Traffic Indication Message'') e vengono
     111inviati ad intervalli regolari (i ''DTIMPeriod'') multipli del ''beacon
     112interval''. Ad esempio, un valore del ''DTIMPeriod'' pari a tre indichera' che
     113ogni tre ''beacon'', esso conterra' il DTIM. Il DTIM, dal momento che riguarda
     114trasmissioni ''multicast'' o ''broadcast'' non necessita del ''PS-poll'' da
     115parte delle stazioni interessate: l'AP e' tenuto ad inviare i ''frame'' in
     116attesa subito dopo il ''beacon'' in questione.
     117
     118=== Gestione energetica in un BSS indipendente ===
    99119
    100120In un IBSS le stazioni devono essere tutte sincronizzate al fine di poter
    101 trasmettere i dati; quando i dati sono bufferizzati e pronti per essere spediti
    102 ad una stazione in power save ci deve essere un annuncio tra tutte le stazioni
    103 affinche' l'operazione si possa effettuare. Tale annuncio e' dato tramite
    104 l'invio di un ATIM (Ad hoc TIM) quando tutte le stazioni dell' IBSS sono in
    105 modalita' ''awake''. Quando i dati devono essere trasmessi la stazione
    106 trasmittente invia prima un frame ATIM nel ATIM Window (che e' un periodo nel
    107 quale vengono inviati solo frame ATIM o beacon) e aspetta l'ACK di quel frame;
    108 se cio' non avviene la stazione attiva la procedura di ritrasmissione dell'ATIM.
    109 Una stazione che acknowledgi l'ATIM durante l'ATIM Window deve rimanere nella
    110 modalita' ''awake'' e aspettare l'annuncio.
    111 Una volta che avviane l'ACK ed e' passato l'ATIM Window, la stazione ricevente
    112 passa in modalita' ''power save'' e puo' ricevere i dati.
     121trasmettere i dati secondo una strategia similare a quella vista per i BSS ad
     122infrastruttura. I dati da inviare vengono conservati e, una volta pronti per
     123essere spediti ad una stazione in ''power save'', si spedisce un messaggio di
     124annuncio, chiamato ATIM (''Ad-hoc'' TIM), all'interno del ''beacon''.
     125
     126Tali annunci possono aver bisogno, a causa della natura distribuita della rete,
     127di tempi piu' lunghi rispetto a reti centralizzate. Viene quindi definita una
     128finestra temporale, denominata ''ATIM window'' dedicata allo scambio di ATIM.
     129Com'e' facile intuire le STA in modalita' di gestione energetica sono tenute a
     130rimanere sveglie durante quel lasso di tempo. I ''frame'' ATIM seguono le stesse
     131regole del coordinamento distribuito, richiedendo quindi conferma di ricezione
     132tramite l'usuale ACK, con l'eccezione per trasmissioni ''multicast'' o
     133''broadcast''. L'effettiva trasmissione dei dati in attesa potra' avvenire
     134soltanto dopo la ricezione di tale ACK; la stazione destinataria avra' la
     135possibilita' di tornare in modalita' di risparmio energetico ad avvenuta
     136ricezione dei ''frame'' attesi.