i parla molto dello standard Wi-Fi 802.11 ma veramente pochi sanno come funzioni questo protocollo. Però, una cosa che sicuramente tutti conosciamo bene è che le connessioni Wi-Fi sono sempre troppo lente, nonostante sulla carta vengano dichiarati svariati megabit di banda. Nel resto dell’articolo analizzeremo le cause per cui la banda effettiva del collegamento risulta sempre notevolmente minore di quella dichiarata.
Cerchiamo di schematizzare la struttura di una trama Wi-Fi riassumendone tutti i tempi e gli scambi di informazioni necessari per il trasferimento di un singolo pacchetto secondo lo standard 802.11. La parte “DATA” corrisponde al pacchetto di informazioni scambiate. La parte “ACK”, o meglio acknoledgment, è la risposta di avvenuta ricezione da parte del ricevente. Il “DIFS” e “SIFS” sono dei tempi tecnici dei quali, ai fini di questo articolo, ci interessa sapere solo l’entità. Infine il “backoff” è un sistema implementato per evitare la trasmissione contemporanea tra più terminali.
Per capire meglio ciò che andremo ad analizzare è necessaria una prima importate distinzione tra DataRate e Throughput
Il DataRate è la velocità complessiva del collegamento Wi-Fi calcolata sulla trasmissione dell’intera trama ed è il dato che viene indicato su ogni dispositivo.
Il Throughput, invece, è la velocità effettiva del collegamento, calcolata solamente sul pacchetto scambiato, la parte in verde, rispetto all’intera trama.
Risulta essere chiaro dalle che il Throughput è sensibilmente più piccolo del DataRate. La velocità dichiarata sulle specifiche di ogni dispositivo Wi-Fi rappresenta il DataRate massimo ottenibile e non il Throughput effettivo. Questo piccolo ma fondamentale particolare ci fa capire come già sulla carta una connessione Wi-Fi sia più lenta di quanto dichiarato; andiamo quindi a verificare di quanto il Throughput si discosti dal DataRate. Prendiamo in considerazione una connessione 802.11b il cui DataRate dichiarato è di 11Mb/s, il Throughput sarà calcolato in base alla dimensione del pacchetto “DATA” rispetto al tempo complessivo di un’intera trama:
Mettendoci nelle migliori condizioni in cui il pacchetto “DATA” è di 1500 bytes (il massimo consentito dal protocollo), il preambolo è di 192µs(il preambolo è un segnale di riconoscimento che deve precedere ogni pacchetto), il SIFS e il DIFS sono imposti a 10µs e 50µs, l’”ACK” è di 14 bytes trasmesso a 1Mb/s e il Backoff medio è di 310µs, il Throughput risultante è di soli 6.07Mb/s, ossia solo il 55% del DataRate dichiarato. Questo 55% è ancora un massimo teorico quasi mai raggiungibile in pratica in quanto si ha solo nel caso in cui c’è un solo terminale a comunicare con la stazione, questi sono messi molto vicini, non ci sono ostacoli, non ci sono altre interferenze, non ci sono pacchetti persi e tutti i pacchetti sono della dimensione massima. Situazione molto difficile da ricreare per una connessione domestica, che diventa surreale se si pensa ad una Wi-Fi pubblica. Una cosa molto importante da considerare è che distanza, ostacoli ed interferenze non solo possono causare pacchetti persi, e quindi intere trame da ritrasmettere, ma, soprattutto, abbattono considerevolmente la potenza del segnale e quindi il rapporto S/N(segnale/rumore). Questo si riflette su una scelta di una modulazione più robusta, ossia che richiede un rapporto S/N minore al prezzo di un DataRate più basso. I 54Mb/s della 802.11g o gli 11Mb/s della 802.11b sono solamente i DataRate ottenibili con la migliore modulazione prevista dal protocollo che però richiede un alto rapporto S/N.
Abbiamo analizzato finora il caso di un unico terminale che comunicava con un access point in esclusiva, ma cosa succede se connettiamo due o più terminali ad un’unica stazione? Per non complicare troppo le cose prendiamo in esame solamente due terminali connessi contemporaneamente, le conclusioni si potranno intuitivamente estendere anche a più di due terminali.
Tralasciando il significato del “Frozen Backoff”, irrilevante ai fini del discorso, notiamo che all’interno del backoff della prima trama si inserisce la trama della seconda stazione. Considerando l’unione delle due trame come una trama più grande e supponendo che i pacchetti della prima stazione siano delle stesse dimensioni di quelli della seconda stazione, appare subito evidente come il throughput delle due connessioni verrà circa dimezzato, in quanto, a fronte di un unico pacchetto mandato per terminale, ogni stazione per mandare un’ulteriore pacchetto dovrà attendere che l’altra liberi il canale.
A conti fatti ogni linea trasmetterà a 3,3Mb/s, poco più della metà rispetto al Throughput teorico precedente calcolato per una connessione singola. Senza neanche accorgercene siamo arrivati ad un quarto della velocità dichiarata dal produttore utilizzando semplicemente due connessioni spinte al loro limite massimo. Ma non è ancora tutto, infatti il risultato più sorprendente lo si scopre andando a studiare la situazione in cui una stazione comunica con due terminali con velocità diverse. Prendiamo per esempio un terminale che comunica a 11Mb/s e uno che comunica a 2Mb/s, la struttura della trama rimane identica al caso precedente e, per gli stessi ragionamenti, anche i throughput dei due terminali saranno identici ed in particolare saranno:
Il risultato è sbalorditivo, sia il terminale a 11 Mb/s che il terminale a 2Mb/s hanno un throughput risultante di soli 1,39Mb/s. Questo risultato ci porta alla drammatica conseguenza che, in caso di connessioni multiple, il throughput è sempre limitato dal terminale più lento. Il problema è che il protocollo 802.11 è stato pensato per dare le stesse opportunità di accesso al canale a tutte le connessioni, indipendentemente dalla loro velocità. Naturalmente se questo problema è parzialmente risolvibile in ambito domestico, non lo è nelle Wi-Fi pubbliche, quelle presenti nelle biblioteche o nelle università, dove, a fronte di una buona connessione e di access point all’avanguardia, il throughput finale verrà comunque limitato dal terminale più lento connesso in quel momento alla rete.
Cosa ci riserva il futuro
Gli standard 802.11a,b,g soffrono tutti alla stesso modo i problemi fin qui descritti. Un grosso passo in avanti è stato fatto con il nuovo, e purtroppo ancora poco diffuso, protocollo 802.11n dove con vari accorgimenti si sono potuti arginare, con più o meno efficacia, i vari problemi riscontrati. I principali passi in avanti sono stati tre:
L’utilizzo di un array di antenne al posto di una singola che ha portato ad un significativo aumento del DataRate, dai 54Mb/s si è passati ai 300Mb/s.
Una diversa gestione delle priorità di accesso al canale, chiamata “Airtime Fairness” dove viene dato più spazio sul canale alle connessioni più veloci, evitando così che le connessioni più lente limitino il throughput di quelle più veloci.
L’utilizzo di una nuova banda a 5GHz, oltre la vecchia a 2.4GHz. Sebbene la nuova banda risenta di meno interferenze c’è da ricordare che, a parità di potenza, all’aumentare dei GHz diminuisce considerevolmente il campo coperto.
Purtroppo i dispositivi 802.11a,b,g sono tutt’oggi la stragrande maggioranza e ancora troppi pochi sono quelli a supportare il protocollo 802.11n, ancor meno quelli che supportano anche il canale a 5GHz.
Uno sguardo alle reti HSDPA
Naturalmente anche la connessione HSDPA usata dai cellulari come tutte le connessioni senza fili, pur utilizzando protocolli differenti, presentano gli stessi tipi di problemi affrontati in questo articolo. Quindi, quando comprate una internetkey, o uno smartphone, che garantisce una connessione HSDPA a 7,2Mb/s o più, sappiate che quello è solo il DataRate massimo, il Throughput, nella migliore delle situazioni, non andrà oltre il 25/30%.
Non prendetevela con le varie Wind, Vodafone, 3, ma piuttosto con gli ingegneri che non hanno saputo trovare un protocollo più efficiente.