Changes between Version 12 and Version 13 of Protocollo
- Timestamp:
- Nov 9, 2006, 10:42:05 AM (18 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Protocollo
v12 v13 16 16 L'accesso al mezzo di trasmissione comune e' regolato da una strategia che e' 17 17 detta CSMA/CA (i.e. ''carrier sense multiple access with collision avoidance'') 18 che intende minimizzare le probabilita' di collisione.19 20 La funzionalita' di18 che intende minimizzare le probabilita' di collisione. 19 20 La funzionalita' di 21 21 [wiki:Protocollo#CoordinamentodistribuitoDCF Coordinamento distribuito] 22 22 (Distributed Coordination Function o, piu' brevemente, DCF) si fa carico della 23 23 cosa ed e' pertanto componente necessario di ogni stazione, sia che essa operi 24 all'interno di reti configurate in modalita' ''infrastracture'' che ''ad-hoc''.24 all'interno di reti configurate in modalita' ''infrastracture'' che ''ad-hoc''. 25 25 E' inoltre presente un metodo di accesso opzionale, detto 26 26 [wiki:Protocollo#CoordinamentocentralizzatoPCF coordinamento centralizzato] … … 29 29 operare in maniera concorrente all'interno di una BSS, i due metodi di accesso 30 30 si alterneranno, con un periodo in cui l'accesso e' prestabilito e il mezzo 31 libero dalla contesa ( Contention-Free Periodo CFP) seguito da un periodo di32 contesa ( Contention Periodo CP).31 libero dalla contesa (''Contention-Free Period'' o CFP) seguito da un periodo di 32 contesa (''Contention Period'' o CP). 33 33 34 34 ==== Coordinamento distribuito (DCF) ==== … … 39 39 comunicazione CSMA/CA e' la distribuzione di informazioni di prenotazione del 40 40 mezzo 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 41 destinazione deve cominciare con lo scambio di due frame RTS (''request to 42 send'') e CTS (''clear to send'') dalla seguente semantica: "richiesta di invio" 43 e "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 45 l'invio del frame (o del frammento) e per la ricezione dell'ACK. Le STA esterne 46 alla comunicazione imparano, tramite questo meccanismo, che il canale e' 47 occupato per tale lasso di 47 48 tempo evitando le collisioni. La doppia presenza delle informazioni in questione 48 49 nei due versi della comunicazione (sia nei frame RTS che in CTS, ad esempio) … … 56 57 ===== ''Carrier-sense'' virtuale e il NAV ===== 57 58 ,,20061027-0416 SoujaK,,[[BR]] 58 La funzionalita' permette di capire lo stato del mezzo trasmissivo (occupato o59 La funzionalita' permette di capire lo stato del mezzo trasmissivo (occupato o 59 60 libero) ed e' presente non solo nel sottostrato PHY, come e' ovvio, ma anche in 60 61 MAC. Qui in MAC il meccanismo e' da considerarsi virtuale, nel senso che 61 62 interroga il Network Allocation Vector. Ogni STA ha il compito di tenere traccia 62 63 nel NAV delle "prenotazioni" effettuate da altri che indicano la futura 63 indisponibilita' del canale e, se necessario, rimandare i tentativi di64 indisponibilita' del canale e, se necessario, rimandare i tentativi di 64 65 trasmissione. Il calcolo di questa durata non e' altro che la somma dei tempi 65 66 necessari alle fasi della comunicazione: la trasmissione dei vari frame di dati, … … 67 68 [wiki:Studio#InterframespaceIFSspaceIFS IFS]. Le citate informazioni necessarie 68 69 alle 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 70 durata di invio di un ACK o i tempi ''inter-frame'') oppure sono comunicate 71 dalle stazioni interne alla comunicazione. Il campo Duration/ID e' quindi 72 presente sia nella coppia iniziale < RTS e CTS > che nelle successive coppie < 73 PDU e ACK > diverse dalla prima; esso contiene la distanza temporale al termine 74 della 73 75 comunicazione, i.e. il primo acknoledgment. 74 76 … … 82 84 riceva altro che non sia un ACK. Si noti che la mancata ricezione dell'ACK puo' 83 85 indistinguibilmente indicare anche un errore durante la trasmissione dello 84 stesso acknoledgment.86 stesso ''acknoledgment''. 85 87 86 88 ===== Interframe space (IFS) ===== … … 90 92 alle stazioni. Queste ultime, attraverso il meccanismo ''carrier-sense'', 91 93 attendono infatti di poter considerare libero il mezzo trasmissivo a seconda 92 dei periodi di inattivita' rilevati.94 dei periodi di inattivita' rilevati. 93 95 94 96 A seconda della situazione viene usato uno dei seguenti 4 periodi: 95 97 1. SIFS (short interframe space): 96 98 usato per frame ACK, CTS, per frame (eccetto il primo) di una 97 trasmissione frammentata, per le risposte al pollingdel PCF;99 trasmissione frammentata, per le risposte al ''polling'' del PCF; 98 100 2. PIFS (PCF interframe space): 99 101 usato solo dalle STA che, sotto un PCF, tentano di avere accesso al mezzo … … 108 110 ===== Random backoff time ===== 109 111 ,,20061025-1233 SoujaK,,[[BR]] 110 In seguito al rilevamento di inattivita' del mezzo trasmissivo (secondo le112 In seguito al rilevamento di inattivita' del mezzo trasmissivo (secondo le 111 113 politiche appena descritte), ogni STA e' tenuta a ritardare ulteriormente la 112 114 propria 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 che115 sia gia' stato impostato il relativo timer. L'intento e' quello di evitare che 114 116 tutte le STA in attesa collidano nel momento in cui contemporaneamente 115 117 effettuino tentativi di trasmissione.[[BR]] … … 120 122 qui.'',,[[BR]] 121 123 {{{ 122 Il periodo di inattivita' che le STA si autoimpongono e' detto CW (contention123 window ) e viene ripetuto ogni volta che si presenti una collisione. Viene124 Il periodo di inattivita' che le STA si autoimpongono e' detto CW (''contention 125 window'') e viene ripetuto ogni volta che si presenti una collisione. Viene 124 126 inoltre incrementato a fronte di ogni collisione con andamento esponenziale (per 125 127 scongiurare il pericolo di fino al raggiungimento di un valore massimo 126 128 prestabilito. 127 129 }}} 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'. 130 Il 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 132 in un intero pseudocasuale le cui variazioni devono osclillare in maniera 133 uniforme fra 0 e CW, un altro parametro definito come intero compreso 134 nell'intervallo di estremi `aCWmin` e `aCWmax`(definiti in PHY). Ogni STA 135 mantiene inoltre una coppia di contatori dei tentativi di trasmissione (SSRC e 136 SLRC) non andati a buon fine: questi vengono inizializzati a 0 e vengono 137 incrementati con l'andamento andamento esponenziale del 2 ogni volta che la 138 comunicazione fallisce. Supponendo CWmin e CWmax settati rispettivamente a 7 e a 139 255, un esempio di incremento esponenziale e' dato dalla sequenza 7, 15, 31, 63, 140 127, 255, 255. Un cosi' alto andamento di crescita del periodo di backoff rende 141 piu' stabile il protocollo, aumentando la sua capacita' di adeguarsi 142 repentinamente a condizioni di alto carico per poi saperle sopportare con 143 maggiore facilita' . 141 144 [[BR]] 142 145 I contatori prima citati vengono poi resettati (azzerati) al verificarsi di … … 148 151 ,,20061027-0536 SoujaK,,[[BR]] 149 152 Dal momento che le procedure di conferma di trasmissione e di ritrasmissione 150 sono incorporati all'interno del protocollo, esiste la possibilita' che un153 sono incorporati all'interno del protocollo, esiste la possibilita' che un 151 154 determinato frame venga ricevuto piu' di una volta. La stazione ricevente deve 152 155 rendersi conto della duplicazione e scartare i doppioni. E' stato pertanto … … 165 168 I due livelli (data link e fisico) su cui lo standard e' definito possiedono 166 169 un insieme di operazioni primitive proprie, ma le loro definizioni sono lungi 167 dal poter essere considerate vere e proprie interfacce: si tratta delle " MAC168 layer management entities " (MLME) e delle "PHY layer management entities"170 dal poter essere considerate vere e proprie interfacce: si tratta delle "''MAC 171 layer management entities''" (MLME) e delle "''PHY layer management entities''" 169 172 (PLME). 170 173 E' assai importante notare, specialmente ai fini dello studio in oggetto, che lo 171 174 strato MAC non oscura il sottostante PHY, ma permette alla "station management 172 entity" (SME) di interagire direttamente con esso. Le varie entita' hanno la173 possibilita' di comunicare fra loro secondo le specifiche dello standard,174 attraverso i SAP ( service access point). Tale concetto intende aggregare175 l'insieme di chiamate che una determinata entita' espone alle altre per175 entity" (SME) di interagire direttamente con esso. Le varie entita' hanno la 176 possibilita' di comunicare fra loro secondo le specifiche dello standard, 177 attraverso i SAP (''service access point''). Tale concetto intende aggregare 178 l'insieme di chiamate che una determinata entita' espone alle altre per 176 179 realizzare forme di comunicazione o invocazione. 177 180 … … 230 233 ad-hoc) 231 234 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.'',, 237 239 238 240 === Interfaccia di PHY: PLME SAP === … … 247 249 ad una CHARACTERISTICS.request. Fornisce le caratteristiche operative 248 250 della PHY entity; 249 * DSSSTESTMODE.request: utile per entrare in modalita' test in una PHY DSSS251 * DSSSTESTMODE.request: utile per entrare in modalita' test in una PHY DSSS 250 252 entity; 251 253 * DSSSTESTOUTPUT.request: opzionale, testa i segnali di output di una PHY … … 254 256 255 257 === Interfaccia di PHY: PHY SAP === 256 Come gia' accennato in precedenza, le funzioni proprie dello strato PHY sono258 Come gia' accennato in precedenza, le funzioni proprie dello strato PHY sono 257 259 separate nei due livelli distinti PMD e PLCP; quest'ultimo intende fornire un 258 260 meccanismo indipendente dalla PHY entity per trasferire MPDU fra le STA. … … 266 268 (e.g. PHY-TXStart.{request,...}). 267 269 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' 271 utile nella comprensione delle specifiche del livello PHY (ad esempio DSSS).'',, 271 272 272 273 == Specifiche per il livello fisico == … … 275 276 FHSS (Frequency Hopping Spread Spectrum) e' una specifica del livello PHY, 276 277 presente nella prima versione dello standard. L'obiettivo primo da perseguire, 277 come gia' chiarito nei paragrafi precedenti, e' l'indipendenza del livello MAC278 come gia' chiarito nei paragrafi precedenti, e' l'indipendenza del livello MAC 278 279 dal livello PHY. E' per questo motivo che, nel documento, vengono ratificate 279 280 adeguate funzioni di convergenza al mezzo trasmissivo oltre alle usuali funzioni … … 290 291 * 2 Mbit/s: utilizzando la modulazione 4GFSK. L'header PLCP viene comunque 291 292 trasmesso ad 1 Mbit/s. [[BR]] 292 E' importante sottolineare come la sequenza di salto dei canali sia in realta' 293 E' importante sottolineare come la sequenza di salto dei canali sia in realta' 293 294 dettata dal livello MAC: ogni beacon e ogni frame ''Probe Response'' contengono 294 295 le informazioni necessarie per la sincronizzazione e per la determinazione del … … 314 315 eliminare interferenze tra gli stessi (sono ortogonali l'uno all'altro). 315 316 Rimane, comunque, uno standard poco utilizzato sia a causa delle sue 316 incompatibilita' (802.11b e 802.11g) sia per le caratteristiche operative (in317 incompatibilita' (802.11b e 802.11g) sia per le caratteristiche operative (in 317 318 molti paesi la banda dei 5Ghz e' tuttora riservata). 318 319 319 320 320 === DSSS === 321 321 ,,20061021-???? gnappo,, [[BR]] 322 322 DSSS (Direct Sequence Spread Spectrum) e' un'altra specifica del livello fisico 323 che permette di raggiungere in linea teorica un capacita' trasmissiva pari a323 che permette di raggiungere in linea teorica un capacita' trasmissiva pari a 324 324 11Mbit/s (802.11b). Attraverso opportune tecniche e' possibile fornire bitrate 325 inferiori (in tal modo si ottiene compatibilita' all'indietro).325 inferiori (in tal modo si ottiene compatibilita' all'indietro). 326 326 Come descritto precedentemente, anche in questa occasione avremo opportune 327 327 funzioni di convergenza atte a garantire l'indipendenza di MAC rispetto alla … … 331 331 l'header del frame sono trasmessi, diversamente dal resto, ad un 1Mbit/s per 332 332 assicurarsi che l'interlocutore capisca effettivamente questa parte essenziale 333 della comunicazione. L'effettivo invio del payload (MPDU) potra' essere333 della comunicazione. L'effettivo invio del payload (MPDU) potra' essere 334 334 compiuto con modulazioni diverse opportunamente specificate nell'header (campo 335 335 SIGNAL). … … 344 344 TX_ANTENNA, TXPWR_LEVEL). Una volta terminato l'invio del preambolo, attraverso 345 345 una 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 di346 PHY. Al termine della trasmissione l'entita' fisica ritornera' allo stato di 347 347 ricevitore. 348 348 349 349 ==== Algoritmo di ricezione ==== 350 350 ,,20061021-???? gnappo,, [[BR]] 351 Per quanto riguarda la ricezione e' necessario che l'entita' fisica sia nello351 Per quanto riguarda la ricezione e' necessario che l'entita' fisica sia nello 352 352 stato di ricevitore (quindi PHY-TXSTART disabilitato). Attraverso la PLME e' 353 353 possibile scegliere il canale su cui ascoltare ed il metodo di CCA (Clear 354 354 Channel Assessment). Altri parametri (come per la trasmissione) sono passati 355 355 attraverso PHY-SAP. 356 Non appena il dispositivo ha rilevato attivita' sul canale sul quale e' in356 Non appena il dispositivo ha rilevato attivita' sul canale sul quale e' in 357 357 ascolto, PHY invoca la primitiva PHY-CCA.indicate con la quale informa MAC che 358 358 il canale e' BUSY. Dopodiche' PHY va alla ricerca di un delimitatore di inizio … … 363 363 campo SERVICE). I dati successivamente ricevuti saranno assemblati e 364 364 presentati a MAC attraverso la primitiva PHY-DATA.indicate(DATA). Al termine 365 dell'intera ricezione lo stato del ricevitore ritornera' IDLE e la primitiva366 PHY-RXEND.indicate(NoError) sara' sollevata.365 dell'intera ricezione lo stato del ricevitore ritornera' IDLE e la primitiva 366 PHY-RXEND.indicate(NoError) sara' sollevata. 367 367 Se la ricezione non andasse a buon fine, PHY informerebbe MAC attraverso la 368 368 primitiva PHY-RXEND.indicate della causa dell'errore (e.g. !CarrierLost). … … 372 372 Il segnale da trasmettere viene convertito da flusso di bit in flusso di 373 373 simboli, dove ogni simbolo rappresenta una stringa di bit (la cui lunghezza 374 dipende dalle particolari tecniche di codifica). Tale flusso, verra' poi374 dipende dalle particolari tecniche di codifica). Tale flusso, verra' poi 375 375 combinato con una sequenza di bit ''Pseudo-noise'' detta ''chip sequence'', 376 376 con 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 di377 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 379 379 ricostruire il segnale originale. [[BR]] 380 380 La banda a 2.4 GHz e' suddivisa in 14 canali ciascuno dei quali occupa 22 MHz. … … 386 386 === HR/DSSS (802.11b/802.11g) === 387 387 ,,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]]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 o 11 Mbps 390 (nell'802.11g si arrivera' anche a circa 54 Mbps). 391 Gli header e preamboli PLCP sono gli stessi della DSSS, in questo modo e' 392 possibile la coesistenza di entrambe le modulazioni in una stessa connessione. 393 [[BR]] 394 394 395 395 Le sostanziali differenze con il suo predecessore sono molteplici: … … 397 397 in gruppi da 8 formando cosi chiavi a codice complementario 398 398 (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: 405 404 * sostituzione del CCK con il packet binary convolutional coding 406 (HR/DSSS/PBCC);407 * HR/DSSS/short, ovvero possibilita' di ridurre il preambolo PLCP405 (HR/DSSS/PBCC); 406 * HR/DSSS/short, ovvero possibilita' di ridurre il preambolo PLCP 408 407 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; 412 410 * inserimento del Channel Agility, ovvero una particolare implementazione 413 411 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]] 417 414 418 415 Purtroppo 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]] 416 modulazione nella versione 802.11g, quindi non ci e' concesso sapere i 417 miglioramenti che hanno portato poi il protocollo a supportare velocita' di 418 circa 54 Mbps.[[BR]] 423 419 Parlandone 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]] 420 sempre + veloce della tecnologia abbia portato ad un'alta precisione e 421 sensibilita' di ricezione/trasmissione che quindi, ha portato ad un'aumento dei 422 simboli (in modulazione un simbolo e' un particolare segnale che identifica una 423 serie di bit) e ad una diminuzione dei bit adibiti al controllo di errori, cosi 424 aumentandone di molto il bit rate potenziale.[[BR]] 432 425 Rimaniamo comunque nella ricerca di specifiche piu' recentemente rilasciate, 433 lasciando quest'ultima parte 434 di paragrafo come "prossima ad essere aggiornata". 426 lasciando quest'ultima parte di paragrafo come "prossima ad essere aggiornata". 435 427 436 428 == Management del sottolivello MAC == 437 429 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). 430 Uno degli aspetti piu' importanti, per quanto riguarda la connessione di piu' 431 hosts ad una rete wireless, e' sicuramente il meccanismo di sincronizzazione, il 432 quale deve esistere per permettere la comunicazione all'interno della rete. Per 433 permettere cio' ogni nodo ha al suo interno un TSF (Timing Synchronization 434 Function) che funge da orologio per tutti i nodi. La sincronizzazione e' 435 presente sia nei BSS che nei IBSS e avviene in maniere differenti. 436 437 In un BSS la sincronizzazione viene mantenuta dall'AP, che inizializza il suo 438 TSF interno e invia beacons a tutti i nodi della rete con all'interno il proprio 439 timer. Ogni nodo che riceve il beacon deve sincronizzare il proprio timer con il 440 valore del timestamp ricevuto. 441 442 In un IBSS invece ogni nodo partecipa allla sincronizzazione mediante l'utilizzo 443 di un algoritmo distribuito; in pratica ogni nodo invia dei beacon ad ogni nodo 444 della rete e riceve beacons da tutti gli altri. Decide poi autonomamente se 445 settare il proprio timer col valore ricevuto o se scartare il beacon perche' il 446 valore del timetamp all'interno e' piu' vecchio del valore del proprio timer. 447 448 Il mantenimento della sincronizzazione e' dato da un algoritmo: ogni nodo 449 mantiene un timer TSF in modulo 2^64^ microsecondi e si aspetta di ricevere un 450 beacon ad intervalli regolari (definiti come ''aBeaconPeriod'', che e' un 451 parametro del nodo). Un nodo che vuole inviare un beacon deve settare il valore 452 del timestamp, che e' dato dalla somma tra il valore del TSF al tempo della 453 trasmissione del primo bit del timestamp su PHY e dal tempo di ritardo per la 454 trasmissione (passaggio dall'interfaccia MAC-PHY a PHY). 468 455 469 456 === Acquisizione della sincronizzazione mediante scansione === 470 457 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). 458 Ogni stazione (o nodo) puo' operare attraverso due modalita' di scansione: la 459 modalita' passiva o la modalita' attiva. In modalita' di scansione passiva la 460 stazione sta in ascolto su tutti i canali e aspetta di ricevere dei beacon in 461 cui il valore SSID sia uguale al valore SSID dell'ESS di cui la stazione vuole 462 entrare a fare parte. Una volta ritornati questi frames, la stazione (attraverso 463 opportune funzioni) entra a far parte di un BSS, acquisendo tutti i parametri 464 del BSS (timer di sincronizzazione, parametri di PHY, BSSID, parametri di 465 trasmissione dei beacon...). La modalita' di scansione attiva invece si basa sul 466 concetto di Probe Request e Probe Response: praticamente una stazione invia un 467 Probe Request e si mette in ascolto di un Probe Response; quando il Probe 468 Response conterra' il SSID cercato dalla stazione allora avra' inizio la 469 sincronizzazione e la stazione entrera' a far parte di un BSS. L'algoritmo di 470 scansione e' al cap 11.1.3.2.2 (pag 127 di IEEE 802.11-1999). 485 471 486 472 === Associazione e riassociazione di una stazione con un AP === 487 473 488 474 L'associazione tra una stazione e un AP avviene in due fasi: 489 * autenticazione 475 * autenticazione 490 476 * associazione 491 477 Una volta effettuata l'autenticazione su un AP, la stazione invia una richiesta 492 478 di associazione all'AP e attende la risposta;in caso di risposta affermativa 493 la stazione sar à fisicamente associata all'AP e potrÃavviare la479 la stazione sara' fisicamente associata all'AP e potra' avviare la 494 480 comunicazione, 495 in caso contrario la stazione non si potr Ãassociare.496 Analogamente quando una stazione vorr à riassociarsi ad un AP invierÃallo481 in caso contrario la stazione non si potra' associare. 482 Analogamente quando una stazione vorra' riassociarsi ad un AP inviera' allo 497 483 stesso 498 una richiesta di riassociazione e atteder Ãla risposta dall'AP.484 una richiesta di riassociazione e attedera' la risposta dall'AP. 499 485 Naturalmente quando un AP riceve una richiesta di associazione controlla che la 500 stazione che ha inviato tale richiesta sia autenticata su s Ú stesso; in caso501 affermativo l'AP invier Ãuna risposta (positiva o negativa) alla stazione.486 stazione che ha inviato tale richiesta sia autenticata su se' stesso; in caso 487 affermativo l'AP inviera' una risposta (positiva o negativa) alla stazione. 502 488 503 489 === Power Management === … … 506 492 preventivamente l'AP al quale sono associate, accondando la richiesta di cambio 507 493 al campo Frame Control del frame inviato all'AP. 508 L'AP deve tener traccia di tutte le stazione che operano in modalità power save 494 L'AP deve tener traccia di tutte le stazione che operano in modalita' power 495 save 509 496 in quanto la trasmisisone dei dati a tali stazioni deve avvenire in modo 510 differente rispetto alle stazioni che non operano in tale modalit Ã;infatti un511 AP non pu ò trasmettere i dati in maniera arbitraria alle stazioni in modalitÃ497 differente rispetto alle stazioni che non operano in tale modalita' ;infatti un 498 AP non puo' trasmettere i dati in maniera arbitraria alle stazioni in modalita' 512 499 power save ma deve bufferizzarli e trasmetterli in periodi precisi. 513 500 Tutte le stazioni che ricevono dati bufferizzati dall'AP sono riunite nel … … 515 502 generati dall'AP stesso.Ogni stazione per sapere se i dati ricevuti sono stati 516 503 bufferizzati 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 quindi504 per fare cio' ogni stazione si mette peridicamente in ascolto di beacon,e quindi 518 505 in ascolto per ricevere eventuali TIM,secondo opportune funzioni). 519 In un BSS ogni stazione (in modalit à power save) per sapere se dei dati sono506 In un BSS ogni stazione (in modalita' power save) per sapere se dei dati sono 520 507 stati correttamente bufferizzati invia un PS-Poll frame all'AP, il quale 521 risponder à o inviando direttamente i dati bufferizzati o acknowleggiando la508 rispondera' o inviando direttamente i dati bufferizzati o acknowleggiando la 522 509 richiesta e inviando i dati successivamente. 523 510 524 Ogni stazione pu ò lavorare in due modalitÃ:511 Ogni stazione puo' lavorare in due modalita': 525 512 * awake 526 513 * doze 527 514 528 Nella modalit à awake la stazione lavora a piena potenza e puòricevere frames529 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 delcambio.515 Nella modalita' awake la stazione lavora a piena potenza e puo' ricevere frames 516 in qualsiasi momento; e' detta anche modalita' attiva. Nella modalita' doze la 517 stazione lavora in power save e riceve frames attraverso il meccanismo sopra 518 descritto. Naturalmente le stazioni possono passare da una modalita' all'altra, 519 ma possono farlo solo alla fine di uno scambio di dati informando l'AP del 520 cambio. 534 521 535 522 === Power Management in un IBSS === 536 523 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 524 In un IBSS le stazioni devono essere tutte sincronizzate al fine di poter 525 trasmettere i dati; quando i dati sono bufferizzati e pronti per essere spediti 526 ad una stazione in power save ci deve essere un annuncio tra tutte le stazioni 527 affinche' l'operazione si possa effettuare. Tale annuncio e' dato tramite 528 l'invio di un ATIM (Ad hoc TIM) quando tutte le stazioni dell' IBSS sono in 529 modalita' awake. Quando i dati devono essere transmessi la stazione trasmittente 530 invia prima un frame ATIM nel ATIM Window (che e' un periodo nel quale vengono 531 inviati solo frame ATIM o beacon) e aspetta l'ack di quel frame; se cio' non 532 avviene la stazione attiva la procedura di ritrassmisione dell'ATIM. Una 533 stazione che acknowleggia l'ATIM durante l'ATIM Window deve rimanere nella 534 modalita' awake e aspettare l'annuncio.Una volta che avviane l'ack ed e' passato 535 l'ATIM Window,i dati possono essere trasmessi dalla stazione in modalita' power 536 save. 552 537 553 538 == Appunti vari == 554 539 ,,20061014-1305 Roma,,[[BR]] 555 540 Ho 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Úla557 connessione venga instaurata; nota importante Úche il client prima di541 e' praticamente una serie di richieste tra il client e l'AP affinche' la 542 connessione venga instaurata; nota importante e' che il client prima di 558 543 collegarsi all'AP deve autenticarsi sull'AP stesso. Una volta fatto cio' AP 559 544 manda un pacchetto che indica l'avvenuta autenticazione e l'inizio di una nuova 560 connessione. Naturalmente vi sono gi Ãdelle primitive implementate atte a545 connessione. Naturalmente vi sono gia' delle primitive implementate atte a 561 546 svolgere questo tipo di compito (sia per quanto riguarda l'instaurazione che 562 547 per le reinstaurazione). 563 548 Inoltre 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 òsi549 (es che fece anche il seminarista se non ricordo male) e per fare cio' si 565 550 inviano delle simpatiche "pancette" con dentro il proprio timestamp; a monte 566 comunque c' Úl'AP che controlla tutta la sincronizzazione ed egli stesso manda567 pancette ai client conessi a lui; quindi vi Úuna doppia sincronizzazione: una551 comunque c'e' l'AP che controlla tutta la sincronizzazione ed egli stesso manda 552 pancette ai client conessi a lui; quindi vi e' una doppia sincronizzazione: una 568 553 tra AP e client e una tra client e client (cap 11 del documento ieee 802.11).