E' normale che l'upload influenzi il download quando si utilizza una applicazione basata su TCP, in quanto questo protocollo prevede dei pacchetti* di conferma (ack) per ogni pacchetto ricevuto/trasmesso.

* in ambito TCP è più corretto il termine segmento.

Quando scarichi un file devi inviare dei pacchetti di conferma (come una ricevuta di ritorno) per ogni segmento ricevuto.

questa animazione in flash spiega come funziona il protocollo TCP
https://www.cis.strath.ac.uk/teachin.../three/tcp.swf
http://www.woodside-consulting.com/s.../tcp-proto.swf

La prima fase è l'handshare a 3 vie e serve per instaurare una connessione TCP.
Nelle fasi successive è spiegato il meccanismo dei segmenti di conferma.

L'ADSL prevede due bande separate per upstream e downstream, e quindi a questo livello (fisico) non si verificano problemi.

Il problema è a livello superiore e dipende dal protocollo di trasporto utilizzato.

Il protocollo TCP utilizza questi segmenti di conferma per garantire l'affidabilità delle comunicazioni a livello di trasporto.

Esistono anche altri protocolli di trasporto, ad esempio UDP che non prevedono segmenti di conferma, ma per questo motivo non sono affidabili e vengono usati in applicazioni dove l'affidabilità non è necessaria (es: streaming video/audio) e per altri motivi.

Per esempio, in questo screenshot di DUMETER, si vede che nel momento in cui faccio un upload su un server FTP (protocollo che usa TCP), la velocità di download (scaricavo un file da un server web, quindi HTTP che si basa anch'esso su TCP) dagli 84 Kbyte/s passa a circa 50 KByte/s. Quando l'upload termina, la velocità di download risale ai 91 e passa Kbyte/s.
http://utenti.lycos.it/diabdiary/immagini/down_up.gif
In rosso è la velocità in downstream e in giallo la velocità in upstream.

Da notare che a quelle velocità va tolto l'overhead degli header TCP/IP