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. |
| 7 | STA ad una rete wireless, e' sicuramente il meccanismo di sincronizzazione fra |
| 8 | di esse, indispensabile per permettere la comunicazione all'interno della rete. |
| 9 | A tal fine, ogni nodo possiede la funzione di sincronizzazione (''Timing |
| 10 | Synchronization Function'' TSF), basata su un orologio interno in microsecondi |
| 11 | (con valori espressi modulo 2^64^). Questa funzione e' presente sia nei BSS a |
| 12 | infrastruttura che nei IBSS ma avviene in maniere differenti. |
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. |
| 14 | In un '''BSS ad infrastruttura''' la sincronizzazione viene gestita dall'AP, |
| 15 | che inizializza un orologio TSF, comunicandone il valore ad ogni nodo della rete |
| 16 | attraverso i ''beacon''. Ogni STA che riceve il beacon deve sincronizzare il |
| 17 | proprio orologio con il valore ricevuto. |
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. |
| 19 | In un '''IBSS''', invece, ogni nodo partecipa alla sincronizzazione mediante |
| 20 | l'utilizzo di un algoritmo distribuito che si fonda parimenti sullo scambio |
| 21 | reciproco di ''beacon''. Ogni STA decide autonomamente se regolare il proprio |
| 22 | orologio al valore ricevuto o se ignorarlo (quando il ''timestamp'' e' meno |
| 23 | recente del proprio). Il ''[wiki:CollegamentoMancante beacon interval]'' e' |
| 24 | fissato nel momento della creazione della rete, dalla STA che la inizializza. |
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). |
| 26 | Ogni STA, indipendentemente dalle distinzioni fatte fin ora, si aspetta di |
| 27 | ricevere ''beacon'' ad intervalli regolari (di lunghezza definita dal parametro |
| 28 | `aBeaconPeriod`). Un nodo che voglia inviare un ''beacon'' dovra' calcolare |
| 29 | il valore del ''timestamp'' senza trascurare le latenze dovute alle procedure |
| 30 | trasmissive, sommando il valore dell'orologio TSF (rilevato nel momento |
| 31 | dell'inoltro a PHY del primo bit del ''timestamp'') con il tempo di ritardo |
| 32 | introdotto dal passaggio dall'interfaccia MAC-PHY al livello fisico (i.e. |
| 33 | l'antenna). |
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...). |
| 37 | Ogni stazione, per sincronizzarsi con un BSS, ha a disposizione due modalita' di |
| 38 | scansione: la modalita' passiva e la modalita' attiva. |
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). |
| 40 | In modalita' di '''scansione passiva''' la stazione ascolta progressivamente |
| 41 | ogni canale, aspettando di ricevere dei ''beacon'' nei quali il valore SSID sia |
| 42 | uguale a quello dell'ESS di cui vuole entrare a fare parte. Dopodiche' la |
| 43 | stazione (attraverso opportune funzioni) entra a far parte di quel BSS, |
| 44 | acquisendone tutti i parametri: timer di sincronizzazione, parametri di |
| 45 | PHY, BSSID, parametri di trasmissione dei beacon. |
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 |
| 56 | primitive (associazione/dissociazione/riassociazione), e' il funzionamento |
| 57 | interno di MAC durante quei momenti: `FOO.request`, invio ''frame'', ricevizione |
| 58 | ''frame'', `FOO.confirm`. ,, |
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'' |
| 62 | Lo standard prevede la possibilita' di utilizzare l'hardware in maniera |
| 63 | efficiente rispetto ai consumi energetici, dal momento che non e' affatto |
| 64 | infrequente l'uso di dispositivi portatili alimentati a batteria. Il principio |
| 65 | di base su cui fonda e' di limitare la potenza dissipata nei momenti in cui |
| 66 | essa non sia necessaria. |
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. |
| 68 | Una STA e' tenuta ad effettuare il cambio del proprio stato di gestione |
| 69 | energetica (''power management'') informando preventivamente ogni potenziale |
| 70 | trasmettitore (ad esempio l'AP di una BSS ad infrastruttura). I potenziali |
| 71 | trasmettitori, dal canto loro, devono tener traccia di tutte le stazioni che |
| 72 | operano in modalita' di risparmio energetico, poiche' la trasmissione dei dati |
| 73 | verso questo insieme di STA deve avvenire in maniera differente rispetto alla |
| 74 | consuetudine. |
98 | | == ''Power Management'' in un IBSS == |
| 76 | Infatti una STA in modalita' di risparmio energetico puo' alternare il proprio |
| 77 | stato 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. |
| 84 | Naturalmente le stazioni possono passare da uno stato all'altro, a seconda |
| 85 | delle loro necessita', ma sono tenute ad informare adeguatamente i potenziali |
| 86 | trasmettitori durante un generico scambio di ''frame''. Il campo ''power |
| 87 | management'' indica appunto lo stato corrente della STA trasmittente. |
| 88 | |
| 89 | Le STA che intendano comunicare con una STA in stato di riposo sono pertanto |
| 90 | tenute a accumulare i dati ad essa diretti procrastinandone l'invio fino al |
| 91 | successivo risveglio. |
| 92 | |
| 93 | === Gestione energetica in un BSS ad infrastruttura === |
| 94 | |
| 95 | Le stazioni in modalita' di gestione energetica che non abbiano dati da inviare |
| 96 | cercano di limitare lo stato di veglia solo nei momenti di effettiva ricezione |
| 97 | di dati. Lo stato di veglia minimo coincidera' con i momenti di trasmissione |
| 98 | dei ''beacon'' da parte dell'AP, poiche' in tali ''frame'' e' contenuta la |
| 99 | '''TIM''' (''Traffic Indication Map''), contenente gli AID delle STA per le |
| 100 | quali esso possiede ''frame'' in attesa di consegna. |
| 101 | |
| 102 | Una STA appena riattivatasi che trovera' il proprio AID (''association ID'') |
| 103 | nella TIM richiedera' esplicitamente l'invio dei ''frame'' a lei diretti |
| 104 | inviando all'AP il ''frame PS-poll''. L'AP potra' quindi procedere alla |
| 105 | trasmissione desiderata oppure ritardarla ulteriormente. |
| 106 | |
| 107 | I TIM sono differenziati a seconda del tipo di trasmissione in attesa: |
| 108 | ''unicast'' oppure ''multicast''/''broadcast''. I primi vengono definiti |
| 109 | propriamente '''TIM''' e sono presenti in ogni ''beacon''; i secondi sono |
| 110 | denominati '''DTIM''' (''Delivery Traffic Indication Message'') e vengono |
| 111 | inviati ad intervalli regolari (i ''DTIMPeriod'') multipli del ''beacon |
| 112 | interval''. Ad esempio, un valore del ''DTIMPeriod'' pari a tre indichera' che |
| 113 | ogni tre ''beacon'', esso conterra' il DTIM. Il DTIM, dal momento che riguarda |
| 114 | trasmissioni ''multicast'' o ''broadcast'' non necessita del ''PS-poll'' da |
| 115 | parte delle stazioni interessate: l'AP e' tenuto ad inviare i ''frame'' in |
| 116 | attesa subito dopo il ''beacon'' in questione. |
| 117 | |
| 118 | === Gestione energetica in un BSS indipendente === |
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. |
| 121 | trasmettere i dati secondo una strategia similare a quella vista per i BSS ad |
| 122 | infrastruttura. I dati da inviare vengono conservati e, una volta pronti per |
| 123 | essere spediti ad una stazione in ''power save'', si spedisce un messaggio di |
| 124 | annuncio, chiamato ATIM (''Ad-hoc'' TIM), all'interno del ''beacon''. |
| 125 | |
| 126 | Tali annunci possono aver bisogno, a causa della natura distribuita della rete, |
| 127 | di tempi piu' lunghi rispetto a reti centralizzate. Viene quindi definita una |
| 128 | finestra temporale, denominata ''ATIM window'' dedicata allo scambio di ATIM. |
| 129 | Com'e' facile intuire le STA in modalita' di gestione energetica sono tenute a |
| 130 | rimanere sveglie durante quel lasso di tempo. I ''frame'' ATIM seguono le stesse |
| 131 | regole del coordinamento distribuito, richiedendo quindi conferma di ricezione |
| 132 | tramite l'usuale ACK, con l'eccezione per trasmissioni ''multicast'' o |
| 133 | ''broadcast''. L'effettiva trasmissione dei dati in attesa potra' avvenire |
| 134 | soltanto dopo la ricezione di tale ACK; la stazione destinataria avra' la |
| 135 | possibilita' di tornare in modalita' di risparmio energetico ad avvenuta |
| 136 | ricezione dei ''frame'' attesi. |