Vergessen Sie die Latenz nicht, wenn Sie die Netzwerkleistung berechnen

0 Fackeln Twitter 0 Facebook 0 LinkedIn 0 E-Mail — 0 Fackeln ×

In meinem Job muss ich viel über mehrere Themen lernen. Gerade auf dem Virtualisierungsmarkt sind viele Menschen in der Regel gut vorbereitet, wenn es um Infrastruktur, Server und Speicher geht, aber ich habe festgestellt, dass der schwächste Punkt oft die Vernetzung ist. Es gibt einige Themen, die für viele unklar sind, wie Layer2 vs Layer3, BGP, Spanning Tree, aber es gibt ein Thema, das selbst für Infrastruktur-Leute wirklich wichtig ist, aber es ist ihnen fast unbekannt: Latenz.

Was ist Latenz?

So schnell es nur geht, selbst die Lichtgeschwindigkeit ist nicht unendlich. Ein Photon braucht Zeit, um von Punkt A nach Punkt B zu gelangen, und zum Beispiel benötigt das von der Sonne erzeugte Licht 8 Minuten, um die Erde zu erreichen. Unsere Computernetzwerke sind nicht einmal annähernd so schnell, weil unsere Verbindungen normalerweise nicht mit Glasfaser hergestellt werden (was schließlich so schnell wie Licht wäre), sondern mit elektrischen Kabeln und daher Übertragungen über diese Medien sind langsamer, aber auch, weil es viele Geräte zwischen Quelle und Ziel gibt, die das Paket manipulieren müssen. Der Quellhost, Switches, Router, Firewalls, der Zielhost; Jeder „Hop“ fügt der Gesamtzeit, die ein Paket benötigt, um sein Ziel zu erreichen, Zeit hinzu. Wir können diese Situation so gestalten:

( quelle: https://stackoverflow.com/questions/8682702/how-to-calculate-packet-time-from-latency-and-bandwidth )

Einfach gesagt, Latenz ist die Zeit, die ein Paket benötigt, um von der Quelle zum Ziel zu gelangen.

In einem lokalen Netzwerk ist es einfach, eine Annäherung anzuwenden und zu deklarieren, dass die Verarbeitungsverzögerung 0 ist und dass die mehreren Switches zwischen zwei Hosts keine zusätzliche Latenz hinzufügen. Wenn wir einen Ping-Befehl ausführen, um zu überprüfen, ob ein Host verbunden ist, beträgt die Latenz immer „unter 1 ms“ :

Aus diesem Grund ist es nicht ungewöhnlich, die maximale Übertragungsgeschwindigkeit zu berechnen, indem Sie einfach die verfügbare Bandbreite betrachten:

– 1 Gb Ethernet Link , geteilt durch 8, gibt mir 125 MBps

– 10 Gb Ethernet Link bedeutet 1250 MBps

und so weiter. Und wenn meine Bandbreite 125 Mbit / s beträgt, kann ich jede Sekunde 125 MBIT / s übertragen.

Warum ist Latenz wichtig?

Weil das Ignorieren zusammen mit anderen Parametern zu falschen Ergebnissen führt!

Sehen Sie sich das vorherige Beispiel an. Selbst in einem lokalen Netzwerk, in dem die Latenz nahe Null liegt, gibt es andere Parameter, die sich auf die endgültige Geschwindigkeit auswirken können. Eines vor allem: TCP-Fenstergröße. Ich werde nicht wiederholen, was bereits perfekt von anderen geschrieben wurde, also wenn Sie mehr erfahren möchten, lesen Sie diesen Beitrag von Brad Hedlund. Was ist der Haken? Die Verbindungsgeschwindigkeit, über die wir normalerweise sprechen, ist die reine Kabelverbindungsgeschwindigkeit. Darüber hinaus müssen wir mehrere Protokolle übereinander ausführen, z. B. TCP über IP. TCP teilt Daten in Pakete auf, und die Größe der Pakete wird durch die TCP-Fenstergröße bestimmt: Größer dieser Wert, Mehr Daten können in einer einzigen Übertragung übertragen werden. Dann wird eine Nutzlast in ein Paket gepackt, sodass für jedes Paket zusätzliche Bytes übertragen werden müssen, auch wenn sie keine Daten enthalten (es gibt auch einen gewissen Overhead für den zugrunde liegenden Ethernet-Frame, denken Sie an die gesamte Diskussion in Bezug auf Jumbo-Frames). Schließlich spielt die TCP-Latenz eine Rolle, da ich das nächste Paket erst übertragen kann, wenn das vorherige sein Ziel erreicht hat, da die Verbindung ansonsten damit beschäftigt ist, die anderen Pakete zu übertragen.

Latenz und Fenstergröße werden von größter Bedeutung, wenn wir von lokalen Netzwerken zu öffentlichen Netzwerken wechseln. Hier verschwindet der Wert < 1 ms, und wir müssen höhere Werte berücksichtigen. Höher ist die Latenz, kleiner ist die maximale „echte“ Bandbreite, die ich sehen werde. Nehmen wir ein einfaches Beispiel: Ein Kunde hat eine 100-Mbit / s-Verbindung zum Internet und muss eine 1-TB-Datei an seinen Dienstanbieter übertragen.

Die üblichen theoretischen Berechnungen wären einfach:

100 Mbps = 12,5 MBps

1 TB = 1000 GB = 1000000 MB

1000000 MB / 12,5 MBps = 80000 Sekunden = 1333,33 Minuten = 22,22 Stunden oder (d:h:m:s) : 22 uhr: 13 Uhr:20s

Wenn Sie JEDOCH versuchen, diese Datei an Ihren Provider zu senden, wird dies NIEMALS dauern, es sei denn, Sie und Ihr Dienstanbieter sind mit derselben Ethernet-Verbindung verbunden. was bedeutet, dass Sie überhaupt kein Internet verwenden!

So berechnen Sie die Übertragungsgeschwindigkeit richtig

Ich habe den vorherigen Wert mit diesem netten Tool auf die genauen Sekunden heruntergerechnet:

http://wintelguy.com/transfertimecalc.pl

Wenn Sie es sich jedoch ansehen, sehen Sie denselben „Näherungsfehler“, über den ich zuvor gesprochen habe: Nur Größe und Bandbreite werden berücksichtigt. Keine Fenstergröße und keine Latenz. Aber die WintelGuy Website hat mehr erstaunliche Werkzeuge, und man ist genau das, was wir brauchen:

http://wintelguy.com/wanperf.pl

In diesem sehen Sie, dass alle wichtigen Parameter aufgelistet und für die Berechnungen verwendet werden. Wiederholen wir die gleiche Berechnung wie zuvor, aber jetzt mit einigen neuen Informationen:

Wir haben die Latenz von 40 ms hinzugefügt und die beiden anderen Standardwerte (Paketverlust und MTU) akzeptiert. Wir haben keine Möglichkeit, die MTU über eine Internetverbindung zu ändern, da zwischen uns und unseren Dienstleistern viele Appliances bestehen, die nicht unter unserer Kontrolle stehen. Dies ist einer der Gründe, warum viele Telekommunikationsunternehmen ihren Kunden private MPLS-Links anstelle von VPN-Links über das öffentliche Internet anbieten, da die Verbindungseinstellungen vom Anbieter gesteuert und angepasst werden können (nun, es gibt auch ein bisschen Lock-In, aber das ist eine andere Geschichte …). Hier sehen Sie, dass TCP-Overhead und Latenz bereits den tatsächlichen maximalen Durchsatz beeinflussen, der auf 94,9 MBit / s sinkt. Ich würde jedoch sagen, dass dies eine wirklich gute Situation ist, und es könnte schlimmer sein: Lassen Sie uns alle anderen Parameter wie zuvor beibehalten und die Latenz auf 150 ms erhöhen:

Der Durchsatz wird auf 77,8 Mbit / s verringert, was einem Verlust von 22% der theoretischen Geschwindigkeit entspricht. Und es kann noch schlimmer sein: Eine ADSL-Verbindung hat zum Beispiel mehr Paketverlust, also wenn wir 150ms Latenz halten, aber wir erhöhen den Paketverlust um das 10-fache, erhalten wir dies (ignorieren Sie die Tatsache, dass kein ADSL auf 100 Mbps gehen kann, es ist getan, um die gleiche Geschwindigkeit über alle Beispiele zu halten):

Der Paketverlust wurde von 0,0001 (1 verlorenes Paket pro 10000 übertragene Pakete) auf 0 erhöht.001 (1 verlorenes Paket pro 1000 übertragenen), und allein dieser Wert hat unsere Höchstgeschwindigkeit um 75% verringert!!!

Wenn Sie also das nächste Mal sehen, dass Ihre neue glänzende Internetleitung nicht wie erwartet funktioniert, sollten Sie sich Ihr Netzwerk genauer ansehen, bevor Sie Ihrem Dienstanbieter oder der Software, die Sie zum Übertragen dieser Daten verwenden, die Schuld geben. Sie können feststellen, dass diese 25Mbps die schnellste Geschwindigkeit ist, die Sie bekommen können.

Write a Comment

Deine E-Mail-Adresse wird nicht veröffentlicht.