| 5 | |
| 6 | == Procedure comuni == |
| 7 | |
| 8 | === Procedura di trasmissione === |
| 9 | |
| 10 | Per trasmettere i dati, `PHY-TXSTART.request` dev'essere abilitata per portare |
| 11 | PHY allo stato di trasmettitore. A tal fine, e' inizialmente necessaria la |
| 12 | scelta del canale su cui trasmettere (effettuata tramite PLME); non appena esso |
| 13 | risulti libero (quando, cioe', `PHY-CCA.indicate` segnali ''idle'') MAC potra' |
| 14 | dare inizio alla fase di trasmissione invocando la primitiva |
| 15 | `PHY-TXSTART.request` con il necessario parametro `TXVECTOR` (contenente |
| 16 | `DATARATE`, `TX_ANTENNA`, `TXPWR_LEVEL`). Una volta terminato l'invio del |
| 17 | preambolo, attraverso una serie di chiamate `PHY-DATA.request(DATA)` iniziera' |
| 18 | lo scambio di ottetti di dati tra i livelli MAC e PHY. Al termine della |
| 19 | trasmissione l'entita' fisica invochera' `PHY-TXEND.confirm`, segnalando |
| 20 | eventuali errori al livello MAC e ritornando poi autonomanente allo stato di |
| 21 | ricevitore. |
| 22 | |
| 23 | === Procedura ricezione === |
| 24 | |
| 25 | Affinche' abbia inizio la ricezione di un ''frame'', e' necessario che l'entita' |
| 26 | fisica sia nello stato di ricevitore. Attraverso la PLME e' possibile scegliere |
| 27 | sia il canale su cui ascoltare sia il metodo di ''carrier-sense'' da utilizzare. |
| 28 | Altri parametri (come accade per la trasmissione) sono passati sfuttando il |
| 29 | PHY-SAP. |
| 30 | |
| 31 | Non appena il dispositivo ha rilevato attivita' sul canale su cui e' in ascolto, |
| 32 | viene invocata la primitiva `PHY-CCA.indicate` informando MAC dello stato del |
| 33 | canale. Dopodiche' si ricerca un delimitatore di inizio ''frame'' (''Start Frame |
| 34 | Delimiter'' o SFD) e si procede poi alla lettura dell' ''header''. Se |
| 35 | quest'ultima fase va a buon fine, poiche' le informazioni ricevute sono |
| 36 | intellegibili e prive di errori rilevati con CRC, allora viene sollevata la |
| 37 | primitiva `PHY-RXSTART.indicate` per indicare al livello superiore che sta |
| 38 | avendo luogo la ricezione di un ''frame''. I dati successivamente ricevuti |
| 39 | saranno assemblati e presentati a MAC attraverso la primitiva |
| 40 | `PHY-DATA.indicate(DATA)`. |
| 41 | |
| 42 | Anche in questo caso, al termine dell'intera operazione verra' invocata la |
| 43 | primitiva `PHY-RXEND.indicate` indicante eventuali errori occorsi in fase di |
| 44 | ricezione ed il dispositivo tornera' in uno stato di ricevitore passivo. |
15 | | effettuano i cosiddetti ''hopping'', cioe' dei salti di frequenza pseudo-casuali |
16 | | (ovviamente dettati da uno specifico algoritmo). In questo modo si massimizza il |
17 | | throughput della rete e si minimizzano le interferenze. [[BR]] |
18 | | Per l'Europa, lo standard definisce il range delle frequenze operative da 2.400 |
19 | | GHz a 2.4835 GHz per un totale di 79 canali differenti. [[BR]] |
20 | | I data-rate supportati sono: |
21 | | * 1 Mbit/s: utilizzando la modulazione GFSK |
22 | | * 2 Mbit/s: utilizzando la modulazione 4GFSK. L'header PLCP viene comunque |
23 | | trasmesso ad 1 Mbit/s. [[BR]] |
| 57 | effettuano i cosiddetti ''hopping'', cioe' salti di frequenza pseudo-casuali. In |
| 58 | questo modo si massimizza il ''throughput'' della rete, si minimizzano le |
| 59 | interferenze e si migliora la confidenzialita' delle trasmissioni (l'azione di |
| 60 | ''sniffing'' e' meno praticabile). [[BR]] |
25 | | dettata dal livello MAC: ogni beacon e ogni frame ''Probe Response'' contengono |
26 | | le informazioni necessarie per la sincronizzazione e per la determinazione del |
27 | | pattern di ''hopping''. |
| 62 | dettata dal livello MAC (sia in un BSS che in un IBSS): ogni ''frame'' di tipo |
| 63 | ''beacon'' o ''probe response'' contiene le informazioni necessarie per la |
| 64 | sincronizzazione e per la determinazione del ''pattern'' di ''hopping''. |
| 65 | |
| 66 | Per l'Europa, lo standard definisce il ''range'' delle frequenze operative da |
| 67 | 2.400 GHz a 2.4835 GHz per un totale di 79 canali differenti. [[BR]] |
| 68 | I ''data-rate'' supportati sono: |
| 69 | * 1 Mbit/s: con modulazione GFSK (''Gaussian frequency shift keying'') |
| 70 | * 2 Mbit/s: con modulazione 4GFSK. |
| 71 | Si noti che per l' ''header'' PLCP viene comunque trasmesso ad 1 Mbit/s. |
36 | | ,,20061028 gnappo,, [[BR]] |
37 | | OFDM (Ortogonal Division Frequency Multiplexing) viene introdotto con la |
38 | | revisione a dello standard 802.11. I data-rate forniti sono: 6, 9, 12, 18, |
39 | | 24, 36, 48 e 54 Mbit/s. Solamente i 6, 12 e 24 Mbit/s sono, tuttavia, |
40 | | obbligatori. |
41 | | La banda di frequenze nella quale OFDM opera e' quella dei 5 GHz. |
42 | | Essenzialmente con OFDM si tentano di inviare piu' ''stream'' di bit |
43 | | in parallelo. Lo spettro delle frequenze viene suddiviso in piu' sotto-canali, |
44 | | in |
45 | | ognuno dei quali viene impiegato uno schema di modulazione standard (e.g. fase) |
46 | | per la trasmissione. La scelta dei sotto-canali e' operata in modo tale da |
47 | | eliminare interferenze tra gli stessi (sono ortogonali l'uno all'altro). |
48 | | Rimane, comunque, uno standard poco utilizzato sia a causa delle sue |
49 | | incompatibilita' (802.11b e 802.11g) sia per le caratteristiche operative (in |
50 | | molti paesi la banda dei 5Ghz e' tuttora riservata). |
| 80 | OFDM (''Ortogonal Frequency-Division Multiplexing'') viene introdotto con la |
| 81 | revisione '''a''' dello standard IEEE 802.11. Benche' l'insieme dei tassi |
| 82 | trasmissivi stabiliti sia {6, 9, 12, 18, 24, 36, 48, 54} Mbit/s, solamente il |
| 83 | sottinsieme {6, 12, 24} Mbit/s e' obbligatorio. La banda di frequenze |
| 84 | utilizzata e' quella attorno ai 5 GHz. |
| 85 | |
| 86 | Essenzialmente questa tecnica prevede l'invio di ''stream'' di bit in parallelo |
| 87 | su differenti frequenze. Lo spettro viene quindi suddiviso in 52 sotto-canali, |
| 88 | sfruttando poi la modulazione BPSK/QPSK, QAM o 64-QAM. La scelta delle frequenze |
| 89 | dei sotto-canali e' operata in modo tale da eliminare interferenze tra gli |
| 90 | stessi (sono ortogonali l'uno all'altro). |
| 91 | |
| 92 | OFDM rimane, comunque, uno standard poco utilizzato sia a causa delle sue |
| 93 | incompatibilita' con i successivi documenti 802.11b e 802.11g, sia per le |
| 94 | caratteristiche operative, poiche' in molti Paesi la banda dei 5Ghz e' tuttora |
| 95 | riservata. |
54 | | ,,20061021 gnappo,, [[BR]] |
55 | | DSSS (Direct Sequence Spread Spectrum) e' un'altra specifica del livello fisico |
56 | | che permette di raggiungere in linea teorica un capacita' trasmissiva pari a |
57 | | 11Mbit/s (802.11b). Attraverso opportune tecniche e' possibile fornire |
58 | | ''bitrate'' inferiori (in tal modo si ottiene compatibilita' all'indietro). |
59 | | Come descritto precedentemente, anche in questa occasione avremo opportune |
60 | | funzioni di convergenza atte a garantire l'indipendenza di MAC rispetto alla |
61 | | specifica implementazione di PHY. [[BR]] |
62 | | Il PPDU e', naturalmente, differente rispetto a quello definito per FHSS (nel |
63 | | seguito troverete qualche dettaglio). Interessante osservare che il preambolo e |
64 | | l'header del frame sono trasmessi, diversamente dal resto, ad un 1Mbit/s per |
65 | | assicurarsi che l'interlocutore capisca effettivamente questa parte essenziale |
66 | | della comunicazione. L'effettivo invio del ''payload'' (MPDU) potra' essere |
67 | | compiuto con modulazioni diverse opportunamente specificate nell' ''header'' |
68 | | (campo SIGNAL). |
| 99 | DSSS (''Direct Sequence Spread Spectrum'') e' un'altra specifica del livello |
| 100 | fisico presente gia' a partire dalla prima versione dello standard, e che |
| 101 | permette di raggiungere, in linea teorica, una velocita' trasmissiva pari a |
| 102 | 11Mbit/s, dopo gli aggiornamenti presenti in 802.11b. Il preambolo e l' |
| 103 | ''header'' del ''frame'' sono trasmessi sempre ad un ''data-rate'' di 1 Mbit/s |
| 104 | in modo tale che ogni STA (di tipo DSSS) sia in grado di comprenderlo. |
| 105 | L'effettivo invio del ''payload'' (rappresentato dalla MPDU) invece, potra' |
| 106 | essere compiuto utilizzando modulazioni diverse, opportunamente preannunciate |
| 107 | nell' ''header'' (campo SIGNAL). |
70 | | === Algoritmo di trasmissione === |
| 109 | Questa tecnica prevede che ogni bit da trasmettere venga rimpiazzato da una |
| 110 | sequenza di lunghezza predefinita di ''chip'' (i.e. bit) per aumentare la |
| 111 | distanza fra rappresentazioni di informazioni differenti, al fine di ridurre le |
| 112 | interferenze. Conseguentemente, a parita' di ''data-rate'', la frequenza di |
| 113 | trasmissione dei chip cresce di un fattore pari alla lunghezza della sequenza |
| 114 | (come mostrato nella "figura" sottostante). |
| 115 | {{{ |
| 116 | 0 : 1 : 0 : ... -> Informazioni originali |
| 117 | 10101010 : 00001111 : 10101010 : ... -> Informazioni "chippate" |
| 118 | }}} |
72 | | ,,20061021 gnappo,, [[BR]] |
73 | | Per trasmettere i dati, PHY-TXSTART.request dev'essere abilitata per portare PHY |
74 | | nello stato di trasmettitore (precedentemente su ricevitore). Il canale su cui |
75 | | trasmettere e' regolato via PLME. Se il canale risulta libero (PHY-CCA.indicate) |
76 | | allora MAC puo' procedere all'effettivo invio invocando la primitiva |
77 | | PHY-TXSTART.request (PHY-SAP) passando i parametri necessari (DATARATE, |
78 | | TX_ANTENNA, TXPWR_LEVEL). Una volta terminato l'invio del preambolo, attraverso |
79 | | una serie di chiamate PHY-DATA.request(DATA) verrano scambiati i dati tra MAC e |
80 | | PHY. Al termine della trasmissione l'entita' fisica ritornera' allo stato di |
81 | | ricevitore. |
| 120 | Il ricevitore, utilizzando la stessa sequenza di ''chip'', e' banalmente in |
| 121 | grado di ricostruire il flusso originale di informazione. |
85 | | ,,20061021 gnappo,, [[BR]] |
86 | | Per quanto riguarda la ricezione, e' necessario che l'entita' fisica sia nello |
87 | | stato di ricevitore (quindi PHY-TXSTART disabilitato). Attraverso la PLME e' |
88 | | possibile scegliere il canale su cui ascoltare ed il metodo di CCA (''Clear |
89 | | Channel Assessment''). Altri parametri (come per la trasmissione) sono passati |
90 | | attraverso PHY-SAP. |
91 | | Non appena il dispositivo ha rilevato attivita' sul canale sul quale e' in |
92 | | ascolto, PHY invoca la primitiva PHY-CCA.indicate con la quale informa MAC che |
93 | | il canale e' BUSY. Dopodiche' PHY va alla ricerca di un delimitatore di inizio |
94 | | frame e procede alla lettura dell'header. Se la lettura va a buon fine (i.e. |
95 | | formato riconosciuto, niente errori su CRC) allora viene chiamata la primitiva |
96 | | PHY-RXSTART.indicate per mettere a conoscenza di MAC di informazioni contenute |
97 | | nell'header (i.e. campo SIGNAL, lunghezza del MPDU, RX_ANTENNA, RSSI, SQ, |
98 | | campo SERVICE). I dati successivamente ricevuti saranno assemblati e |
99 | | presentati a MAC attraverso la primitiva PHY-DATA.indicate(DATA). Al termine |
100 | | dell'intera ricezione lo stato del ricevitore ritornera' IDLE e sara' |
101 | | sollevata la primitiva PHY-RXEND.indicate(NoError). Se la ricezione non andasse |
102 | | a buon fine, PHY informerebbe MAC attraverso la primitiva PHY-RXEND.indicate |
103 | | della causa dell'errore (e.g. !CarrierLost). |
104 | | |
105 | | === Note sulla modulazione === |
106 | | |
107 | | ,,20061106-1100 gnappo,, [[BR]] |
108 | | Il segnale da trasmettere viene convertito da flusso di bit in flusso di |
109 | | simboli, dove ogni simbolo rappresenta una stringa di bit (la cui lunghezza |
110 | | dipende dalle particolari tecniche di codifica). Tale flusso, verra' poi |
111 | | combinato con una sequenza di bit ''Pseudo-noise'' detta ''chip sequence'', |
112 | | con frequenza maggiore rispetto a quella del segnale. In uscita, quindi, avremo |
113 | | un segnale che sara' diffuso su una banda di frequenze piu' larga. [[BR]] |
114 | | Il ricevitore, utilizzando la stessa ''chip sequence'', sara' in grado di |
115 | | ricostruire il segnale originale. [[BR]] |
116 | | La banda a 2.4 GHz e' suddivisa in 14 canali ciascuno dei quali occupa 22 MHz. |
117 | | |
118 | | === Note === |
119 | | Per quanto riguarda questioni di tempistiche ed altre informazioni dettagliate |
120 | | (MIB attributes) rimando alle specifiche ieee, capitolo 15. |
| 126 | <segnalibrodirevisione> |