Ottimizzare la connessione internet


Al momento dell’attivazione della connessione a banda larga (ADSL o fibra ottica che sia) non è affatto detto che il PC sia configurato in maniera ottimale per favorire il raggiungimento della massima velocità di collegamento. Anzi, potrebbe essere configurato in maniera tale da ridurre, anche in maniera significativa, la banda effettivamente utilizzabile e, quindi, la velocità dei collegamenti. Il sistema operativo controlla infatti alcuni valori e parametri che incidono sensibilmente sulla velocità di trasmissione e ricezione in Rete. Dal momento che questi valori sono memorizzati nel Registro di Windows, per modificarli occorrerebbe accedere manualmente a quest’ultimo, operazione sempre un po’ rischiosa e, pertanto, sconsigliabile, a chi non ha molta esperienza in materia.

 Fortunatamente esiste una moltitudine di piccoli software che si occupano di apportare queste modifiche al posto nostro, solo però una volta che noi avremo suggerito loro i nuovi valori da inserire nel Registro. L’argomento è infatti il medesimo, ma questa volta ci concentriamo, anziché sulle connessioni a banda larga. Il più semplice e diffuso software che permetta di intervenire sui parametri di connessione di Window è probabilmente “Dr.TCP”: il programma si riduce a unica schermata, che deve essere compilata con i valori desiderati.

Puoi scaricare DrTcp gratis dal sito del produttore



Chi desiderasse un software più completo e automatizzato, e che consenta un controllo totale di tutti i parametri, c’è NetBooster, inserito nell’ottima suite di utilità System Mechanic. Qui comincia il nostro viaggio alla ricerca del modo per far viaggiare i dati attraverso la connessione in banda larga alla maggiore velocità possibile. Questa volta, anziché affidarci a software specifici, adottiamo un procedimento “più manuale” che ci permetterà, con un po’ di pazienza, di esercitare un maggiore controllo sul risultato. Data la larghezza NetStumbler della banda a nostra disposizione, l’unico elemento sul quale possiamo intervenire per “fluidificare” la trasmissione e la ricezione è il modo nel quale vengono “impacchettati” i dati per la spedizione. Pacchetti grandi implicano maggiori quantità di dati trasmesse nell’unità di tempo, ma gli stessi pacchetti potrebbero rimanere “incastrati” nel loro cammino nella Rete laddove la larghezza delle banda è modesta.

Pacchetti troppo piccoli, d’altronde, richiedono più tempo per trasferire la medesima quantità di dati, e la loro numerosità aumenta la possibilità che qualcuno di essi possa andare perso, rallentando il processo di trasmissione/ricezione. “Ottimizzare la connessione” significa in sostanza questo: ottimizzare la dimensione dei pacchetti di dati e il modo in cui saranno trasmessi. Il primo valore da considerare è il cosiddetto MTU, acronimo che sta per Maximum Transfer Unit: questo numero definisce la dimensione standard dei pacchetti di dati che Windows scambia su Internet o in una qualunque rete locale. Ora, quando due computer comunicano tra loro, devono usare entrambi uno stesso valore di MTU, e il computer che utilizza il valore inferiore è quello che determina la velocità complessiva di trasmissione. Se il valore usato dai due computer per comunicare tra loro è però maggiore di quello utilizzato dai cosiddetti “router” che si frappongono ai vari server su Internet, ogni pacchetto di dati scambiato dovrà essere spezzato in parti più piccole, causando quella che si definisce “frammentazione di rete”.

Questa frammentazione può incidere in maniera drammatica sulla velocità di trasmissione dei dati, fino a raddoppiarla!

Qual è dunque il giusto valore MTU da adottare?

È quello il più possibile vicino a quello adottato dal proprio Internet provider. Alcuni di questi operatori dichiarano esplicitamente il valore che utilizzano, in altri casi è necessario  Local Area Network (LAN)ricorrere alla “sperimentazione”, anche se esistono dei parametri di riferimento generali che, spesso, si rivelano alquanto efficienti. Per le connessioni DSL, in fibra ottica o, comunque, in rete locale Ethernet, il valore di riferimento è 1500; chi usa una connessione “dial-up” (il tradizionale modem analogico accoppiato alla linea telefonica) otterrà migliori risultati con il valore 576. Esistono comunque dei software specifici (come MTUProbe del programma TweakMaster, scaricabile gratuitamente dal sito del produttore ) che rilevano automaticamente l’MTU utilizzato da un determinato server. Un altro elemento che entra in questa complessa alchimia è il cosiddetto MSS (Maximum Segment Size) che determina la dimensione massima di un singolo pacchetto di dati inviato tramite una qualunque connessione Internet (quella che gli esperti definiscono “connessione TCP/IP”) e dovrebbe sempre essere pari a (MTU – 40). Se avete dunque selezionato un valore MTU di 1500, il vostro MSS sarà di 1460. Questo risultato, come vedremo, è necessario per calcolare il secondo parametro fondamentale da settare per ottimizzare la connessione: il cosiddetto RWIN, breve acronimo per “TCP Receive Window Size”. Vediamo di capire che  cos’è, prima di occuparci della sua ottimizzazione. Si tratta della dimensione massima dei pacchetti di dati che un sistema può ricevere senza ripetere la richiesta al server che glieli ha inviati. Prima che vi sentiate persi, traduciamo subito in soldoni: è la dimensione ottimale che debbono avere i pacchetti di dati “per non far perdere tempo ai due PC che se li scambiano”.

Un esempio ci aiuterà a chiarire il concetto. Supponiamo che il computer “Pippo” voglia scaricare un file dal computer “Pluto”. Pippo manda la richiesta a Pluto, il quale comincia a inviare i dati, un pacchetto dopo l’altro. Per ogni pacchetto di dati ricevuto, Pippo spedisce a Pluto una conferma della ricezione: se però Pluto dovesse attendere sempre la conferma della ricezione del pacchetto precedente, prima di spedire quello seguente, il trasferimento potrebbe richiedere tempi lunghissimi. È qui che entra in gioco l’RWIN, una specie di contenitore di dati temporaneo. Pluto potrà continuare a inviare pacchetti senza attendere la conferma della ricezione fino a quando l’RWIN non sarà pieno dei dati spediti a Pippo sino a quel momento. In altre parole, pensate a una ricevuta di ritorno che non viene emessa per ogni singola raccomandata ricevuta, ma solo dopo aver ricevuto un insieme di raccomandate.

Un RWIN troppo “piccolo” farà sì che troppo spesso il trasferimento si interrompa per permettere a Pippo di spedire la conferma a Pluto. D’altronde, un RWIN troppo “grande”, soprattutto se la linea o il collegamento sono disturbati, farà sì che Pippo e Pluto si accorgano con grande ritardo di eventuali pacchetti “persi per strada” (e quindi da rispedire), rallentando comunque il trasferimento dei dati. Ottimizzare il valore di RWIN significa allora scegliere un parametro che sia abbastanza grande da consentire un flusso veloce e ininterrotto di informazioni tra i due computer, ma abbastanza piccolo da permettere di far fronte rapidamente alla sostituzione (e quindi al reinvio) di eventuali dati corrotti. In questo caso -ahinoi!- non c’è nemmeno un valore di riferimento di massima più o meno valido per tutti (come nel caso dell’MTU), ma è necessario andare per tentativi ispirandosi a due concetti chiave: più è alta la velocità nominale della vostra connessione (quella ciò dichiarata dal provider con cui avete sottoscritto l’abbonamento) e maggiore è la sua latenza, più elevato deve essere il valore di RWIN. La latenza, detta anche “ping”, di una connessione è indice della velocità con la quale viaggiano i pacchetti di dati al suo interno. Più esattamente, è il tempo impiegato da un pacchetto di dati che parte del nostro computer a raggiungere il server che stiamo contattando: minore è il ping, maggiore è la velocità. A seconda della dimensione del pacchetto di dati che si considera, la misura della latenza può variare. Tenente in mente il concetto perché lo useremo tra poco.



L’equazione chiave (non spaventatevi) per ottenere il valore grezzo di RWIN è RWIN = (1,5 t x V)

: 8 dove “t” è il tempo di “ping” medio in millisecondi e “V” è la velocità nominale della vostra connessione in Kilobit.

Supponiamo che abbiate un abbonamento ADSL a 640 Kbit/s, con un ping medio di circa 100 ms.

Il vostro RWIN sarà di…

150 x 640 : 8 = 12.000

Se invece avete una fibra ottica a 10Mbit/s, con un ping medio di circa 10 ms, l’RWIN risulterà…




15 x 10.000 : 8 = 18.750

Ma come facciamo a calcolare il “ping”?

Si tratta di un’operazione piuttosto semplice, anche se fornisce un dato poco preciso e necessariamente approssimato. Per calcolarlo, dobbiamo “pingare” (ossia mandare un pacchetto di dati di dimensioni prestabilite) verso alcuni dei siti che visitiamo più spesso, e che devono però anche essere sufficientemente lontani da noi: esclusi i server italiani, è meglio prendere come riferimento server europei o anche d’oltreoceano. Poi effettueremo una media dei valori rilevati. Il modo più semplice per pingare, consiste nell’utilizzare il Prompt di MS-DOS, normalmente raggiungibile da Start/Programmi/Accessori/ Prompt MS-DOS.

Lista di server per misurare misura la velocità della connessione durante la navigazione internet

Qui dovremo digitare la seguente stringa

Ping -t -l 1500 www.offertagratis.com dove, di volta in volta, al posto di offertagratis.com andrà indicato l’indirizzo del sito da pingare. Il parametro “-t” (meno ti) fa sì che il comando venga eseguito automaticamente in una serie continua, mentre il parametro “-l” (meno elle) indica al computer che il pacchetto di dati da inviare deve avere dimensione pari al valore che segue, ossia i 1500 byte che caratterizzano, guarda caso, proprio il valore MTU prescelto. Lasciate uno spazio tra ogni elemento della stringa del comando.

Riassumendo

  1. Individuate il vostro valore di MTU
  2. Calcolate il vostro tempo di latenza (ping) medio
  3. Calcolate il vostro MSS
  4. Calcolate il vostro RWIN
  5. Inserite i nuovi RWIN e MTU nel registro di Windows; aiutatevi con un software apposito come DrTCP
  6. Riavviate la macchina perché le modifiche abbiano effetto

Sì, ottimizzare la connessione non è un affare semplice: è necessario un po’ di tempo, parecchia pazienza e un briciolo di determinazione. Se qualcuno di questi ingredienti vi dovesse mancare, potete saltare a piè pari parte dei calcoli manuali affidandovi a quelli automatici elaborati da un apposito servizio on-line, gratuitamente offerto da “dslreports” (www.dslreports.com). Il Tweak Test è un “applet java” (ossia un programma scritto nell’omonimo linguaggio, eseguibile direttamente dalla pagina Web) che analizzerà la vostra connessione, evidenzierà eventuali problemi per poi consigliarvi un intervallo di valori ottimali di RWIN. Si tratta evidentemente di un’analisi automatizzata che fornisce valori attendibili, ma che richiederanno un ulteriore ritocco da parte vostra.

Il calcolo dell’RWIN infatti, viene realizzato soltanto sulla base del valore di latenza relativo al server di “dslreports”, che non è detto sia vicino al valore medio delle latenze che incontrate collegandovi ad altri siti di vostro frequente utilizzo. L’intera procedura è descritta minuziosamente nelle quattro pagine per esperti del nostro Passo a passo.

A questo punto il vostro PC comincerà a inviare dati al server bersaglio: lasciatelo lavorare per qualche minuto, poi interrompete l’operazione con la combinazione di tasti CTRL + C. Al prompt del DOS vi verrà indicato la latenza minima, massima e media riscontrata durante il test. Segnatevi il valore medio. Ripetete il test con una decina di server significativi per voi (perché magari li contattate spesso), dopodiché fate la media dei valori medi di latenza: quello risultante sarà il dato da inserire nell’equazione per il calcolo dell’RWIN grezzo. Ora che avete tutti i dati per risolvere l’equazione, manca ancora un passaggio per trovare l’RWIN ottimale. Prendete il valore ottenuto dall’equazione e arrotondatelo affinché risulti essere il più vicino multiplo pari del vostro MSS.

Esemplificando: se avete ottenuto un valore RWIN di 12.000, e il vostro MSS è 1460 calcolate: 12000 : 1460 = 8,21 quindi arrotonderete a 8 e otteniamo 8 x 1460 = 11680 che, finalmente, costituisce il nostro RWIN ottimale. Questo arrotondamento fa sì da massimizzare la percentuale di pacchetti di dati interi che verranno trasferiti durante la connessione, minimizzando quindi la frammentazione dei dati (di cui abbiamo già parlato), e velocizzando sia le operazioni di download, sia quelle di upload. Tenete presente che se state utilizzando Windows  il limite massimo per questo valore è di ben un 1 Gbyte Ora abbiamo tutti i dati necessari, non ci resta che inserirli nel Registro di Windows. Onde evitare di mettervi le mani direttamente, utilizziamo il software DrTCP (è un freeware scaricabile liberamente al sito: www.dslreports.com/drtcp che ci farà da tramite.