QNA > Q > Qual È Il Protocollo Di Condivisione/Trasferimento File Più Veloce?

Qual è il protocollo di condivisione/trasferimento file più veloce?

La velocità di un protocollo di trasferimento file (a livello di applicazione) dipende da quanto velocemente può iniziare a utilizzare la velocità di dati disponibile a livello fisico. La capacità di utilizzare la velocità dei dati a livello fisico dipende da quale particolare protocollo viene usato a livello di trasporto (ad esempio, UDP o TCP), e quanto velocemente l'applicazione può consegnare dati a, o prendere dati da, quel livello.

TCP scala in modi diversi a seconda delle opzioni TCP che sono state negoziate tra i peer (ad esempio window scale, selective-ack, quick-start). TCP deve sempre assicurarsi di non causare congestione nella rete utilizzando il suo meccanismo di controllo della congestione richiesto. Questo significa che anche se stai usando FTP/HTTP/qualunque cosa al livello dell'applicazione, l'uso di diverse opzioni del TCP risulterà in diverse velocità di trasmissione dei dati. Per quanto ne so, BIC-TCP scala bene sulle reti a lunga distanza e ad alta larghezza di banda. Un ulteriore tuning di un particolare TCP può anche risultare in diverse velocità di trasmissione dati.

Ci sono stati molti sforzi per scrivere protocolli di trasferimento dati che usano UDP al livello di rete sottostante (soprattutto per superare l'incapacità del TCP di scalare rapidamente su reti a grande larghezza di banda e a lunga distanza). In questo caso, la quantità di dati che si inietta nella rete è controllata dal livello dell'applicazione. Dovete anche fornire il vostro meccanismo per la consegna garantita e ordinata dei dati. Se si iniettano dati (cioè, pacchetti UDP) a una velocità molto alta senza alcun meccanismo di controllo della congestione, la rete può facilmente essere sovraccaricata (il che non è buono se si stanno trasmettendo dati su Internet).

Ci sono anche sforzi in cui l'applicazione usa più flussi TCP (vedi GridFTP) per ottenere alte velocità di trasferimento dati.

Quindi, per rispondere alla domanda originale, dipende da come si stanno trasferendo i file. Se stai servendo file su Internet da qualche server http, imposta BIC-TCP come protocollo di livello di trasporto sottostante. Per UDP, puoi usare uno dei molti protocolli/applicazioni disponibili basati su UDP (usa Google o chiedi in una domanda separata).

Spero che questo ti abbia aiutato. Fai qualsiasi domanda di chiarimento nei commenti :)

Di Joacimah

Cos'è dinamico in Java? :: Quali sono alcuni buoni film (preferibilmente in inglese) che sono disponibili gratuitamente su YouTube?
Link utili