TCP-Durchsatz-Rechner
Eingaben
| Maximale Segmentgröße | 1.460 B |
|---|---|
| Umlaufzeit | 30 ms |
| Paketverlust | 0,1 % |
TCP-Durchsatz-Rechner
Schätzen Sie den maximalen Durchsatz einer einzelnen, langlebigen TCP-Verbindung aus Segmentgröße, Umlaufzeit und Paketverlustrate mit der Mathis-Gleichung. Zeigt, warum verlustbehaftete Pfade mit hoher Latenz einen Datenfluss weit unter die Leitungsrate begrenzen.
Eingaben
Verbindungsdetails
Ergebnisse
Geben Sie einen Wert ein, um die Ergebnisse zu sehen.
Geschätzter Durchsatz
TCP-Durchsatz
Der TCP-Durchsatz ist die dauerhafte Datenrate, die eine einzelne TCP-Verbindung über einen Netzwerkpfad erreichen kann. Er ist nicht dasselbe wie die Leitungsrate: Eine 1-Gbit/s-Leitung liefert einer einzelnen Verbindung möglicherweise nur wenige Megabit pro Sekunde, wenn der Pfad eine hohe Latenz und gelegentlichen Paketverlust aufweist. Dieser Rechner nutzt die Mathis-Gleichung, um diese Obergrenze für einen einzelnen Fluss zu schätzen — die Zahl, die für Backups, Replikation, große Uploads und jede Übertragung zählt, die auf einem einzigen TCP-Strom läuft.
Die Mathis-Gleichung
Ein langlebiger TCP-Fluss, der durch zufälligen Paketverlust begrenzt wird, pendelt sich auf einem Durchsatz von etwa folgendem Wert ein:
T≈RTT×pMSS×8Dabei ist die maximale Segmentgröße in Byte, und der Faktor acht rechnet diese Byte in Bit um. Die Umlaufzeit verwendet Sekunden als Einheit, und ist die Paketverlustwahrscheinlichkeit, ausgedrückt als Bruchteil. Das Ergebnis ergibt sich in Bit pro Sekunde.
Die Form ergibt sich aus dem Verhalten der TCP-Überlastkontrolle. Nach jedem Verlust halbiert TCP sein Überlastfenster und baut es dann pro Umlauf um ein Segment wieder auf — der bekannte Sägezahn aus additiver Erhöhung und multiplikativer Verringerung. Mittelt man diesen Sägezahn über viele Zyklen, ergibt sich ein Fenster proportional zu , und teilt man das Fenster durch die RTT, erhält man den obigen Durchsatz. Matthew Mathis und Kollegen veröffentlichten dieses Ergebnis 1997, und es bleibt das Standardmodell zur Überschlagsrechnung für verlustbegrenztes TCP.
Rechenbeispiel
Nehmen wir eine Segmentgröße von 1250 Byte, eine Umlaufzeit von 100 ms und eine Paketverlustrate von 0,01 % (ein Bruchteil von 0,0001):
p=0.0001=0.01 T=0.1×0.011250×8=0.00110000=10000000 bpsDas sind 10 Mbit/s aus einem einzelnen Fluss — unabhängig davon, ob die zugrunde liegende Leitung mit 100 Mbit/s oder 10 Gbit/s spezifiziert ist. Die Latenz und der Verlust des Pfades, nicht seine rohe Kapazität, setzen die Obergrenze.
Warum Latenz und Verlust dominieren
Zwei Terme im Nenner erklären, warum sich eine schnelle Leitung langsam anfühlen kann:
- Umlaufzeit. Der Durchsatz ist umgekehrt proportional zur RTT. Eine Verdopplung der Entfernung zwischen zwei Endpunkten halbiert die Rate eines einzelnen Flusses ungefähr, weil jede Fensteranpassung einen vollen Umlauf wartet, um wirksam zu werden.
- Paketverlust. Der Durchsatz fällt mit der Quadratwurzel der Verlustrate. Ein Wechsel von 0,01 % auf 1 % Verlust — ein hundertfacher Anstieg — teilt den Durchsatz durch zehn. Auf einem langen Pfad ist die Erholung langsam, sodass sich selbst seltener Verlust schlimm aufsummiert.
Diese Kombination aus hoher Latenz und von null verschiedenem Verlust wird manchmal als „long fat network" bezeichnet, und genau hier schneidet TCP mit einem einzelnen Fluss schlecht ab.
Wann das Modell nicht gilt
Die Mathis-Gleichung setzt voraus, dass der Fluss verlustbegrenzt ist. Ist der Pfad sauber und das TCP-Empfangsfenster groß genug, um die Leitung gefüllt zu halten, wird die Verbindung stattdessen durch die Leitungsrate oder durch das Fenster selbst begrenzt. In diesem Bereich sagt das Bandbreiten-Verzögerungs-Produkt — Bandbreite multipliziert mit RTT — wie groß das Fenster sein muss, um die Leitung zu sättigen, und die Mathis-Formel gilt nicht mehr.
Moderne Überlastkontroll-Algorithmen wie BBR verändern das Bild ebenfalls: Sie takten das Senden anhand der gemessenen Bandbreite und RTT, statt auf jeden Verlust zu reagieren, und vertragen verlustbehaftete Pfade daher weit besser, als das klassische verlustbasierte Modell vorhersagt. Behandeln Sie die Mathis-Schätzung als konservative Obergrenze für traditionelles, verlustbasiertes TCP, und denken Sie daran, dass mehrere parallele Verbindungen das Ergebnis eines einzelnen Flusses vervielfachen.
Den Durchsatz verbessern
Die Reduzierung des Verlusts bringt wegen des Quadratwurzel-Zusammenhangs den größten Ertrag — spüren Sie zuerst instabile Verkabelung, überlastete Hops und defekte Hardware auf. Eine Verkürzung der RTT, indem Sie Server näher an die Nutzer rücken oder Inhalte in einem CDN ablegen, hilft proportional. Die Aktivierung von Jumbo-Frames hebt die MSS dort an, wo jeder Hop auf dem Pfad sie unterstützt. Und wo ein einzelner Fluss die Leitung schlicht nicht füllen kann, schließen parallele Ströme oder ein verlusttoleranter Überlastkontroll-Algorithmus die Lücke.
Verwandte Rechner
Um das TCP-Fenster zu dimensionieren, das zum Füllen einer sauberen Leitung mit hoher Latenz nötig ist, verwenden Sie den Rechner Bandbreiten-Verzögerungs-Produkt-Rechner. Um zu schätzen, wie lange eine Datei zur Übertragung braucht, sobald Sie eine effektive Rate kennen, verwenden Sie den Rechner Datenübertragungszeit-Rechner. Um einen Durchsatzwert zwischen Bit-pro-Sekunde- und Byte-pro-Sekunde-Einheiten umzurechnen, verwenden Sie den Rechner Durchsatz-Umrechner (bps).
Häufig gestellte Fragen (FAQ)
Was ist die Mathis-Gleichung?
Die Mathis-Gleichung ist ein einfaches Modell für den Durchsatz einer einzelnen, langlebigen TCP-Verbindung, die durch zufälligen Paketverlust begrenzt wird. Sie besagt, dass der Durchsatz ungefähr gleich (MSS × 8) geteilt durch (RTT × der Quadratwurzel der Verlustrate) ist.
Sie wurde 1997 von Matthew Mathis und Kollegen aus der Art und Weise hergeleitet, wie die TCP-Überlastkontrolle ihr Sendefenster nach jedem Verlust halbiert und langsam wieder aufbaut. Sie ist eine Näherung als obere Schranke und keine exakte Zahl, erfasst aber den dominierenden Effekt von Latenz und Verlust bemerkenswert gut.
Warum lähmt eine winzige Paketverlustrate den Durchsatz?
Jedes verlorene Paket zwingt TCP dazu, sein Überlastfenster zu halbieren und es dann pro Umlauf um ein Segment wieder aufzubauen. Die Mathis-Gleichung zeigt, dass der Durchsatz mit eins durch die Quadratwurzel der Verlustrate skaliert, sodass ein Anstieg von 0,01 % auf 1 % Verlust — eine Verhundertfachung — den Durchsatz auf ein Zehntel senkt.
Auf einem Pfad mit hoher Latenz ist der Wiederaufbau langsam, weil jeder Schritt eine volle RTT wartet — deshalb reagieren Übertragungen über lange Strecken so empfindlich schon auf gelegentliche Verluste.
Wann gilt die Mathis-Gleichung nicht?
Die Gleichung setzt voraus, dass der Datenfluss durch Paketverlust begrenzt ist und nicht durch das Empfangsfenster oder die Leitungsrate. Ist der Pfad sauber und das TCP-Fenster groß genug, um das Bandbreiten-Verzögerungs-Produkt zu füllen, ist die Verbindung stattdessen fenster- oder leitungsbegrenzt, und der tatsächliche Durchsatz wird durch die Leitung begrenzt, nicht durch die Mathis-Formel.
Verwenden Sie diesen Rechner für verlustbehaftete Pfade mit hoher Latenz; für saubere Pfade bestimmt das Bandbreiten-Verzögerungs-Produkt das Fenster, das Sie zum Sättigen der Leitung benötigen.
Wie kann ich den TCP-Durchsatz eines einzelnen Flusses verbessern?
Reduzieren Sie zuerst den Verlust — beheben Sie instabile Verbindungen, Überlast und defekte Hardware, denn der Durchsatz steigt mit eins durch die Quadratwurzel des Verlusts. Verkürzen Sie die RTT, indem Sie Server näher an die Nutzer rücken oder ein CDN verwenden. Aktivieren Sie größere Segmente mit Jumbo-Frames, wo der gesamte Pfad sie unterstützt.
Moderne Überlastkontroll-Algorithmen wie BBR reagieren schließlich weit weniger empfindlich auf Verlust, als das klassische Modell annimmt, und mehrere parallele Verbindungen vervielfachen die Obergrenze eines einzelnen Flusses.
Weitere Empfehlungen
Bandbreiten-Verzögerungs-Produkt-Rechner
Berechnen Sie das Bandbreiten-Verzögerungs-Produkt (BDP) aus der Bandbreite einer Verbindung und der Round-Trip-Zeit. Das BDP ist die auf einem Pfad „in Flight" befindliche Datenmenge und die empfohlene TCP-Fenstergröße, um diesen Pfad voll auszulasten.