Changes between Version 12 and Version 13 of Protocollo


Ignore:
Timestamp:
Nov 9, 2006, 10:42:05 AM (18 years ago)
Author:
soujak
Comment:

Correzioni tipografiche, wikificazioni e rimozione caratteri non standard lungo l'intero documento.

Legend:

Unmodified
Added
Removed
Modified
  • Protocollo

    v12 v13  
    1616L'accesso al mezzo di trasmissione comune e' regolato da una strategia che e'
    1717detta CSMA/CA (i.e. ''carrier sense multiple access with collision avoidance'')
    18 che intende minimizzare le probabilita' di collisione.
    19 
    20 La funzionalita' di
     18che intende minimizzare le probabilita'  di collisione.
     19
     20La funzionalita'  di
    2121[wiki:Protocollo#CoordinamentodistribuitoDCF Coordinamento distribuito]
    2222(Distributed Coordination Function o, piu' brevemente, DCF) si fa carico della
    2323cosa ed e' pertanto componente necessario di ogni stazione, sia che essa operi
    24 all'interno di reti configurate in modalita' ''infrastracture'' che ''ad-hoc''.
     24all'interno di reti configurate in modalita'  ''infrastracture'' che ''ad-hoc''.
    2525E' inoltre presente un metodo di accesso opzionale, detto
    2626[wiki:Protocollo#CoordinamentocentralizzatoPCF coordinamento centralizzato]
     
    2929operare in maniera concorrente all'interno di una BSS, i due metodi di accesso
    3030si alterneranno, con un periodo in cui l'accesso e' prestabilito e il mezzo
    31 libero dalla contesa (Contention-Free Period o CFP) seguito da un periodo di
    32 contesa (Contention Period o CP).
     31libero dalla contesa (''Contention-Free Period'' o CFP) seguito da un periodo di
     32contesa (''Contention Period'' o CP).
    3333
    3434==== Coordinamento distribuito (DCF) ====
     
    3939comunicazione CSMA/CA e' la distribuzione di informazioni di prenotazione del
    4040mezzo trasmissivo. Ogni comunicazione fra un nodo sorgente e un nodo
    41 destinazione deve cominciare con lo scambio di due frame RTS (request to send) e
    42 CTS (clear to send) dalla seguente semantica: "richiesta di invio" e "pronto
    43 alla ricezione". Tali frame RTS e CTS contengono un campo (Duration/ID) che
    44 contiene il tempo durante il quale il mezzo e' riservato per l'invio del frame
    45 (o del frammento) e per la ricezione dell'ACK. Le STA esterne alla comunicazione
    46 imparano, tramite questo meccanismo, che il canale e' occupato per tale lasso di
     41destinazione deve cominciare con lo scambio di due frame RTS (''request to
     42send'') e CTS (''clear to send'') dalla seguente semantica: "richiesta di invio"
     43e "pronto alla ricezione". Tali frame RTS e CTS contengono un campo
     44(Duration/ID) che contiene il tempo durante il quale il mezzo e' riservato per
     45l'invio del frame (o del frammento) e per la ricezione dell'ACK. Le STA esterne
     46alla comunicazione imparano, tramite questo meccanismo, che il canale e'
     47occupato per tale lasso di
    4748tempo evitando le collisioni. La doppia presenza delle informazioni in questione
    4849nei due versi della comunicazione (sia nei frame RTS che in CTS, ad esempio)
     
    5657===== ''Carrier-sense'' virtuale e il NAV =====
    5758,,20061027-0416 SoujaK,,[[BR]]
    58 La funzionalita' permette di capire lo stato del mezzo trasmissivo (occupato o
     59La funzionalita'  permette di capire lo stato del mezzo trasmissivo (occupato o
    5960libero) ed e' presente non solo nel sottostrato PHY, come e' ovvio, ma anche in
    6061MAC. Qui in MAC il meccanismo e' da considerarsi virtuale, nel senso che
    6162interroga il Network Allocation Vector. Ogni STA ha il compito di tenere traccia
    6263nel NAV delle "prenotazioni" effettuate da altri che indicano la futura
    63 indisponibilita' del canale e, se necessario, rimandare i tentativi di
     64indisponibilita'  del canale e, se necessario, rimandare i tentativi di
    6465trasmissione. Il calcolo di questa durata non e' altro che la somma dei tempi
    6566necessari alle fasi della comunicazione: la trasmissione dei vari frame di dati,
     
    6768[wiki:Studio#InterframespaceIFSspaceIFS IFS]. Le citate informazioni necessarie
    6869alle stazioni estranee alla comunicazione sono o prefissate dallo standard (la
    69 durata di invio di un ACK o i tempi inter-frame) oppure sono comunicate dalle
    70 stazioni interne alla comunicazione. Il campo Duration/ID e' quindi presente sia
    71 nella coppia iniziale < RTS e CTS > che nelle successive coppie < PDU e ACK >
    72 diverse dalla prima; esso contiene la distanza temporale al termine della
     70durata di invio di un ACK o i tempi ''inter-frame'') oppure sono comunicate
     71dalle stazioni interne alla comunicazione. Il campo Duration/ID e' quindi
     72presente sia nella coppia iniziale < RTS e CTS > che nelle successive coppie <
     73PDU e ACK > diverse dalla prima; esso contiene la distanza temporale al termine
     74della
    7375comunicazione, i.e. il primo acknoledgment.
    7476
     
    8284riceva altro che non sia un ACK. Si noti che la mancata ricezione dell'ACK puo'
    8385indistinguibilmente indicare anche un errore durante la trasmissione dello
    84 stesso acknoledgment.
     86stesso ''acknoledgment''.
    8587
    8688===== Interframe space (IFS) =====
     
    9092alle stazioni. Queste ultime, attraverso il meccanismo ''carrier-sense'',
    9193attendono infatti di poter considerare libero il mezzo trasmissivo a seconda
    92 dei periodi di inattivita' rilevati.
     94dei periodi di inattivita'  rilevati.
    9395
    9496A seconda della situazione viene usato uno dei seguenti 4 periodi:
    9597 1. SIFS (short interframe space):
    9698    usato per frame ACK, CTS, per frame (eccetto il primo) di una
    97     trasmissione frammentata, per le risposte al polling del PCF;
     99    trasmissione frammentata, per le risposte al ''polling'' del PCF;
    98100 2. PIFS (PCF interframe space):
    99101    usato solo dalle STA che, sotto un PCF, tentano di avere accesso al mezzo
     
    108110===== Random backoff time =====
    109111,,20061025-1233 SoujaK,,[[BR]]
    110 In seguito al rilevamento di inattivita' del mezzo trasmissivo (secondo le
     112In seguito al rilevamento di inattivita'  del mezzo trasmissivo (secondo le
    111113politiche appena descritte), ogni STA e' tenuta a ritardare ulteriormente la
    112114propria trasmissione per un periodo di backoff di durata casuale, a meno che non
    113 sia gia' stato impostato il relativo timer. L'intento e' quello di evitare che
     115sia gia'  stato impostato il relativo timer. L'intento e' quello di evitare che
    114116tutte le STA in attesa collidano nel momento in cui contemporaneamente
    115117effettuino tentativi di trasmissione.[[BR]]
     
    120122qui.'',,[[BR]]
    121123{{{
    122 Il periodo di inattivita' che le STA si autoimpongono e' detto CW (contention
    123 window) e viene ripetuto ogni volta che si presenti una collisione. Viene
     124Il periodo di inattivita'  che le STA si autoimpongono e' detto CW (''contention
     125window'') e viene ripetuto ogni volta che si presenti una collisione. Viene
    124126inoltre incrementato a fronte di ogni collisione con andamento esponenziale (per
    125127scongiurare il pericolo di fino al raggiungimento di un valore massimo
    126128prestabilito.
    127129}}}
    128 Il periodo di backoff e' espresso come quantita' casuale di quanti di tempo (dal
    129 valore `aSlotTime` presente in PHY). Questa quantita' di slot e' mantenuta in un
    130 intero pseudocasuale le cui variazioni devono osclillare in maniera uniforme fra
    131 0 e CW, un altro parametro definito come intero compreso nell'intervallo di
    132 estremi `aCWmin` e `aCWmax`(definiti in PHY). Ogni STA mantiene inoltre una
    133 coppia di contatori dei tentativi di trasmissione (SSRC e SLRC) non andati a
    134 buon fine: questi vengono inizializzati a 0 e vengono incrementati con
    135 l'andamento andamento esponenziale del 2 ogni volta che la comunicazione
    136 fallisce. Supponendo CWmin e CWmax settati rispettivamente a 7 e a 255, un
    137 esempio di incremento esponenziale e' dato dalla sequenza 7, 15, 31, 63, 127,
    138 255, 255. Un cosi' alto andamento di crescita del periodo di backoff rende piu'
    139 stabile il protocollo, aumentando la sua capacita' di adeguarsi repentinamente a
    140 condizioni di alto carico per poi saperle sopportare con maggiore facilita'.
     130Il periodo di ''backoff'' e' espresso come quantita'  casuale di quanti di tempo
     131(dal valore `aSlotTime` presente in PHY). Questa quantita'  di slot e' mantenuta
     132in un intero pseudocasuale le cui variazioni devono osclillare in maniera
     133uniforme fra 0 e CW, un altro parametro definito come intero compreso
     134nell'intervallo di estremi `aCWmin` e `aCWmax`(definiti in PHY). Ogni STA
     135mantiene inoltre una coppia di contatori dei tentativi di trasmissione (SSRC e
     136SLRC) non andati a buon fine: questi vengono inizializzati a 0 e vengono
     137incrementati con l'andamento andamento esponenziale del 2 ogni volta che la
     138comunicazione fallisce. Supponendo CWmin e CWmax settati rispettivamente a 7 e a
     139255, un esempio di incremento esponenziale e' dato dalla sequenza 7, 15, 31, 63,
     140127, 255, 255. Un cosi' alto andamento di crescita del periodo di backoff rende
     141piu' stabile il protocollo, aumentando la sua capacita'  di adeguarsi
     142repentinamente a condizioni di alto carico per poi saperle sopportare con
     143maggiore facilita' .
    141144[[BR]]
    142145I contatori prima citati vengono poi resettati (azzerati) al verificarsi di
     
    148151,,20061027-0536 SoujaK,,[[BR]]
    149152Dal momento che le procedure di conferma di trasmissione e di ritrasmissione
    150 sono incorporati all'interno del protocollo, esiste la possibilita' che un
     153sono incorporati all'interno del protocollo, esiste la possibilita'  che un
    151154determinato frame venga ricevuto piu' di una volta. La stazione ricevente deve
    152155rendersi conto della duplicazione e scartare i doppioni. E' stato pertanto
     
    165168I due livelli (data link e fisico) su cui lo standard e' definito possiedono
    166169un insieme di operazioni primitive proprie, ma le loro definizioni sono lungi
    167 dal poter essere considerate vere e proprie interfacce: si tratta delle "MAC
    168 layer management entities" (MLME) e delle "PHY layer management entities"
     170dal poter essere considerate vere e proprie interfacce: si tratta delle "''MAC
     171layer management entities''" (MLME) e delle "''PHY layer management entities''"
    169172(PLME).
    170173E' assai importante notare, specialmente ai fini dello studio in oggetto, che lo
    171174strato MAC non oscura il sottostante PHY, ma permette alla "station management
    172 entity" (SME) di interagire direttamente con esso. Le varie entita' hanno la
    173 possibilita' di comunicare fra loro secondo le specifiche dello standard,
    174 attraverso i SAP (service access point). Tale concetto intende aggregare
    175 l'insieme di chiamate che una determinata entita' espone alle altre per
     175entity" (SME) di interagire direttamente con esso. Le varie entita'  hanno la
     176possibilita'  di comunicare fra loro secondo le specifiche dello standard,
     177attraverso i SAP (''service access point''). Tale concetto intende aggregare
     178l'insieme di chiamate che una determinata entita'  espone alle altre per
    176179realizzare forme di comunicazione o invocazione.
    177180
     
    230233   ad-hoc)
    231234
    232   ,,20061019-0920 SoujaK:,,
    233   ''La revisione g del documento non introduce nessun cambiamento alle
    234   interfacce del SAP legato al livello MAC. Viene piuttosto esteso il livello
    235   PHY al fine di supportare larghezze di banda maggiori e differenti modulazioni
    236   del segnale.''
     235  ,,20061019-0920 SoujaK: La revisione G del documento non introduce nessun
     236  cambiamento alle interfacce  del SAP legato al livello MAC. Viene piuttosto
     237  esteso il livello PHY al fine  di supportare larghezze di banda maggiori e
     238  differenti modulazioni del  segnale.'',,
    237239
    238240=== Interfaccia di PHY: PLME SAP ===
     
    247249   ad una CHARACTERISTICS.request. Fornisce le caratteristiche operative
    248250   della PHY entity;
    249  * DSSSTESTMODE.request: utile per entrare in modalita' test in una PHY DSSS
     251 * DSSSTESTMODE.request: utile per entrare in modalita'  test in una PHY DSSS
    250252   entity;
    251253 * DSSSTESTOUTPUT.request: opzionale, testa i segnali di output di una PHY
     
    254256
    255257=== Interfaccia di PHY: PHY SAP ===
    256 Come gia' accennato in precedenza, le funzioni proprie dello strato PHY sono
     258Come gia'  accennato in precedenza, le funzioni proprie dello strato PHY sono
    257259separate nei due livelli distinti PMD e PLCP; quest'ultimo intende fornire un
    258260meccanismo indipendente dalla PHY entity per trasferire MPDU fra le STA.
     
    266268   (e.g. PHY-TXStart.{request,...}).
    267269
    268 ,,gnappo:,, ''chiarire meglio tutte le primitive con il loro significato. Sara'
    269 utile
    270 nella comprensione delle specifiche del livello PHY (ad esempio DSSS).''
     270,,gnappo: ''chiarire meglio tutte le primitive con il loro significato. Sara'
     271utile nella comprensione delle specifiche del livello PHY (ad esempio DSSS).'',,
    271272
    272273== Specifiche per il livello fisico ==
     
    275276FHSS (Frequency Hopping Spread Spectrum) e' una specifica del livello PHY,
    276277presente nella prima versione dello standard. L'obiettivo primo da perseguire,
    277 come gia' chiarito nei paragrafi precedenti, e' l'indipendenza del livello MAC
     278come gia'  chiarito nei paragrafi precedenti, e' l'indipendenza del livello MAC
    278279dal livello PHY. E' per questo motivo che, nel documento, vengono ratificate
    279280adeguate funzioni di convergenza al mezzo trasmissivo oltre alle usuali funzioni
     
    290291 * 2 Mbit/s: utilizzando la modulazione 4GFSK. L'header PLCP viene comunque
    291292   trasmesso ad 1 Mbit/s. [[BR]]
    292 E' importante sottolineare come la sequenza di salto dei canali sia in realta'
     293E' importante sottolineare come la sequenza di salto dei canali sia in realta' 
    293294dettata dal livello MAC: ogni beacon e ogni frame ''Probe Response'' contengono
    294295le informazioni necessarie per la sincronizzazione e per la determinazione del
     
    314315eliminare interferenze tra gli stessi (sono ortogonali l'uno all'altro).
    315316Rimane, comunque, uno standard poco utilizzato sia a causa delle sue
    316 incompatibilita' (802.11b e 802.11g) sia per le caratteristiche operative (in
     317incompatibilita'  (802.11b e 802.11g) sia per le caratteristiche operative (in
    317318molti paesi la banda dei 5Ghz e' tuttora riservata).
    318 
    319319
    320320=== DSSS ===
    321321,,20061021-???? gnappo,, [[BR]]
    322322DSSS (Direct Sequence Spread Spectrum) e' un'altra specifica del livello fisico
    323 che permette di raggiungere in linea teorica un capacita' trasmissiva pari a
     323che permette di raggiungere in linea teorica un capacita'  trasmissiva pari a
    32432411Mbit/s (802.11b). Attraverso opportune tecniche e' possibile fornire bitrate
    325 inferiori (in tal modo si ottiene compatibilita' all'indietro).
     325inferiori (in tal modo si ottiene compatibilita'  all'indietro).
    326326Come descritto precedentemente, anche in questa occasione avremo opportune
    327327funzioni di convergenza atte a garantire l'indipendenza di MAC rispetto alla
     
    331331l'header del frame sono trasmessi, diversamente dal resto, ad un 1Mbit/s per
    332332assicurarsi che l'interlocutore capisca effettivamente questa parte essenziale
    333 della comunicazione. L'effettivo invio del payload (MPDU) potra' essere
     333della comunicazione. L'effettivo invio del payload (MPDU) potra'  essere
    334334compiuto con modulazioni diverse opportunamente specificate nell'header (campo
    335335SIGNAL).
     
    344344TX_ANTENNA, TXPWR_LEVEL). Una volta terminato l'invio del preambolo, attraverso
    345345una serie di chiamate PHY-DATA.request(DATA) verrano scambiati i dati tra MAC e
    346 PHY. Al termine della trasmissione l'entita' fisica ritornera' allo stato di
     346PHY. Al termine della trasmissione l'entita'  fisica ritornera' allo stato di
    347347ricevitore.
    348348
    349349==== Algoritmo di ricezione ====
    350350,,20061021-???? gnappo,, [[BR]]
    351 Per quanto riguarda la ricezione e' necessario che l'entita' fisica sia nello
     351Per quanto riguarda la ricezione e' necessario che l'entita'  fisica sia nello
    352352stato di ricevitore (quindi PHY-TXSTART disabilitato). Attraverso la PLME e'
    353353possibile scegliere il canale su cui ascoltare ed il metodo di CCA (Clear
    354354Channel Assessment). Altri parametri (come per la trasmissione) sono passati
    355355attraverso PHY-SAP.
    356 Non appena il dispositivo ha rilevato attivita' sul canale sul quale e' in
     356Non appena il dispositivo ha rilevato attivita'  sul canale sul quale e' in
    357357ascolto, PHY invoca la primitiva PHY-CCA.indicate con la quale informa MAC che
    358358il canale e' BUSY. Dopodiche' PHY va alla ricerca di un delimitatore di inizio
     
    363363campo SERVICE). I dati successivamente ricevuti saranno assemblati e
    364364presentati a MAC attraverso la primitiva PHY-DATA.indicate(DATA). Al termine
    365 dell'intera ricezione lo stato del ricevitore ritornera' IDLE e la primitiva
    366 PHY-RXEND.indicate(NoError) sara' sollevata.
     365dell'intera ricezione lo stato del ricevitore ritornera'  IDLE e la primitiva
     366PHY-RXEND.indicate(NoError) sara'  sollevata.
    367367Se la ricezione non andasse a buon fine, PHY informerebbe MAC attraverso la
    368368primitiva PHY-RXEND.indicate della causa dell'errore (e.g. !CarrierLost).
     
    372372Il segnale da trasmettere viene convertito da flusso di bit in flusso di
    373373simboli, dove ogni simbolo rappresenta una stringa di bit (la cui lunghezza
    374 dipende dalle particolari tecniche di codifica). Tale flusso, verra' poi
     374dipende dalle particolari tecniche di codifica). Tale flusso, verra'  poi
    375375combinato con una sequenza di bit ''Pseudo-noise'' detta ''chip sequence'',
    376376con frequenza maggiore rispetto a quella del segnale. In uscita, quindi, avremo
    377 un segnale che sara' diffuso su una banda di frequenze piu' larga. [[BR]]
    378 Il ricevitore, utilizzando la stessa ''chip sequence'', sara' in grado di
     377un segnale che sara'  diffuso su una banda di frequenze piu' larga. [[BR]]
     378Il ricevitore, utilizzando la stessa ''chip sequence'', sara'  in grado di
    379379ricostruire il segnale originale. [[BR]]
    380380La banda a 2.4 GHz e' suddivisa in 14 canali ciascuno dei quali occupa 22 MHz.
     
    386386=== HR/DSSS (802.11b/802.11g) ===
    387387,,20061022-2130 Zeratul,, [[BR]]
    388 High Rate Direct Sequence Spread Spectrum (HR/DSSS) e' l'evoluzione della 
    389 "semplice" DSSS che consente di portare la bandwith massima a 5.5
    390 o 11 Mbps (nell'802.11g si arrivera' anche a ~ 54 Mbps).
    391 Gli header e preamboli PLCP sono gli stessi della DSSS, in questo modo
    392 e' possibile la coesistenza di entrambe le modulazioni in una stessa
    393 connessione. [[BR]]
     388High Rate Direct Sequence Spread Spectrum (HR/DSSS) e' l'evoluzione della
     389"semplice" DSSS che consente di portare la bandwith massima a 5.5 o 11 Mbps
     390(nell'802.11g si arrivera'  anche a circa 54 Mbps).
     391Gli header e preamboli PLCP sono gli stessi della DSSS, in questo modo e'
     392possibile la coesistenza di entrambe le modulazioni in una stessa connessione.
     393[[BR]]
    394394
    395395Le sostanziali differenze con il suo predecessore sono molteplici:
     
    397397    in gruppi da 8 formando cosi chiavi a codice complementario
    398398    (8-chip complementary code keying, aka CCK) che vengono spediti alla stessa
    399     frequenza del DSSS (11 MHz), ottimizzando cosi l'uso della banda del canale.
    400  2. sono state aggiunte delle funzionalita' opzionali per aumentare il
    401 bandwith,
    402     che sono utilizzabili solo se l'hardware e' abbastanza recente da
    403 supportarle. [[BR]]
    404     Le funzionalità sono le seguenti:
     399    frequenza del DSSS (11 MHz), ottimizzando cosi l'uso della banda del canale;
     400 2. sono state aggiunte delle funzionalita'  opzionali per aumentare il
     401    bandwith, che sono utilizzabili solo se l'hardware e' abbastanza recente
     402    da supportarle. [[BR]]
     403    Le funzionalita' sono le seguenti:
    405404    * sostituzione del CCK con il packet binary convolutional coding
    406 (HR/DSSS/PBCC);
    407     * HR/DSSS/short, ovvero possibilita' di ridurre il preambolo PLCP
     405      (HR/DSSS/PBCC);
     406    * HR/DSSS/short, ovvero possibilita'  di ridurre il preambolo PLCP
    408407      per aumentare significantemente il transfer data rate, limitando cosi
    409 pero' la
    410       possibilita' di coesistenza con il DSSS a sole alcune particolari
    411 circostanze;
     408      pero' la possibilita'  di coesistenza con il DSSS a sole alcune
     409      particolari circostanze;
    412410    * inserimento del Channel Agility, ovvero una particolare implementazione
    413411      che consente di superare diversi problemi dovuti all'assegnamento di un
    414 canale statico,
    415       senza dover aggiungere alla totale implementazione il costo di questa
    416 funzionalita'.[[BR]]
     412      canale statico, senza dover aggiungere alla totale implementazione il
     413      costo di questa funzionalita' .[[BR]]
    417414
    418415Purtroppo l'IEEE non ha concesso le specifiche inerenti all'evoluzione della
    419 modulazione nella versione
    420 802.11g, quindi non ci e' concesso sapere i miglioramenti che hanno portato poi
    421 il protocollo a
    422 supportare velocita' di circa 54 Mbps.[[BR]]
     416modulazione nella versione 802.11g, quindi non ci e' concesso sapere i
     417miglioramenti che hanno portato poi il protocollo a supportare velocita'  di
     418circa 54 Mbps.[[BR]]
    423419Parlandone con il Dott. Bononi, si e' arrivati ad ipotizzare che lo sviluppo
    424 sempre + veloce della
    425 tecnologia abbia portato ad un'alta precisione e sensibilita' di
    426 ricezione/trasmissione che quindi,
    427 ha portato ad un'aumento dei simboli (in modulazione un simbolo e' un
    428 particolare segnale che identifica
    429 una serie di bit) e ad una diminuzione dei bit adibiti al controllo di errori,
    430 cosi aumentandone di molto
    431 il bit rate potenziale.[[BR]]
     420sempre + veloce della tecnologia abbia portato ad un'alta precisione e
     421sensibilita'  di ricezione/trasmissione che quindi, ha portato ad un'aumento dei
     422simboli (in modulazione un simbolo e' un particolare segnale che identifica una
     423serie di bit) e ad una diminuzione dei bit adibiti al controllo di errori, cosi
     424aumentandone di molto il bit rate potenziale.[[BR]]
    432425Rimaniamo comunque nella ricerca di specifiche piu' recentemente rilasciate,
    433 lasciando quest'ultima parte
    434 di paragrafo come "prossima ad essere aggiornata".
     426lasciando quest'ultima parte di paragrafo come "prossima ad essere aggiornata".
    435427
    436428== Management del sottolivello MAC ==
    437429
    438 Uno degli aspetti più importanti, per quanto riguarda la connessione di più
    439 hosts ad una rete wireless, Ú sicuramente il meccanismo di sincronizzazione, il
    440 quale deve esistere per permettere la comunicazione all'interno della rete.
    441 Per permettere ciò ogni nodo ha al suo interno un TSF (Timing Synchronization
    442 Function) che funge da orologio per tutti i nodi.
    443 La sincronizzazione Ú presente sia nei BSS che nei IBSS e avviene in maniere
    444 differenti.
    445 
    446 In un BSS la sincronizzazione viene mantenuta dall'AP, che inizializza il
    447 suo TSF interno e invia beacons a tutti i nodi della rete con all'interno il
    448 proprio timer. Ogni nodo che riceve il beacon deve sincronizzare il proprio
    449 timer con il valore del timestamp ricevuto.
    450 
    451 In un IBSS invece ogni nodo partecipa allla sincronizzazione mediante
    452 l'utilizzo di un algoritmo distribuito; in pratica ogni nodo invia dei beacon
    453 ad ogni nodo della rete e riceve beacons da tutti gli altri.
    454 Decide poi autonomamente se settare il proprio timer col valore ricevuto o se
    455 scartare il beacon perchÚ il valore del timetamp all'interno Ú più vecchio
    456 del
    457 valore del proprio timer.
    458 
    459 Il mantenimento della sincronizzazione Ú dato da un algoritmo:
    460 ogni nodo mantiene un timer TSF in modulo 2^64^ microsecondi e si aspetta di
    461 ricevere un beacon ad intervalli regolari (definiti come ''aBeaconPeriod'', che
    462 Ãš
    463 un parametro del nodo).
    464 Un nodo che vuole inviare un beacon deve settare il valore del timestamp, che
    465 Ãš dato dalla somma tra il valore del TSF al tempo della trasmissione del primo
    466 bit del timestamp su PHY e dal tempo di ritardo per la trasmissione (passaggio
    467 dall'interfaccia MAC-PHY a PHY).
     430Uno degli aspetti piu' importanti, per quanto riguarda la connessione di piu'
     431hosts ad una rete wireless, e' sicuramente il meccanismo di sincronizzazione, il
     432quale deve esistere per permettere la comunicazione all'interno della rete. Per
     433permettere cio' ogni nodo ha al suo interno un TSF (Timing Synchronization
     434Function) che funge da orologio per tutti i nodi. La sincronizzazione e'
     435presente sia nei BSS che nei IBSS e avviene in maniere differenti.
     436
     437In un BSS la sincronizzazione viene mantenuta dall'AP, che inizializza il suo
     438TSF interno e invia beacons a tutti i nodi della rete con all'interno il proprio
     439timer. Ogni nodo che riceve il beacon deve sincronizzare il proprio timer con il
     440valore del timestamp ricevuto.
     441
     442In un IBSS invece ogni nodo partecipa allla sincronizzazione mediante l'utilizzo
     443di un algoritmo distribuito; in pratica ogni nodo invia dei beacon ad ogni nodo
     444della rete e riceve beacons da tutti gli altri. Decide poi autonomamente se
     445settare il proprio timer col valore ricevuto o se scartare il beacon perche' il
     446valore del timetamp all'interno e' piu' vecchio del valore del proprio timer.
     447
     448Il mantenimento della sincronizzazione e' dato da un algoritmo: ogni nodo
     449mantiene un timer TSF in modulo 2^64^ microsecondi e si aspetta di ricevere un
     450beacon ad intervalli regolari (definiti come ''aBeaconPeriod'', che e' un
     451parametro del nodo). Un nodo che vuole inviare un beacon deve settare il valore
     452del timestamp, che e' dato dalla somma tra il valore del TSF al tempo della
     453trasmissione del primo bit del timestamp su PHY e dal tempo di ritardo per la
     454trasmissione (passaggio dall'interfaccia MAC-PHY a PHY).
    468455
    469456=== Acquisizione della sincronizzazione mediante scansione ===
    470457
    471 Ogni stazione (o nodo) può operare attraverso due modalità di scansione:
    472 la modalità passiva o la modalità attiva.
    473 In modalità di scansione passiva la stazione sta in ascolto su tutti i canali
    474 e aspetta di ricevere dei beacon in cui il valore SSID sia uguale al valore
    475 SSID dell'ESS di cui la stazione vuole entrare a fare parte. Una volta ritornati
    476 questi frames, la stazione (attraverso opportune funzioni) entra a far parte di
    477 un BSS, acquisendo tutti i parametri del BSS (timer di sincronizzazione,
    478 parametri di PHY, BSSID, parametri di trasmissione dei beacon...).
    479 La modalità di scansione attiva invece si basa sul concetto di Probe Request e
    480 Probe Response: praticamente una stazione invia un Probe Request e si mette in
    481 ascolto di un Probe Response; quando il Probe Response conterrà il SSID cercato
    482 dalla stazione allora avrà inizio la sincronizzazione e la stazione entrerà a
    483 far parte di un BSS. L'algoritmo di scansione Ú al cap 11.1.3.2.2 (pag 127 di
    484 ieee 802.11-1999).
     458Ogni stazione (o nodo) puo' operare attraverso due modalita' di scansione: la
     459modalita' passiva o la modalita' attiva. In modalita' di scansione passiva la
     460stazione sta in ascolto su tutti i canali e aspetta di ricevere dei beacon in
     461cui il valore SSID sia uguale al valore SSID dell'ESS di cui la stazione vuole
     462entrare a fare parte. Una volta ritornati questi frames, la stazione (attraverso
     463opportune funzioni) entra a far parte di un BSS, acquisendo tutti i parametri
     464del BSS (timer di sincronizzazione, parametri di PHY, BSSID, parametri di
     465trasmissione dei beacon...). La modalita' di scansione attiva invece si basa sul
     466concetto di Probe Request e Probe Response: praticamente una stazione invia un
     467Probe Request e si mette in ascolto di un Probe Response; quando il Probe
     468Response conterra' il SSID cercato dalla stazione allora avra' inizio la
     469sincronizzazione e la stazione entrera' a far parte di un BSS. L'algoritmo di
     470scansione e' al cap 11.1.3.2.2 (pag 127 di IEEE 802.11-1999).
    485471
    486472=== Associazione e riassociazione di una stazione con un AP ===
    487473
    488474L'associazione tra una stazione e un AP avviene in due fasi:
    489  * autenticazione 
     475 * autenticazione
    490476 * associazione
    491477Una volta effettuata l'autenticazione su un AP, la stazione invia una richiesta
    492478di associazione all'AP e attende la risposta;in caso di risposta affermativa
    493 la stazione sarà fisicamente associata all'AP e potrà avviare la
     479la stazione sara' fisicamente associata all'AP e potra' avviare la
    494480comunicazione,
    495 in caso contrario la stazione non si potrà associare.
    496 Analogamente quando una stazione vorrà riassociarsi ad un AP invierà allo
     481in caso contrario la stazione non si potra' associare.
     482Analogamente quando una stazione vorra' riassociarsi ad un AP inviera' allo
    497483stesso
    498 una richiesta di riassociazione e attederà la risposta dall'AP.
     484una richiesta di riassociazione e attedera' la risposta dall'AP.
    499485Naturalmente quando un AP riceve una richiesta di associazione controlla che la
    500 stazione che ha inviato tale richiesta sia autenticata su sÚ stesso; in caso
    501 affermativo l'AP invierà una risposta (positiva o negativa) alla stazione.
     486stazione che ha inviato tale richiesta sia autenticata su se' stesso; in caso
     487affermativo l'AP inviera' una risposta (positiva o negativa) alla stazione.
    502488
    503489=== Power Management ===
     
    506492preventivamente l'AP al quale sono associate, accondando la richiesta di cambio
    507493al campo Frame Control del frame inviato all'AP.
    508 L'AP deve tener traccia di tutte le stazione che operano in modalità power save
     494L'AP deve tener traccia di tutte le stazione che operano in modalita' power
     495save
    509496in quanto la trasmisisone dei dati a tali stazioni deve avvenire in modo
    510 differente rispetto alle stazioni che non operano in tale modalità ;infatti un
    511 AP non può trasmettere i dati in maniera arbitraria alle stazioni in modalitÃ
     497differente rispetto alle stazioni che non operano in tale modalita' ;infatti un
     498AP non puo' trasmettere i dati in maniera arbitraria alle stazioni in modalita'
    512499power save ma deve bufferizzarli e trasmetterli in periodi precisi.
    513500Tutte le stazioni che ricevono dati bufferizzati dall'AP sono riunite nel
     
    515502generati dall'AP stesso.Ogni stazione per sapere se i dati ricevuti sono stati
    516503bufferizzati per lei deve ricevere e interpretare il TIM associato al beacon (
    517 per fare ciò ogni stazione si mette peridicamente in ascolto di beacon,e quindi
     504per fare cio' ogni stazione si mette peridicamente in ascolto di beacon,e quindi
    518505in ascolto per ricevere eventuali TIM,secondo opportune funzioni).
    519 In un BSS ogni stazione (in modalità power save) per sapere se dei dati sono
     506In un BSS ogni stazione (in modalita' power save) per sapere se dei dati sono
    520507stati correttamente bufferizzati invia un PS-Poll frame all'AP, il quale
    521 risponderà o inviando direttamente i dati bufferizzati o acknowleggiando la
     508rispondera' o inviando direttamente i dati bufferizzati o acknowleggiando la
    522509richiesta e inviando i dati successivamente.
    523510
    524 Ogni stazione può lavorare in due modalità :
     511Ogni stazione puo' lavorare in due modalita':
    525512 * awake
    526513 * doze
    527514
    528 Nella modalità awake la stazione lavora a piena potenza e può ricevere frames
    529 in qualsiasi momento;Ú detta anche modalità attiva.
    530 Nella modalità doze la stazione lavora in power save e riceve frames attraverso
    531 il meccanismo sopra descritto.
    532 Naturalmente le stazioni possono passare da una modalità all'altra,ma possono
    533 farlo solo alla fine di uno scambio di dati informando l'AP del cambio.
     515Nella modalita' awake la stazione lavora a piena potenza e puo' ricevere frames
     516in qualsiasi momento; e' detta anche modalita' attiva. Nella modalita' doze la
     517stazione lavora in power save e riceve frames attraverso il meccanismo sopra
     518descritto. Naturalmente le stazioni possono passare da una modalita' all'altra,
     519ma possono farlo solo alla fine di uno scambio di dati informando l'AP del
     520cambio.
    534521
    535522=== Power Management in un IBSS ===
    536523
    537 In un IBSS le stazioni devono essere tutte sincronizzate al fine di poter
    538 trasmettere i dati;quando i dati sono bufferizzati e pronti per essere spediti
    539 ad una stazione in power save ci deve essere un annuncio tra tutte le stazioni
    540 affinchÚ l'operazione si possa effettuare.
    541 Tale annuncio Ú dato tramite l'invio di un ATIM (Ad hoc TIM) quando tutte le
    542 stazioni dell' IBSS sono in modalità awake.
    543 Quando i dati devono essere transmessi la stazione trasmittente invia prima
    544 un frame ATIM nel ATIM Window (che Ú un periodo nel quale vengono inviati solo
    545 frame ATIM o beacon) e aspetta l'ack di quel frame;se ciò non avviene la
    546 stazione attiva la procedura di ritrassmisione dell'ATIM.
    547 Una stazione che acknowleggia l'ATIM durante l'ATIM Window deve rimanere nella
    548 modalità awake e aspettare l'annuncio.Una volta che avviane l'ack ed Ú passato
    549 l'ATIM Window,i dati possono essere trasmessi dalla stazione in modalità
    550 power save.
    551 
     524In un IBSS le stazioni devono essere tutte sincronizzate al fine di poter
     525trasmettere i dati; quando i dati sono bufferizzati e pronti per essere spediti
     526ad una stazione in power save ci deve essere un annuncio tra tutte le stazioni
     527affinche' l'operazione si possa effettuare. Tale annuncio e' dato tramite
     528l'invio di un ATIM (Ad hoc TIM) quando tutte le stazioni dell' IBSS sono in
     529modalita' awake. Quando i dati devono essere transmessi la stazione trasmittente
     530invia prima un frame ATIM nel ATIM Window (che e' un periodo nel quale vengono
     531inviati solo frame ATIM o beacon) e aspetta l'ack di quel frame; se cio' non
     532avviene la stazione attiva la procedura di ritrassmisione dell'ATIM. Una
     533stazione che acknowleggia l'ATIM durante l'ATIM Window deve rimanere nella
     534modalita' awake e aspettare l'annuncio.Una volta che avviane l'ack ed e' passato
     535l'ATIM Window,i dati possono essere trasmessi dalla stazione in modalita' power
     536save.
    552537
    553538== Appunti vari ==
    554539,,20061014-1305 Roma,,[[BR]]
    555540Ho letto qualcosa su come si instaura una connessione tra una client e un AP: vi
    556 Ãš praticamente una serie di richieste tra il client e l'AP affinchÚ la
    557 connessione venga instaurata; nota importante Ú che il client prima di
     541e' praticamente una serie di richieste tra il client e l'AP affinche' la
     542connessione venga instaurata; nota importante e' che il client prima di
    558543collegarsi all'AP deve autenticarsi sull'AP stesso. Una volta fatto cio' AP
    559544manda un pacchetto che indica l'avvenuta autenticazione e l'inizio di una nuova
    560 connessione. Naturalmente vi sono già delle primitive implementate atte a
     545connessione. Naturalmente vi sono gia' delle primitive implementate atte a
    561546svolgere questo tipo di compito (sia per quanto riguarda l'instaurazione che
    562547per le reinstaurazione).
    563548Inoltre i vari client devono essere tutti sincronizzati per paralare tra loro
    564 (es che fece anche il seminarista se non ricordo male) e per fare ciò si
     549(es che fece anche il seminarista se non ricordo male) e per fare cio' si
    565550inviano delle simpatiche "pancette" con dentro il proprio timestamp; a monte
    566 comunque c'Ú l'AP che controlla tutta la sincronizzazione ed egli stesso manda
    567 pancette ai client conessi a lui; quindi vi Ú una doppia sincronizzazione: una
     551comunque c'e' l'AP che controlla tutta la sincronizzazione ed egli stesso manda
     552pancette ai client conessi a lui; quindi vi e' una doppia sincronizzazione: una
    568553tra AP e client e una tra client e client (cap 11 del documento ieee 802.11).