| 1 | [[PageOutline(1-6)]] |
| 2 | = IEEE 802.11 - Gestione del livello MAC = |
| 3 | |
| 4 | Uno 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. |
| 10 | |
| 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. |
| 15 | |
| 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. |
| 21 | |
| 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). |
| 29 | |
| 30 | == Acquisizione della sincronizzazione mediante scansione == |
| 31 | |
| 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...). |
| 40 | |
| 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). |
| 48 | |
| 49 | |
| 50 | == Associazione e riassociazione di una stazione con un AP == |
| 51 | |
| 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. |
| 64 | |
| 65 | == ''Power Management'' == |
| 66 | |
| 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'' |
| 90 | |
| 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. |
| 97 | |
| 98 | == ''Power Management'' in un IBSS == |
| 99 | |
| 100 | In 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. |