Wie senden Online-Spiele UDP-Pakete über das Internet?

Wie senden Online-Spiele UDP-Pakete über das Internet?

Wie werden die Pakete bei Online-Multiplayer-Spielen, die UDP verwenden, über das Internet zwischen den Netzwerken übermittelt? So wie ich das verstehe, müssten Clients die Portweiterleitung auf ihren Routern aktivieren, damit die Pakete auf ihrem Computer ankommen. Ist das das, was große Online-Spiele (WoW, Diablo usw.) von den Spielern verlangen?

Ich habe zum Beispiel kürzlich einen Server erstellt, der UDP-Verkehr verarbeitet. Er gibt einfach alles zurück, was ein Absender gesendet hat. Ich habe ihn auf einem Server im Internet bereitgestellt. Ich kann die Echos nur dann an den Absender zurückschicken, wenn ich die Portweiterleitung aktiviere. Das funktioniert jedoch nicht, wenn sich zwei Absender im selben lokalen Netzwerk befinden.

Antwort1

Kurze Antwort: NAT-Verbindungsverfolgung

Man sollte bedenken, dass es sich bei der überwiegenden Mehrheit der Router im IPv4-Internet um NAT-Router handelt.

Die meisten NAT-Implementierungen führen intelligentes Tracking durch. Wenn Sie UDP von einem internen Client an einen beliebigen Ort senden, verfügen Sie über einen Zielport und einen Quellport. Wenn Datenverkehr mit umgekehrten Ports eingeht, wird dieser Datenverkehr an Ihren Client zurückgeleitet und von den meisten Firewalls zugelassen.

NAT/Firewalls mit Tracking erkennen diese Pakete als zusammengehörig und leiten sie zurück.

Beispiel basierend auf Kommentaren mit UDP serveram Port5000

  • Client sendet ein Paket für server:5000, Quelleclient:5001
  • Der erste NAT-Router sieht ein Paket mit Quell-IP und Port client:5001sowie Ziel server:5000.
  • Der Router sendet dies auf den Weg und wirdNATip:NATport
  • Der Server empfängt dies und erstellt eine Antwort mit NATip:NATportder Quelle vonserver:5000
  • NAT empfängt dies und hat ein Quell-/ server:5000Zielpaket NATip:NATport, das mit dem gesendeten Paket übereinstimmt (Quelle und Ziel sind jedoch vertauscht).
  • NAT sendet dies client:5001noch mit Quelleserver:5000

Die Quell-IP+Port- und Ziel-IP+Port-Kombination ergibt eine Kombination, die verfolgt werden kann. (Es gibt weitere Details, aber dies sind die Grundlagen.)

Weitere LektüreAber ich sollte zu diesem Thema bessere Unterlagen ausgraben und mich nicht nur auf anekdotische Beweise aus dem berufen, was ich gesehen und erlebt habe.

verwandte Informationen