So ermitteln Sie den Durchsatz eines Pfads zwischen zwei Hosts mit mehreren Links

2529
sherrellbc

Ich habe ähnliche Fragen während der Suche gesehen, also dachte ich, dass dies der geeignetste Ort ist, um diese Frage zu stellen.

Ich bin nicht sicher, wie der Durchsatz eines Datenübertragungspfads bei mehreren Verbindungen berechnet werden soll. Stellen Sie sich vor, wir haben die folgende Verbindung zwischen zwei Hosts:

A <----- L1 -----> * <----- L2 -----> * <----- L3 -----> B

Ein Problem besagt, dass jede der drei Verbindungen durch eine gegebene Übertragungsrate in Kbit / s gekennzeichnet ist. Die Problembeschreibung fordert eine Berechnung des Durchsatzes des angegebenen Pfads an und bestimmt bei dieser Durchsatzberechnung auch die Zeit, die erforderlich ist, um eine Datei beliebiger Länge zu übertragen.

Angenommen, wir haben: L1 = 100 kpbs, L2 = 200 kbps, L3 = 300 kbps

Ich habe dieses Problem zuerst angegangen, indem ich mir die Gesamtzeit angesehen habe, die zum Übertragen eines einzelnen Bits von Host A nach B benötigt wurde. Dabei handelt es sich um die reziproke Summe der Übertragungsraten jeder Verbindung.

  • time_taken = #bits_to_transfer * (1 / L1 + 1 / L2 + 1 / L3)

In diesem oben angegebenen Fall würde diese Übertragungsrate jedoch 54,5 Kbps betragen! Diese Schlussfolgerung ist offensichtlich falsch, da wir mindestens eine Datenübertragungsrate von 100 Kbps haben. Ich trat einen Moment zurück, um zu erkennen, dass dies tatsächlich die richtige Antwort war, wenn der gesamte Link als ein einziger fortlaufender Link des Typs betrachtet werden sollte:

A <----- L_äquivalent -----> B

Aber das ist nicht das, was wir haben, da wir im physischen Raum tatsächlich drei verschiedene Verbindungspfade haben. Daher sollten wir erwarten, dass mehrere Bits gleichzeitig über verschiedene Verbindungen übertragen werden können. Die obige Lösung wäre korrekt, wenn wir zu einem bestimmten Zeitpunkt ein einzelnes Bit von A nach B übertragen und das nächste nur senden würden, nachdem das erste Bit eingetroffen ist.


tl; dr

Wäre es nicht so, dass wir zuerst ein Bit von A über L1 übertragen, dann können wir, da L1 dasselbe Bit an L2 sendet, ein anderes Bit an L1 übertragen und entsprechend vorgehen. Ist es dann eine korrekte Schlussfolgerung, dass der Durchsatz dieses Pfads zwischen A und B lediglich die Übertragungsrate der langsamsten Verbindung ist, 100 Kbps?

2

2 Antworten auf die Frage

1
VL-80

Was Sie daraus abschließen, ist sinnvoll. Irgendwo auf dem Weg haben Sie einen Engpass - L1 = 100Kpbsin Ihrem Beispiel. Der maximale Durchsatz liegt also nicht über diesem niedrigsten Wert.

Ein reales Beispiel ist eine Unternehmens-Workstation, die an einen Access-Level-Switch mit einer Port-Geschwindigkeit von 100 MBit / s angeschlossen ist. Dieser Schalter ist wiederum an einen Verteilungsstufenschalter mit einer Geschwindigkeit von 1 Gbit / s angeschlossen. Der Verteilungs-Switch wird mit einem 10-Gbit / s-fähigen Anschluss an den Core-Switch angeschlossen.

Jetzt schauen wir uns die Workstation an und die Verbindungsgeschwindigkeit beträgt immer noch 100 MBit / s, obwohl irgendwo entlang der Leitung eine 10 GBit / s-fähige Verbindung besteht.

Intuitiv macht es Sinn, dass eine langsame Verbindung in einem bestimmten Pfad den Datenfluss sicherlich behindert, aber wie genau können wir sagen, dass die Übertragungsrate dann gleich der langsamsten Verbindung ist? In Ihrem Beispiel ist die 100-MBit / s-Workstation mit einem viel schnelleren Linksatz verbunden, sodass die Übertragungsrate * von der Workstation * zu den schnelleren Switches tatsächlich nur 100 MBit / s beträgt, aber wir sollten nicht auch die Übertragungsraten von berücksichtigen diese (schnelleren) Schalter? Kurz gesagt, die Gesamtübertragungsrate zwischen zwei Hosts beträgt nicht 100 MBit / s, sondern die Summe der Auswirkungen jedes Switches / Links, oder? sherrellbc vor 9 Jahren 0
In meinem obigen Beispiel beträgt die Übertragungsrate durch L1 100 Kbit / s. Wie können wir mathematisch die effektive Übertragungsrate zwischen den beiden Hosts ermitteln, die ein Benutzer beobachten wird? Das heißt, die kombinierte Wirkung der langsamen Verbindung L1 zusammen mit L2 und L3. sherrellbc vor 9 Jahren 0
Wenn ich darf, gibt es keinen kombinierten Effekt! In einfachen Worten: Pakete von einem größeren Link erreichen den Engpass, die Puffer füllen sich und der Absender wird aufgefordert, den Vorgang zu beenden. [Lesen Sie dies] (https://en.wikipedia.org/wiki/Queuing_delay), um weitere Informationen zu erhalten. HTH Dude named Ben vor 9 Jahren 0
@sherrellbc, ich habe keinen mathematischen Beweis dafür und habe nie versucht, ihn zu produzieren. Was ich geschrieben habe, ist eher ein gesunder Menschenverstand. Es ist wie ein Zug "T", der "1000" Passagiere zwischen zwei Stationen befördern kann, und einen Bus "B", der nur 50 Passagiere befördern kann. Wenn wir uns also den Pfad "start -> T -> B -> finish" vorstellen, ist es offensichtlich, dass Engpass ein Bus ist und "950" -Fahrgäste warten müssen, bis der Bus zurückkommt, nachdem er die ersten "50" Passagiere abgeholt hat Zug. VL-80 vor 9 Jahren 0
1
Dude named Ben

In dem Szenario, in dem die Verbindung nicht verwendet wird, würden Sie höchstens den Durchsatz der Verbindung mit der geringsten Kapazität erhalten. Also L1, dh 100 Kbit / s. Aus diesem Grund werden Sie bei einer 100-Mbps-Kabelverbindung oftmals weitaus weniger als das, was auf eine überlastete oder kleinere Verbindung zwischen Ihnen und Ihrem Ziel zurückzuführen ist.

Sie scheinen auch den Durchsatz und die Geschwindigkeit (oder Latenz) zu verwechseln. Der Durchsatz ist die Anzahl der Pakete in einem bestimmten Intervall (kbps) im Verhältnis zur Geschwindigkeit, die angibt, wie schnell ein Paket ein bestimmtes Ziel erreicht. Eine Satellitenverbindung hat einen großen Durchsatz, aber aufgrund der Entfernungen eine schreckliche Latenz.