PROTOCOLLO CSMA (Carrie Sense Multiple Access)
Supponiamo che più stazioni si trovino nella condizione di dover condividere uno stesso canale trasmissivo. Ad esempio più terminali
connessi su una stessa LAN. Sappiamo che in questa situazione, se più stazioni accedono contemporaneamente al canale effettuando una
trasmissione, generano una collisione di dati con la conseguente perdita dell'informazione. Appare quindi necessario un'insieme di regole
che disciplinino l'accesso al canale. L'insieme di tali regole va sotto il nome di protocollo.Il CSMA è un protocollo a contesa. Con questo
s'intende l'assenza di un'entità centralizzata che decide chi deve trasmettere e chi meno. Le stazioni si contendono quindi l'accesso al
canale. Nella versione base si ha che la stazione, prima di effettuare la trasmissione, ascolta il canale per capire se ne è presente una in
corso. L'ascolto del canale continua anche durante la trasmissione. In tal modo la stazione in esame, potrà rendersi conto di un'eventuale
collisione e interrompere la trasmissione. In una sua variante, ovvero la CSMA/CA, s'impone che le stazioni che hanno generato la
collisione, attendano un tempo ramdom prima di riprovare a trasmettere. La variante che interessa il nostro studio è la CSMA/CD. Questa
è anche la più diffusa. Nel caso la trasmissione avvenga via etere, la rilevazione di una portante definisce l'occupazione del canale. Se
invece la trasmissione è effettuata via cavo, si effettua una lettura della potenza. Si ha quindi che una stazione inizia la propria
trasmissione solo se rileva il canale libero. Ora questo modo di procedere non salvaguarda da collisioni. Supponiamo infatti di trovarci
nella situazione in cui ci siano due stazioni molto lontane tra loro.
Il segnale trasmesso dalla prima impiegherà un po' di tempo per giungere alla seconda. Supponendo che la trasmissione avvenga in t 0 e
che il segnale giunga alla seconda in un tempo T, avremo la presenza di una finestra temporale all'interno della quale la seconda stazione
non rileva presenza di segnale sul canale.
In tale situazione si sentirà pertanto autorizzata ad accedere al canale, causando una collisione di dati. Tale finestra va infatti sotto il
nome di finestra di collisione ed aumenta in modo direttamente proporzionale alla grandezza della LAN. Vi sono inoltre casi in cui la
seconda stazione non è in grado neanche di rilevare l'avvenuta collisione. In tal caso potrebbe pensare che la trasmissione ha avuto buon
fine e di conseguenza non effettua la ritrasmissione del pacchetto informativo. Questo avviene quando la durata della trasmissione della
seconda stazione avviene in un tempo inferiore della durata della finestra temporale. Questo è un grosso limite che porta alla drastica
riduzione dell'estensione di una rete i cui terminali presentano un'elevata velocità di trasmissione.
Le WLAN
Le reti locali wireless, o LAN wireless, stanno modificando il mondo delle reti di computer. Le aziende di tutto il mondo stanno
implementando reti wireless indipendenti o in aggiunta a quelle cablate per aumentare la produttività dei dipendenti, ridurre i costi e
superare gli ostacoli delle connessioni tradizionali.
Giunte sul mercato nei primissimi anni novanta, esse hanno avuto la definitiva svolta con l'approvazione dello standard IEEE 802.11
(1997) evolutosi in seguito nello 811.2a e 811.2b. Quest'ultimo definisce oggi lo standard definitivo per il WLAN anche se si lavora
ancora al fine di ottenere un miglioramento ed un adattamento dello stesso alle esigenze quotidiane. Infatti parallelamente sono nati altri
standard meno conosciuti. Citiamo ad onor di cronaca l'HIPERLAN definito dall'European Telecomunications Standards InstituteBroadband Radio Access Network, l'HomeRF SWAP e il Bluetooth.
Quali sono i vantaggi che rendono così appetibile questa tecnologia? Beh, indubbiamente la flessibilità. Infatti abbiamo un'enorme
aumento d'efficienza rispetto ad una rete cablata. Si scavalcano in questo modo tutti quei problemi riscontrati nella stesura della stessa.
Pensate ad esempio la realizzazione di una LAN che colleghi due edifici separati da grossi ostacoli o la stesura della stessa all'interno di
una struttura storica. Non ci sarebbe più bisogno di stendere cavi antiestetici. Abbiamo inoltre la possibilità di rendere mobile l'utente
collegato. Pertanto se parliamo di computer portatili le potenzialità aumentano. Immaginatene l'uso che se ne potrebbe fare all'interno di
una struttura sanitaria quale un ospedale oppure all'interno di un aeroporto, un magazzino. A tutto questo aggiungiamo che i costi di
realizzazione sono relativamente bassi.
Ovviamente c'è il risvolto della medaglia e quindi gli svantaggi. Essendo una trasmissione radio fatta ad alta frequenza, ne presenta tutte
le pecche. Abbiamo da considerare fenomeni di attenuazione, interferenza, riflessioni, e sicurezza. A ciò va aggiunto problemi energetici
legati al fatto che usiamo dispositivi a batteria e compatibilità. Per i primi tre, i problemi sono identici a quelli riscontrati in una qualsiasi
altra trasmissione radio. Ipotizzando un trasmettitore isotopico (che trasmette nello stesso modo in tutte le direzioni) abbiamo che il
segnale si propaga e la potenza si spalma istante per istante su sfere concentriche. Questo porta ad un'attenuazione che è inversamente
proporzionale alla distanza percorsa dal segnale. Quindi se trasmettiamo una potenza effimera, non arriva nulla. Se trasmettiamo una
potenza superiore al necessario, inficiamo sulla durata della batteria. Ancora, il segnale in presenza di ostacoli rimbalza e genera un'onda
riflessa. Questa giunge sul ricevitore contemporaneamente al segnale diretto ed a un'infinità di segnali riflessi (fenomeno delle riflessioni
multiple). Specie negli ambienti chiusi. Il risultato è una distorsione del segnale e nella peggiore delle situazioni, il fenomeno
dell'affievolimento profondo. Poi c'è l'interferenza verso altri dispositivi e la suscettanza nei confronti di disturbi radio. Parlando invece di
compatibilità, il problema nasce dalla presenza di diversi standard. E' ovviamente preferibile l'uso di access point e schede identiche per
poter sfruttare al massimo la rete. Infine, ma non per ultimo per importanza, il problema della sicurezza. L'informazione trasmessa
diviene alla portata di tutti, pertanto occorre effettuare un criptaggio del segnale.
Le applicazioni della WLAN sono in parte stati elencati prima quando ho trattato i vantaggi. A questi vanno aggiunti il prossimo lancio
dell'home networking (dispositivi che colloquiano tra loro all'interno di un'appartamento) o ai cellulari di prossima generazione. Facciamo
ora una breve panoramica sugli standard. In questa sede tratto solo gli standard citati sopra a eccezione dello standard 802.11. Per
questo dedicherò un paragrafo molto completo, cercando di venire incontro a tutti gli interessati, dato che in giro si trova solo materiale
in inglese.
Il primo standard citato, ovvero l'HIPERLAN definito nel 1996 dallo ETSI-BRAN. Esso lavora su una banda centrata sui 5Ghz
raggiungendo un throughput di 24 Mbps. E' garantito il supporto Quality of Service (QoS) per voce dati immagini e video. Da poco ne è
stata sviluppata una seconda versione che si pone in diretta concorrenza con lo standard americano 802.11. In questa il throughput si
porta a 54 Mbps. Di seguito si riporta una tabella riassuntiva circa le caratteristiche della famiglia HIPERLAN.
La tecnologia bluetooth è stata approvata nel 1998 dalla Bluetooth SIG. Nata per ovviare ai problemi di mancanza di compatibilità fra
periferiche digitali, usa potenze più basse rispetto agli altri standard, definendo in realtà una PAM (personal area network) ovvero un
sottoinsieme di una WLAN più grande. Esso è utilizzato per far comunicare dispositivi situati a pochi metri di distanza l'uno dall'altro
(computer con periferiche) In questa si ha che i dati vendono trasmessi con Modulazione FHSS (frequency hopping spread spectrum) con
GFSK (Gaussian Frequency Shift Keying) su una frequenza di 2.4 Ghz con velocità di 1 Mbps. Di questi giorni la notizia secondo la quale
la Bluetooth SIG ha rilasciato un aggiornamento alle proprie specifiche che promette di risolvere alcune delle lacune tecniche rimaste
aperte nelle specifiche 1.1 E' inoltre disponibile ondine un'analisi Sui problemi di sicurezza di Bluetooth consultabile qui in formato PDF,
gli esperti di @stake. Infine lo SWAP (Shared Wireless Application Protocol) creato dall'HomeRF Working Group prevede una modulazione
FHSS a 2.4Ghz con velocità variabile tra 1 e 2 Mbps.
STANDARD IEEE 802.11
Il gruppo 802.11 può essere visto come una famiglia di standard comprendenti un'insieme di standard quali:
-
802.2: Logical Link Control
802.3: Carrier Sense Multiple Access with Collision Avoidance
802.4: Token bus
802.5: Token Ring
802.6: Distributed Queuing Dual Bus (DQDB)
802.9: Unified Integrated Services su Backbone
802.11: WLAN
802.12: Demand Priority Access Method
802.14: Cable TV
- 802.15: Wireless Personal Area Networks
- 802.16: Broadband Wireless Access Methods
che riguardano il livello MAC e il livello fisico della pila ISO-OSI. Riportata in figura.
Lo standard 802.11 si riferisce alle reti wireless. Nello standard originale si focalizza l'attenzione su tre distinti livelli fisici (Infrarosso Trasmissione radio con modulazione FHSS - Trasmissione radio con modulazione DSSS) e il livello MAC. In seguito si sono avute due
estensioni quali 802.11a e 802.11b. La versione base propone l'uso della banda di frequenze dei 2.4GHz, la cosiddetta ISM (Industrial,
Scientific and Medical band) che è disponibile a libero uso dei privati, senza la necessità di ottenere concessioni da parte degli enti
pubblici. Nella prima estensione si ottiene un throughput massimo di 54 Mbps ad una frequenza di lavoro di 5,2 GHz. A causa dell'elevata
frequenza usata, vengono richiesti un maggior numero di AP rispetto allo standard 802.11b. Questo non è autorizzato in Europa ed è il
diretto concorrente dello standard Europeo Hyperlan/2. I prodotti sono marcati con la sigla "Wi-Fi5". Un problema riscontrato è il
seguente: la frequenza utilizzata è la stessa con cui operano i satelliti, perciò l'utilizzo è permesso soltanto per gli ambienti chiusi. In
questo standard viene utilizzata la tecnologia di modulazione OFDM con tecniche di modulazione BPSK/QPSK/16 QAM/64 QAM, 8 canali
disponibili non overlapping. Nella seconda estensione, la 802.11b, abbiamo invece un throughput massimo di 11 Mbps, 100 metri di
distanza , utilizzo della banda ISM a 2.4 GHz, tecnica di modulazione DSSS con tecniche di modulazione quali:
- DBPSK (Differential Binary Phase Shift Keying) per velocità da 1 Mbps
- DQPSK (Differential Quaternary Phase Shift Keying) per velocità da 2 Mbps
- QPSK/CCK (Quaternary Phase Shift Keying with Complementary Code Keying) per velocità comprese tra 5,5 e 11 Mbps.
Il livello fisico di questi standard viene comunque approfondito nell'omonimo paragrafo. Attualmente lo standard 802.11 è in continua
evoluzione, grazie alle estensioni che i vari gruppi di lavoro stanno studiando e proponendo. Da poco si è infatti approvato lo standard
802.11g che presenta un throughput di 54 Mbps ad una frequenza di 2.4 GHz. La tecnica di modulazione usata è la OFDM (tre canali
disponibili non overlapping).
Si riporta di seguito un elenco dei vari gruppi di lavoro dell'IEEE 802.11 per capire in quali campi di ricerca essi lavorano.
Topologie di rete contemplate dallo standard 802.11
In una WLAN il blocco elementare è dato da una BSS (Basic Service Ser) ovvero un gruppo di stazioni situate nella stessa area e
coordinate dalla stessa funzione di coordinazione (DCF o PCF. Avrò modo in seguito di parlare di queste.) Solitamente abbiamo che in
questi blocchi una stazione può colloquiare direttamente con un'altra che si trovi all'interno della stessa BSS. Tale area prende il nome di
BSA (Basic Service Area). Sostanzialmente abbiamo una serie di NIC (Network Interface Card) wireless, dette anche semplicemente
stazioni (STA), inserite in apparati di diversa natura (PC, portatili, palmari,ecc.) e da un bridge wireless, definito AP (Access Point), come
mostrato in figura. L'Access Point interfaccia la WLAN con la rete cablata (quindi anche con altre WLAN eventualmente) . Per la maggior
parte delle WLAN presenti sul mercato il range spaziale all'interno del quale le stazioni riescono a trasmettere dati con l'AP è di circa
300m all'aperto.
Nello standard in questione sono definite due tipologie:
• Reti IBSS (Indipendent BSS) dette anche ad hoc network.
• Reti ESS (Extended Service set)
Nel primo caso siamo in assenza di un'AP. La comunicazione tra due distinte stazioni può avvenire direttamente se queste sono in
visibilità radio, come riportato in figura.
Oppure attraverso l'ausilio di stazioni intermedie il cui compito è quello di propagare l'informazione fino al destinatario. In quest'ultimo
caso la rete necessita di un protocollo di routing per l'instradamento dei dati.
Nel secondo caso siamo invece in presenza di un'AP. La comunicazione tra due distinte stazioni avviene sempre mediante l'appoggio
intermedio sull'AP che quindi deve essere necessariamente in visibilità radio con le altre stazioni. Più BSS formano in tal modo una rete
wireless di più vasta copertura geografica. Tutto sta nel posizionare opportunamente gli AP. E' ovvio che ogni stazione sarà in
comunicazione con un solo AP ovvero quello che presenta migliore visibilità radio. Compito degli AP sarà quindi anche quello di
comunicare tra loro o con reti esterne. Quindi oltre alle funzioni di coordinazione abbiamo anche quella di bridge verso l'esterno mediante
l'uso di DS (Distribution Service) ovvero una dorsale wireless o wired che connette tra loro gli AP e l'interfaccia con l'esterno.
Qualora una stazione sia mobile è possibile mediante l'uso di protocolli di roaming di dissociarsi da una BSS per entrare a far parte di una
nuova. Tenendo conto ovviamente della visibilità radio offerta dal corrispondente AP e dal traffico gestito dallo stesso.
Il livello MAC nello standard IEEE 802.11
L'architettura logica di una WLAN che definisce l'attività di rete, comprende gli ultimi due livelli della pila ISO-OSI, come riportato nella
figura seguente.
In una Wireless LAN abbiamo che le stazioni sono obbligate a condividere lo stesso canale trasmissivo. Questo implica il problema delle
collisioni nel caso avvenga la trasmissione contemporanea da parte di due o più stazioni. Per evitare questo problema, il standard in
questione utilizza il protocollo CSMA/CA con acknowledgment (ACK) definendo così il DCF (Distribuited Coordination Function ). Perché
viene utilizzato quest'ultimo? Perché nelle strutture wireless, a causa della bassa potenza trasmessa dai nodi, non si rende possibile la
rilevazione di una collisione. Una stazione che trasmette il pacchetto informativo, è in grado di rilevare la collisione solo a fine
trasmissione. In tal caso infatti, non riceverà il pacchetto ACK valido come riscontro. Ovviamente il segnale di ACK viene generato dalla
stazione ricevente che ha ricevuto correttamente il dato trasmesso. Parliamo di ricezione corretta in quanto alla perdita d'informazione
non concorre solo il fenomeno della collisione, ma anche il rumore presente sul canale ed altri fenomeni di disturbo. In Tali situazioni si
sfrutta il Bit Error Rate e il Packet Error Rate per quantificare l'entità del disturbo. Abbiamo quindi introdotto il concetto di DCF. Questo è
il modo fondamentale di coordinamento di traffico in una WLAN. Esso infatti è sempre presente. Stessa cosa non va invece detta per il
PCF che è una funzione di coordinamento opinabile. Questi modi posso coesistere in una WLAN. Considerando infatti il CFP riportato in
figura, abbiamo che il DCF lavora nel CP (Contention Period), mentre il PCF nel CFP (Contention Free Period).
Nei prossimi capitoli avrò modo di approfondire l'analisi di queste due funzioni di coordinazione. Prima di andare ad analizzare il frame
soffermiamoci un momento sul funzionamento della pila ISO-OSI al fine di capire come viene costruito il frame. Sappiamo che questa è
una struttura gerarchica il cui funzionamento può essere riassunto per grandi linee nel seguente modo: il programma applicativo dell'
host 1 deve mandare un messaggio alla sua peer entity dell' host 2 ; il livello applicativo consegna quindi il messaggio in oggetto al
livello sottostante per la trasmissione; questo aggiunge un suo header ( testata ) in testa al messaggio. Quest'ultimo contiene
informazioni di controllo, tra le quali il numero di sequenza del messaggio, la dimensione del messaggio e altro. L'informazione così
elaborata viene passata al livello sottostante che può trovarsi nella necessità di frammentare i dati da trasmettere in unità più piccole, (i
cosiddetti pacchetti ) a ciascuna delle quali aggiunge il suo header. Il messaggio è quindi passato al livello sottostante ovvero il livello
MAC. Questo blocco di dati costituisce il frame body del pacchetto a livello MAC, indicato anche come MSDU (MAC Service Data Unit) ;
proprio il livello MAC vi aggiunge ulteriori dati in testa (MAC header) ed in coda (il campo FCS), a formare il MPDU (MAC Protocol Data
Unit) , che `e il payload di un pacchetto a livello fisico e quindi viene anche indicato come PSDU (Physical Service Data Unit) ; infine il
livello fisico vi aggiunge in testa i campi di preambolo ed intestazione, traduce in segnale elettrico il pacchetto così ottenuto e lo
trasmette sul canale fisico tramite una opportuna modulazione. In caso di pacchetto ricevuto il percorso da seguire `e invertito. Vi sono
inoltre dei frame che non contengono dati ma sono comunque essenziali per la rete; questi sono generati interamente dal livello MAC e
quindi il relativo eventuale MSDU non proviene dai livelli superiori. Passiamo ora a descrivere come è organizzato il frame nello standard
802.11. Ricordiamo anzitutto che il frame è un'insieme di oggetti dalla struttura ben definita e nota sia a chi trasmette sia a chi riceve. Il
formato generale presenta un'insieme di campi che si presentano in un fissato ordine. In figura si riporta tale modello generale.
Vediamo quindi come sono organizzati i vari campi. Il frame di controllo consiste in un insieme di sottocampi quali: Protocol Version,
Type, Subtype, To DS, From DS, More Fragments, Retry, Power Management, More Data, Wired Equivalent Privacy (WEP), e Order.
Questi vengono riportati nella figura seguente.
Protocol Version : è un campo di lunghezza pari a due bit contiene informazioni circa le revisioni dello standard in uso. Nello standard
802.11 tale valore è settato a 0. Questa quantità viene incrementata di una unità quando si presenta un'incompatibilità tra la versione in
uso e la precedente.
Type and subtype : presentano una lunghezza rispettiva di due e quattro bit. La loro funzione è quella di identificare il tipo di frame in
oggetto. Abbiamo infatti tre tipi di frame supportati dallo standard 802.11:
- Frame di gestione: comprendono frame usati per l'associazione e la separazione da una BSS, per l'autenticazione e la deautenticazione,
per la temporizzazione e la sincronizzazione.
- Frame di controllo: comprendono frame usati per l'handshake durante il CP, per l'ACK positivi durante il CP e per la terminazione dle
CFP.
- Frame dati: contengono i dati trasmessi durante il CP e il CFP.
Si riporta di seguito una tabella relativa alle combinazioni di bit valide.
To DS : settando tale campo a 1 o 0 si definisce se il frame è destinato al Distribution System o meno.
From DS : se posto a 1 indica che il frame proviene dal Distribution System. In caso contrario è settato a 0.
More Fragment: questo campo, di lunghezza pari a 1 bit, viene settato a 1 nei frame di dati o di gestione che hanno subito la
frammentazione, dando così l'indicazione della presenza di altri pacchetti del corrente MSDU (MAC Service Data Unit) o MMPDU (MAC
Management Protocol Data Unit).
Retry Field: questo campo, di lunghezza pari a 1 bit, è settato a 1 nei frame dati e di gestione che hanno subito la ritrasmissione. Serve
a dare informazione alla stazione ricevente circa l'eliminazione dei frame doppioni.
Power Management Field: questo campo, di lunghezza pari a 1 bit, definisce lo stato energetico di una stazione (active / power save
mode). Questo valore è indicativo dello stato di una stazione al termine di uno scambio di dati. Il livello logico 1 è indicativo dello stato
power save mode. Il campo è settato sempre a 0 nei frame trasmessi da un Access Point.
More Data Field: questo campo, di lunghezza pari a 1 bit, se settato a 1 da indicazione ad una stazione in power save mode che altri
MSDU o MMPDU stanno per essergli inviati da un AP.
WEP Field: questo campo, di lunghezza pari a 1 bit, se settato a 1 indica che il corpo del frame ha subito un criptaggio con algoritmo
WEP. Tale campo può essere settato a 1 solo nei frame dati e di autenticazione.
Order Field: questo campo, di lunghezza pari a 1 bit, è settato a 1 solo nei framme di dati che contengono MSDU o frammenti dello
stesso.
Ritorniamo quindi alla descrizione dei campi presenti nel frame generico.
Duration/ID Field: questo campo presenta una lunghezza di 16 bit ed il contenuto può assumere i seguenti significati:
Nei frame di controllo con subtype power save-poll, viene memorizzato nei 14 bit meno significativi l'AID (Association Identity) della
stazione trasmittente. I due bit più significativi vengono settati a 1.
In ogni altro tipo di frame definisce un valore indicativo della durata del frame stesso. Tale valore va ad aggiornare il contenuto del NAV
(Network Allocation Vector) di cui parlerò in seguito. I frames trasmessi durante il CFP presentano questo campo settato al valore di
32768.
Address Field: All'interno del frame ci sono ben 4 campi contenenti informazioni circa indirizzi. Senza dilungarmi troppo nella descrizione
di questi (per maggior informazioni fate riferimento allo standard 802.11) mi limito a dire che vengono trasmesse informazioni circa il
BSSID (Basic Service Set Identifier) , DA (Destination Address), SA (Source Address), RA (Recevier Address) e TA (Trasmitter Address).
Sequence Control Field: è un campo lungo 16 bit all'interno del quale è possibile individuare due sottocampi. I primi 4 bit identificano il
numero del pacchetto qualora ci sia stata una frammentazione (Fragment Sequence), mentre i rimanenti 12 definiscono il numero del
MSDU o MMPDU all'interno della sequenza generale (Sequenze Number).
Frame Body Field: è il corpo del frame, contenente l'informazione che si vuol trasmettere. La sua dimensione varia tra 0 e 2312 byte.
FCS Field: è un campo di controllo dell'errore ( frame check sequence, FCS ), che contiene un valore a 32 bit calcolato in funzione di tutti
i precedenti byte presenti nel frame, indicato come CRC (cyclic redundancy code).
Prima di inviare un qualsiasi frame, il nodo deve in generale verificare che il canale sia libero (assenza di portanti) per un certo intervallo
di tempo, chiamato IFS (Interframe Space). Questa quantità può assume quattro valori distinti e definiti come segue:
- SIFS (Short IFS) : è il più breve intervallo di tempo definito. E' usato per i frame di ACK o CTS (Clear to Send), tra due MPDU all'interno
di un burst, da una stazione che risponde al polling;
- PIFS (PCF IFS)= SIFS + aSlotTime . Usato esclusivamente nella modalità PCF per avere priorità nell'accesso al canale, è definito in
funzione di aSlotTime , l'unità temporale dipendente dal livello fisico usato;
- DIFS (DCF IFS) = PIFS + aSlotTime. U sato esclusivamente nella modalità DCF in generale prima di iniziare una contesa;
- EIFS (Extended IFS) = DIFS + 8 * ( durata di unACK ) + ( durata di un preambolo ed una intestazione PLCP ). E' usato nella modalità
DCF quando vengono rilevati degli errori nel canale al livello fisico, tramite il controllo dei CRC;
Il DCF (Distribuited Coordination Function)
Come detto in precedenza, il DCf rappresenta all'interno dello standard IEEE 802.11 il metodo fondamentale di funzionamento della rete
e pertanto è obbligatoriamente presente in tutte le sue implementazioni. Esso sfrutta il protocollo CSMA/CA che ricordiamo essere di tipo
a contesa. Questo è opportunamente modificato al fine di ottenere un riduzione delle collisioni. Passiamo ad analizzare l'insieme di regole
che una stazione deve rispettare per poter trasmettere all'interno di una BSS. Ogni stazione che presenta del traffico in coda è una
stazione che partecipa alla contesa del canale. Questa si pone in ascolto del canale attendendo che lo stesso risulti libero. Appena ciò
avviene si attende un DIFS quindi, se ci sono concorrenti, si partecipa alla contesa. In caso contrario la trasmissione avviene subito al
termine del DIFS. L'ascolto del canale, al fine di determinare se lo stesso è occupato o meno, avviene facendo uso di due tecniche. La
prima agisce a livello fisico e consiste nel effettuare un'analisi della potenza presente sul canale stesso al fine d'individuare la presenza o
meno di una trasmissione. A questa viene affiancata una tecnica chiamata Virtual Carrie Sensing. Nell'analisi del frame abbiamo
individuato un campo denominato Duration/ID. in questo viene inserito un valore che definisce la durata, espressa in microsecondi, della
corrente sequenza di scambio di dati. Tale quantità viene calcolata a partire dal termine della ricezione del frame contenente
l'informazione stessa. Questa viene inserita nel NAV di tutte le stazioni facenti parte della BSS. Pertanto, ricevuto questo frame di
controllo, tutte le stazioni aggiorneranno il proprio NAV ed incominceranno a decrementarlo. Il canale risulterà occupato per tutte le
stazioni che presentano un NAV diverso da zero. Una stazione il cui NAV è uguale a zero, attende un DIFS, quindi inizia la contesa.
Ovviamente il canale risulterà occupato se almeno uno dei due meccanismi da esito negativo. Vediamo cosa accade più nel dettaglio. Una
stazione che vince la contesa trasmette il proprio pacchetto. Chi riceve questo attende un SIFS quindi risponde con un ACK. Tale segnale
indica che la trasmissione ha avuto esito positivo. Pertanto lo stesso viene generato solo se non ci sono state collisioni o se il controllo
degli errori ha dato esito negativo. Si potrebbe infatti avere che dopo la procedura di contesa del canale, due o più stazioni inizino la
trasmissione. In tale situazione solo l'assenza di riscontro positivo sarà indice di un errore nella trasmissione stessa. In tal caso si
attenderà che il canale si liberi più un DIFS per poter partecipare nuovamente alla contesa.
Vediamo quindi come avviene la contesa del canale. Ogni stazione genera un valore intero in modo casuale mediante l'uso di una
distribuzione uniforme all'interno di un intervallo [0, CW] La grandezza di quest'intervallo è definita dallo standard. Il valore estratto è un
multiplo intero del aSlot-Time. Dopo che il DIFS è trascorso, si dovrà attendere che passi un tempo pari a questo appena definito prima
di poter trasmettere. Sostanzialmente abbiamo quindi che una stazione genera tale valore e comincia a decrementarlo di un aSlot-Time.
Vede quindi cosa accade sul canale e decrementa di un altro aSlot-Time. Quando il valore ottenuto diviene pari a zero, la contesa risulta
riuscita e si inizia la trasmissione. Questa procedura prende il nome di Backoff Time. Qualora durante questa operazione il canale
dovesse risultare occupato, allora si congela il valore. La procedura viene quindi riavviata nell'istante in cui il canale risulta libero per un
DIFS. Una volta vinta la contesa e trasmesso il frame, la procedura si ripete estraendo un nuovo valore dalla finestra [0, CW] La
differenza sta che in questo caso, il limite superiore della finestra è settato a CW min nel caso in cui la trasmissione abbia avuto esito
positivo (ACK), mentre viene assegnato valore pari a :
CW = 2CW + 1 < CW max
in caso di esito negativo. Il numero massimo di ritrasmissioni di uno stesso frame è definito da due parametri quali Short Retry Limit e
Long Retry Limit. Il primo è usato qualora stiamo trasmettendo un MSDU o un MMPDU di lunghezza inferiore ad un certo parametro. Il
secondo negli altri casi. Esiste un'altra modalità di trasmissione nella quale si ha lo scambio di due frame di controllo prima della
trasmissione effettiva. Vediamo come avviene e in quali casi è utilizzata. Il primo frame trasmesso dalla stazione sorgente è un RTS
(Request to Send). Questo specifica la durata della trasmissione del presente frame di dati e del seguente frame di ACK. La stazione
destinatario, dopo un intervallo di tempo di un SIFS dalla ricezione del RTS, invia un frame CTS (Clear to Send) in cui sono contenute
ancora informazioni sulla durata dell'attuale trasmissione. Tutte le stazioni all'interno del BSS, che riescono a “sentire” i frame RTS e
CTS, aggiornano il valore del loro NAV grazie alle informazioni contenute in questi. Lo scambio dei frame di RTS e CTS viene indicato
dallo standard come facoltativo, in quanto, soprattutto in presenza di frame di dati molto piccoli, potrebbe rendere inefficiente il
protocollo.
Esso si rende comunque necessario in presenza delle hidden stations : potrebbero esserci nella stessa BSS due stazioni non in visibilità
radio fra loro (ma che comunque vedono l'AP); se una delle due inizia la trasmissione di un frame di dati diretto all'AP, l'altra non riuscirà
in alcun modo ad accorgersi dello stato occupato del canale e potrebbe quindi iniziare una propria trasmissione, dando dunque origine ad
una collisione e alla perdita di entrambi i frame. In questa procedura invece, supponendo che la stazione remota non riesca a ricevere
l'informazione contenuta nell'RTS, sfrutterà quella contenuta nel CTS per aggiornare il proprio NAV.Discutiamo infine la presenza di un
meccanismo di frammentazione usato qualora il canale non permetta la trasmissione di frame troppo lunghi. Il frame originario viene
spezzettato ed inviato sottoforma di frame più piccoli. La stazione ricevente invierà un segnale di ACK ad ogni ricezione corretta. Sarà
impegno della stazione ricevente ricostruire il frame originario.
PCF (Point Coordination Function)
Come accennato in precedenza questa funzione di coordinazione va implementata opinabilmente. In ogni caso sarà sempre presente il
DCF che è la funzione di coordinazione fondamentale all'interno di una rete wireless. Entrambe queste possono coesistere in quanto
vengono ad essere implementate in istanti di tempo distinti. Se consideriamo il CFP Repetition Interval, il PCF viene implementato nel
CFP (Contention Free Period) mentre il DCF nel CP (Contention Period). Vado a commentare la seguente figura tratta direttamente dallo
standard IEEE 802.11
L'inizio del CFP è determinato dal PC (Point Coordinator) che solitamente coincide con l'AP della BSS. Questo invia un pacchetto, detto
Beacon Frame, la cui utilità è quella di sincronizzare la BSS. Tale frame viene inviato solo dopo che il PC ha constatato che il canale è
rimasto libero per un PIFS. Ricordo che tale valore è numericamente inferiore al DIFS, tempo che deve invece attendere una generica
stazione prima di poter accedere al canale. Di conseguenza viene garantita la priorità del PC nell'accesso al canale rispetto ad una
generica stazione. Trasmesso quindi il Beacon Frame, si ha che tutti i NAV vengono aggiornati ad un valore tale da impedire l'accesso al
canale per tutta la durata del CFP. In tal modo si sfrutta il Virtual Sensing per proteggere il PCF. La durata del CFP è inizialmente settata
al valore massimo ovvero il CFP Max Duration. In realtà tale periodo può essere terminato anticipatamente dal PC mediante l'invio di un
frame detto CF-END.
Nel CFP abbiamo quindi che il PC accede per primo al canale. Quindi interroga le stazioni e concede alle stesse il permesso di
trasmettere. La procedura seguita è la seguente. Trasmesso il Beacon, il PC attende un SIFS. Quindi trasmette il CF-Poll ovvero un frame
che autorizza la stazione che lo riceve a trasmettere. Quest'ultima risponde quindi con un frame di dati (nel caso generale) al quale
segue un segnale di CF-ACK da parte del PC in caso di corretta ricezione. Qualora sia invece il PC a dover trasmettere dei dati ad una
stazione, si ha la trasmissione di questi al posto del CF-Poll e la conseguente risposta da parte della stazione ricevente con un CF-ACK in
caso di corretta ricezione.
Nel PCF i frame vengono spessi accorpati al fine di migliorarne l'efficienza. Pertanto avremo che i PC possono trasmettere frame del tipo
CF-Poll, CF-ACK + CF-Poll, Data + CF-ACK + CF-Poll. La stazione che ha ricevuto il CF-Poll può rispondere dopo un SIFS con un CF-ACK o
con un Data + CF-ACK. Se la stazione non ha nulla da trasmettere, allora invia un frame detto CF-Null. Il PC sceglie le stazioni a cui
inviare il CF-Poll da una lista detta polling list. Questa contiene l'elenco di tutte le stazioni che, in fase d'associazione alla BSS, ne hanno
esplicitamente richiesto l'inserimento. Quando una stazione si associa a una BSS riceve un numero identificativo detto AID (Association
ID). La polling list viene interrogata in ordine crescente di AID. Quando la lista termina la si inizia nuovamente a leggere dall'inizio.
Anche per il PCF è previsto un processo di frammentazione e deframmentazione di dati simile al DCF. In figura si riporta un'esempio di
scambio di frame nel PCF.
Il QoS nelle Wireless LAN
Gli standard presentati in precedenza, sono stati pensati per un traffico di tipo generico detto best-effort. Con tale termine individuiamo
una certa tipologia di traffico caratterizzata dal non presentare particolari esigenze in termini di risorse assegnategli. Esempi di traffico
identificabili in tale categoria sono i traffici di trasferimento file (FTP, File Transfer Protocol), quelli per lo scambio di posta elettronica
(SMTP, Simple Mail Transfer Protocol, POP3, Post Office Protocol), o per la consultazione di pagine web (HTTP, Hyper Text Transfer
Protocol). E' anche vero però che negli ultimi anni si presenta sempre più l'esigenza di far uso di particolari tipi di traffici che presentano
esigenze nettamente diverse. Sto parlando di traffici di informazioni di tipo audio o video, interattive o non. Questo comporta il
soddisfacimento da parte della rete, di particolari specifiche in termini di prestazioni, al fine di garantire la qualità dell'informazione
trasmessa. Si introduce quindi il concetto di QoS (Quality of Service) definito come proprietà della rete di garantire una certa qualità nel
servizio offerto. Il gruppo IEEE 802.11 ha costituito pertanto un gruppo di lavoro il cui scopo sia la realizzazione di uno standard che
garantisca il soddisfacimento di questa specifica. Tale gruppo e il 802.11e. Allo stato dell'arte non è ancora stato definisto uno standard,
ma sono stati proposti diversi Draft . Il compito che mi pongo in questa sede è quello di definire meglio il concetto di QoS andando ad
analizzare le varie proposte fatte per garantire tale servizio nello standard 802.11.
Partiamo quindi dall'analizzare il traffico multimediale, cercando di capire quali esigenze esso presenta e perché non si possa sfruttare
una rete pensata per il traffico best-effort. Con traffico multimediale si identifica solitamente un tipo di trasmissione che presenti
informazioni di tipo audio o video al proprio interno. Allo stato attuale, abbiamo che le applicazioni più diffuse sono: audio streaming,
video streaming, video conference e VoIP (Voice over IP). Queste quattro applicazioni prevedono la trasmissione di tipo interactive detto
anche two-way (VoIP e video conference) nelle quali in traffico è bidirezionale,
o di tipo non-interactive detto anche one way (streaming audio e video) nelle quali abbiamo invece un traffico di tipo unidirezionale.
Appare evidente come queste applicazioni richiedano particolari specifiche alla rete al fine di garantire una ricezione accettabile verso
l'utente destinatario. Le specifiche di cui occorre tener conto sono sostanzialmente quattro:
Banda allocata. Occorre fare una differenziazione in termini di traffico trasmesso. Infatti passiamo da un banda di pochi Kbit/sec per il
VoIP fino a Mbit/sec nel caso di streaming video. Non può pertanto essere pensato una gestione paritaria delle risorse disponibili pena
uno spreco delle stesse.
Delay. Esso sostanzialmente è il tempo che trascorra tra l'istante in cui il pacchetto è generato all'istante in cui esso è ricevuto dal
destinatario. Appare evidente come ad esso concorrano una serie di fattori quali il ritardo di elaborazione (piccolissimo ma comunque non
nullo), il ritardo di accodamento (i pacchetti vengono conservati in una coda in attesa di esser trasmessi, usualmente serviti secondo una
politica FIFO - First In First Out), il ritardo di trasmissione (dipendente direttamente dalla velocit`a di trasmissione), ed il ritardo di
propagazione fisica del segnale trasmesso (anch'esso piccolissimo). Diventa un fattore a cui occorre fornire una particolare attenzione nel
caso di traffico interattivo pena il rischio di rendere la conversazione incomprensibile.
Jitter. Questa quantità esprime la varianza del ritardo di cui prima. Un jitter nullo è sinonimo di un ugual ritardo da parte dei pacchetti.
Jitter elevati significa un traffico poco fluido.
Packet loss. Da informazioni circa la quantità di pacchetti persi (oppure corrotti) durante la trasmissione. I traffici multimediali
presentano specifiche abbastanza stringenti verso questo indice.
Potenzialmente si potrebbe affermare che, in assenza di traffico sul canale trasmissivo, il DCF potrebbe tranquillamente garantire questo
il QoS verso questi tipi di traffico. In realtà sappiamo bene come la qualità di un protocollo il cui fine ultimo sia garantire una specifica,
vada saggiato in presenza di condizioni di lavoro sfavorevoli. Riporto di seguito una tabella in cui si definiscono, degli indici appena
elencati, i valori massimi tollerati in funzione dell'applicazione.
Il gruppo di lavoro 802.11e, istituito per opportare modifiche allo standard originale al fine di garantire il QoS verso tali applicazioni, ha
proposto due nuove modalità di trasmissione. Una è l'EDCF (Enhanced DCF) basata sul DCF, l'altra è l'HCF (Hybrid Coordination
Function) Basata sul PCF.
Il livello fisico
Questo livello occupa il posto più basso nella gerarchia individuata all'interno della pila ISO-OSI. E' situato al di sotto del livello MAC ed il
suo compito è quello di ricevere da quest'ultimo i frame da trasmettere sul canale e viceversa di passare i frame presi dal canale stesso.
Si occupa inoltre di determinare lo stato del canale stesso (Carrier Sense).
All'interno del livello fisico è possibile individuare i seguenti componenti:
- Physical Layer Management. Questo s'interfaccia con il livello superiore e gestisce i seguenti sottolivelli.
- PLCP (Physical Layer Convergence Procedure). Esso provvede a convertire i frame provenienti da livello MAC o dal canale aggiungendo
o eliminando un PLCP preamble e un PLCP header.
- PMD ( Physical Medium Dependent). Governa direttamente l'hardware in uso.
Nella prima versione dello standard IEEE 802.11 sono stati incluse tre differenti implementazioni per il livello fisico: DSSS, FHSS, IR. Le
successive estensioni dello standard hanno introdotto l' OFDM e una versione più veloce del DSSS, denominata HR-DSSS (High Rate
Direct Sequence Spread Spectrum). Esse rappresentano fondamentalmente diversi tipi di modulazione del segnale, che permettono
diverse frequenze di trasmissione. Analizziamo quindi ciascuna di queste, partendo da quelle di tipo Spread Spectrum.
- Modulazione Spread Spectrum - Rappresenta il comune denominatore della DSSS (e della FHSS. Questa tecnica di modulazione
permette sostanzialmente di spalmare la potenza del segnale in una banda più ampia al fine di garantire una maggiore immunità
all'interferenza ed un aumento del rapporto segnale rumore. Ovviamente si ha come risvolto uno spreco di banda.
- DSSS (Direct Sequence Spread Spectrum) - Lo standard IEEE 802.11 implementa la tecnica DSSS per trasmettere dati sul canale. La
trasmissione garantisce in tal modo un througput di 1 Mbps o 2 Mbps in una banda a cavallo dei 2.4 Ghz. Mediante questa tecnica si
suddivide la banda disponibile in 11 canali da 22 Mhz l'uno. Quindi mediante l'uso della sequenza di Barker come chipping code si codifica
ogni simbolo con chipping sequenze da 11 bit. Il differente througput dipende dal tipo di codifica implementato. Sfruttando il Differential
Birany Phase Shift keying si raggiunge la velocità di 1 Mbps. Per poter raggiungere i 2 Mbps occorre far uso della Differential Quadrature
Phase Shift Keying.
- FHSS (Frequency Hopping Spread Spectrum) - Anche in questo caso si fa uso di una banda allocata nell'intorno di 2.4 GHz. Questa
viene divisa in più canali la cui ampiezza è di 1 Mhz e il cui numero varia da paese a paese. L'allargamento dello spettro (Spread
Spectrum) avviene mediante modulazione con una portante che salta (Frequence Hopping) da una frequenza ad un'altra mediante una
sequenza pseudo-casuale. Lo standard impone che vi sia una distanza minima tra le frequenze di due salti contigui. Tale valore è pari a 6
MHz nel Nord America mentre è di 5 Mhz in europa e nel Giappone. Facendo uso di una codifica GFSK (Gaussian Frequency Shift Keying)
si raggiunge un througput di 1 Mbps, mentre con GFSK e quattro livelli si ottiene un througput di 2 Mbps.
- HR-DSSS (Standard 802.11b) - Lo standard 802.11b introduce un nuovo tipo di modulazione al fine d'ottenere un througput maggiore
di quello ottenuto dallo standard 802.11. E' da sottolineare che esso è un complemento allo standard originale e non una sostituzione.
Anche in questo caso si opera nella frequenza dei 2.4 GHz. Per i througput più bassi si fa sempre uso della DBPSK (1 Mbps) e DQPSK (2
Mbps). Per valori superiori si fa uso del DS-SS/CCK(Complementary Code Keying) + DQPSK per Data rates a 5.5 e 11 Mbit. Il DS-SS
code è di 11 chip per bit mentre il CCK code è di 8 chip per bit. Pmax= 1 W (USA), 100 mW (EU)
- OFDM (Standard 802.11a) - All'interno dello standard 802.11a si utilizza la OFDM come tecnica di modulazione. In queto modo la
trasmissione avviene in una banda allocata nell'intorno dei 5 Ghz con througput massimo di 54 Mbps (6 Mbps, 9 Mbps, 12 Mbps, 18
Mbps, 24 Mbps,36 Mbps, 48 Mbps, 54 Mbps). Sostanzialmente tale tecnica consiste nel suddividere un segnale dall'elevato bit rate in un
insieme di sottosegnali dal bit rate inferiore. Questi vengono trasmessi in simultanea mediante sottoportanti generate sfruttando la
Inverse Fast Fourier Transform. Per evitare errori introdotti da interferenza d'intersimbolo si mantiene una differenza di un numero intero
di periodi all'interno del periodo d'integrazione della FFt. In tal modo è assicurata l'ortogonalità e quindi l'annullamento dell'interferenza.
La frequenza operativa è di 5.15-5.35 GHz e 5.725-5.825 Ghz in US, UNII - Unlicensed National Information Infrastructure band mentre
in Europa 5.15-5.35, ma esistono ancora notevoli limitazioni all'utilizzo. Il througput è fortemente dipendente dalla potenza trasmessa e
dal numero di AP. Riporto di seguito una tabella riassuntiva circa il througput nello standard 802.11a.
- Infrared - L' IrDA (Infrared Device Application), è lo standard di interconnessione dati tramite infrarossi bidirezionale point-to-point tra
dispositivi posizionati in visibilità reciproca ( LoS, line of sight) Tali dispositivi sono indicati per le comunicazioni e non per le reti vere e
proprie. Questa modalità di trasmissione è stata inclusa nello standard 802.11 nell'eventualità di utilizzo di una rete in ambienti chiusi e
piccolo. Il througput raggiunto è di 1 o 2 Mbps sfruttando codifiche del tipo 16-PPM e 4-PPM.
ELENCO DEGLI ACRONIMI
ACKACKnowledgement
AIFS Arbitration Interframe Space
AID Association ID
AP Access Point
AITM Announcement traffic indication message
BRAN Broadband Radio Access Network
BSA Basic Service Area
BSS Basic Service Set
CBR Constant Bit RateCCI Controlled Contention Interval
CCK Complementary Code Keying
CFP Contention Free Period
CP Contention Period
CSMA/CA Carrier Sense Multiple Access/Collision Avoidance
CTS Clear To Send
CW Contention Window
DBPSK Differential Binary Phase Shift Keying
DCF Distributed Coordination Function
DIFS DCF Interframe Space
DQPSK Differential Quadrature Phase Shift Keying
DSSS Direct Sequence Spread Spectrum
EDCF Enhanced Distributed Coordination Function
EIFS Extended Interframe Space
ESS Extended Service Set
ESTA Enhanced STAtion
ETSI European Telecommunications Standards Institute
FFT Fast Fourier Transform
FHSS Frequency Hopping Spread Spectrum
GFSK Gaussian Frequency Shift Key
HC Hybrid Coordinator
HCF Hybrid Coordination Function
IBSS Independent Basic Service Set
IEEE Institute for Electrical and Electronic Engineers
IFFT Inverse Fast Fourier Transform
IFS Interframe Space
IR InfraRed
LAN Local Area Network
LLC Logical Link Control
MAC Medium Access Control
MMPDU MAC Management Protocol Data Unit
MPDU MAC Protocol Data Unit
MSDU MAC Service Data Unit
NAV Network Allocation Vector
NIC Network Interface Card
OFDM Orthogonal Frequency Division Multiplexing
PC Point Controller
PCF Point Coordination Function
PF Persistence Factor
PHY PHYsical
PIFS PCF Interframe Space
PLCP Physical Layer Convergence Procedure
PMD Physical Medium Dependent
PPDU PLCP Protocol Data Unit
PPM Pulse Position Modulation
QoS Quality of Service
RR Reservation Request
RTS Request To Send
SIFS Short InterFrame Space
SNR Signal to Noise Ratio
STA STAtion
TC Traffic Class
TCID Traffic Class IDentifier
TXOP Transmission Opportunity
TSPEC Traffic Specification
UMTS Universal Mobile Telecommunication System
VBR Variable Bit Rate
VoIP Voice over IP
WLAN Wireless Local Area Network