In estrema sintesi e in modo
molto, ma molto grossolano si tratta una specie di buffer inerente il protocollo TCP/IP:
In questo protocollo di rete, come sai, i dati vengono suddivisi e trasferiti in pacchetti. Ciascun pacchetto contiene un'intestazione (in realtà articolata su più livelli) che funge da "etichetta": vi sono riportate una serie di informazioni tra cui, ovviamente, anche il destinatario (il
Client che deve ricevere la pagina web, per esempio), l'ordine con cui i pacchetti devono essere riassemblati dal client e così via.
Appena ricevuto un pacchetto il client comunica al
Server l'avvenuta ricezione tramite un ulteriore pacchetto che deve percorrere il percorso inverso (
acknowlegement packet). Ovviamente, se il server dovesse attendere questa specie di "ricevuta di ritorno" dopo ciascun pacchetto inviato, tenuto conto anche del fatto che le connessioni spesso sono asimmetriche (le ADSL di oggi poi lo sono in modo molto spiccato), la navigazione sarebbe lentissima.
Per evitare ciò, nel protocollo TCP è implementato un parametro che il client comunica al server all'inizio della connessione (sempre nell'header del pacchetto TCP/IP), che si chiama appunto Receive Windows (finestra di ricezione) e che ha il compito di comunicare al server quanti pacchetti potrà spedire, uno dopo l'altro,
anche se non ha ancora ricevuto la conferma di corretta ricezione da parte del client. E' chiaro, quindi, che sulle lunghe distanze o nelle ipotesi in cui la velocità di upload è molto più bassa del download (asimmetria delle attuali ADSL), la conferma della corretta ricezione impiega più tempo per ritornare dal client al server, con la conseguenza che, se l'RWin è impostato su un valore troppo basso, il server potrebbe arrestare l'invio di pacchetti ulteriori, non perché sono andati perduti e debbono essere rispediti nuovamente, ma solo perché le citate conferme "sono in ritardo".
Ora, in Windows XP l'RWin di default è impostato su 17520 byte, valore che si rivela decisamente basso sia per le lunghe distanze (si nota soprattutto scaricando dati da siti all'altro capo del mondo), sia per le adsl asimmetriche (per la lentezza del ritorno al server del acknowlegement packet a causa del bit rate a 256 kbps).
Io, con una classica 4 mbps in download 256 kbps in upload, l'ho settato su 64240 e la velocità di download è radicalemnte cambiata.
Va comunque impostato su un valore multiplo di 1460. Il massimo è 65535.
Con che cosa si modifica? Con un'utility apposita. Io utilizzo
Dr.TCP che non va installato, ma solo copiato in un percorso qualunque dell'HD ed è completamente free.
Qui un paio link per approfondire e capire meglio:
http://www.iuslex.it/adsl/faq3.html#ottimizzare http://www.disteland.com/trucchi/drtcp.htm Qui puoi scaricare Dr.TCP:
http://www.dslreports.com/drtcp Qui puoi controllare i tuoi valori di MTU (inutile) e Receive Windows ecc.:
http://www.dslreports.com/tweaks E qui un test di velocità significativo perché i server sono in Virginia (provalo prima e dopo la "cura" con Dr.TCP e noterai il miglioramento):
http://myspeed.visualware.com/index-it.html Dopo aver modificato l'RWin,
ricordati di riavviare Windows, perché il valore viene letto dal sistema operativo all'avvio del sistema.
Ringraziamo “GB ego sum” per il contributo!