Verringert das Erhöhen der Bandbreite auf einer Verbindung von beispielsweise 1 MB auf 30 MB die RTT?
Ich habe eine Antwort gefunden, die nein sagt. Kann mir bitte jemand erklären?
Was sind auch die besten Mechanismen zur Reduzierung der RTT?
Verringert das Erhöhen der Bandbreite auf einer Verbindung von beispielsweise 1 MB auf 30 MB die RTT?
Ich habe eine Antwort gefunden, die nein sagt. Kann mir bitte jemand erklären?
Was sind auch die besten Mechanismen zur Reduzierung der RTT?
Antworten:
Verringert das Erhöhen der Bandbreite auf einer Verbindung von beispielsweise 1 MB auf 30 MB die RTT?
Kurz gesagt, ja; Sie ändern die Serialisierungsverzögerung . Bei 1 Mbit / s ist die Serialisierungsverzögerung nicht trivial.
Vergleichen Sie die Serialisierungsverzögerung für ein 1500-Byte-Paket mit 1 Mbit / s und 30 Mbit / s:
1500 Bytes * 8 bits/Byte / 1,000,000 bits/second = 12 milliseconds (at 1Mbps)
1500 Bytes * 8 bits/Byte / 30,000,000 bits/second = 0.4 milliseconds (at 30Mbps)
Denken Sie auch daran, dass dies unidirektionale Zahlen sind. Sie sollten sie verdoppeln, wenn Sie RTT in Betracht ziehen. Ob Sie sich für einen Unterschied von 11,6 Millisekunden in jede Richtung bei 1500 Bytes interessieren, ist eine andere Frage, aber genau genommen können Sie die RTT mit der Verbindungsgeschwindigkeit beeinflussen.
Verringert das Erhöhen der Bandbreite auf einer Verbindung von beispielsweise 1 MB auf 30 MB die RTT?
Nein, eine Erhöhung der Bandbreite reduziert die RTT streng genommen nicht. Ich sage "genau genommen", weil es davon abhängt, was Sie messen!
Szenario 1: Die physikalische Schicht
Angesichts der folgenden einfachen Topologie, die leicht zu befolgen ist, hat eine Kupfer-Ethernet-Verbindung mit 1 Mbit / s und einer MTU von 1500 Byte zwischen zwei Geräten mit einem 10-Meter-Kabel dieselbe RTT (die Zeit, die für ein ICMP-Echoanforderungspaket benötigt wird) von Gerät 1 zu Gerät 2 und die ICMP-Echoantwortnachricht von Gerät 2 zurück zu Gerät 1) als 10/30/50/100-Mbit / s-Kupfer-Ethernet-Verbindung zwischen ihnen mit einer 1500-Byte-MTU auf demselben 10-Meter-Kabel.
Dies liegt daran, dass die "Verzögerung" des Signals im Kupferkabel mit seiner dialektischen Konstante ( relative Permittivität ) zusammenhängt. Auf diesen beiden Wikipedia-Seiten finden Sie zusätzliche Informationen zur Physik, die hier nicht berücksichtigt werden.
Im Wesentlichen entspricht die "Flugzeit" der elektrischen Signale über das Kupferkabel der gleichen Geschwindigkeit für eine 10-Mbit / s- und eine 1000-Mbit / s-Verbindung, wenn das Cat5e-Kabel der gleichen Länge und Klasse verwendet wird. Der Unterschied besteht darin, dass bei einer 10-Mbit / s-Verbindung Daten weniger häufig auf dem Draht codiert werden als bei einer 100-Mbit / s-Verbindung, sodass kleinere Lücken zwischen den Datenbits bestehen, wenn sie auf dem Draht platziert werden (dies wird als Serialisierungsverzögerung bezeichnet ). Diese beiden Wikipedia-Artikel erweitern diese Konzepte weiter: Bitzeit und Slotzeit .
Szenario 2: Schicht 4 und höher (TCP-Beispiel)
In der folgenden Beispieltopologie wird eine Kupfer-Ethernet-Verbindung mit 1 Mbit / s und einer MTU von 1500 Byte zwischen zwei Geräten mit einem 10-Meter-Kabel ausgeführt. Wenn Sie über eine Datenmenge von X verfügen, von der wir behaupten, dass sie 100 Megabyte Daten für den Transport zwischen Gerät 1 und Gerät 2 beträgt, dauert dies länger als bei einer Kupfer-Ethernet-Verbindung mit 30 oder 100 Mbit / s und einer MTU von 1500 Byte auf einem 10-Meter-Bildschirm Kupferkabel zwischen denselben beiden Geräten. Dies liegt daran, dass das Codieren und Senden der Daten auf der Leitung länger dauert und die empfangende Netzwerkkarte beim Empfangen und Decodieren der Signale ebenso langsam ist.
Hier dauert die RTT von "tatsächlichen Daten", bei denen es sich möglicherweise um eine einzelne 100-MB-Datei handelt, länger, da Sie mit den eingeführten Protokollen höherer Ebene nicht nur die Daten übertragen müssen, sondern möglicherweise auch SYNs, ACKs und PUSH-Pakete, die hier mit zusätzlichen Bitzeiten ausgetauscht wurden Auf der Anwendungsebene kann eine Nachricht von Gerät 2 an Gerät 1 gesendet werden, die besagt, dass ich jetzt alle Daten erhalten habe.
Was sind die besten Mechanismen zur Reduzierung der RTT?
Kurze Antwort: nicht viel
Lange Antwort:
Um dies in ein reales Beispiel zu bringen, das die obigen Beispiele erweitert; Wenn Sie zwischen zwei Geräten "pingen", die über mehrere Zwischenrouter und / oder Switches miteinander verbunden sind, ist die RTT ein Produkt der physischen Entfernung und der Zeit, die die Signale benötigen, um so weit und zurück durch all diese Geräte zu gelangen (im Grunde genommen) ). Wenn auf diesen Geräten QoS konfiguriert ist, kann dies auch die End-to-End-Verzögerung erhöhen und das Modell weiter verkomplizieren.
Abgesehen von (in einer rein hypothetischen Situation, in der Geld kein Objekt ist und Politik keine Rolle spielt usw.) können Sie hier nicht viel tun. Installieren Sie eine Glasfaserverbindung, die direkt von Gerät 1 zu Gerät 2 verläuft, und schneiden Sie alle dazwischen liegenden Switches und Router aus. Das wäre ein ideales Szenario. Realistisch gesehen könnten Sie alle Kupfer- oder drahtlosen Verbindungen zu Glasfaser aufrüsten (nicht, dass Glasfaser sehr viel schneller ist [ i ], [ ii ]) und versuchen, den Verbindungspfad so direkt wie möglich zu gestalten, damit Daten über die geringste Anzahl von Zwischengeräten und anderen Geräten übertragen werden physische Verbindungen. QoS-Tuning und Verkehrstechnik (Constraint-basiertes Routing) können auch über größere Entfernungen mit vielen dazwischen liegenden Sprüngen hilfreich sein.
Wenn Sie Daten zwischen Punkten übertragen möchten, die Ihrer Meinung nach eine "zu hohe RTT" aufweisen, können Sie sich Technologien wie TCP SACK ansehen, die bereits an vielen Orten verwendet werden. Wenn Sie sich jedoch darüber informieren, erhalten Sie Informationen Ein Ausgangspunkt, da es andere ähnliche Technologien gibt, die Sie dann untersuchen können. Dies schließt Technologien wie WAN-Beschleuniger und -Kompressoren ein, obwohl dies nicht in den Geltungsbereich dieses Themas fallen würde. Bei der Datenübertragung über eine Verbindung mit hoher RTT müssen Sie das BDP (Bandwidth Delay Product, [ iii ]) berücksichtigen. Wenn Sie so etwas wie TCP verwenden, werden Sie immer zurückgehalten.
[i] Die "Flugzeit" über einem kupferdielektrischen Medium ist einem Faserwellenleiter sehr ähnlich
[ii] Dies könnte sich jedoch ändern. Neue Forschungen und Technologien werden hoffentlich die Lichtgeschwindigkeit in einer Faser von durchschnittlich 0,6 * c auf nahezu 1,0 * c erhöhen. http://www.orc.soton.ac.uk/ speedoflight.html
[iii] http://www.kehlet.cx/articles/99.html - BDP-Beispiel
Das, was RTT am unmittelbarsten beeinflusst, ist die Signalgeschwindigkeit. Schauen Sie sich das Fortschreiten des Ethernet über die Äonen an: 10M, 100M, 1G, 10G, 40G und 100G. Jede folgende Version (außer 40G) ist 10x schneller als die vorherige; Die Zeit zum Senden eines einzelnen Bits beträgt 1/10 so lang. Die Zeit zum Senden eines vollständigen (1500B) Rahmens verringert sich um den Faktor 10.
Die Antwort auf Ihre Frage hängt also von der Linkschicht ab. Wenn die Änderung der Bandbreite keine entsprechende Änderung der Verbindungsgeschwindigkeit hat, hat dies nur minimale Auswirkungen auf die RTT, da die Verkehrspolizei nicht pro Bit durchgeführt wird . Zum Beispiel ist meine Büro-Metro-E-Verbindung physisch 1G, aber an beiden Enden auf 100M geformt. Bits fließen mit 1G-Geschwindigkeit; Ethernet- Frames werden nach Bedarf verzögert, um den Durchschnitt (über 1s, 10s usw.) bei oder unter 100M zu halten. In einfachen Worten, ein einzelner Frame sendet mit Verbindungsgeschwindigkeit.
Wenn Sie über DSL sprechen, ist die Änderung der Bandbreite höchstwahrscheinlich auch eine Änderung der Verbindungsgeschwindigkeit. Aber nicht immer. Die Synchronisationsgeschwindigkeit ist normalerweise höher als die Profilrate. Meine DSL-Leitung wird mit 8M nach unten und 1M nach oben synchronisiert, aber das Profil beschränkt sie auf 6 / 512k. Ich habe gesehen, dass Uverse-Linien bis zu 60 Millionen synchronisieren, aber immer noch ein 25-Meter-Profil haben.
Niemand erwähnte das Laden des Links.
Bei ansonsten leeren Links gibt es dann keinen großen Unterschied zwischen 1 MB und 30 MB - sicher, dass die Codierung in 1/30 der Zeit erfolgen kann, aber dies ist vernachlässigbar, wenn der Abstand der dominierende Faktor ist.
Wenn die 1-MB-Verbindung jedoch stark ausgelastet (überlastet?) Ist, werden erhöhte (und schwankende) Ping-Zeiten angezeigt.
Die gleiche Verkehrslast auf einer 30-MB-Verbindung macht nur wenige% ihrer Kapazität aus, sodass die Ping-Zeiten schneller und konsistenter sind.
Das Two-Way Active Measurement Protocol (TWAMP) definiert eine flexible Methode zum Messen der Round-Trip-IP-Leistung zwischen zwei beliebigen Geräten in einem Netzwerk, die den Standard unterstützen.
Die wirkliche Antwort ist, dass es kompliziert ist.
Die Latenz besteht aus mehreren Komponenten.
Die Reisezeit durch das physische Medium kann nur durch Auswahl eines anderen physischen Mediums geändert werden.
Die Zeit, die Sie in Warteschlangen verbringen, wird im Allgemeinen durch schnellere Verbindungen reduziert. Dies gilt auch für die Zeit, die für die Serialisierung und De-Serialisierung von Daten aufgewendet wird.
Die Auswirkungen auf die Verarbeitung können kompliziert werden. Wenn der Verarbeitungsschritt gleich bleibt, dauert es bei einer schnelleren Datenrate im Allgemeinen weniger lange. Techniken, die entwickelt wurden, um mehr Bandbreite aus vorhandenen Verbindungen zu extrahieren, können jedoch auch zusätzliche Verarbeitungsverzögerungen verursachen. Ein klassisches Beispiel hierfür ist das DSL-Interleaving.