Warum wird die Durchsatzgeschwindigkeit vom Endsystem mit dem langsameren Durchsatz bestimmt?

492
Darien Springer

Ich habe die Durchsatzgeschwindigkeit von Paketübertragungen untersucht und bin vom Gesamtdurchsatz von einem Endsystem zum anderen verwirrt. Beispiel: Ein Server sendet ein Paket an einen Client mit einem Router dazwischen. Mein Lehrbuch Computer Networking von Kurose und Ross sagt, dass das Endsystem mit der langsameren Durchsatzgeschwindigkeit die Durchsatzgeschwindigkeit der gesamten Dateiübertragung bestimmt. Warum ist das?

Würden die beiden Durchsatzgeschwindigkeiten nicht addiert, um den gesamten Datentransferdurchsatz zu erreichen? Zum Beispiel: Der Durchsatz des Servers pumpt Bits mit 1 Mbps und der Router pumpt Bits mit 2 Mbps. Sagen Sie auch, dass die Dateigröße 10 Millionen Bit betrug. Vom Server zum Router dauert es 10 Sekunden, um den Server zu erreichen, und dann dauert es etwa 5 Sekunden, um den Client zu erreichen, und die gesamte Durchsatzinteraktion dauert 15 Sekunden. Das würde ich denken, aber mit der Logik des Lehrbuchs würde das 10 Sekunden dauern. Warum ist das?

0
Denken Sie in Bezug auf den Durchsatz an Daten wie Wasser in einer Rohrleitung. Der Durchmesser des Rohrs ist die Gesamtbandbreite. Das Volumen des Wassers, das diesen Durchmesser für eine beliebige Entfernung in beliebiger Zeit durchlaufen kann, ist sein Durchsatz. ein bestimmtes Wassermolekül, das in das Rohr eintritt, bewegt sich mit einer vordefinierten Rate durch dieses Rohr und tritt dann in ein nachfolgendes Rohr ein, das mit dieser Rohrgeschwindigkeit durch dieses Rohr hindurchtritt. Da das Molekül das gesamte Rohr durchlaufen muss, bevor es in das nachfolgende Rohr eintritt, ist die Zeit zum Durchlaufen beider Rohre pipe1Time + pipe2Time. Je höher diese Zeit ist, desto niedriger ist die Geschwindigkeit. Frank Thomas vor 7 Jahren 1
cont. Je niedriger die Geschwindigkeit ist, desto niedriger ist die Gesamtdurchsatzrate. Ein Pfad kann also niemals kürzer sein als der Durchsatz seiner einzelnen Pipes. Wenn eine Leitung langsamer ist als die anderen, ist es egal, wie viel schneller die anderen Leitungen sind. Die langsame Leitung führt zu Engpässen, und die Kommunikation auf diesem Pfad wird niemals schneller sein als die Geschwindigkeit der langsamsten Leitung. Zusammenfassend kann man sagen, dass Sie mit der Zeitaufwand alles zusammen haben, aber für den Durchsatz nehmen Sie die Geschwindigkeit der langsamsten Komponente auf dem Pfad. Sie können niemals schneller als es gehen. Frank Thomas vor 7 Jahren 1

2 Antworten auf die Frage

2
Mokubai

Das Ende mit der niedrigsten Geschwindigkeit bestimmt die Gesamtgeschwindigkeit der Verbindung, da sie Daten buchstäblich nicht schneller empfangen kann, andernfalls führt dies zu Fehlern.

Denken Sie nicht über die Zeit nach, denken Sie daran, wie schnell etwas zuhören kann.

Um es so zu sagen: Sie haben eine Person, die ein Buch vorgelesen hat, aber sie kann sehr schnell sprechen und Sie haben eine Person, die zuhört. Der Zuhörer kann nur langsam verstehen, so dass entweder der schnelle Leser sich auf eine Geschwindigkeit verlangsamen muss, die der Zuhörer verstehen kann, oder der Zuhörer muss immer wieder sagen: "Warten Sie, können Sie das wiederholen?". Das bestimmt den Durchsatz.

Sie machen auch einen kritischen Fehler, wenn Sie davon ausgehen, dass der Router den gesamten zu übertragenden Datenblock speichert, bevor Sie ihn weiterleiten. Während dies bei kleinen Datenblöcken der Fall ist, funktioniert das Gesamtsystem nicht.

Es gibt zwei Durchsätze, die Sie hier betrachten. Der Durchsatz des Absenders zum Router und vom Router zum Empfänger. Der Router hält nur eine kleine Menge der Daten zu einem bestimmten Zeitpunkt und speichert den gesamten großen Block nicht, bevor er erneut übertragen wird. Somit ist die langsamste Verbindung im System effektiv, die die Gesamtgeschwindigkeit begrenzt, die die Ende-zu-Ende-Verbindung funktionieren kann beim.

"Der Zuhörer kann nur langsam verstehen, so dass entweder der schnelle Leser auf eine Geschwindigkeit verlangsamen muss, die der Zuhörer verstehen kann, oder der Zuhörer muss sagen" Warte, kannst du das "viel wiederholen". Aber so funktioniert es eigentlich? Hat der Empfänger ein Mittel, um zu sagen: "Warten Sie, können Sie das wiederholen?"? Ich kenne die Antwort nicht, aber die Analogie bleibt übrig, wenn man denkt, ich würde fragen, weil ich neugierig bin. Trotzdem, schöne Analogie, um etwas Perspektive zu geben. Damon vor 7 Jahren 0
Vielen Dank für Ihre Antwort, aber ich bin immer noch verwirrt. Würden die Bits nicht schneller werden, wenn sie den Router treffen? Ich glaube, ich verstehe, dass, wenn der Server Bits mit 10 Mbps ausstoßen würde, es 10 Sekunden dauern würde, um zum Client zu gelangen, wenn der Durchsatz des Servers mit dem Client die gleiche Geschwindigkeit hatte. Darien Springer vor 7 Jahren 0
Aber im Beispiel, da der Durchsatz von Router zu Client doppelt so schnell ist, würde sich nicht ändern, wie schnell sich die Bits bewegten, sobald sie den Router erreichten? Wäre die Formel dann nicht ((Server-Durchlaufzeit) + (Router-Durchlaufzeit)) / 2? Würde das nicht dazu führen, dass der Gesamtdurchsatz (10 Sekunden + 5 Sekunden) / 2 ist? Deshalb würde es nicht 7,5 Sekunden dauern? Darien Springer vor 7 Jahren 0
Ja-Pakete durchlaufen die schnellere Verbindung mit der schnellstmöglichen Geschwindigkeit, die von dieser Verbindung möglich ist, aber zwischen den einzelnen Paketen tritt eine Verzögerung auf, während der Router darauf wartet, dass ein gesamtes Paket an ihn gesendet wird. Aufgrund der Tatsache, dass die Datenblöcke kontinuierlich weitergegeben werden, besteht für den Empfänger kein offensichtlicher Unterschied zwischen der schnellen Verbindung zum Router und der langsamen Verbindung zum Rest der Welt außerhalb des Routers. Es ist im Wesentlichen wie ein Audio-Wiederholungsgerät, es hat eine kleine Verzögerung, aber es muss (in gewissem Umfang) immer noch die Geschwindigkeit der Daten berücksichtigen, die an es gesendet werden. Mokubai vor 7 Jahren 0
@DarienSpringer Sie wären im Wesentlichen richtig, wenn die Paketgrößen so groß wären, aber sie sind normalerweise unglaublich klein und daher ist die Verzögerung bei der erneuten Übertragung ebenfalls sehr gering. Eine große Datenmenge wird in viele winzige Pakete aufgeteilt und fließt durch das Netzwerk. Sie sind durch die langsamste Verbindung eingeschränkt, da sie am längsten am längsten über die Verbindung laufen. Überall dort, wo sie sich so schnell wie möglich bewegen, ist ihre Flussrate als Gruppeneinheit jedoch dadurch begrenzt, wie schnell sie die langsamste durchschreiten kann Verknüpfung. Sie müssen an einen kontinuierlichen Fluss denken, anstatt an Punkt x zu warten Mokubai vor 7 Jahren 0
Eine Kette ist nur so stark wie ihr schwächstes Glied. Es ist egal, wie viele oder wie stark die anderen Verbindungen sind. Die schwächste ist die einzige, die zählt. Das gleiche Prinzip hat viele Anwendungen, wobei die Datenübertragungsgeschwindigkeit eine ist. In diesem Beispiel sendet der Server Daten mit 10 MBit / s. Die Gesamtübertragungsrate kann dies möglicherweise nicht überschreiten, oder das letzte Byte würde empfangen werden, bevor es gesendet wurde. Denk darüber nach. LMiller7 vor 7 Jahren 0
Eine Kette ist eine ziemlich gute Analogie. Die Kette durchläuft eine Reihe von Zahnrädern, aber aufgrund einer Schwäche zwischen zwei dieser Zahnräder (sagen wir, die Kette durchläuft eine scharfe Biegung und riskiert dabei, sich selbst herauszureißen), können Sie sie nur mit einer bestimmten Geschwindigkeit durch dieses Glied fahren. Es bewirkt, dass das gesamte Kettenglied langsamer wird. Mokubai vor 7 Jahren 0
Ich schätze alle Kommentare, bin aber immer noch verwirrt. Vielleicht bin ich wirklich an der Wand hängen geblieben, aber selbst winzige Päckchen müssen durch den zwischengeschalteten Router gehen. Sie müssen verarbeitet, in die Warteschlange gestellt, übertragen und dann weitergegeben werden. In meinem Beispiel gehe ich davon aus, dass die Verzögerungen vernachlässigbar sind, bis sie irrelevant sind. Ich führe nur Verzögerungen an, da die Pakete am Router anhalten müssen und dann vom Router an den Client übertragen werden. Wegen dieser "Wand" würden die Pakete den Router nicht mit einer niedrigeren Geschwindigkeit erreichen und dann beschleunigen? Darien Springer vor 7 Jahren 0
Nehmen wir an, wir reden immer noch von einer Durchsatzgeschwindigkeit von Server zu Router von 1 Mbps und von Server zu Client von 2 Mbps. Würden die Pakete nicht die Hälfte des Gesamtdurchsatzes bei 1 Mbit / s und die andere Hälfte bei 2 Mbit / s ausgeben? Darien Springer vor 7 Jahren 0
Ein Paket bewegt sich nicht mit einem Durchsatz, es bewegt sich mit einer Übertragungsrate für die Verbindung, auf der es sich befindet. Der Durchsatz ist ein Maß für die Geschwindigkeit, mit der ein Paket den gesamten Pfad durchläuft, sodass ein Pfad, der zwei Verbindungen mit jeweils 10 MBit / s hat, einen Durchsatz von 10 MBit / s hat. Wenn Sie eine Verbindung auf 100 MBit / s aufrüsten, beträgt der Durchsatz immer noch 10 MBit / s, da dies die Rate ist, mit der die Bits des Pakets den Pfad durchlaufen können. Frank Thomas vor 7 Jahren 0
0
Frank Thomas

Stellen Sie sich eine Reihe von Ameisen vor, die sich von einem Blatt zu ihrem Loch bewegen, aber es gibt einen Stock in der Art, wie sie darüber klettern müssen:

<Leaf> ------ <stick> ------ <hole> 

Eine Ameise benötigt 3 Sekunden, um den Stock (Bein1 der Reise) zu erreichen, 10 Sekunden, um über den Stock (Bein2) zu klettern, und dann 2 Sekunden, um sich vom Stock zum Loch zu bewegen (Leg3). Die Gesamtbandbreite von leg1 beträgt 3 Ameisen, die Bandbreite des Sticks ist eine Ameise und die Bandbreite von Leg3 beträgt 3 Ameisen.

So verlässt ant0 das Blatt und geht zum Stock. Er klettert über den Stock und geht zum Loch. Gesamtzeit = 15 Sekunden.

Ant1 lässt 1 Sekunde hinter ant0 und durchquert Bein1 in drei Sekunden. Es kommt auf den Stick, aber die Bandbreite der Sticks ist voll, da Ant0 es verwendet. Ant1 muss also 9 Sekunden warten, bevor er mit dem Stick beginnen kann. Wenn Ant0 mit dem Stick fertig ist, kreuzt Ant1 den Stick und fährt mit dem Loch fort. Die Gesamtzeit beträgt 3 Sekunden + 9 Sekunden (Warten) + 10 Sekunden, die den Stock + 2 Sekunden bis zum Loch überqueren => 24 Sekunden.

Ant2 lässt 1 Sekunde hinter ant1 zurück und benötigt drei Sekunden, um den Stick zu erreichen. Es muss dann sowohl auf Ant0 als auch auf Ant1 gewartet werden, um den Stick zu löschen, bevor er überqueren kann. Gesamtzeit = 3s + 10s (Warten auf ant1) + 8s (Warten auf ant0) + 10s (Überschreiten des Stocks) + 2s, um das Loch zu erreichen => 33 Sekunden.

Wenn wir also den Durchsatz dieses Pfads messen würden, wäre dies 3 / (15 + 24 + 33) => 0,0416 Ants pro Sekunde.

Nehmen wir an, wir haben das Bein1 auf 1 Sekunde (3x schneller) beschleunigt. wir landen mit 3 / (13 + 22 + 31) => 0,454 Ants pro Sekunde. sehr wenig Erhöhung für eine 3-fache Geschwindigkeitssteigerung auf einem Bein.

Nehmen wir an, wir haben Leg3 auf 1 Sekunde (2x schneller) beschleunigt. Am Ende stehen 3 / (12 + 21 + 30) => 0,0476 Ants pro Sekunde. wieder sehr wenig auswirkung.

Wenn wir die Geschwindigkeit von Leg2 jedoch um etwa 2x auf 5 Sekunden erhöht haben, erhalten wir eine sehr unterschiedliche Zahl 3 / (7 + 11 + 17) => 0,085 Ants pro Sekunde.

Ein Anstieg in einem der schnelleren Abschnitte hat also wenig getan, aber die Verdoppelung der Geschwindigkeit der langsamsten Komponente verdoppelte den Durchsatz des Pfads effektiv.

Sie stellen auch fest, dass Leg3 trotz der großen Bandbreite und der schnellen Übertragungsrate die Geschwindigkeit, mit der die Ameisen das Loch erreichen, nicht beeinflusst, da die Geschwindigkeit, mit der die Ameisen in Leg3 eindringen, vom Stick als Engpass eingestuft wird der Bandbreite auf Leg3 ist unbrauchbar. Sie könnten es um das 100-Fache erhöhen und keinen Einfluss auf die Geschwindigkeit haben, mit der die Ameisen das Loch erreichen. In dieser Situation können Sie die Gleichung nur ändern, indem Sie die Geschwindigkeit erhöhen, mit der Ameisen den Stock kreuzen. alles andere ist bedeutungslos.

Okay. Ich glaube, ich verstehe das jetzt. Als ich über Übertragungsgeschwindigkeiten las, habe ich es nicht mit der Tatsache verbunden, dass die Übertragungsgeschwindigkeiten davon abhängen, wie breit der Übertragungsweg von einem Knoten zu einem anderen ist. Der Grund dafür, dass ein Engpass entsteht, liegt darin, dass, wenn ein Übertragungspfad kleiner als ein anderer ist, die Anzahl der Bits, die gleichzeitig übertragen werden können, der Fall ist. Darien Springer vor 7 Jahren 0