Ich habe gelesen, dass in einem LAN die Daten in Paketen übertragen werden, damit nur eine Station zu einem bestimmten Zeitpunkt übertragen kann. Wie kann dies in LAN-Parteien von Videospielen angewendet werden, wenn nur ein Gerät zu einem bestimmten Zeitpunkt übertragen wird? Zeit ?
Daten werden normalerweise in Paketen übertragen. Da das Medium gemeinsam genutzt wird, kann jeweils nur eine Station ein Paket senden.
Stalling, Daten- und Computerkommunikation , 5. Aufl. Pearson
Antworten:
Es darf jeweils nur ein Gerät senden. Zu jedem anderen Zeitpunkt darf ein anderes Gerät senden.
Wie können Sie sich an einem Esstisch unterhalten, wenn immer nur eine Person sprechen kann?
quelle
Einige LAN-Protokolle auf einigen Medien sind Halbduplex-Protokolle. Dies bedeutet, dass jeweils nur ein Host in einem LAN einen Frame senden kann. Das klassische Beispiel hierfür ist das ursprüngliche Ethernet, aber das moderne Beispiel ist Wi-Fi.
Das ursprüngliche Ethernet lief über Koaxialkabel und verwendete CSMA / CD (Carrier Sense Multiple Access mit Kollisionserkennung), um Kollisionen zu erkennen, bei denen zwei Hosts gleichzeitig sendeten, und sendete dann ein Störsignal, weil die Daten beschädigt waren. Jeder Host zog sich zu einem zufälligen Zeitpunkt zurück und versuchte erneut zu senden, aber die Hosts hörten zuerst auf das Medium, um zu sehen, ob ein anderer Host sendete.
Heute verwendet Wi-Fi ein gemeinsames Medium: die Funkwellen. Es kann jeweils nur ein Host senden. Wi-Fi verwendet CSMA / CA (Carrier Sense Multiple Access mit Kollisionsvermeidung), um Kollisionen zu vermeiden.
In menschlicher Hinsicht ist jeder auf dem Medium verwendete Frame ziemlich klein und bleibt nicht sehr lange auf dem Medium. Wenn wir uns also abwechseln und das Medium teilen, erscheinen die Hosts für uns langsame Menschen, das Medium gleichzeitig zu verwenden.
quelle
Die (naive) Antwort ist oder war früher einfach: Sie bedeutet, dass jeder Absender einen winzigen Bruchteil einer Sekunde warten muss. Daran führt kein Weg vorbei, da das Netzwerk auf physischer Ebene so funktioniert, aber es ist auch kein großes Problem, da es sich um einige Mikrosekunden (Mikro, nicht Milli) handelt.
Die etwas weniger naive Antwort wäre, dass Ihr Zitat veraltet ist (falsch), wenn LAN nicht auch WLAN enthält. In einem WLAN haben Sie immer noch nicht viele Optionen. Während eine Station sendet, kann keine andere Station senden (es sei denn, sie verwenden einen völlig anderen nicht überlappenden Kanal, aber das sind wirklich zwei Netzwerke, nicht eines, also würde eines schummeln).
Computer in einem modernen "Gaming" -LAN werden normalerweise über mindestens 100BASE-TX, wahrscheinlicher 1000BASE-T, verbunden, die beide zunächst den Vollduplexbetrieb unterstützen. Dies bedeutet, dass Sie gleichzeitig über dasselbe physische Kabel (also ein anderes Kabel innerhalb des Kabels, aber immer noch) senden und empfangen können. Die Vorstellung, warten zu müssen, während das Kabel besetzt ist, ist daher nicht mehr so klar, da das Senden den Empfang nicht mehr wirklich stört. Nur der Datenverkehr, der von mehreren anderen Absendern kommt, stört unabhängig voneinander.
Außerdem werden die Kabel heutzutage fast ausnahmslos an einen Switch (anstatt an einen Hub) angeschlossen, der im Prinzip (abhängig von der Qualität der Hardware) unabhängig an jedem Port gleichzeitig senden und empfangen kann und der im Prinzip (wiederum abhängig von der Qualität der Hardware) verfügt über genügend interne Bandbreite, um das N-fache des maximalen theoretischen Durchsatzes für N Ports zu verarbeiten. Ihr Kilometerstand kann geringfügig variieren, da die Schalterqualität variiert. Einige sehr billige Switches haben N Ports, aber nur genug Bandbreite, was der Hälfte der Daten entspricht, die gleichzeitig über N Ports übertragen werden können. Oft ist auch das (überraschenderweise) vollkommen gut genug.
Daher kommt es gelegentlich zu unvermeidlichen Verzögerungen, da Pakete in die Warteschlange gestellt werden müssen, wenn zwei Computer im Netzwerk fast gleichzeitig an dasselbe Ziel senden (der Switch trifft dann diese Entscheidung, nicht die Netzwerkkarte Ihres Computers). , aber zum größten Teil wird es "nur funktionieren". Beachten Sie, dass selbst wenn es nicht "nur funktioniert", es trotzdem funktioniert , es nur ein oder zwei Mikrosekunden länger dauert, bis die Daten empfangen werden.
quelle
Dieses Buch ist etwas veraltet. Lesen Sie einige Informationen über die Entwicklung von Ethernet und den Unterschied zwischen Halbduplex und Vollduplex:
https://en.wikipedia.org/wiki/Ethernet#Evolution
quelle
Dies gilt für Ethernet-Implementierungen der alten Schule (10base2, 10base5 et al. Sowie 10baseT und 100baseT, wenn ein nicht schaltender Hub verwendet wurde), die tatsächlich ein physisch oder logisch gemeinsam genutztes Medium (Verkabelungsanlage) verwendeten, um mehr als zwei Übertragungen zu verbinden fähige Ports. Wenn zwei Stationen versehentlich gleichzeitig gesendet wurden, wurde das Signal auf diesem gemeinsam genutzten Medium verstümmelt - Netzwerkports wurden entwickelt, um solche verstümmelten Signale zu erkennen und ein weiteres Signal auf das Medium zu senden, das immer noch korrekt über die verstümmelten Daten gelesen und allen signalisiert werden konnte dass alle ihre Übertragungen ungültig sind und nach einer Backoff-Zeit wiederholt werden müssen. Das Problem bei diesen Setups war, dass die erreichbare Bandbreite deutlich unter dem theoretischen Maximum lag, wenn irgendetwas das Netzwerk mit kleinen Paketen an seine Grenzen brachte.
In einem vollständig geschalteten Ethernet (wie Sie es beim Aufbau mit Teilen erhalten würden, die nach ca. 2004 in einem Geschäft allgemein verfügbar sind. "Vollständig geschaltet", da Hybridformen existieren (ed), in denen sich mehrere gemeinsam genutzte Medien (mit mehr als 2 Ports) befanden getrennt durch Switches) gibt es immer zwei Ports (einer befindet sich am Switch, der andere an einem Computer oder einem anderen angeschlossenen Gerät), die sich ein Medium teilen. Jedes Ethernet vom Typ "T" hat separate Drahtpaare für jede Richtung, sodass zwischen zwei Ports immer beide gleichzeitig senden und empfangen können. Ein Switch bestellt Pakete von mehreren Absendern immer in einer gültigen Sequenz und sendet sie überall dort, wo er sie senden möchte, es sei denn, sie sind tatsächlich überlastet (was in einer Heimnetzwerksituation unwahrscheinlich ist).
Der Vollständigkeit halber verwendeten bestimmte andere (heutzutage selten verwendete) nicht-Ethernet-LAN-Systeme (z. B. Token Ring, FDDI) unterschiedliche Methoden, um den Medienzugriff zu disziplinieren. In einigen Fällen wurde das Sendeprivileg positiv ausgehandelt, bevor jemand eine Nutzlast übertragen konnte.
WIFI muss sich auch mit einem Problem mit gemeinsam genutzten Medien befassen und auch mit der Tatsache, dass zwei in Konflikt stehende Sender für verschiedene Empfänger unterschiedliche Sichtbarkeit haben können. Ein Algorithmus namens CSMA / CA wird verwendet, um dies zu beheben.
quelle
In einem 10-Mbit / s-Netzwerk dauert die Übertragung eines Pakets in voller Größe etwa 1 ms. Die meisten Spielpakete sind viel kleiner, also nein, Sie bemerken diese Latenz nicht und können ziemlich leicht Hunderte von Updates pro Sekunde erhalten. Die große Verzögerung kommt aus einer Entfernung von mindestens 18 ms pro 1000 Meilen. Dies ist die Lichtquelle und kann nicht vermieden werden. Andere Pakete auf dem Draht können diese Latenz erhöhen - das nennt man Jitter.
quelle
In jedem Videospiel gibt es immer eine Verzögerung zwischen der Zeit, zu der ein Spieler Eingaben anbietet (Drücken einer Taste, Bewegen eines Joysticks usw.) und der Reaktion darauf. Es gibt sogar eine spürbare Verzögerung zwischen dem Erkennen einer Steuerungsänderung durch den Computer und dieser Änderung, die im nächsten Bild auf dem Bildschirm * angezeigt wird. Aus diesem Grund reduzieren einige Spieler die Grafikeinstellungen (wodurch das Spiel weniger hübsch wird), um 60 FPS beizubehalten.
Netzwerke werden diese Verzögerung aus verschiedenen Gründen ebenfalls einführen. Einer davon ist, dass Spieler nicht zwei Nachrichten gleichzeitig empfangen können. Wenn zwei andere Computer gleichzeitig versuchen, eine Nachricht zu senden, wird entweder einer zurückgesetzt und der andere zuerst losgelassen (auf einem gemeinsam genutzten Übertragungsmedium wie WiFi), oder ein Switch empfängt beide gleichzeitig, sendet jedoch eine vor dem andere zum Ziel (modernes kabelgebundenes Ethernet).
Die Verzögerungen in einem LAN sind jedoch gering und werden durch die Verzögerung (zehn- oder sogar hundertfach größer), die beim Spielen über das Internet entsteht, in den Schatten gestellt.
Wie kann das funktionieren? In der Regel modellieren Spiele den anderen Spieler und sagen die zukünftige Bewegung basierend auf der aktuellen Bewegung voraus, sodass Sie sehen, dass er sich reibungslos in eine bestimmte Richtung bewegt, auch wenn Ihr Computer nicht immer sofort darüber informiert wird, wo er sich wirklich befindet. (Der Code, der dies tut, wird oft als Netcode bezeichnet .) Aus diesem Grund springen Spieler manchmal plötzlich von einem Ort zum anderen. Die Vorhersage stimmte nicht mit dem überein, was wirklich geschah, häufig aufgrund einer Netzwerkverzögerung.
* Dies wird normalerweise nicht als "Ich habe eine Verzögerung gesehen", sondern als "die Steuerung fühlt sich träge an" oder ähnlich empfunden.
quelle