Kann die Paketlatenz schwanken?

9

Kann die Zeit, die ein Paket benötigt, um von einem Client zum Server übertragen zu werden, schwanken?

Liamzebedee
quelle

Antworten:

9

Das IP - Protokoll, oben auf dem TCP- und UDP aufgebaut sind, gibt an, dass Datagramme weder kommen , um garantiert, noch über den gleichen Weg, noch, was das betrifft, auf allen (dank Trevor für die Erinnerung). Unabhängig davon, ob TCP oder UDP verwendet wird, schwankt die Latenz. Die Latenz ist teilweise auf die zurückgelegte Entfernung zurückzuführen , die sich ändert, wenn sich der Pfad ändert, und teilweise auf die Protokollstapelübersetzung auf den Routing-Geräten entlang des ausgewählten Pfads - die sich auch ändert, wenn sich der Pfad ändert.

Dies ist Teil der Selbstreparatur des Internets, die es ihm ermöglicht, das zu tun, was es jeden Tag tut: Wenn eine Route gemäß den in verschiedenen Routing-Geräten auf dem Weg programmierten Heuristiken weniger geeignet ist, wird stattdessen eine andere Route gewählt. Dies kann entweder vorübergehend oder langfristig sein. Denken Sie daran, bevor es das Internet war, war es das ARPANET - ein Verteidigungsnetzwerk, das entwickelt wurde, um z. die sofortige Entfernung großer Teile des Netzwerks (denken Sie an Atomkrieg), ohne dass das Netzwerk als Ganzes ausfällt. Durch das Routen durch beschädigte oder anderweitig nicht ideale Bereiche funktioniert das größere Netzwerk weiterhin (wenn auch möglicherweise suboptimal).

Techniker
quelle
1
Es lohnt sich hinzuzufügen, dass Datagramme nicht garantiert ankommen. Sie können einfach zu jedem Zeitpunkt ihrer Reise stillschweigend fallen gelassen werden. Nur der auf IP basierende TCP-Transport verleiht der Netzwerkkommunikation eine Illusion von Zuverlässigkeit.
Trevor Powell
Siehe auch die Antwort von Danny Pflughoeft. Er fügt zu Recht hinzu, dass TCP aufgrund seiner Funktionsweise zusätzliche Verzögerungen erleiden wird. Wenn Pakete verloren gehen, werden sie erneut angefordert und erneut gesendet, wodurch die Nachrichtenlatenz um eine zusätzliche volle Umlaufzeit verlängert wird. Und das kann beliebig oft passieren. UDP überwindet dies, indem es einen kontinuierlichen Strom von Aktualisierungen sendet und wo die Simulation trotz Paketverlust voranschreiten kann (jedoch viel mehr zu überlegen und zu planen in dieser Art von System).
Ingenieur
5

Dies ist wahrscheinlich keine Frage der Spieleentwicklung, aber ja. Bei einer normalen IP-Verbindung können alle Pakete unterschiedliche zwischengeschaltete "Hops" durchlaufen, und jedes unterschiedliche "Hops" kann unterschiedliche Latenzzeiten aufweisen.

Wenn Sie TCP zum Übertragen Ihrer Daten verwenden, abstrahiert das Protokoll dies für Sie und ordnet Pakete neu an, um die Pakete in der Reihenfolge zu liefern, in der sie ursprünglich gesendet wurden. Wenn Sie jedoch UDP verwenden, können und werden die Pakete abhängig von der Latenz der einzelnen Pakete nicht in der richtigen Reihenfolge ankommen.

Lie Ryan
quelle
Insbesondere wenn die UDP- und TCP-Pakete auf die gleiche Weise geroutet werden und die UDP-Pakete routinemäßig nicht in der richtigen Reihenfolge ankommen, führt dies zu "Verzögerungsspitzen" über dieselbe Verbindung unter Verwendung von TCP.
Martin Sojka
1

Vergessen Sie nicht, dass Router willkürlich Pakete verwerfen dürfen , was bedeutet, dass ein Paket in TCP theoretisch beliebig lange dauern kann, bis es sein Ziel erreicht (und in UDP möglicherweise nie sein Ziel erreicht!).

BlueRaja - Danny Pflughoeft
quelle