Goodput - Goodput

In Computernetzwerken ist Goodput (ein Portmanteau von Gut und Durchsatz ) der Durchsatz einer Kommunikation auf Anwendungsebene . dh die Anzahl der nützlichen Informationen Bits durch das Netz zu einem bestimmten Ziel pro Zeiteinheit geliefert. Die berücksichtigte Datenmenge schließt Protokoll-Overhead- Bits sowie erneut übertragene Datenpakete aus. Dies hängt mit der Zeitspanne vom ersten Bit des ersten gesendeten (oder zugestellten) Pakets bis zum letzten Bit des zuletzt zugestellten Pakets zusammen.

Wenn beispielsweise eine Datei übertragen wird, entspricht der Goodput, den der Benutzer erfährt, der Dateigröße in Bits geteilt durch die Dateiübertragungszeit. Der Goodput ist immer niedriger als der Durchsatz (die Bruttobitrate, die physisch übertragen wird), der im Allgemeinen niedriger ist als die Netzwerkzugriffsverbindungsgeschwindigkeit (die Kanalkapazität oder Bandbreite ).

Beispiele für Faktoren, die einen geringeren Goodput als den Durchsatz verursachen, sind:

  • Protokoll-Overhead : In der Regel ist der Protokoll-Overhead der Transportschicht, der Netzwerkschicht und manchmal der Datenverbindungsschicht im Durchsatz enthalten, wird jedoch vom Goodput ausgeschlossen.
  • Flusskontrolle der Transportschicht und Vermeidung von Überlastungen : Beispielsweise kann ein langsamer TCP-Start einen niedrigeren Goodput als den maximalen Durchsatz verursachen.
  • Die erneute Übertragung verlorener oder beschädigter Pakete aufgrund einer automatischen Wiederholungsanforderung (ARQ) der Transportschicht , die durch Bitfehler oder Paketverlust in überlasteten Switches und Routern verursacht wird, ist im Durchsatz der Datenverbindungsschicht oder der Netzwerkschicht enthalten, jedoch nicht im Goodput.

Beispiel

Stellen Sie sich vor, eine Datei wird über HTTP über eine Switched- Ethernet- Verbindung mit einer Gesamtkanalkapazität von 100 Megabit pro Sekunde übertragen . Die Datei kann nicht als einzelner kontinuierlicher Stream über Ethernet übertragen werden. stattdessen muss es in einzelne Teile zerlegt werden. Diese Chunks dürfen nicht größer sein als die maximale IP- Übertragungseinheit von IP über Ethernet, die 1500 Byte beträgt . Jedes Paket benötigt 20 Byte IPv4- Header-Informationen und 20 Byte TCP- Header-Informationen, sodass nur 1460 Byte pro Paket für die Dateiübertragungsdaten selbst verfügbar sind ( Linux und macOS sind weiter auf 1448 Byte beschränkt, da sie auch eine Zeit von 12 Byte enthalten Stempel). Darüber hinaus werden die Daten über Ethernet in einem Frame übertragen, was einen Overhead von 26 Byte pro Paket bedeutet. Angesichts dieser Gemeinkosten beträgt der maximale Goodput 1460/1526 × 100 Mbit / s, was 95,67 Megabit pro Sekunde oder 11,959 Megabyte pro Sekunde entspricht .

Beachten Sie, dass in diesem Beispiel kein zusätzlicher Ethernet-Overhead berücksichtigt wird, z. B. die Interframe-Lücke (mindestens 96 Bit) oder Kollisionen (die je nach Netzwerklast unterschiedliche Auswirkungen haben). TCP selbst fügt auch den Overhead von Bestätigungen hinzu (der zusammen mit der Umlaufverzögerungszeit und der tatsächlichen Größe des TCP-Fensters jede einzelne TCP-Verbindung ratenbegrenzt, siehe Bandbreitenverzögerungsprodukt ). In diesem Beispiel wird auch der Overhead des HTTP-Protokolls selbst nicht berücksichtigt, der beim Übertragen kleiner Dateien relevant wird.

Datenlieferzeit

Der Goodput ist ein Verhältnis zwischen der gelieferten Informationsmenge und der gesamten Lieferzeit. Diese Lieferzeit beinhaltet:

Siehe auch

Verweise

Quellen