Ottimizzare e velocizzare la connessione ADSL


To totally unlock this section you need to Log-in


Login

In questa guida vedremo alcuni passi di base che possono servire a velocizzare ed ottimizzare la connessione adsl in modo da renderla più reattiva, con minori tempi di ping (tempo di riposta) e velocizzare nel complesso l'invio e la ricezione di pacchetti.

Come sistema operativo di esempio prenderemo Windows XP e Windows Vista, ciononostante le informazioni sono tranquillamente applicabili anche a qualsiasi altro sistema operativo su cui sia installato il driver TCP/IP.

Si tenga nota di questi importanti parametri:

  • MTU (Maximum Transfer Unit): È la dimensione massima (in byte) di un pacchetto TCP inviato; il massimo è 1500.
  • MRU (Maximum Receive Unit) : È la dimensione massima (in byte) di un pacchetto TCP ricevuto.
  • MSS (Maximum Segment Size): La dimensione massima di un segmento. Solitamente viene calcolata automaticamente a partire dai valori di MTU e MRU. È importante che l' RWIN sia un multiplo dell' MSS moltiplicato per 44.
  • TTL (Time To Live): Il numero massimo di "punti" attraverso i quali un pacchetto può passare prima di essere considerato perso. Generalmente è impostato tra 64 e 128. È generalmente inutile modificarlo.
  • RWIN (TCP Receive Window): È il numero di dati che un computer della rete può ricevere senza dover aspettare la conferma di avvenuto passaggio del pacchetto.
  • Il path mode della connessione ADSL: In italia esistono due tipi: Interleaved e Fast. Il primo ha tempi di ping medi ma con un controllo errori sui pacchetti di dati, il secondo ha tempi di ping ben inferiori ma senza controllo errori.

Tweaking connessione

Per velocizzare la connessione innanzitutto bisogna precisare alcune cose:

È impossibile superare il bandwith massimo dato dalla portante ADSL, ovvero se abbiamo una portante di 8128 kbps (attualmente il massimo per le ADSL2 e quelle in G.DMT), è impossibile scaricare a più di quella velocità. Stesso discorso per l'upload, se abbiamo la portante a 480 kbps, non si potrà superare quel valore.

Comunque, con una buona ottimizzazione potremo raggiungere velocità molto alte e molto vicine al limite "tecnico" della portante.

Path mode: interleaved e fast

Cominciamo con il path mode; grazie a una modifica di questo potremo avere tempi di ping inferiori di 20-30 ms rispetto a una connessione normale. Il ping è il tempo che impiega fisicamente un pacchetto di dati ad attraversare la rete e a tornare (la ricevuta di ricevimento) al mittente. Solitamente tempi di ping più che buoni sono tra i 50-60 ms, normali sui 60-70 ms, oltre i 100 ms possono dare problemi di lag (scatti) ad esempio nei giochi online. Con alcune connessioni si possono raggiungere tempi di ping bassissimi, spesso inferiori ai 30 ms.

Per modificare il path mode in Fast, e avere così tempi di ping inferiori, purtroppo con le attuali ADSL c'è poco da fare: se avete un contratto Alice Business ad esempio potete chiedere al servizio clienti di cambiare la configurazione da Interleaved a Fast. Se avete invece contratti come NGI, questi offrono già di default la modalità Fast. Leggete bene le informazioni sui vari abbonamenti ADSL dei vari provider.

Per gli altri abbonamenti purtroppo c'è poco da fare. Se conoscete qualche amico tecnico che possa andare in centrale a fare la modifica (è roba di pochi minuti) bene, altrimenti è davvero difficile che ve la mettano in Fast, infatti questa modalità non è prevista per gli utenti "normali".

MTU e RWIN

L'MTU e l'RWIN sono due valori fondamentali nel tweaking di una qualsiasi connessione TCP/IP. Il primo definisce la massima dimensione di un pacchetto da inviare (che comunque ha come massimo assoluto 1500 bytes), mentre il secondo definisce la quantità massima di dati che un computer può inviare e ricevere senza dover attendere la conferma di ricezione del pacchetto TCP.

Ottimizzare e velocizzare la connessione ADSL

Infatti, molto spesso capita che alcuni pacchetti si "perdano" nel girare l'immensa rete di internet, per cui prima di considerare una transazione "conclusa", un computer aspetta la conferma di ricevimento che il computer ricevente provvederà a mandare.

Purtroppo, a causa del già detto tempo di ping, ciò può portare a rallentamenti considerevoli (si deve aspettare la conferma per ogni pacchetto prima di poterne riceverne un altro).

È qui che entra in gioco l'RWIN (TCP Receive Window): esso stabilisce che un tot di pacchetti possano essere inviati uno dopo l'altro senza dover aspettare la conferma di ricevimento.

Purtroppo ciò comporta alcune cose:

Se l'RWIN è molto alto, si potranno avere picchi di velocità notevoli, se però un pacchetto si perde, si dovranno reinviare tutti i pacchetti della stessa transazione, perdendo così una considerevole quantità di tempo.
Se l'RWIN è basso, si avrà una velocità più bassa e stabile, e se un pacchetto si perde si dovranno reinviare meno pacchetti rispetto ad avere un RWIN molto alto.

Per cui, il valore di RWIN va attentamente scelto in base all'uso che si fa della connessione. Ad esempio, se si scarica da un server vicino, quindi con bassi tempi di ping, è consigliato un valore di RWIN basso; mentre se le distanze aumentano (e per cui anche il tempo di ping), è consigliato un valore RWIN maggiore. Per applicazioni particolari come il P2P dove i pc sono sparsi in giro per il mondo ad esempio è consigliato un valore mediamente alto.

Solitamente un buon valore per le ADSL "lentine" (una 640kbps ad esempio) è intorno i 32.000; mentre per le 4-6 mega meglio 64.000 circa. Meglio non aumentare comunque troppo l'RWIN, in quanto si potrebbero avere sbalzi di velocità davvero rilevanti. "pompatelo" molto (anche 128.000) solo nel caso abbiate tempi di ping molto alti (oltre 100 ms).

Una comoda formula per la scelta dell' RWIN è la seguente: velocità connessione * tempo di ping medio aumentato del 50%; diviso 8.

Riguardo la scelta dell'MTU invece valgono le seguenti considerazioni:

Per chi usa il PPPoA (solitamente i modem adsl USB o PCI usano questo sistema) è consigliato mettere 1500, ovvero il valore massimo per questo tipo di connessione.

Per chi usa il PPPoE (quasi tutti i modem ethernet e i router), invece il valore massimo assegnabile è di 1492.
Nel caso si abbiano problemi, ad esempio può capitare con connessioni wireless o con schede di rete vecchiotte, potete impostare un valore più basso come 1454 o 1300.

Qui una semplice tabella riassuntiva:

Ottimizzare e velocizzare la connessione ADSL

Per controllare se la vostra scheda supporta un tot valore di MTU, potete fare in questo modo:

Aprire il prompt dei comandi e digitare:

ping -f -l VALORE_MTU www.google.com

Dove VALORE_MTU sarà ovviamente il valore MTU scelto. Ad esempio:

ping -f -l 1464 www.google.com

Se appare l'errore: "I pacchetti devono essere frammentati" vuol dire che il valore è troppo alto.

Per verificare gli attuali settaggi di MTU e RWIN potete andare sul sito DSLReports e fare il tweak test a questo indirizzo.

Modificare i valori

Per modificare i valori dipende innanzitutto dal sistema operativo che si usa. Se è Windows potete usare TCP Optimizer o DrTCP: con quest'ultimo seguite queste indicazioni per l'uso:

  • TCP Receive Windows: è il valore di RWIN che avete scelto
  • Window scaling: scegliere "yes" se, e solo se, si usa un RWIN maggiore di 65535
  • Time stampings: mettere "no"
  • Selective ACKs: mettere "yes"
  • Path MTU Discovery: mettere "yes"
  • Black Hole Detection: mettere "no"
  • Max Duplicate ACKs: mettere "3"
  • TTL: lasciare default o "128"
  • Dial UP (RAS) MTU: mettere il valore scelto di MTU
  • Adapter Setting: selezionare quello a cui è stato connesso il modem o il router, e inserite l' MTU scelto.

Una volta finiti i settaggi, cliccare su "save", chiudere il programma, quindi riavviare il computer.

Note importanti per chi ha un router

Se avete un router non dimenticate di settare gli stessi valori di MTU e di MRU anche lì! Altrimenti potrebbero esserci problemi, ovvero che il pacchetto viene "spezzato" ancor prima che passi il vostro router.

Note importanti per chi ha Windows Vista

Se avete Windows Vista, Windows 7 o Windows 8/8.1, sappiate che hanno una utility di auto-ottimizzazione pacchetti automatica simile a quelle presenti sui sistemi *nix. Se volete modificare manualmente quindi i valori di MTU e RWIN dovete disattivarla in questo modo:

Aprire il prompt dei comandi (con i permessi da amministratore, ovvero: click destro sull' icona -> esegui come amministratore -> e dare conferma), quindi digitare:

netsh interface tcp set global autotuning=disabled

Per verificare se l'auto-ottimizzazione (auto-tuning) è attiva o meno:

netsh interface tcp show global

Per ripristinarla una volta disattivata:

netsh interface tcp set global autotuning=normal

Conclusioni

Seguendo queste indicazioni potrete avere grossi miglioramenti sulla vostra connessione, ma ricordate di non esagerare: vi potreste ritrovare con una connessione ingestibile (difficoltà a scaricare piccoli file, basse velocità, etc.).

Ricordate inoltre che comunque è molto importante anche la qualità e lo stato della connessione. State molto attenti ai valori di SNR e attenuazione, e sopratutto attenzione ai disturbi che si possono avere nello stesso impianto casalingo (filtri difettosi, sdoppiatori di borchia RJ11, condensatori nelle prese, vecchie suonerie, etc...).