La distanza fisica influisce sulla velocità di download?


22

Ho appena avuto una discussione con un mio collega e ho pensato di contattare gli esperti in merito. Ecco lo scenario. Stavamo utilizzando un sito Web che misura la velocità della tua connessione. Abbiamo testato utilizzando un server che è lontano da noi (siamo in Malesia e il server era negli Stati Uniti). Era di circa 2 Mbps. Quindi abbiamo provato con un server a Singapore ed è stato molto più veloce (circa 15 Mbps). Il mio collega ha creduto che fosse a causa della distanza fisica mentre non penso che sia importante. La mia comprensione è che dopo aver eseguito l'handshake iniziale e avviato il flusso di dati, non importa dove si trova il server e il risultato dovrebbe essere quasi lo stesso. Mi sto perdendo qualcosa qui? Come funziona veramente?


2
Puoi confermarlo da solo banalmente. Effettua il ping del server per acquisire la latenza. Quindi 2 Mbps * Latenza == Finestra. È possibile confermare la dimensione effettiva della finestra con WireShark. Ma supponiamo che tu non abbia il ridimensionamento della finestra attivo, quindi è 64kB / 2 Mbps = 256 ms, quindi prevedo che il tuo server sarà a 256 ms di distanza.
Sì, l'

2
@ytti sta descrivendo indirettamente il BDP (prodotto di ritardo di larghezza di banda) che si traduce approssimativamente in reti lunghe (di ritardo), di grasso (larghezza di banda) che sono più difficili da mantenere piene e qualcosa di meno mangia dalla tua potenziale produttività. Vedi en.wikipedia.org/wiki/Bandwidth-delay_product .
generalnetworkerror

2
@ytti, Windows Vista e versioni successive hanno il ridimensionamento della finestra attivato per impostazione predefinita ... dobbiamo sapere quale sistema operativo Navid sta usando per il test
Mike Pennington,

Secondo questo support.microsoft.com/kb/934430 il ridimensionamento (fattore 8) è predefinito in Vista, ma solo per non HTTP. Non sono un utente di Windows, quindi non posso verificarlo.
ytti,

2
@ytti, non sono sicuro che sia pertinente. Corro Vista, e sto osservando la mia connessione HTTP con quella pagina di supporto e TCP SYN dice: "Window Scale: 2 (Moltiplicare per un fattore 4)"
Mike Pennington,

Risposte:


23

Il mio collega ha creduto che fosse a causa della distanza fisica mentre non penso che sia importante. La mia comprensione è che dopo aver eseguito l'handshake iniziale e avviato il flusso di dati, non importa dove si trova il server e il risultato dovrebbe essere quasi lo stesso. Mi sto perdendo qualcosa qui? Come funziona veramente?

Entrambi avevate ragione ad un certo punto della storia, ma la vostra comprensione è per lo più corretta ... oggi :). Ci sono alcuni fattori che sono cambiati tra la risposta più vecchia data dal tuo amico e le capacità che abbiamo oggi.

  • Ridimensionamento finestra TCP
  • Ottimizzazione del buffer host

La differenza nei risultati che hai visto potrebbe essere stata influenzata da:

  • Perdita di pacchetti
  • Trasferimenti TCP paralleli

Ridimensionamento finestra TCP: l'effetto ritardo larghezza di banda

Come ha detto il tuo amico, le precedenti implementazioni di TCP soffrivano dei limiti imposti dalla dimensione originale della finestra di ricezione a 16 bit nell'intestazione TCP (rif RFC 793: Sezione 3.1 ); RWIN controlla quanti dati non riconosciuti possono essere in attesa in un singolo socket TCP. I valori RWIN a 16 bit limitavano i percorsi Internet con prodotti ad elevato ritardo di larghezza di banda (e molte delle connessioni Internet ad alta larghezza di banda di oggi sarebbero limitate da un valore di 16 bit).

Per valori RTT elevati, è utile disporre di un RWIN molto grande. Ad esempio, se il tuo percorso RTT dalla Malesia agli Stati Uniti è di circa 200 ms, il TCP RWIN originale ti limiterebbe a 2,6 Mbps.

Throughput max = Rcv_Win / RTT

* Velocità effettiva massima = 65535 * 8 / 0.200 *

Velocità effettiva massima = 2,6 Mbps

RFC 1323 ha definito alcune "Opzioni TCP" per superare queste limitazioni; una di queste opzioni TCP è il "ridimensionamento delle finestre". Introduce un fattore di scala, che moltiplica il valore RWIN originale, al fine di ottenere il valore della finestra di ricezione completa; l'utilizzo delle opzioni di ridimensionamento delle finestre consente un RWIN massimo di 1073725440 byte. Applicando gli stessi calcoli:

Throughput max = Rcv_Win / RTT

* Velocità effettiva massima = 1073725440 * 8 / 0.200 *

Velocità effettiva massima = 42,96 Gbps

Tieni presente che TCP aumenta RWIN gradualmente durante la durata di un trasferimento, a condizione che la perdita di pacchetti non sia un problema. Per vedere velocità di trasferimento molto elevate su una connessione a ritardo elevato, devi trasferire un file di grandi dimensioni (quindi TCP ha il tempo di aumentare la finestra) e la perdita di pacchetti non può essere un problema per la connessione.

Perdita di pacchetti

I circuiti Internet attraverso l'Oceano Pacifico a volte diventano piuttosto congestionati. Alcuni della mia famiglia vivono a Taiwan e incontriamo regolarmente problemi quando utilizziamo Google Talk con loro. Vedo spesso una perdita di pacchetti superiore allo 0,5% quando eseguo il ping della loro linea DSL dagli Stati Uniti; se si riscontra una perdita del 0,5% sul server "più lento", limiterebbe molto facilmente il throughput su un singolo socket TCP.

Flussi TCP paralleli

Cordiali saluti, alcuni siti Web di test di velocità utilizzano flussi TCP paralleli per aumentare la velocità effettiva ; questo potrebbe influire sui risultati visualizzati, poiché i flussi TCP paralleli aumentano notevolmente la velocità di trasmissione in caso di perdita di pacchetti nel percorso. Ho visto quattro flussi TCP paralleli saturare completamente un modem via cavo da 5 Mbps che soffriva di una perdita di pacchetti costante dell'1%. Normalmente una perdita dell'1% ridurrebbe il throughput di un singolo flusso TCP.

Materiale bonus: ottimizzazione del buffer host

Molte implementazioni di sistemi operativi precedenti avevano socket con buffer limitati; con sistemi operativi precedenti (come Windows 2000), non importava se TCP consentiva che grandi quantità di dati fossero in volo ... i loro buffer socket non erano sintonizzati per sfruttare l'ampio RWIN. Sono state fatte molte ricerche per consentire alte prestazioni sui trasferimenti TCP . I sistemi operativi moderni (per questa risposta, possiamo chiamare Windows Vista e successivamente "moderni") includono meccanismi di allocazione del buffer migliori nelle loro implementazioni di buffer socket.


4
Come nota a margine: ci sono molti router vecchio stile che falliranno sul ridimensionamento delle finestre (ce ne sono meno ogni giorno, ma ce ne sono ancora molti) e resettano a zero, riducendo drasticamente la larghezza di banda. La probabilità di colpire uno di questi router non funzionanti aumenta con il numero di hop verso la destinazione, anche se oggigiorno la maggior parte dei provider di infrastrutture di rete non dovrebbe avere questo problema.
Chris Down,

I router sono dispositivi L3. Il ridimensionamento delle finestre TCP è un processo L4. Il router inoltra il pacchetto o non lo fa e, salvo l'uso dei meccanismi QoS, non vi è alcuna differenza tra TCP, UDP o qualsiasi altro protocollo. I router hanno sicuramente un effetto sulla negoziazione MSS iniziale (..o fanno se lasciano cadere ICMP irraggiungibili) ma l'algoritmo a finestra scorrevole è puramente una funzione degli stack sui sistemi finali.
rnxrx,

2
@rnxrx Sono d'accordo, sarebbe principalmente Edge FW che si arrabbierebbe con le opzioni TCP. Non ho mai sentito parlare dell'opzione di ridimensionamento della finestra TCP che manipola il router, ma non sarei terribilmente sorpreso se qualcuno avesse inventato un fornitore / modello che lo ha fatto, considerando che non è raro che i router perimetrali manipolino l'opzione TCP MSS in transito , non è un grande salto immaginare qualcuno che lo scopa.
Sì,

3

Risposta breve: Sì, la distanza influisce sulla larghezza di banda a flusso singolo.

Internet ha evoluto i mezzi per limitare questo effetto ... ritardato ACK, ridimensionamento delle finestre, altri protocolli :-) Ma la fisica vince ancora alla fine. In questo caso, è molto più probabile che si verifichi una congestione della rete generale su così tanti hop: basta un solo pacchetto rilasciato per uccidere un flusso TCP.


1

Mentre ci sono già ottime risposte a questo, vorrei aggiungere: no, la velocità non è necessariamente influenzata dalla distanza e sì, molto spesso la velocità è influenzata dalla distanza sono entrambi veri.

Perché?

Fortemente semplificato, maggiore è la distanza, maggiore è il "luppolo" coinvolto nel percorso attraverso Internet. La larghezza di banda massima è determinata dal hop più lento e dal traffico concorrente. Con l'aumentare della distanza e una distribuzione alquanto casuale delle velocità del luppolo, aumenta la probabilità di rallentare la velocità complessiva. Inoltre, la fisica si mette in mezzo e l'aumento della latenza può anche rallentare il collegamento.

Ma questo non è scontato. La tecnologia ci consente di costruire una connessione globale che comprende quasi tutta la larghezza di banda desiderata. Tuttavia, la larghezza di banda e la distanza sono nemici ed entrambi aumentano drasticamente il costo della connessione, rendendo di nuovo meno probabile l'esistenza solo per la connessione di cui potresti aver bisogno in questo momento.

Certo, questo è troppo semplificato, ma in realtà questa situazione è ciò che trovi molto spesso. E poi di nuovo no quando c'è una connessione sorprendentemente veloce o un proxy di distribuzione proprio dietro l'angolo - ma quando tutto è istantaneo raramente pensiamo alla velocità di Internet ...


-1

Secondo Andrew Martin la risposta è sì

grafici


Link solo le risposte sono scoraggiate. Fornisci dettagli che rendono utile questa risposta senza dipendere dalla pagina web collegata.
Teun Vink

Amico, non è solo un link di risposta, è un'immagine con statistiche
Jonathan,

Non sono il tuo amico. Inoltre, questa immagine non ha significato senza una spiegazione di cosa si trova sull'asse Y e come è stata misurata. E anche allora, dovresti spiegare come questa immagine è una risposta alla domanda.
Teun Vink

Non so perché sia ​​difficile per te, ma gli assi X e Y sono etichettati. "Velocità media di download in Mbps"
Jonathan
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.