|
|
|
30/10/2002:
Come accelerare un download
Un amico mi chiede:
Per collegarmi alla rete uso un modem che definirei
estremamente
"imbrigliato" a causa del collegamento telefonico che uso. Infatti la mia é una linea telefonica normalissima con un altrettanto normalissimo contratto. Il modem é un 3Com U.S. Robotics 56 K Faxmodem. Con questo riesco generalmente a scaricare dalla rete con una velocità di 4, massimo 5 KB/Sec. Leggendo sul sito tuttogratis@it ho trovato un programma che si chiama Download Accelerator Plus (DAP) 5.3. Preso dall'entusiasmo ho subito pensato di poter accelerare le prestazioni del mio sistema. L'entusiasmo mi é passato quando ho pensato che se "lo stadio lento" é la rete telefonica potrebbe succedere che "l'accelerator" rischi di non accelerare nulla. A questo punto mi sono fermato e non ho installato nulla. Mi puoi dire qualcosa in proposito? Il problema è comune a tutti coloro che scaricano qualcosa da Internet e lo vogliono fare con la massima efficienza possibile, indipendentemente, o quasi, dalla velocità massima di connessione che, per la stragrande maggioranza degli utilizzatori italiani di Internet, è uguale alla tua. Paragonando la connessione ad un tubo in cui passa del gas, dove ogni molecola del gas rappresenta un bit, cioè la più piccola particella di informazione, ci sono vari modi per far passare più gas possibile, al fine di ottimizzare il flusso uscente dal tubo. Il primo è quello di comprimere il gas, ma questo mi guardo bene dall'insegnartelo! Ed e' quello che succede con i flussi di dati via modem ad opera dei protocolli di comunicazione hardware. Il secondo è quello di trasformare la natura o lo stato del gas, per esempio in liquido, in modo da ottenere una maggiore densità di molecole. Ed e' quello che facciamo quando, prima di spedirli, zippiamo i dati, in modo da spedire (o ricevere) di più in minor tempo. E' ovvio che dall'altra parte i dati subiranno il processo inverso! Naturalmente possiamo favorire il passaggio del flusso facendogli trovare sempre spazio libero all'uscita del tubo. Un computer lento, o particolarmente indaffarato, farà fatica ad assolvere questo compito e continuerà a mandare richieste di rispedizione dei dati perchè il precedente invio non era stato pronto ad accoglierlo, e aveva risposto con dei dinieghi alle richieste di conferma di ricezione da parte dell'apparato mittente. Il terzo modo è quello di ridurre le bolle d'aria (estranee al gas) che, per il nostro paragone, rappresentano le pause tra i pacchetti di informazione, le quali esistono sempre, anche quando sembra che la connessione stia andando a tutto vapore. Il compito di programmi come Download Accelerator è proprio quello di fare questo terzo tipo di ottimizzazione, cioè eliminare i tempi morti, piccoli o grandi che siano e far rendere la connessione al massimo. Il massimo, poi, è determinato dai limiti fisici e dall'efficienza dell'impianto. Che tu abbia un tubo da un pollice ( modem a 56Kbit), o da dieci pollici ( ADSL), o da 100 pollici ( T3 o Fastweb), il compito di questo programma non cambia: massimizzare la resa della connessione. Ma vediamo come lo fa. Innanzi tutto è bene ricordare che un file non viaggia come singolo oggetto in rete, ma come un insieme di pacchetti indipendenti di dati di lunghezza fissa. Non lo potremmo nemmeno paragonare ad un convoglio ferroviario perchè ogni vagoncino se ne va per i fatti suoi fino a destinazione. Come paragone sarebbe più appropriato l'accostamento ad una partita a scacchi per via epistolare: per ricostruire l'intera partita occorre mettere insieme tutte le mail che l'hanno resa possibile, ognuna delle quali ha fatto il suo percorso sganciata dalle altre, e recante al suo interno una sola mossa (il contenuto del pacchetto dati). Vi è poi un insieme di protocolli di comunicazione (*) che svolgono svariati compiti, tutti intesi ad aiutare il pacchetto-dati a raggiungere la sua destinazione. Come avviene per la singola missiva della nostra partita a scacchi, che reca sulla busta l'indirizzo del mittente e quello del destinatario, anche i pacchetti-dati che viaggiano in rete hanno questi indirizzi. I protocolli di rete, quindi, come dei postini, prendono in carico il pacchetto, identificano l'indirizzo del mittente e quello del destinatario, individuano quali uffici postali saranno interessati dalla spedizione, quali percorsi intermedi dovranno essere compiuti e, nel nostro caso, si occupano sempre della ricevuta di ritorno. In caso di smarrimento per strada del pacchetto richiedono una copia all'ufficio postale emittente e la riaccompagnano a destinazione. Essendo Internet, nel suo complesso, un sistema imperfetto, il traffico dovuto a richieste di ritrasmissione e ritrasmissioni vere e proprie, supera quello dovuto ai pacchetti originali. Si potrebbe dire che in certi casi il modem passa più tempo impegnato nel passaggio di dati di servizio che non in quello dei dati di nostro interesse. Ma torniamo ai nostri vagoncini: in questo caotico panorama di dati che viaggiano in solitaria (i singoli pacchetti) non si può certo dire che il sistema garantisca un flusso di dati "veri" costante e denso. Dopo la ricezione del singolo pacchetto, il modem resta in attesa di quello successivo, che potrebbe anche non aver niente a che fare col precedente. Ci sarà poi un protocollo di livello più alto che si occuperà di ricomporre tutti i pezzi del mosaico, cioè del file che stiamo scaricando. Nelle micro-pause di attesa il modem, comandato dal protocollo di ricezione, lancia anche messaggi di sollecito al protocollo mittente per dirgli che e' ancora in attesa del resto del file. Poniamo di riempire queste pause con lo scaricamento in parallelo di un altro file: Il protocollo di ricezione avrà già il suo bel da fare col secondo flusso di dati e quindi ridurrà i solleciti. E qui viene l'idea brillante di programmi come Download Accelerator: spezzare il file da ricevere in diversi tronconi e trattare lo scaricamento di questi tronconi come file a se stanti. Ma in parallelo! E, alla fine, ricomporre i tronconi in un solo file, identico all'originale. Le pause si ridurranno ai minimi termini e il processo di download viene accelerato.
Le percentuali dichiarate indicano che si può arrivare a
triplicare la velocità di download, ma posso immaginare che, in normali
condizioni,
si possa arrivare a guadagnare mediamente un 30% del tempo
di scaricamento (quasi un'ora risparmiata sulle tre previste di un
ipotetico download!).
(*) I protocolli di rete in Internet vengono indicati col nome di suite
TCP/IP.
Qui è possibile scaricare il programma:
Quanto su esposto non pretende di essere tecnologicamente
ineccepibile, perchè l'obbiettivo del discorso era di spiegare, in modo
semplice, come funzionano i download in Internet.
|
|