• Non ci sono risultati.

3.3.1

On Demand Feedback Rate Adaptation (OFRA)

Nel lavoro presentato nel 2011 [7] possiamo analizzare un algortimo che permette al ricevitore di adattare il rate all’utente attraverso un canale di segnalazione che puo’ avere un bit rate paragonabile al tempo di coerenza del canale sfruttato per la trasmissione permettendo di eliminare parte dell’overhead della trama a livello fisico che andrebbe inviata al basic rate permesso dalla modulazione BPSK. Il ricevitore deve misurare il rapporto segnale rumore (SNR) e di conseguenza valutare quando sia necessario far notare variazioni significative al trasmettitore senza dover fare uso delle trame di controllo come RTS, CTS oppure ACK. L’idea alla base dell’algoritmo e’ quella di inviare al trasmettitore l’indicazione precisa del

rate da utilizzare e non solamente una richiesta di abbassare o diminuire il rate trasmissivo in quanto il numero di MCS utilizzabili in trasmissione e’ diventato elevato.

Figure 3.5: Algoritmo Ofra

Per la stima di canale viene utilizzata la misura del SNR dell’ultimo pacchetto correttamente rice- vuto e l’indicazione del rate al quale e’ stato inviato. Inoltre, nell’arco di una finestra temporale della durata delle ultime 10 trame, viene indicato il numero di pacchetti correttamente ricevuti e il numero di feedback trasmessi dal ricevitore verso chi ha trasmesso i pacchetti. Al ricevitore e’ necessario avere in memoria una look-up table che lega il rate piu’ adatto al SNR effettivamente misurato: se l’ultimo rate rate del pacchetto correttamente ricevuto non coincide con il SNR indicato allora deve partire il nuovo frame di feedback verso il trasmettitore. La frequenza dei feedback deve essere legata all’effettiva flut- tuazione del canale e non si deve quindi aggiornare il rate ogni volta che il SNR misurato sia diverso dal precedente perche’ questo causerebbe un eccessiva modifica dei rate trasmissivi che potrebbe peggiorare il throughput dell’utente, di conseguenza deve essere proposto un algoritmo conservativo: il rate viene effettivamente modificato dal trasmettitore solo quando il ricevitore misura una PER superiore al 50% nell’ultimo intervallo temporale di 10 pacchetti ricevuti. Solo allora viene inviato il feedback al trasmet- titore contenente il rate da utilizzare per i successivi 10 pacchetti in coda al trasmettitore. Le misurazioni del SNR devono tenere conto della lunghezza del pacchetto come e’ mostrato in figura 6.

Figure 3.7: Feedback frame

Lo svantaggio di questo algoritmo e’ proprio nella generazione del feedback frame. Infatti e’ neces- sario creare un nuovo tipo di trama di controllo non prevista dallo standard composta da 2 byte di control frame che tiene conto delle varie informazioni che possono essere veicolati attraverso questo frame, 4 byte di durata, 12 byte che contengono gli indirizzi mac delle due stazioni che stanno comunicando, 1 byte di feedback che contiene un bit di indicazione sul tipo di ricevitore, 1 bit di flag settato ad 1quando e’ necessario cambiare rate e 6 bit che contengono l’indicazione precisa del rate da utilizzare per i suc- cessivi 10 pacchetti. Chiudono la trama 4 byte del FCS. Non e’ necessario che il ricevitore richieda l’invio di un Ack per verificare se la trama di feedback sia stata ricevuta correttamente: se il rate e’ stato modificato se ne accorge dal buon esito della successiva ricezione.

Le fluttuazioni del canale determinano la frequenza dell’invio dei frame di feedback, si nota che tanto piu’ il canale ha variazioni sensibili, tanto piu’ sara’ necessario inviare frame di feedback. Questo e’ un effetto che ci si aspettava e non produce grande sorpresa. Tuttavia si nota che, indipendentemente dal comportamento del canale, il rate di questa trama deve essere legato sempre all’indicazione del tempo di coerenza Tc. Tc= 0.4 fd , fd= 2vmax vc

• fde’ la massima frequenza doppler misurabile

• vce’ la velocita’ della luce nel vuoto

Si nota che quando il tempo di coerenza e’ misurato in 106 ms , il rate del feedback frame e’ pari a

1 61.6 ms

Per misurare il throughput sperimentato dall’utente e’ necessario introdurre il concetto di capacita’, in modo tale da poter affermare che il throughput si possa misurare come la ricezione positiva media di pacchetti dati, di conseguenza e’ possibile legare la capacita’ al throughput mediante la seguente relazione

c = Bitrate × (1 − Ber)

T hroughput = Bitrate × (1 − P er) = Bitrate(1 − (1 − Ber)γ) dove γ misura la lunghezza del pacchetto dati sotto trasmissione in bit.

3.3.2

Autorate fallback (ARF)

Questo algoritmo proposto nel 1997 [8] e’ stato sfruttato moltissimo agli albori della tecnologia 802.11 quando gli unici bit rate permessi erano 1 oppure 2 Mbps. Per il corretto funzionamento di questo approccio e’ necessario che sia noto il rate della trasmissione e il numero di successivi ACK ricevuti che garantiscono il buon esito dello scambio di frame tra trasmettitore e ricevito.IVediamo ora alcuni step dell’algoritmo

• 1 Il trasmettitore comincia a trasmettere verso il ricevitore con il piu’ piccolo rate previsto dalla tecnologia.

• 2 se per 10 trasmissioni consecutive l’ACK di ritorno viene ricevuto correttamente allora e’ pos- sibile passare al rate successivo piu’ efficiente del precedente e viene inviato dal trasmettitore un pacchetto di prova

• 3 se per questo pacchetto inviato al nuovo rate non viene ricevuto l’ACK allora il rate viene subito abbassato e riportato a quello di precedente. Lo stesso accade se l’ACK viene ricevuto corretta- mente ma accadono 3 trasmissioni consecutive fallite

Questo tipo di algoritmo funziona bene per variazioni di canali molto veloci perche’ si adatta in fretta a cambiamenti dal momento che il tempo di reazione e’ nell’ordine di 10 pacchetti. Lo svantaggio e’ l’introduzione dello stesso overhead ogni 10 pacchetti a prescindere dalle condizioni di canale a causa del pacchetto di prova inviato ad ogni tentativo di modifica del Rate. Un primo approccio per migliorare l’algoritmo e’ stato quello di aumentare il numero dei pacchetti buoni da considerare passando a 40 oppure 80 . Tuttavia non e’ detto che con questo nuovo approccio si riesca a risondere rapidamente alle variazioni del canale. Un buon compromesso e’ quello di evitare il decremento del rate dopo un solo pacchetto di prova ma aumentare il numero di pacchetti di test a 2 e, contestualmente, raddoppiare ad ogni passo la finestra temporale che tiene conto del numero di pacchetti fino a passare ad un massimo di 50. Questo approccio viene sfruttato in un algoritmo proposto nel 2005 dal Hal che e’ noto in letteratura come Advanced Autorate FallBack (AARF).

3.3.3

ONOE

Proposto per la prima volta nel 2011 [7] e sfruttato nelle reti 802.11a, 802.11b, 802.11g e permette di utilizzare un bit rate tale da avere una packet loss rate inferiore al 50%. Per ogni collegamento il trasmet- titore deve avere in memoria il bit rate del collegamento e anche un numero che misura in crediti la qualita’ del collegamento. Il bit rate iniziale per Wi-Fi 802.11 g e’ pari a 24 Mbps e il credito e’ pari a 0. Mentre per l’802.11 b la velocita’ iniziale viene settata a 11 Mbps.

Per ogni secondo viene calcolato il numero di ritrasmissioni: se supera la media di 1 ritrasmissione a pacchetto il rate scelto per la trasmissione viene decrementato. Il numero di crediti viene aumentato se meno del 10% dei pacchetti necessita la ritrasmissione e quando il numero di crediti arriva a 10 allora e’ permesso aumentare il bit rate.

3.3.4

Minstrel

Questo algoritmo [9] permette di utilizzare un insieme di 4 rate per la trasmissione dei pacchetti e un insieme di 4 contatori che contano i tentativi di ritrasmissione: (r0, r1, r2, r3) e (c0, c1, c2, c3). Il primo

pacchetto viene inviato al rate r0e se la trasmissione avviene correttamente si mantiene tale rate anche

per i successivi pacchetti, se invece si presentano dei problemi si ritenta per c0− 1 volte la trasmissione

del pacchetto al solito rate. Se i problemi persistono si continua a trasmettere i restanti rate dell’insieme tante quante volte e’ indicato dal valore dei contatori, fino alla cancellazione del pacchetto. Il problema di questo algoritmo e’ la scelta del rate: essa dipende da alcuni pacchetti di controllo, che vengono inviati parallelamente ai pacchetti dati, e misurano ogni 100 ms il throughput a rate diversi rispetto a quello attualmente in uso, di conseguenza Minstrel puo’ essere caratterizzato da un eccessivo spreco di risorse utili alla comunicazione.

TR=

pR

dR

dove TRe’ il throughput misurato al rate R, d e’ la durata di un pacchetto dati pari a 1400 Byte mentre p

e’ la stima della probabilita’ di pacchetto correttamente ricevuto che viene aggiornata ogni ∆t= 100 ms.

p(t + ∆t) = (

p(t) × (1 − W ) + W × (Ns/NaR) se NaR> 0

Una volta aggiornate le probabilita’ per ogni rate permesso si deve calcolare il throughput per mezzo dell’equazione precedente, vengono calcolati i 4 rates che andranno a far parte della catena di trasmis- sione. Per 802.11g, il budget totale da spendere per i 4 tentativi del rate e’ pari a 24 ms, 6 ms per ogni fase della catena di prova, un tempo sufficiente per 10 tentativi a 54 Mbps, ma solo per uno a 1 Mbps.

Figure 3.8: Rate e Contatori