Velocizzare Internet a costo zero

di Pino Navato

 

E' possibile velocizzare discretamente la propria connessione a Internet senza spendere un soldo. I modi per farlo sono due:

Le due tecniche che vi propongo sono indipendenti una dall'altra e complementari, quindi conviene usarle entrambe. Vediamole una per volta.
 

Ottimizzare il winsock

Una importante premessa: modificare i parametri del winsock è una operazione un po' complicata che richiede anche delle modifiche al registro di Windows 95 e che consiglio solo alle persone che abbiano un po' di esperienza in materia; è preferibile che i principianti si limitino a creare un DNS locale (la seconda tecnica, descritta più avanti).

Chi utilizza Internet già dai tempi di Windows 3.1x ricorderà certamente il Trumpet Winsock, un programma shareware da usare insieme al browser (all'epoca era d'obbligo il Netscape) per potersi collegare alla rete. Il Trumpet si andava a collocare tra il browser e il modem: il suo compito era quello di comporre il numero di telefono, effettuare il login e, soprattutto, parlare con la rete. Durante il collegamento, infatti, il Trumpet Winsock faceva due cose: da una parte prelevava i dati in arrivo dal modem per passarli al browser, dall'altra accettava le richieste di nuove pagine provenienti dal browser e le passava alla rete. Una specie di intermediario, insomma.

Perché questa digressione su un programma caduto in disuso? Perché anche Windows 95 ha il suo winsock e fa esattamente le stesse cose del Trumpet, è solo un po' meno appariscente.

Il Trumpet Winsock aveva una finestra di dialogo ricca di parametri configurabili e tra questi ce ne erano alcuni assolutamente incomprensibili (MTU, RWIN, ecc.) che nessuno osava modificare. Anche il winsock di Windows 95 utilizza gli stessi parametri ma non fornisce una finestra di dialogo per modificarli. E perché mai uno li dovrebbe modificare? Semplicemente perché quelli di default sono ben lontani dall'essere ottimi! Infatti il winsock di Windows 95 è ottimizzato per l'uso con una rete locale, non per l'uso con Internet!

A questo punto qualcuno di voi si starà chiedendo, un po' contrariato, perché abbiano inventato questo winsock: non bastava il browser?! Incorporare il winsock nel browser non sarebbe stato conveniente perché i suoi servizi sono usati da tutti i programmi che accedono alla rete (non solo i browser ma anche i programmi per gestire la posta, quelli per i newsgroup, e così via) e quindi è preferibile che sia un programma separato (winsock.dll) a disposizione di tutti.

Assodato che del winsock non si può fare a meno, vediamo come ottimizzare la sua configurazione. Come dicevo, Windows 95 non ci mette a disposizione una comoda interfaccia per poterlo fare, quindi le strade sono due:

  • modificare manualmente il registro di Windows tramite il programma regedit.exe (si trova in C:\WINDOWS ma non compare nel menu Avvio perché il suo uso è riservato alle persone più esperte);
  • utilizzare un programmino apposito che fornisca quella finestra di dialogo che il Trumpet aveva e che Windows 95 non ha.
Di programmini appositi ce ne sono diversi e sono anche freeware quindi sceglieremo la seconda strada. Mentre continuate a leggere questo articolo vi consiglio di scaricarne almeno uno: Cerchiamo adesso di capire il significato dei parametri che andiamo a modificare in modo da capire anche come dovremmo modificarli.
Internet è una rete detta a commutazione di pacchetto (packet switching): ogni file che deve essere trasmesso via Internet viene spezzato dal mittente in numerosi piccoli pacchetti che vengono trasmessi separatamente e che posono anche percorrere strade diverse per arrivare alla stessa destinazione (in questo caso può anche accadere che non arrivino nell'ordine in cui sono stati trasmessi). Ciascun pacchetto contiene un pezzo del file, l'indirizzo di destinazione, un numero di serie utilizzato per riassemblare i pacchetti nel giusto ordine e altre informazioni usate dal winsock. Uno dei compiti del winsock è proprio quello di ricostruire il file a partire dai pacchetti e di presentarlo al programma che lo ha richiesto.
La dimensione dei pacchetti non è fissata dallo standard e può essere regolata a piacere tramite il parametro MTU (Maximum Transmission Unit) del winsock. Quando due computer devono scambiarsi un file attraverso la rete, confrontano i propri MTU e stabiliscono di usare il più piccolo dei due. Detto così sembrerebbe che convenga regolare il proprio MTU su un valore abbastanza alto così da aumentare il rapporto tra informazioni utili (il pezzo di file) e informazioni di controllo (indirizzo, numero di serie, ecc.) ma c'è un altro problema di cui tenere conto: nella maggior parte dei casi il file passerà attraverso parecchi computer prima di giungere a quello di destinazione e ognuna di queste macchine ha il suo MTU. Se uno dei computer intermedi ha un MTU più piccolo di quello concordato tra mittente e destinatario, ciascun pacchetto viene ulteriormente frammentato e questo abbassa parecchio la velocità di trasmissione. Ebbene, l'MTU del winsock di Windows è 1500 byte ma molti computer della rete (non tutti, purtroppo) usano un valore più basso (576 byte) e questo vuol dire una cosa sola: frammentazione!
Da quanto detto discende che la frammentazione non si verifica sempre: dipende dall'MTU di tutti i computer coinvolti nella trasmissione del file e quindi, in particolare, dipende dal nostro provider (il suo computer è uno di quelli intermedi e quindi non ha senso usare un MTU maggiore di quello del provider) e dal sito dal quale preleviamo il file. Tutto ciò rende difficile la scelta di un buon MTU e fa sì che persone diverse possano decidere di usare valori diversi (perché hanno provider diversi e perché i siti che frequentano più spesso sono diversi). Se a questo aggiungiamo che l'MTU ottimo cambia nel tempo (perché è la rete che cambia) e che l'MTU non è l'unico parametro regolabile a piacere, c'è da farsi venire un gran mal di testa (ammesso che non vi sia già venuto!). Cosa fare allora? Bene, il mio consiglio è quello di fare solo un paio di tentativi usando MTU-Speed Pro (il migliore dei programmi che ho provato). Questo programma dispone di due bottoni etichettati Basic Settings e Optimum Settings; provate entrambe le configurazioni: se notate un aumento della velocità di trasmissione lasciate le cose come stanno, altrimenti tornate ai valori di prima cliccando sul bottone Remove Settings.
 

Misurare la velocità

Anche misurare la velocità di trasferimento non è una cosa banale perché ovviamente è influenzata non solo dalla configurazione del nostro winsock ma anche da fattori esterni cioè dal carico della rete e, in particolare, dal carico del nostro provider e da quello del sito al quale ci colleghiamo.
Probabilmente la cosa migliore è quella di fare una misura qualitativa, a occhio. A quanto pare la maggior parte delle persone che hanno provato a modificare la configurazione hanno riscontrato un evidente miglioramento mentre una piccola minoranza ha lamentato un peggioramento e ha preferito ripristinare i vecchi valori.
Chi vuole fare le cose in modo più scientifico può usare uno dei programmi che misurano il throughput. Uno di questi è il Monitor di sistema (sysmon.exe) fornito con Windows 95 e accessibile dal menu Avvio (Programmi/Accessori/Utilità di sistema/Monitor di sistema). Per default questo programma non viene installato quindi potrebbe essere necessario andarlo a cercare sul disco originale. L'installazione può essere fatta in modo automatico utilizzando il setup di Windows (Pannello di controllo/Installazione appilcazioni/Installazione di Windows 95). Il programma può anche essere prelevato dal sito Microsoft in forma compressa (sysmn.exe).
E' da notare che le voci relative alle prestazioni del modem compaiono nella finestra di dialogo Modifica/Aggiungi voce solo dopo che è stata stabilita la connessione con la rete.

In alternativa al Monitor di Sistema sono disponibili anche altri programmi freeware:

 

Creare un DNS locale

A differenza della tecnica precedente, la creazione di un DNS locale ha sempre effetti positivi ed è di facile implementazione.

Solitamente quando vogliamo collegarci ad un sito Internet utilizziamo un indirizzo mnemonico, cioè facile da ricordare, chiamato URL (ad esempio www.microsoft.com). Ad ogni URL è associato un indirizzo IP che è una sequenza di 4 numeri (ad esempio 207.68.137.62) ed è il vero indirizzo del sito che ci interessa. L'indirizzo mnemonico, da solo, non è sufficiente per individuare la posizione del computer remoto sulla rete: bisogna convertirlo in un indirizzo numerico. Questa conversione viene effettuata con l'aiuto di un DNS (Domain Name Server) che è semplicemente un lungo elenco di coppie URL-IP. Ogni provider dispone di un DNS che viene interrogato ogni volta che occorre convertire un indirizzo, tuttavia il DNS del provider non contiene tutte le coppie URL-IP esistenti e quindi può accadere che la richiesta venga inoltrata ad un altro DNS gerarchicamente superiore. Ovviamente la ricerca dell'indirizzo IP da parte del DNS non è istantanea e anzi può richiedere parecchi secondi se si tratta di un sito poco noto il cui indirizzo numerico è presente solo nei master DNS (ne esistono solo 5 in tutto il mondo). Per rendervi conto di quanto bisogna attendere per avere la risposta da un master DNS, provate ad accedere ad un sito inesistente (per esempio www.nonesiste.com) e misurate il tempo che passa tra il momento in cui premete il tasto INVIO e quello in cui arriva il messaggio di errore: si tratta di parecchi secondi.

Le attese derivanti dall'uso di DNS remoti possono essere facilmente ridotte creando un piccolo DNS locale, cioè situato sul proprio PC. Il winsock di Windows95 è predisposto anche per questo ma pochi lo sanno. Prima di interrogare il DNS del provider, il winsock controlla se l'indirizzo IP del sito in questione è presente nel file HOSTS nella directory di Windows: questo file è proprio il nostro personalissimo DNS. Ovviamente l'accesso al DNS locale è pressoché istantaneo e quindi anche quando la ricerca in esso risulta infruttuosa non si perde proprio nulla.

Tutti i servizi Internet (http, FTP, e-mail, newsgroup, IRC, gopher) interrogano il DNS e quindi tutti possono beneficiare di un DNS locale. Nel nostro file HOSTS andremo a mettere gli indirizzi di tutti i siti che usiamo spesso o anche solo occasionalmente (ad esempio tutti i siti presenti nel bookmark) in modo da accedere ai DNS remoti solo per quei siti che visitiamo per la prima volta e sui quali è improbabile che torneremo.

Anche per la gestione del file HOSTS esistono alcuni programmi freeware che semplificano notevolmente il lavoro:

  • FastNet v1.0 (1878 kB)
    Prodotto in Italia ma in lingua inglese. Il parsing del file HOSTS lascia un po' a desiderare. Fornisce un file HOSTS già pronto con gli indirizzi di 300 siti.
  • NetLightening v1.1.5 (1707 kB)
    Lo abbiamo già visto prima (gestisce sia i parametri del winsock che il file HOSTS).
  • DNS Query v1.2 (514 kB)
    E' il più povero dei tre: fornisce l'indirizzo IP di un sito ma non è in grado di aggiungerlo al file HOSTS (bisogna farlo manualmente).
Non mancate di scrivere due righe di ringraziamento all'autore del programma che scegliete di usare (i complimenti fanno sempre piacere!).
 

Per saperne di più

Sull'uso del file HOSTS non c'è nulla in più da dire mentre sui protocolli di Internet e sul winsock si potrebbero scrivere interi libri (e c'è chi lo ha fatto). Qui di seguito vi propongo qualche buon link per approfondire la vostra conoscenza su questi argomenti.

  • Al's Winsock Tuning FAQ by Albert P. Belle Isle
    Buona spiegazione introduttiva sui protocolli TCP/IP. Fa riferimento a Windows 3.1 ma ciò che spiega è tuttora valido. E' disponibile anche in fomato Windows help (40 kB).
  • Lynn Larrow's Place
    Presenta una discreta FAQ ma la cosa più interessante è la sua pagina dei link.
  • Internet Request For Comments (RFC)
    Le descrizioni ufficiali degli standard di Internet. L'elenco completo è molto lungo ma è disponibile anche un elenco ridotto che evidenzia gli standard più importanti
  • MaxMTU Fix for Win95
    Un sito che parla dell'ottimizzazione dei parametri del winsock, pubblicizza un programma shareware per modificarli e presenta il feedback di chi ha provato a farlo.