[[PageOutline(1-6)]] = IEEE 802.11 - Specifiche del livello PHY = == FHSS == ,,20061104-1743 gnappo,, [[BR]] FHSS (Frequency Hopping Spread Spectrum) e' una specifica del livello PHY, presente nella prima versione dello standard. L'obiettivo primo da perseguire, come gia' chiarito nei paragrafi precedenti, e' l'indipendenza del livello MAC dal livello PHY. E' per questo motivo che, nel documento, vengono ratificate adeguate funzioni di convergenza al mezzo trasmissivo oltre alle usuali funzioni dipendenti dal medium. [[BR]] La caratteristica saliente di questa specifica e' rappresentata dal fatto che la trasmissione non avviene sempre alla stessa frequenza (canale), ma si effettuano i cosiddetti ''hopping'', cioe' dei salti di frequenza pseudo-casuali (ovviamente dettati da uno specifico algoritmo). In questo modo si massimizza il throughput della rete e si minimizzano le interferenze. [[BR]] Per l'Europa, lo standard definisce il range delle frequenze operative da 2.400 GHz a 2.4835 GHz per un totale di 79 canali differenti. [[BR]] I data-rate supportati sono: * 1 Mbit/s: utilizzando la modulazione GFSK * 2 Mbit/s: utilizzando la modulazione 4GFSK. L'header PLCP viene comunque trasmesso ad 1 Mbit/s. [[BR]] E' importante sottolineare come la sequenza di salto dei canali sia in realta' dettata dal livello MAC: ogni beacon e ogni frame ''Probe Response'' contengono le informazioni necessarie per la sincronizzazione e per la determinazione del pattern di ''hopping''. Alcune informazioni sulle tempistiche riguardanti i canali: * 224''u''s e' il tempo massimo concesso per switch su canale; * 400ms e' il tempo massimo di permanenza sul canale; * 19ms e' il tempo consigliato di permanenza sul canale. == OFDM == ,,20061028 gnappo,, [[BR]] OFDM (Ortogonal Division Frequency Multiplexing) viene introdotto con la revisione a dello standard 802.11. I data-rate forniti sono: 6, 9, 12, 18, 24, 36, 48 e 54 Mbit/s. Solamente i 6, 12 e 24 Mbit/s sono, tuttavia, obbligatori. La banda di frequenze nella quale OFDM opera e' quella dei 5 GHz. Essenzialmente con OFDM si tentano di inviare piu' ''stream'' di bit in parallelo. Lo spettro delle frequenze viene suddiviso in piu' sotto-canali, in ognuno dei quali viene impiegato uno schema di modulazione standard (e.g. fase) per la trasmissione. La scelta dei sotto-canali e' operata in modo tale da eliminare interferenze tra gli stessi (sono ortogonali l'uno all'altro). Rimane, comunque, uno standard poco utilizzato sia a causa delle sue incompatibilita' (802.11b e 802.11g) sia per le caratteristiche operative (in molti paesi la banda dei 5Ghz e' tuttora riservata). == DSSS == ,,20061021 gnappo,, [[BR]] DSSS (Direct Sequence Spread Spectrum) e' un'altra specifica del livello fisico che permette di raggiungere in linea teorica un capacita' trasmissiva pari a 11Mbit/s (802.11b). Attraverso opportune tecniche e' possibile fornire ''bitrate'' inferiori (in tal modo si ottiene compatibilita' all'indietro). Come descritto precedentemente, anche in questa occasione avremo opportune funzioni di convergenza atte a garantire l'indipendenza di MAC rispetto alla specifica implementazione di PHY. [[BR]] Il PPDU e', naturalmente, differente rispetto a quello definito per FHSS (nel seguito troverete qualche dettaglio). Interessante osservare che il preambolo e l'header del frame sono trasmessi, diversamente dal resto, ad un 1Mbit/s per assicurarsi che l'interlocutore capisca effettivamente questa parte essenziale della comunicazione. L'effettivo invio del ''payload'' (MPDU) potra' essere compiuto con modulazioni diverse opportunamente specificate nell' ''header'' (campo SIGNAL). === Algoritmo di trasmissione === ,,20061021 gnappo,, [[BR]] Per trasmettere i dati, PHY-TXSTART.request dev'essere abilitata per portare PHY nello stato di trasmettitore (precedentemente su ricevitore). Il canale su cui trasmettere e' regolato via PLME. Se il canale risulta libero (PHY-CCA.indicate) allora MAC puo' procedere all'effettivo invio invocando la primitiva PHY-TXSTART.request (PHY-SAP) passando i parametri necessari (DATARATE, TX_ANTENNA, TXPWR_LEVEL). Una volta terminato l'invio del preambolo, attraverso una serie di chiamate PHY-DATA.request(DATA) verrano scambiati i dati tra MAC e PHY. Al termine della trasmissione l'entita' fisica ritornera' allo stato di ricevitore. === Algoritmo di ricezione === ,,20061021 gnappo,, [[BR]] Per quanto riguarda la ricezione, e' necessario che l'entita' fisica sia nello stato di ricevitore (quindi PHY-TXSTART disabilitato). Attraverso la PLME e' possibile scegliere il canale su cui ascoltare ed il metodo di CCA (''Clear Channel Assessment''). Altri parametri (come per la trasmissione) sono passati attraverso PHY-SAP. Non appena il dispositivo ha rilevato attivita' sul canale sul quale e' in ascolto, PHY invoca la primitiva PHY-CCA.indicate con la quale informa MAC che il canale e' BUSY. Dopodiche' PHY va alla ricerca di un delimitatore di inizio frame e procede alla lettura dell'header. Se la lettura va a buon fine (i.e. formato riconosciuto, niente errori su CRC) allora viene chiamata la primitiva PHY-RXSTART.indicate per mettere a conoscenza di MAC di informazioni contenute nell'header (i.e. campo SIGNAL, lunghezza del MPDU, RX_ANTENNA, RSSI, SQ, campo SERVICE). I dati successivamente ricevuti saranno assemblati e presentati a MAC attraverso la primitiva PHY-DATA.indicate(DATA). Al termine dell'intera ricezione lo stato del ricevitore ritornera' IDLE e sara' sollevata la primitiva PHY-RXEND.indicate(NoError). Se la ricezione non andasse a buon fine, PHY informerebbe MAC attraverso la primitiva PHY-RXEND.indicate della causa dell'errore (e.g. !CarrierLost). === Note sulla modulazione === ,,20061106-1100 gnappo,, [[BR]] Il segnale da trasmettere viene convertito da flusso di bit in flusso di simboli, dove ogni simbolo rappresenta una stringa di bit (la cui lunghezza dipende dalle particolari tecniche di codifica). Tale flusso, verra' poi combinato con una sequenza di bit ''Pseudo-noise'' detta ''chip sequence'', con frequenza maggiore rispetto a quella del segnale. In uscita, quindi, avremo un segnale che sara' diffuso su una banda di frequenze piu' larga. [[BR]] Il ricevitore, utilizzando la stessa ''chip sequence'', sara' in grado di ricostruire il segnale originale. [[BR]] La banda a 2.4 GHz e' suddivisa in 14 canali ciascuno dei quali occupa 22 MHz. === Note === Per quanto riguarda questioni di tempistiche ed altre informazioni dettagliate (MIB attributes) rimando alle specifiche ieee, capitolo 15. == HR/DSSS (802.11b/802.11g) == ,,20061022-2130 Zeratul,, [[BR]] High Rate Direct Sequence Spread Spectrum (HR/DSSS) e' l'evoluzione della "semplice" DSSS che consente di portare la bandwith massima a 5.5 o 11 Mbps (nell'802.11g si arrivera' anche a circa 54 Mbps). Gli header e preamboli PLCP sono gli stessi della DSSS, in questo modo e' possibile la coesistenza di entrambe le modulazioni in una stessa connessione. [[BR]] Le sostanziali differenze con il suo predecessore sono molteplici: 1. si sono riuniti i [http://en.wikipedia.org/wiki/Chip_rate "chips"] in gruppi da 8 formando cosi chiavi a codice complementario (''8-chip complementary code keying'' a.k.a. CCK) che vengono spediti alla stessa frequenza del DSSS (11 MHz), ottimizzando cosi l'uso della banda del canale; 2. sono state aggiunte delle funzionalita' opzionali per aumentare il bandwith, che sono utilizzabili solo se l'hardware e' abbastanza recente da supportarle. [[BR]] Le funzionalita' sono le seguenti: * sostituzione del CCK con il ''packet binary convolutional coding'' (HR/DSSS/PBCC); * HR/DSSS/short, ovvero possibilita' di ridurre il preambolo PLCP per aumentare significantemente il transfer data rate, limitando cosi pero' la possibilita' di coesistenza con il DSSS a sole alcune particolari circostanze; * inserimento del ''Channel Agility'', ovvero una particolare implementazione che consente di superare diversi problemi dovuti all'assegnamento di un canale statico, senza dover aggiungere alla totale implementazione il costo di questa funzionalita'. Purtroppo l'IEEE non ha concesso le specifiche inerenti all'evoluzione della modulazione nella versione 802.11g, quindi non ci e' concesso sapere i miglioramenti che hanno portato poi il protocollo a supportare velocita' di circa 54 Mbps.[[BR]] Parlandone con il Dott. Bononi, si e' arrivati ad ipotizzare che lo sviluppo sempre piu' veloce della tecnologia abbia portato ad un'alta precisione e sensibilita' di ricezione/trasmissione che abbia sua volta portato ad un'aumento dei simboli (in modulazione un simbolo e' un particolare segnale che identifica una serie di bit) e ad una diminuzione dei bit adibiti al controllo di errori, cosi aumentandone di molto il bit rate potenziale.[[BR]] Rimaniamo comunque nella ricerca di specifiche piu' recentemente rilasciate, lasciando quest'ultima parte di paragrafo come "prossima ad essere aggiornata".