Calcolatore del throughput TCP
Dati di input
| Dimensione massima del segmento | 1.460 B |
|---|---|
| Tempo di andata e ritorno | 30 ms |
| Perdita di pacchetti | 0,1 % |
Calcolatore del throughput TCP
Stima il throughput massimo di una singola connessione TCP di lunga durata a partire dalla dimensione del segmento, dal tempo di andata e ritorno e dal tasso di perdita di pacchetti, usando l'equazione di Mathis. Mostra perché un percorso ad alta latenza e con perdite limita un flusso ben al di sotto della velocità del collegamento.
Dati di input
Dettagli della connessione
Risultati
Inserisci un valore per visualizzare i risultati.
Throughput stimato
Throughput TCP
Il throughput TCP è la velocità sostenuta di trasferimento dati che una singola connessione TCP può raggiungere attraverso un percorso di rete. Non coincide con la velocità del collegamento: un collegamento da 1 Gbit/s può comunque consegnare solo pochi megabit al secondo a una connessione se il percorso ha alta latenza e perdite di pacchetti occasionali. Questo calcolatore usa l'equazione di Mathis per stimare quel limite per flusso singolo, ossia il valore che conta per backup, replica, caricamenti di grandi dimensioni e qualsiasi trasferimento che viaggi su un unico flusso TCP.
L'equazione di Mathis
Un flusso TCP di lunga durata limitato da perdite di pacchetti casuali si assesta a un throughput di circa:
T≈RTT×pMSS×8Qui è la dimensione massima del segmento in byte e il moltiplicatore otto converte quei byte in bit. Il tempo di andata e ritorno è espresso in secondi, e è la probabilità di perdita di pacchetti espressa come frazione. Il risultato è ottenuto in bit al secondo.
Questa forma deriva dal comportamento del controllo della congestione TCP. Dopo ogni perdita, TCP dimezza la propria finestra di congestione e poi la ricostruisce di un segmento per andata e ritorno — il familiare dente di sega «aumento additivo, diminuzione moltiplicativa». La media di questo dente di sega su molti cicli fornisce una finestra proporzionale a , e dividendo la finestra per l'RTT si ottiene il throughput indicato sopra. Matthew Mathis e colleghi pubblicarono questo risultato nel 1997, ed esso rimane il modello di riferimento per una stima rapida del TCP limitato dalla perdita.
Esempio svolto
Prendiamo una dimensione del segmento di 1250 byte, un tempo di andata e ritorno di 100 ms e un tasso di perdita di pacchetti dello 0,01 % (cioè una frazione di 0,0001):
p=0.0001=0.01 T=0.1×0.011250×8=0.00110000=10000000 bpsSono 10 Mbit/s da un singolo flusso — indipendentemente dal fatto che il collegamento sottostante sia dichiarato a 100 Mbit/s o a 10 Gbit/s. Sono la latenza e la perdita del percorso, non la sua capacità grezza, a fissare il limite.
Perché latenza e perdita dominano
Due termini al denominatore spiegano perché un collegamento veloce può sembrare lento:
- Tempo di andata e ritorno. Il throughput è inversamente proporzionale all'RTT. Raddoppiare la distanza tra due estremità dimezza all'incirca la velocità del flusso singolo, perché ogni regolazione della finestra attende un'andata e ritorno completa per avere effetto.
- Perdita di pacchetti. Il throughput diminuisce con la radice quadrata del tasso di perdita. Passare dallo 0,01 % all'1 % di perdita — un aumento di cento volte — divide il throughput per dieci. Su un percorso lungo il recupero è lento, perciò anche una perdita rara si aggrava notevolmente.
Questa combinazione di alta latenza e perdita non nulla è talvolta chiamata «rete lunga e larga» (long fat network), ed è esattamente lì che il TCP a flusso singolo rende meno del previsto.
Quando il modello non si applica
L'equazione di Mathis presuppone che il flusso sia limitato dalla perdita. Se il percorso è pulito e la finestra di ricezione TCP è abbastanza grande da tenere pieno il tubo, la connessione è invece limitata dalla velocità del collegamento o dalla finestra stessa. In questo regime, il prodotto larghezza di banda-ritardo — la larghezza di banda moltiplicata per l'RTT — indica quanto grande debba essere la finestra per saturare il collegamento, e la formula di Mathis non vale più.
Anche gli algoritmi moderni di controllo della congestione come BBR cambiano il quadro: cadenzano l'invio in base alla larghezza di banda e all'RTT misurati anziché reagire a ogni perdita, tollerando quindi i percorsi con perdite molto meglio di quanto preveda il modello classico fondato sulla perdita. Considera la stima di Mathis come un limite prudente per il TCP tradizionale fondato sulla perdita, e ricorda che l'esecuzione di più connessioni parallele moltiplica il risultato del flusso singolo.
Migliorare il throughput
Ridurre la perdita offre il maggior rendimento per via della relazione con la radice quadrata — individua per prima cosa cablaggi instabili, salti congestionati e hardware difettoso. Accorciare l'RTT avvicinando i server agli utenti o collocando i contenuti su una CDN aiuta in modo proporzionale. Abilitare i jumbo frame alza la MSS dove ogni salto del percorso li supporta. E dove un singolo flusso semplicemente non riesce a riempire il tubo, flussi paralleli o un algoritmo di controllo della congestione tollerante alla perdita colmano il divario.
Calcolatori correlati
Per dimensionare la finestra TCP necessaria a riempire un collegamento pulito ad alta latenza, usa il calcolatore Calcolatore del prodotto banda-ritardo. Per stimare quanto tempo impiega un file a spostarsi una volta nota una velocità effettiva, usa il calcolatore Calcolatore del tempo di trasferimento dati. Per convertire un valore di throughput tra unità di bit al secondo e byte al secondo, usa il calcolatore Convertitore di throughput (bit/s).
Domande frequenti (FAQ)
Che cos'è l'equazione di Mathis?
L'equazione di Mathis è un modello semplice per il throughput di una singola connessione TCP di lunga durata limitata da perdite di pacchetti casuali. Afferma che il throughput è approssimativamente pari a (MSS × 8) diviso per (RTT × la radice quadrata del tasso di perdita).
È stata ricavata da Matthew Mathis e colleghi nel 1997 a partire dal modo in cui il controllo della congestione TCP dimezza e ricostruisce lentamente la propria finestra di invio dopo ogni perdita. È un'approssimazione per eccesso, non un valore esatto, ma cattura in modo notevole l'effetto dominante della latenza e della perdita.
Perché un tasso di perdita minimo paralizza il throughput?
Ogni pacchetto perduto costringe TCP a dimezzare la propria finestra di congestione, per poi ricostruirla di un segmento per andata e ritorno. L'equazione di Mathis mostra che il throughput varia come l'inverso della radice quadrata del tasso di perdita: passare da 0,01 % a 1 % di perdita — un aumento di cento volte — riduce il throughput di dieci volte.
Su un percorso ad alta latenza la ricostruzione è lenta perché ogni passo attende un RTT completo, ed è per questo che i trasferimenti a lunga distanza sono così sensibili anche a una perdita occasionale.
Quando l'equazione di Mathis non si applica?
L'equazione presuppone che il flusso sia limitato dalla perdita di pacchetti, non dalla finestra di ricezione o dalla velocità del collegamento. Se il percorso è pulito e la finestra TCP è abbastanza grande da riempire il prodotto larghezza di banda-ritardo, la connessione è invece limitata dalla finestra o dal collegamento, e il throughput reale è limitato dal collegamento, non dalla formula di Mathis.
Usa questo calcolatore per percorsi con perdite e ad alta latenza; per i percorsi puliti, è il prodotto larghezza di banda-ritardo a determinare la finestra necessaria per saturare il collegamento.
Come si può migliorare il throughput TCP di un flusso singolo?
Riduci prima di tutto la perdita — sistema collegamenti instabili, congestione e hardware difettoso, dato che il throughput cresce come l'inverso della radice quadrata della perdita. Accorcia l'RTT collocando i server più vicini agli utenti o usando una CDN. Abilita segmenti più grandi con i jumbo frame dove l'intero percorso li supporta.
Infine, gli algoritmi moderni di controllo della congestione come BBR sono molto meno sensibili alla perdita di quanto presupponga il modello classico, e l'esecuzione di più connessioni parallele moltiplica il limite del flusso singolo.
Da provare dopo
Calcolatore del prodotto banda-ritardo
Calcola il prodotto banda-ritardo (BDP) a partire dalla banda di un collegamento e dal suo tempo di andata e ritorno. Il BDP è la quantità di dati in transito su un percorso e la dimensione della finestra TCP consigliata per sfruttare pienamente quel percorso.
Calcolatore del tempo di trasferimento dati
Stima quanto dura un trasferimento dati reale a partire dalla quantità di dati, dalla velocità del collegamento e dall'overhead del protocollo. Tiene conto della differenza tra la velocità nominale di un collegamento e il suo throughput utilizzabile.