Il modello di rete che lo standard 802.11 descrive mira a rendere attuabili tutti quei concetti innovativi ed evolutivi che sono stati proposti nei paragrafi precedenti. Infatti, le Wireless LANs (WLANs) sono velocemente diventate popolari grazie ad una semplice installazione ed un alto livello di mobilità. Una parte del loro successo è anche dovuta al fatto che lo standard 802.11 fu reso disponibile a coloro che furono interessati ad implementarlo. Vogliamo innanzitutto mostrare i tipi di Wireless LANs. Lo standard specifica operazioni di WLANs in 3 modi:
E' importante sottolineare che il passaggio dalla modalità Ad Hoc (o Indipendent Basic Service Set, IBSS) a quella “infrastructured” è concepito come servizio aggiuntivo (Distribution Service, DS), offerto da un AP al fine di conseguire la connessione ad un Distribution System (Sistema Distribuito).
Lo standard proposto sulle LAN 802.11 ha implementato una architettura cellula, dove il sistema è suddiviso in celle. La nomenclatura usata nel suddetto standard identifica ogni cella come Basic Service Set (o BSS). Ognuna di queste entità è controllata da una Base Station detta Access Point (o AP). Un AP è semplicemente un STA (stazione), che implementa e fornisce funzionalità di inoltro verso il DS alle altre STA nella stessa BSS. La concezione delle funzionalità d’inoltro come servizio a se stante, porta naturalmente alla necessità di definire una procedura di accesso a tale servizio e ai relativi meccanismi per discriminare tale accesso. Questa parte verrà trattata accuratamente in seguito mettendo in risalto i servizi che ne hanno necessità di utilizzo. Per quanto riguarda 802.11, la soluzione di access control adottata è rappresentata dalla funzione di Associazione e del relativo scambio di messaggi. E’ importante notare che la strutture di una Wireless LAN può variare dall’essere formata da una singola cella con un singolo Access Point, all’essere formata da più celle in cui gli AP sono connessi attraverso qualche tipo di dorsale chiamata Distribution System. L’ intera WLAN interconnessa, includente differenti celle, i relativi AP e il Distribution System, è visto come una singola rete 802.11 ed è conosciuta nello standard come ESS (Extended Service Set). La figura 4 mostra una possibile topologia di tale rete.
Un altra architettura meritevole di menzione in questo tipo di reti è quella con PORTALE. Esso è un dispositivo capace di interconnettere una rete 802.11 con un’altra 802 LAN. Sarebbe esatto descrivere le funzionalità di un portale attraverso un’astrazione delle funzionalità di un translation bridge. Può inoltre capitare spesso che una singola entità fisica, funga sia da AP che da portale.
La copertura affidabile per le WLAN 802.11 dipende da diversi fattori includendo il tasso di dati richiesto e la capacità, la sorgente delle interferenze RF, l’area fisica e le caratteristiche, potenza connettività, e l’antenna da usare. In questa sezione riporteremo dei dati di range e di frequenze vagliati considerando: in primo luogo il massimo raggiungibile in situazioni ideali, in secondo facendo riferimento a quei dispositivi che ci offrono maggiori prestazioni. Non ci atterremo quindi a quelli che sono i limiti definiti dallo standard ma parleremo di ciò che è effettivamente raggiungibile con le tecnologie allo stato attuale. Attraverso tali analisi, il range tipico per la connessione dell’802.11b è approssimativamente di 50 metri in area chiusa. Con un’antenna omni-direzionale per gli esterni, la connettività può essere semplicemente realizzata in maniera tale da far superare i 400 metri. Un range di 400 metri, rende le WLAN le tecnologie ideali per molte applicazioni da campus. E’ importante ricordare inoltre che vi sono alcune antenne a largo raggio che possono incrementare il range di copertura ad alcuni km.
Gli AP possono anche fornire una funzione detta di bridging. Il bridging permette di connettere assieme due o più reti, permettendo loro di comunicare e di scambiare traffico di rete. Il Bridging implica o una configurazione point-to-point o una configurazione multipoint. Nella point-to-point due lan sono connesse attraverso la connessione dei rispettivi AP. Nel bridging multipoint, una sottorete di una lan viene connessa a diverse altre sottoreti di un’altra lan attraverso l’AP di ogni sottorete. La figura 7 illustra il bridging point-to-point tra due lan. Nell’esempio, i dati wireless vengono trasmessi dal laptop A al laptop B. Il laptop A si connette al più vicino AP all’interno dell’azienda A. L’AP ricevuto il messaggio da A trasmette i dati (sulla rete wireless) all’AP bridge localizzato sul tetto dell’ufficio. Il bridge AP trasmette i dati all’AP bridge più vicino all’ufficio B. Una volta arrivato all’AP bridge dell’ufficio B i dati vengono trasmessi su filo al laptop B.
Stratificazione del protocollo Anche per le Wireless LAN è stata adottata la tecnica della stratificazione, per far sì che il software che implementa il protocollo risulti più facile da capire e da scrivere. Quando ci troviamo di fronte ad un protocollo che ci permette di trasmettere dati, non dobbiamo sottovalutare tutte quelle procedure collaterali indispensabili, a far sì che l’intera architettura funzioni. Le suddette procedure collaterali derivano dai problemi che sorgono quando delle macchine comunicano su una rete, nella fattispecie potrebbero essere:
Nell’insieme questi problemi sembrano gravissimi ed è difficile pensare ad un singolo protocollo che li risolva tutti. Si giunge, quindi, alla conclusione di suddividere i problemi. Si pensi ai moduli del software di protocollo come se fossero impiantati verticalmente in strati, dove ogni strato ha la responsabilità di gestire una parte del problema visto globalmente. Dato il tipo particolare di schematizzazione che si dà a questa idea di stratificazione, ed è chiaro capire perché, viene chiamata stack del protocollo. Lo stack del protocollo per una WLANs è pensato in maniera tale da permettere alle applicazioni esistenti di usarlo senza molte modifiche. Gli strati superiori dello stack sono identici a quelli di altre topologie di rete. Infatti, i primi tre strati rispettano le specifiche definite nel protocollo OSI a cui si rifanno tutte le varie architetture di reti. Quindi, questi ultimi non saranno da noi trattati, perchè in questo contesto non presentano nessun valore aggiunto rispetto alle altre applicazioni a cui si prestano.
Lo strato fisico dello standard 802.11 modella i dati e li trasmette attraverso l’aria. Tre popolari standard sono emersi durante lo sviluppo delle WLANs, 802.11a, 802.11b, e 802.11g, che come detto sopra sono delle estenzioni allo standard generale che mirano a specializzare alcuni aspetti specifici, apportando quindi miglioramenti mirati e settorizzati. Il confronto tra i suddetti standard è riportato nella seguente tabella. Tale confronto è fatto considerando i valori minimi garantiti sia in velocità di trasmissione sia in distanze raggiungibili.Tali limiti sono quelli definiti dalla commissione di standardizzazione al fine di definire le proprietà che devono rispettare i dispositivi per ottenere l'omologazione alle varie tipologie di standard. Infatti, è importante notare che questo tipo di rete è soggetta a "disturbi" considerando il fatto che ogni possibile materiale può o ostruire o agevolare la trasmissione.
Lo strato MAC/datalink specifica le seguenti caratteristiche:
Entrando subito nel vivo dei compiti di tale livello, possiamo dire che lo strato MAC definisce due metodi d’accesso: uno detto Distributed Coordination Function, e l’altro Point Coordination Function. Tra questi due metodi lo standard propone una implementazione pratica solo per il Distributed Coordination Function, perchè si adatta meglio e offre migliori risultati quando esso viene applicato ad architetture wireless. IL Distributed Coordination Function è un meccanismo di accesso che si basa sui concetti proposti da un Carrier Sense Multiple Access con un meccanismo di supporto detto Collision Avoidance, protocollo conosciuto come CSMA/CA. I protocolli CSMA erano già molto conosciuti dal mercato perché usati dalla famosa rete Ethernet, anche se la suddetta sfrutta una variazione di quello appena citato, infatti, implementa il CSMA/CD. Per capire meglio cosa compete a tali protocolli, conviene soffermarsi qualche riga per spiegare i principali compiti del CSMA. Con l’ausilio di un simile protocollo una stazione che desidera trasmettere dei dati, è in grado di sentire il mezzo. Lì dove lo rileverà libero sarà autorizzata a trasmettere, lì dove lo rileverà occupato deciderà di rimandare la trasmissione ad un istante si tempo successivo, in accordo con le regole di qualche algoritmo che si occuperà appunto delle trasmissioni rimandate o da ripetere. Questo tipo di protocollo permette di implementare un meccanismo di comunicazione che garantisce minimi ritardi quando il carico sulla rete non è eccessivo. Spesso però, accade che più stazioni sentono il mezzo libero simultaneamente decidendo così di voler trasmettere i loro pacchetti in modo indipendente l’una dalle altre ma contemporaneamente, giungendo così a causare delle collisioni. L’802.11 sfrutta un meccanismo di Collision Avoidance (CA) insieme ad uno schema di Positive Acknowledge nel seguente modo:
Infatti, il mittente del pacchetto originario quando riceve un messaggio
contenente un ACK è sicuro che tutto è andato bene, ossia
non ci sono state collisioni durante la trasmissione. Se il mittente non
dovesse ricevere un ACK rinvia il frammento finché non riceve un
ACK, altrimenti finché non raggiunge un tempo massimo di ritrasmissione. Quando una stazione ha intenzione di trasmettere, come prima cosa invia un pacchetto detto RST (Request to Send). Un tale messaggio sarà costituito da alcuni bit identificanti la sorgente, altri la destinazione ed altri ancora durata della trasmissione. Il tempo di durata dovrà includere sia il tempo per trasmettere il pacchetto originario, sia il tempo per ricevere il corrispondente ACK. La destinazione risponde se il mezzo è libero con un pacchetto di controllo chiamato CTS (Clear to Send) che include le stesse informazioni di durata. Qualunque stazione che riceve o un RTS o un CTS setta il proprio indicatore Virtual Carrier Sense, detto NAV per indicare Network Allocation Vector per una data durata, ed usa questa informazione insieme al Physical Carrier Sense quando sente il mezzo. Tale meccanismo ha 2 vantaggi. Poiché sia gli RST che i CTS sono frames piccoli inviando loro nel sistema, invece che un intero pacchetto, si riduce l’overhead di collisione. Infatti la loro trasmissione costa sicuramente meno che quella di un intero pacchetto. Se però, ci troviamo in situazioni che richiedono trasmissioni di brevi pacchetti allora, lo standard mette a disposizione un meccanismo che permette trasmissioni senza l’invio di RTS/CTS. Il seguente diagramma mostra una transazione tra 2 stazioni, chiameremo Src quella che vuole inviare, Dest quella che deve ricevere, Other le altre. La stazione sorgente sente il mezzo per uno DIFS (è un inter frame space, ossia uno specifico intervallo di tempo definito dallo standard e che tratteremo in seguito) e poi manda il pacchetto RTS se lo ha rilevato libero. La stazione destinazione quando riceve il suddetto pacchetto deve sentire per almeno un SIFS il mezzo libero e poi rispondere alla sorgente con un pacchetto CTS. La sorgente dopo aver ricevuto il pacchetto CTS dalla destinazione invia il pacchetto di dati, la destinazione, dopo aver atteso un'altro intervallo SIFS invia indietro l'ACK. Fino a questo punto le altre stazioni sono rimaste bloccate perchè nei pachetti RTS e CTS sono stati trasmessi dei tempi che indicavano l'intera durata della transazione.Questo intervallo di tempo in cui le altre stazioni devono rimanere bloccate è indicato come NAV ed insieme ad un altro intervallo DIFS formerà un lasso di tempo a cui ci riferiamo come accesso rimandato. Dopo di che inizia la Contention Window, ossia il contendersi il diritto ad inviare da parte di tutte le stazioni.
Frammentazione e riassemblaggio Tipicamente i protocolli LAN usano pacchetti consistentemente lunghi, ma in un ambiente come le Wireless LAN ci sono buoni motivi per preferirli piccoli:
Il problema è stato risolto allo strato MAC con dei semplici meccanismi di frammentazione e riassemblaggio. E’ infatti usato un banale algoritmo detto Send and Wait che garantisce che una stazione che intenzione di trasmettere un nuovo frammento deve attendere che una delle seguenti situazioni si verifichi:
Un MSDU, acronimo di Message Send Data Unit, identifica l'intero flusso di dati che devono essere trasferiti tra sorgente e destinazione. Come spesso accade la capacità del canale non permette un'unica trasmissione per l'intero blocco di dati, quindi, si ricorre ad una frammentazione del messaggio così come già illustrato precedentemente. Le unità di dati a cui è permesso viaggiare sulla rete è detta MPDU, acronimo di Message Partition Data Unit.
Quando due stazioni devono comunicare, per prima cosa hanno bisogno di sentire il mezzo se è libero. E' necessario definire dei tempi per far si che le stazioni possano rilevare il mezzo con la stessa unità di tempo. Gli Inter Frame Space sono appuntodelle misure di tempo fissate a cui faranno riferimento gli algoritmi che gestiscono la comunicazione. Lo standard definisce 4 tipi di Inter Frame Space che sono usati per soddisfare differenti proprietà:
Il metodo backoff è un algoritmo per risolvere contese tra stazioni che vogliono avere accesso al mezzo. Il suddetto algoritmo impone alle stazioni che lo eseguono di scegliere un numero random tra zero ed n, e aspettare un numero di Slot pari al numero casuale selezionato prima di accedere al mezzo. E’ comunque sempre necessario controllare se altre stazioni lo stanno già usando. Lo standard 802.11 definisce che l’algoritmo Exponential Backoff deve essere usato nei seguenti casi:
C’è un caso, in cui tale algoritmo è soprassediato in quanto non sussistono le condizioni di applicabilità. Tale circostanza si verifica quando una stazione ha nuovi dati da trasmettere, e cosa indispensabile, ha sentito il mezzo libero per più di un DIFS. Infatti nella prima parte della seguente figura è mostrato appunto il caso in cui una stazione occupa il mezzo perchè lo ha rilevato libero per più di un DIFS. La seguente figura, infatti, mostra un possibile scenario per quanto concerne il meccanismo d'accesso. Il tempo in cui la stazione terrà occupato il mezzo più un successivo lasso di tempo al più pari ad un DIFS verrà identificato come Accesso Rimandato per ogni altra stazione intenzionata a trasmettere. Dopo tutto ciò inizia il Contention Window (visto nel paragrafo Strato MAC/data link layer) che da luogo all'algoritmo di backoff prima di acquisire il diritto di inviare il prossimo frame.
Modalità di connessione ad una BSS Quando siamo in presenza di una stazione che vuole connettersi ad una BSS già esistente, e ciò accade per svariati motivi, la stazione ha bisogno di ricevere informazioni di sincronizzazione da un AP. Ci sono due modi equivalenti per la ricezione delle suddette informazioni: PASSIVE SCANNING: In questo caso le stazioni restano in attesa di ricevere in un Beacon Frame da un AP. Un beacon frame è un frame inviato periodicamente da AP, contenente informazioni di sincronizzazione. ACTIVE SCANNING: In questo caso le stazioni cercano di localizzare un AP mandando un Probe Request Frames, e aspettano la ricezione di un Probe Response da un AP.
Una volta che una stazione ha localizzato un AP e ha deciso di connettersi alla sua BSS, essa deve intraprendere il così detto processo di autenticazione. Questo processo consiste in uno scambio di informazioni tra l’AP e la stazione interessata, dove ogni sede prova la conoscenza di una data password. Lo standard 802.11 specifica due diversi meccanismi di autenticazione:
La fase immediatamente successiva a quella di autenticazione è appunto quella di associazione. Il processo di associazione consiste in uno scambio di informazioni circa la capacità delle stazioni e delle BSS, per far sì che la DSS (l’insieme di AP) venga a conoscenza della corretta posizione delle stazioni. E’ importante sottolineare che una stazione è in grado di ricevere e trasmettere frame di dati solo dopo che il processo di associazione è stato portato a termine con successo. Il mezzo per differenziare due reti logicamente è usare un SSID. Per effettuare un’associazione ad una WS con successo è necessario conoscere il SSID di quella WS. Questo meccanismo non è mai stato né pensato né usato come uno strumento di sicurezza, infatti, il SSID è inviato in chiaro in frame Beacon spediti dall’AP.
Come mantenere la sincronizzazione Come è stato già accennato precedentemente, in questo tipo di architettura, un ingrediente non sottovalutabile è appunto la sincronizzazione. Infatti, le stazione ne hanno un reale bisogno affinché possano svolgere i loro compiti. Su una infrastruttura BSS, c’è una cosa fatta da tutte le stazioni, ossia un’ aggiornamento dei rispettivi clock in accordo a quello dell’AP. Questo è fatto rispettando le seguenti regole: l’AP periodicamente trasmette dei particolari frames che vengono chiamati Beacon Frames. In questi messaggi viene memorizzato il clock dell’AP, nel momento in cui quest’ultimo li trasmette. In realtà è importante considerare il fatto che un frame prima di viaggiare attraverso il mezzo, trascorre del tempo nella coda di trasmissione. Infatti, i Beacon frames sono trasmessi rispettando le regole del CSMA, quindi la trasmissione può essere significativamente ritardata. Le stazioni quando ricevono il frame, controllano i valori dei loro clock e li correggono per mantenersi sincronizzati con l’AP.
Roaming è il processo che permette lo spostamento da una cella (o BSS) all’altra senza perdere la connessione. Questo è simile a quello che succede con i cellulari, ma con due differenze fondamentali:
Lo standard 802.11 non definisce come il roaming dovrebbe essere gestito, ma mette a disposizione delle tecniche di base, tra cui troviamo :
I principali tipi di frames sono tre e sono:
Come è ovvio pensare, ognuno di questi frames è suddiviso in differenti sottotipi in accordo con le rispettive funzioni da svolgere.
|