Multiplayer-Technologien

Größe: px
Ab Seite anzeigen:

Download "Multiplayer-Technologien"

Transkript

1 Seminar Algorithmen für Computerspiele Multiplayer-Technologien Alexander Beljawski 18. Juli 2010 Institut für Visualisierung und Interaktive Systeme Universität Stuttgart

2

3 Inhaltsverzeichnis 1 Einleitung Konsolenspiele Mario Kart Tekken Call of Duty Computerspiele Doom Neverwinter Nights World of Warcraft Massively Mutltiplayer Online Games 6 3 Grundlagen Client Server Client-Server Prinzip Peer Peer-to-Peer Prinzip Probleme in Netzwerken Lösungsansätze Latenzmaskierung Latenz Dead Reckoning Literatur 15

4 1 Einleitung Es gibt ganz viele verschiedene Arten der Spiele in der Spielewelt, wie zum Beispiel Sportspiele, Actionspiele, Strategiespiele, Abenteuerspiele, Simulationsspiele und viele andere. Für fast jedes Genre gibt es Spiele mit einem Multiplayer-Modus. Das heißt, dass man das Spiel nicht alleine, sondern mit mehreren Personen zusammen spielt. Man muss dabei zwischen zwei Arten von Spielen unterscheiden Konsolenspiele und Computerspiele. Im Folgenden werden einige der bekanntesten Multiplayerspiele dieser beiden Arten näher beleuchtet. Bei den Konsolenspielen werden Mario Kart von Nintendo, Tekken von Namco, Call of Duty von Infinity Ward und bei den Computerspiele Doom von ID, Neverwinter Nights von Strategic Simulation Inc. und das wohl bekanntest Multiplayer Computerspiel World of Warcraft von Blizzard Entertainment vorgestellt. 1.1 Konsolenspiele Mario Kart Mario Kart ist ein erfolgreiches Konsolenspiel von der japanischen Firma Nintendo, in dem man mit verschiedenen Figuren aus den Super Mario Spielen gegeneinander Kartrennen fährt. Es gibt die Möglichkeit sowohl einzeln als auch im Multiplayer-Modus zu spielen. Der Spieler legt am Anfang fest, mit welchem Charakter man das Rennen bestreiten will und schon geht es los. Während des Spiels kann man verschiedene Power-Ups einsammeln, die dem Spieler dann kurzfristig besondere Eigenschaften verschaffen. Man hat zum Beispiel Schildkrötenpanzer, mit denen man die Gegner abschießen kann oder man leuchtet bunt und fährt dadurch einige Sekunden schneller als die anderen. Es gibt ganze viele verschiedene Power-Ups, die man einsetzen kann. Die Anzahl der Spieler variiert zwischen den einzelnen Versionen und Spielmodi des Spiels. Bei der Abbildung 1.1 links sieht man Super Mario Kart aus dem Jahre 1992 und rechts sieht man Mario Kart Wii von Man sieht im Wesentlichen, dass sich im Laufe der Zeit die Grafik geändert hat, aber das Spielprinzip gleich geblieben ist [12]. Abbildung 1.1: Mario Kart 1992, Super Nintendo und 2008, Nintendo Wii[4, 7]

5 1.1 Konsolenspiele Tekken Der Beginn der Tekken-Spielereihe wurde vom japanischen Hersteller Namco 1994 eingeläutet. Das Spiel kam für die PlayStation raus und führte damals auf der Konsole das 3D-Beat em-up Genre ein. Es geht also darum den Gegner, der vom Spieler oder Rechner gesteuert wird, in einem Kampf zu besiegen. Auf dem Bild sieht man, wie das Spiel damals 1994 aussah [13]. Abbildung 1.2: Tekken 1994, PlayStation [11] Call of Duty Call of Duty gehört zum Genre der Taktik-Shooter und wurde von der US-amerikanischen Firma Infinity Ward entwickelt. Der erste Teil der Spieleserie kam 2003 auf den Markt. Als Spieler übernimmt man die Rolle eines Infanterie-Soldaten auf der Seite der drei alliierten Großmächte Sowjetunion, USA und Großbritannien, der im Zweiten Weltkrieg in Europa und Afrika kämpfen muss. Das Spiel gibt es nicht nur für die Konsole, sondern auch für den PC. Das Besondere bei Call of Duty ist, dass der sechste Teil der Spielreihe auf der PlayStation 3 im Internet spielbar ist. Das heißt, es ist möglich mit Freunden über das Internet im Multiplayer-Modus zu spielen. So etwas war bis vor Kurzem auf der Konsole nicht möglich [14]. Abbildung 1.3: Call of Duty 2009, PlayStation 3 [5]

6 4 Einleitung 1.2 Computerspiele Doom Doom gehört zum Genre der Ego-Shooter in der Computerspielwelt. Der erste Teil der Serie wurde im Jahr 1993 von ID Software veröffentlicht und war der erste 3D Ego-Shooter. Ursprünglich wurde das Spiel von ID für das NeXTStep Betriebssystem entwickelt. Allerdings wurde der Quelltext des Spiels 1999 für alle unter den GNU Richtlinien freigegeben. Seitdem wurde Doom von Programmierern auch auf andere Plattformen übertragen, beispielsweise Amiga, Apple ipod, Mac OS X, PlayStation Portable, Xbox 360 und weitere [15]. Abbildung 1.4: Doom 1993 [6] Neverwinter Nights Neverwinter Nights ist das erste grafische Massen Multiplayer Online Rollenspiel, welches von Strategic Simulation Inc entwickelt wurde und 1991 auf den Markt kam. Es konnten bereits bis zu 500 Spieler Neverwinter Nights gleichzeitig spielen und die virtuelle Welt erkunden. Das Besondere an diesem Rollenspiel war damals, dass die Entwickler von SSI zum Spiel einen kostenlosen Editor zum Erzeugen eigener Module zur Verfügung gestellt hatten und auch diesen ständig aktuell gehalten hatten. Damit gab es für die Spieler die Möglichkeit mit diesem Werkzeug-Set eigene Module zu entwickeln und diese auch anderen Spielern bereit zustellen. Diese Besonderheit hat unter anderem zu einem großen Erfolg von Neverwinter Nights beigetragen. Bei der Abbildung 1.5 sieht man, wie das Spiel 1991 aussah [16]. Abbildung 1.5: Neverwinter Nights, 1991 [3]

7 1.2 Computerspiele World of Warcraft World of Warcraft (WoW) zählt ebenfalls zu den Massen Multiplayer Online Rollenspielen, bei dem die Spieler gleichzeitig über das Internet zusammen spielen. Es wurde 2004 von Blizzard Entertainment veröffentlicht und gehört seitdem mit zu den erfolgreichsten Computerspielen aller Zeiten. WoW hat mittlerweile über 11 Millionen Spieler und macht jährlich einen Umsatz von einer Milliarde Dollar. Nicht nur wegen so einer großen Resonanz und einem so großen Erfolg wurde das Spiel gleich im ersten Erscheinungsjahr als Best Game of the Year ausgezeichnet. Der Nachteil sind die Kosten von ca. 10 Euro, die man pro Monat an Blizzard zahlen muss, um WoW online spielen zu können [17]. Abbildung 1.6: World of Warcraft, 2004 [10]

8 2 Massively Mutltiplayer Online Games In der Welt der Computerspiele und mittlerweile seit 2009 auch in der Konsolenwelt gibt es die so genannten Massively Multiplayer Online Games. Das bedeutet so viel wie Massen Multiplayer Online Spiel. Bei dieser Art von Spiel geht es primär darum, mit sehr vielen Spielern in einer virtuellen persistenten Welt gemeinsam über das Internet zu spielen. Eine persistente Welt ist eine virtuelle Welt, welche in einem gewissen Teil an eine reale Welt angelehnt ist und zu jeder Zeit für den Spieler zugänglich ist [18]. In dieser Welt finden auch Ereignisse statt, ohne dass der Spieler aktiv am Geschehen teilnehmen muss. Ein Beispiel wäre die Zeit, die in der virtuellen Welt voranschreitet, egal ob gerade ein Spieler aktiv ist. Bei den MMOGs gibt es für das Genre der Rollenspiele eine spezielle Bezeichnung: Massively Multiplayer Online Role-Playing Game also Massen Multiplayer Online Rollenspiel. Die bereits vorgestellten Spiele - Neverwinter Nights und World of Warcraft zählen zu diesem Genre und wurden bereits vorgestellt. Bei MMORPGs geht es darum, dass tausende Spieler, wie bei den MMOGs über das Internet miteinander interagieren. Man kann die MMORPGs von Spielprinzip mit den anderen Computer-Rollenspielen vergleichen. Der Schwerpunkt liegt hier auf der Interaktion zwischen den Spielern bzw. zwischen den Spielergruppen, den so genannten Gilden. Die eigentliche Spielerwelt und die Spielfiguren der Spieler werden auf Servern verwaltet. Der Spieler verbindet sich mit Hilfe eine Clientprogrammes mit dem Server. Der Client hat üblicherweise nur die Daten zu Darstellung der Spielerwelt (Grafik, Objekte, Musik etc.), während die Spielmechanik auf dem Server verwaltet wird. Doch was sind Server und Clients? Was machen diese und wie kommunizieren sie über das Internet? Auf diese und andere Aspekte wird im folgenden Kapitel eingegangen.

9 3 Grundlagen Hier geht es um die Funktionsweise des Internets. Jeder PC im Internet bzw. in einem Netzwerk wird mit einer so genannten IP (Internet Protocol) identifiziert. Das Internet Protocol ist ein Netzwerkprotokoll und bildet die Grundlage des Internets. Es dient primär dazu, um Computer im Netzwerk bzw. im Internet eindeutig mit einer IP-Adresse zu adressieren. Die Router zwischen den Rechnern kann man sich wie Postämter vorstellen, die bei jedem Brief (Datenpaket) auf die Adresse (IP) schauen und nachsehen, ob sie den Zielrechner erreichen und das Paket zustellen können. Wenn das nicht geht, dann wird das Datenpaket an den nächsten Router geschickt, bis das Paket beim richtigen Zielrechner angekommen ist. Abbildung 3.1: Das Internet stark vereinfacht Es gibt zwei verschiedene Arten von Routern statische und dynamische Router. Die statischen gehören eher der Vergangenheit an und die dynamischen der Gegenwart. Der Unterschied zwischen den beiden ist, dass statische Router eine feste Liste von Zielrechnern besitzen, die sie erreichen können. Das bedeutet, dass wenn ein Router ausfällt, es für einen statischen Router keine Rolle spielt und er versucht beim nächsten Datenpaket wieder Informationen über den kaputten Router zu transportieren. Ein dynamischer Router funktioniert da etwas anders. Hier wird die Liste mit den Zielrechnern dynamisch verwaltet und ein ausgefallener Router wird kein zweites Mal kontaktiert. Es ist klar, dass die dynamischen Router viel schneller funktionieren und auch deswegen heutzutage eher benutzt werden. Die Kommunikation zwischen den Rechnern und Routern findet mit Hilfe der Netzwerkprotokolle statt. Die beiden wichtigsten sind wohl TCP und UDP. TCP steht für Transmission Control Protocol und UDP steht für User Datagram Protocol. TCP zeichnet sich dadurch aus, dass es verbindungsorientiert arbeitet. Das heißt, dass zwischen den Kommunizierenden eine Verbindung aufgebaut wird und die Daten dann in einem Datenstrom ausgetauscht werden.

10 8 Grundlagen Das Besondere hier ist, dass TCP bei jeder Information, die transportiert wird, ein sogenanntes acknowledgment vom Zielrechner erwartet wird. Man wartet also jedes Mal auf eine Bestätigung, dass die Daten richtig und vollständig angekommen sind. Bei dem UDP Protokoll ist das nicht der Fall. Dieses Protokoll arbeitet verbindungslos und garantiert nicht, dass bei jeder Übertragung das gesendete Paket sicher ankommt oder dass die Pakete in der gleichen Reihenfolge ankommen, in der sie gesendet wurden. Eine Anwendung, die dieses Protokoll verwendet, muss damit rechnen, dass Pakete verloren gehen und damit richtig umgehen. In Computerspielen wird meistens UDP eingesetzt, da es im Vergleich zu TCP viel schneller arbeitet. Wenn TCP benutzt wird und es bei einem Datenaustausch ein Paket verlorengeht, sendet man das Paket erneut, bis es sicher ankommt und man eine Bestätigung erhält. Es kommt zu Übertragungsverzögerungen. Bei UDP schickt man das Paket nicht erneut, sondern ignoriert es einfach, wodurch viel Zeit gespart wird. Natürlich darf man es nicht einfach so ignorieren, sondern muss darauf richtig und passend reagieren. Allerdings ist es manchmal sinnvoll bei Computerspielen TCP einzusetzen. Wenn zum Beispiel eine neue Version von einem Level oder einem Gegenstand heruntergeladen werden soll, möchte man als Spielentwickler garantieren, dass alle Beteiligten das gleiche Update erhalten. Daher nimmt man hier ein Paar Sekunden mehr in Kauf und transportiert die Daten sicher über das Transmission Control Protocol. Es gibt zwei grundlegende Prinzipien, auf denen der Aufbau eines Netzwerkspiels basiert. Es gibt zum einen das Peer-to-Peer Prinzip und das in der Computerspielindustrie öfter eingesetzte Client-Server Prinzip. 3.1 Client Ein Client (engl. für Kunde ) ist eine Anwendung, die in einem Netzwerk den Dienst eines Servers in Anspruch nimmt [19]. 3.2 Server Ein Server ist ein Programm, welches auf die Kontaktaufnahme eines Client-Programmes wartet und nach Kontaktaufnahme mit diesem Nachrichten austauscht. Umgangssprachlich wird auch ein Computer, auf welchem ein Server läuft, als solcher bezeichnet [20]. 3.3 Client-Server Prinzip Gehen wir zuerst auf das in Computerspielen häufig benutzt Client-Server Prinzip ein. Bei einem Client-Server-System gibt es einen oder mehrere Clients, die zu Servern eine Verbindung aufbauen. Die Server bieten die Funktionalität an und die Clients stellen die Benutzerschnittstelle zur Verfügung. Die meisten MMORPGs setzen auf das Client-Server-Prinzip. Der Server verwaltet die virtuelle Spielwelt. Der Spieler verbindet sich mit Hilfe des Clients mit dem Server und führt seine Aktionen dann auf dem Server aus. Diese Aktionen werden vom Server überprüft und falls möglich ausgeführt, danach wird die Information über die neu entstandene Spielwelt an den Client geschickt und dieser stellt diese dann dar.

11 3.4 Peer 9 Abbildung 3.2: Client-Server Prinzip Das Client-Server-System hat Vorteile, aber auch Nachteile. Ein großer Vorteil dieses Systems ist, dass der Spieler nur durch Verschicken von Nachrichten an den Server die Spielwelt verändern kann und somit das Cheaten, also das Manipulieren der Spielwelt zum Vorteil des Spielers, verhindert bzw. erschwert wird. Ein weiter Vorteil ist, dass der Client direkt mit dem Server verbunden ist, wodurch ein flüssiges Spiel ermöglicht wird. Allerdings besitzt das Client-Server-Prinzip auch einige Nachteile. Ein möglicher Nachteil ist eine zu hohe Auslastung der Server bei zu vielen Clients, wodurch die Bearbeitung der Anfragen an den Server nicht mehr schnell genug ablaufen würde. Außerdem würde ein Hardwareausfall des Servers zu einer permanenten Spielpause für alle Spieler führen bis der Ausfall behoben ist. 3.4 Peer Peer-to-Peer (engl. peer Gleichgestellter ) steht für eine Kommunikation unter Gleichgesinnten. Speziell in einem Peer-to-Peer Netz sind alle Computer gleichberechtigt und können sowohl Dienste in Anspruch nehmen, als auch Dienste zur Verfügung stellen [21]. 3.5 Peer-to-Peer Prinzip Wenn man ein Peer-to-Peer Netz bei einem Computerspiel nutzt, enthält jeder Rechner die komplette Spielwelt und die Nutzerschnittstelle dazu. Bei der Implementierung eines möglichen Peer-to-Peer Systems in einem Spiel muss man viele Aspekte beachten. Man muss dafür sorgen, dass zu jeder Spielsituation die Datenpakete auf allen Servern verteilt werden, damit das Spiel bei allen synchron läuft. Diese Aufgabe führt zu einem der Nachteile von P2P Netzen, und zwar dem großen Aufkommen an Daten, welches einen breitbandigen Anschluss bei allen Servern voraussetzt. Außerdem bedarf es eines leistungsfähigen Rechners, um genügend Rechenzeit für den Client zur Verfügung zu stellen. Des Weiteren kann bei einem solchen System leichter manipuliert werden. Da jeder der Spieler die virtuelle Spielwelt auf dem eigenen Rechner hält, kann er leichter durch Skripte, Hacks oder andere Modifikationen Daten zum eigenem Vorteil verändern oder

12 10 Grundlagen Abbildung 3.3: Peer-to-Peer Prinzip hinzufügen. P2P bringt aber auch positive Aspekte mit sich. Da es ein dezentrales System ist, führt ein Ausfall eines Peers meistens nicht dazu, dass das gesamte Spiel ausfällt. Außerdem können komplizierte Berechnungen auf die vielen Rechner im Verbund verteilt werden. Wenn man das richtig implementiert, führt das zu einer Beschleunigung der Spiels. Man stellt fest, dass es bei der Entwicklung eines Multiplayer-Computerspiels vieles zu beachten ist. Dabei kommt es darauf an, welche Art von Spiel man implementieren möchte und welche Aspekte einem hier wichtig erscheinen. Im folgenden Kapitel gibt es weitere Probleme bzw. Schwierigkeiten, die einem beim Entwerfen eines Multiplayerspiels begegnen können. Es wird davon ausgegangen, dass das Spiel auf einem Client-Server Prinzip basiert [8].

13 4 Probleme in Netzwerken Ein Problem, welches in Netzwerken eigentlich immer zu beachten ist, ist die Hardware, also die Router. Hat man statische oder dynamische Router? Welche bieten sich an? Welche sind zu vermeiden? Man kann gegen eine veraltete Hardware, nicht wirklich etwas tun. Außerdem haben Router eine begrenzte Kapazität. Das heißt, dass sie nur ein Paket gleichzeitig bearbeiten können und die anderen in einer Warteschlange warten müssen. Die Größe der Warteschlange ist begrenzt und ist diese einmal voll, werden alle weiteren Pakete ignoriert. Diese Tatsache kostet natürlich Zeit bei der Übermittlung der Daten oder führt im schlimmsten Fall zum Verlust der Information. Als Spieler kann man versuchen solcher Problematik entgegen zu wirken, indem man seine Router erneuert. Allerdings kommt nach der eigenen Hardware die Hardware des Internetanbieters und schlimmstenfalls ist diese veraltet oder womöglich nicht richtig funktionsfähig. In solchen Fällen bleibt bei Netzwerkproblemen nichts anderes übrig, als den Provider zu wechseln und zu hoffen, dass diese Router aktueller und schneller sind. Ein weiterer wichtiger Punkt, der zur Minimierung von Problemen bei Netzwerkspielen führt, ist die Wahl des richtigen Netzwerkprotokolls. Wie eingangs erwähnt, muss man je nach Funktionalität entscheiden, welches Protokoll schneller und passender für das aktuelle Anliegen ist. 4.1 Lösungsansätze Welche Ansätze gibt es nun, um als Spielentwickler ein Multiplayerspiel möglichst flüssig und fehlerfrei zu gestalten? Es wichtig, nur die Informationen über das Netzwerk zu verschicken, die wirklich benötigt werden. Die Spieler brauchen nicht zu jedem Zeitpunkt zu wissen, welche Aktionen im gesamten Spiel stattfinden. Es reicht, wenn sie nur die Information erhalten, die sie für ihre aktuelle Spielsituation benötigen. Dadurch beschleunigt man den Transport der Pakete, spart Bandbreite ein und reduziert den Traffic. Außerdem verringert sich damit automatisch die Paketgröße, wodurch auch Spieler mit einer langsamen Internetverbindung das Spiel flüssiger spielen können. Sollten die Datenpakete trotzdem mal größer werden, bietet es sich an, diese in kleinere aufzuteilen. Dabei muss man Prioritäten setzten, welche der Informationen in ersten Paketen und welche eher in den letzten verschickt werden sollen. Es empfiehlt sich Informationen, wie die aktuelle Position des Spielers, seine Lebenspunkte, Daten über seine Umgebung mit den ersten Paketen zu verschicken, denn diese Informationen sind essentiell wichtig für das Spiel und müssen so schnell wie möglich vom Server zum Client übertragen werden. Auf Text- oder Chatnachriten kann man stattdessen auch ein wenig warten, denn diese Meldungen sind nicht zwingend für das Spiel notwendig. Ein anderer Ansatz ist, wenn der Server viele Textnachrichten verschicken muss, diese beim Client vorzuladen und zu referenzieren. Das heißt, die Textnachricht wird beim ersten Mal vom Server zum Client geschickt und mit einer Nummer referenziert. Sobald eine Nachricht gesendet werden muss, schickt der Server nur einen String

14 12 Probleme in Netzwerken mit der richtigen Nummer, die die Nachricht referenziert und der Client ruft diesen Text bei sich lokal ab. Ähnlich kann man verfahren, wenn bestimmte Dateien vom Client geladen werden müssen. Sollte zum Beispiel ein Sound abgespielt werden, wird die Sounddatei nur beim ersten Mal gesendet. Ab diesem Zeitpunkt braucht der Server nur einen String, mit dem Pfad zu dieser Datei, an den Client zu schicken und schon weiß dieser, welche Datei abzuspielen ist. Der nächste Punkt, den man nicht vernachlässigen sollte, ist die Frequenz mit der man Informationen verschickt, denn je seltener man Daten verschickt, desto mehr wird das Netzwerk entlastet. Diese Thematik wird im nächsten Kapitel aufgegriffen und ausführlich erläutert. Um die Datenpakete möglichst klein zu halten, kann man die so genannte Delta-Kodierung einsetzten. Hier geht es darum, nur die Daten zu verschicken, die sich im Vergleich zum letzten Frame geändert haben. Man speichert die Informationen, die mit dem letzten Paket gesendet wurden und vergleicht diese mit den aktuellen. Hat sich etwas verändert, dann wird die Information dazu transferiert und beim Client somit aktualisiert. Natürlich kann man nichts machen, wenn ein neues Objekt ins Spiel dazugekommen ist. Trotzdem kann die Delta-Kodierung recht große Verbesserungen bei der Minimierung der Paketgröße bringen [9].

15 5 Latenzmaskierung 5.1 Latenz Latenz gibt im Allgemeinen die Zeitdifferenz zwischen dem Auslösen eines Ereignisses und der Ausführung der zugehörigen Aktion an. Die Latenz entsteht in Computerspielen durch den Datenaustausch mit dem Server. Wenn eine Aktion bei einem Spieler stattfindet, wird diese an den Server geschickt. Diese wird dort auf ihre Durchführbarkeit überprüft und anschließend an alle Clients geschickt, die von dieser Aktion betroffen sind. Sollte ein Client eine langsame Internetverbindung besitzen, die schon durch ankommende Daten fast ausgelastet ist, wird es natürlich länger dauern bis seine Aktion beim Server eingeht, geprüft ist und an alle Clients gesendet werden kann. Es kann zu so genanntem Laggen kommen. Es sieht so aus, als würde der Spieler wild in der Gegend herumspringen. Der Grund dafür ist, dass die Aktualisierungen nicht rechtzeitig bei anderen Clients ankommen und der Server eine zu weit entfernte neue Position des Spielers angibt, welche dann durch einen plötzlichen Sprung bei allen aktualisiert wird. Minimale Latenzen sind im Spiel meistens nicht so tragisch, da man sie gar nicht richtig bemerkt. Es kann aber auch sein, dass es durch zu hohe Latenzen für einen Spieler problematisch wird. Wenn man zum Beispiel auf einen Gegner schießt und dieser nicht getroffen wird, obwohl man ihn genau trifft. Der Grund dafür ist, dass seine Position auf dem Server schon aktualisiert wurde aber auf beim Client noch falsch dargestellt wird. Deswegen hat es den Anschein, als würde man durch den Gegner hindurch schiessen [2]. Bei der Latenzmaskierung geht es darum die Latenzzeiten möglichst minimal zuhalten und die durch eventuell zu hohe Latenz entstehenden Probleme vor dem Spieler zu verstecken. Der Spieler soll also möglichst nichts von den fehlenden Datenpaketen merken. Die Grundidee ist, die neue Position des Spielers mit verschiedenen Algorithmen aus der aktuellen Position und Attributen wie Geschwindigkeit, Bewegungsrichtung, Beschleunigung und etc. zu berechnen. Hier wird speziell der Dead Reckoning Algorithmus vorgestellt. 5.2 Dead Reckoning Beim Dead Reckoning versucht man ebenfalls die neue Position eines Objektes aus den Informationen der letzten Position zu berechnen. Man setzt dazu verschiedene Extrapolationsalgorithmen ein. Diese werden etwas später vorgestellt. Sobald ein Computer ein neues Objekt erzeugt, wird eine so genannte Protocol Data Unit (PDU) Einheit an alle Rechner im Netzwerk verschickt. Diese Einheit beinhaltet Informationen, die das Objekt eindeutig identifizieren und den Zustand des Objektes beschreiben, einschließlich Position, Beschleunigung, Geschwindigkeit und Richtung. Außerdem enthält die PDU den Dead Reckoning Algorithmus, mit dem alle Knoten im Netzwerk die Bewegung des Objekts extrapolieren sollen. Wenn also ein Knoten so eine PDU Einheit bekommt, erstellt er zuerst lokal eine Kopie des Objektes und fängt danach an die Bewegung dieses Objektes mit dem

16 14 Latenzmaskierung mitgeschickten Dead Reckoning Algorithmus durchzuführen. Solange das Objekt sich vorhersehbar bewegt, müssen keine extra PDUs im Netzwerk verschickt werden. Sobald aber der Spieler die Position des Objektes ändert, muss diese Position auch bei allen anderen Knoten im Netzwerk aktualisiert werden. Das heißt, es wird eine neue PDU Einheit an alle verschickt. Doch das geschieht nur dann, wenn die Abweichung zwischen der alten und der neue Position einen vorher gesetzten Grenzwert übersteigt (Bei Abbildung 5.1 zum Zeitpunkt t 1 links). Erkannt wird es, weil der Computer, dem das Objekt gehört, bei sich auch den Dead Reckoning Algorithmus simuliert und so erkennt, wann die wirkliche Bewegung des Objekts (roter Pfad bei der Abbildung 5.1) von der simulierten (gestrichelter Pfad bei der Abbildung 5.1) zu stark abweicht. Sobald dies geschieht, wird eine PDU Einheit mit den neuen Informationen an alle Knoten verschickt. Diese aktualisieren die Position des Objektes und extrapolieren seine weitere Bewegung nach dem Dead Reckoning Algorithmus von der neuen Position aus (Bei Abbildung 5.1 zum Zeitpunkt t 1 rechts). Die Wahl des Grenzwertes muss man sehr klug wählen. Denn wenn dieser Wert zu klein ist, wird viel Traffic produziert und das Netzwerk unnötig belastet. Sollte der Grenzwert allerdings zu groß sein gewählt sein, wird die Bewegung des Objekts nicht mehr flüssig dargestellt und es kommt zum laggen, weil die Updates der Position zu weit auseinander liegen. Auf der Abbildung 5.1 sieht man ein kleines Beispiel, welches die Funktionsweise von Dead Reckoning erläutern soll. Abbildung 5.1: Dead Reckoning Beispiel [1] Es gibt bis zu zehn verschiedene Extrapolationsalgorithmen, die bei Dead Reckoning verwendet werden können. Allerdings unterscheiden sie sich alle kaum voneinander. Hier werden nur drei davon vorgestellt. Diese orientieren sich alle an der grundlegenden Physik.

17 5.2 Dead Reckoning 15 Der erste Algorithmus enthält die Position des Objekts, die in der PDU von t 0 spezifiziert wurde. P osition t1 = P osition t0 Der zweite Algorithmus extrapoliert das Objekt von der bekannten t0 Position basierend auf der Geschwindigkeit zum Zeitpunkt t0. P osition t1 = P osition t0 + v r (t 1 t 0 ) Der dritte Algorithmus extrapoliert ebenfalls von der zuletzt bekannten Position, nutzt aber nicht nur die Geschwindigkeit, sondern auch die Beschleunigung. P osition t1 = P osition t0 + v r (t 1 t 0 ) ar (t 1 t 0 ) Der Einsatz von Dead Reckoning macht nur bei Objekten Sinn, die sich länger und öfter konstant in eine Richtung bewegen, da sonst zuviel Traffic entsteht und es keinen bemerkbaren Unterschied, bei der Minimierung der Latenz bringen würde. Deswegen wird das Verfahren oft für Boote, Flugzeuge oder Fahrzeuge verschiedener Art eingesetzt [1].

18 Literaturverzeichnis [1] Jesse Aronson. Dead reckoning: Latency hiding for networked games. reckoning latency hiding for.php. (online, ). [2] Yahn W. Bernier. Latency compensating methods in client/server in-game protocol design and optimization. (online, ). [3] Webdesigner depot. (online, ). [4] Ivan Garde w.jpg. (online, ). [5] ign.com w.jpg. (online, ). [6] RevistaGames. (online, ). [7] rolleyes.de. (online, ). [8] Rüdiger Schreiner. Computernetzwerke: Von den Grundlagen zur Funktion und Anwendung. Hanser Fachbuch, [9] Jake Simpson. Networking for games (online, ). [10] TechFresh. (online, ). [11] tekken.info. (online, ). [12] Wikipedia. Kart. (online, ). [13] Wikipedia. (online, ). [14] Wikipedia. of Duty. (online, ). [15] Wikipedia. (online, ). [16] Wikipedia. Nights. (online, ). [17] Wikipedia. of Warcraft. (online, ).

19 Literaturverzeichnis 17 [18] Wikipedia. Welt. (online, ). [19] Wikipedia. (online, ). [20] Wikipedia. (online, ). [21] Wikipedia. (Informatik). (online, ).

20

21 Erklärung Ich versichere, dass ich die Arbeit ohne fremde Hilfe und ohne Benutzung anderer als der angegebenen Quellen angefertigt habe, und dass die Arbeit in gleicher oder ähnlicher Form noch keiner anderen Prüfungsbehörde vorgelegen hat und von dieser als Teil einer Prüfungsleistung angenommen wurde. Alle Ausführungen, die wörtlich oder sinngemäß übernommen wurden, sind als solche gekennzeichnet. Stuttgart, den 18. Juli 2010 (Alexander Beljawski)

Algorithmen für Computerspiele

Algorithmen für Computerspiele Algorithmen für Computerspiele Multiplayer Technologien Gliederung 1. Einleitung 2. Das Internet 3. Existierende Probleme und Lösungen 4. Abschließende Worte 1.1 Motivation Gemeinsames Spielen Künstliche

Mehr

Managing Massive Multiplayer Online Games SS Übungsblatt 3: Konfliktmanagement und Dead Reckoning

Managing Massive Multiplayer Online Games SS Übungsblatt 3: Konfliktmanagement und Dead Reckoning Ludwig-Maximilians-Universität München München, 04.05.206 Institut für Informatik PD Dr. Matthias Schubert Gregor Jossé Managing Massive Multiplayer Online Games SS 206 Übungsblatt : Konfliktmanagement

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Institut für Informatik Prof. Dr. Bernhard Bauer Stephan Roser Viviane Schöbel Aufgabe 1: Wintersemester 07/08 Übungsblatt 6 15.01.08 Grundlagen verteilter Systeme Lösungsvorschlag

Mehr

Rechnernetze Übung 11

Rechnernetze Übung 11 Rechnernetze Übung 11 Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juli 2011 Herr Müller (Test GmbH) Sekretärin (Super AG) T-NR. 111 T-NR. 885 Sekretärin (Test GmbH) Herr Meier (Super

Mehr

Verteilte Systeme - Java Networking (Sockets) -

Verteilte Systeme - Java Networking (Sockets) - Verteilte Systeme - Java Networking (Sockets) - Prof. Dr. Michael Cebulla 30. Oktober 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 36 M. Cebulla Verteilte Systeme Gliederung Grundlagen TCP/IP

Mehr

Rechnernetze Übung 11. Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juni 2012

Rechnernetze Übung 11. Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juni 2012 Rechnernetze Übung 11 Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juni 2012 IP: 192.168.43.9 MAC: 02-55-4A-89-4F-47 IP: 216.187.69.51 MAC: 08-48-5B-77-56-21 1 2 IP: 192.168.43.15 MAC:

Mehr

Programmieren 2 12 Netzwerke

Programmieren 2 12 Netzwerke Programmieren 2 12 Netzwerke Bachelor Medieninformatik Sommersemester 2015 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1 Motivation Datenaustausch zwischen Programmen Spielstand Chat

Mehr

3. Übung zur Vorlesung Verteilte Betriebssysteme

3. Übung zur Vorlesung Verteilte Betriebssysteme UNIVERSITÄT ULM Fakultät für Informatik Verteilte Systeme Prof. Dr. Peter Schulthess Markus Fakler 3. Übung zur Vorlesung Verteilte Betriebssysteme 21.11.2007 Aufgabe 1: Verteilte Algorithmen (3 + 1 +

Mehr

.NET Networking 1. Proseminar Objektorientiertes Programmieren mit.net und C# Matthias Jaros. Institut für Informatik Software & Systems Engineering

.NET Networking 1. Proseminar Objektorientiertes Programmieren mit.net und C# Matthias Jaros. Institut für Informatik Software & Systems Engineering .NET Networking 1 Proseminar Objektorientiertes Programmieren mit.net und C# Matthias Jaros Institut für Informatik Software & Systems Engineering Agenda Motivation Protokolle Sockets Anwendung in.net

Mehr

knxpresso IP-Interface

knxpresso IP-Interface Firmware-Update durchführen und Nutzung von der Verbindung über TCP Reeker, Tobias 26.02.2018 Version 0.1 Inhalt 1. Voraussetzungen... 3 2. Durchführung des Updates... 4 3. Verbindung mit knxpresso über

Mehr

Version: Das Versionsfeld gibt an ob es sich um IPv4 oder um IPv6 handelt.

Version: Das Versionsfeld gibt an ob es sich um IPv4 oder um IPv6 handelt. Folie 1 Folie 2 Folie 3 Version: Das Versionsfeld gibt an ob es sich um IPv4 oder um IPv6 handelt. IHL (IP Header Length) Im IHL-Feld wird ein vielfaches von 32 Bit angegeben. Die Summe gibt die Größe

Mehr

Themen. Transportschicht. Internet TCP/UDP. Stefan Szalowski Rechnernetze Transportschicht

Themen. Transportschicht. Internet TCP/UDP. Stefan Szalowski Rechnernetze Transportschicht Themen Transportschicht Internet TCP/UDP Transportschicht Schicht 4 des OSI-Modells Schicht 3 des TCP/IP-Modells Aufgaben / Dienste: Kommunikation von Anwendungsprogrammen über ein Netzwerk Aufteilung

Mehr

Aufgabe 1: Interprozesskommunikation In der Vorlesung wurden zentrale Aspekte von grundlegenden Kommunikationsmustern vorgestellt.

Aufgabe 1: Interprozesskommunikation In der Vorlesung wurden zentrale Aspekte von grundlegenden Kommunikationsmustern vorgestellt. Sommersemester 211 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 11 vom 2.6.211 bis 24.6.211 Aufgabe 1: Interprozesskommunikation In der Vorlesung

Mehr

Kü /Info Oberstufe Netzwerke SJ. 2014/2015

Kü /Info Oberstufe Netzwerke SJ. 2014/2015 Der Switch Video: o http://perm.ly/kommunikation-in-netzwerken-switche Der Switch wird in Filius auf folgende Weise dargestellt: In der Regel hat ein Switch viele sogenannte Ports, an die die Endgeräte

Mehr

Parallelität im Betrieb von Online-Computerspielen

Parallelität im Betrieb von Online-Computerspielen Parallelität im Betrieb von Online-Computerspielen Jens Müller Arbeitsgruppe Parallele und Verteilte Systeme Institut für Informatik Westfälische Wilhelms-Universität Münster http://pvs.uni-muenster.de/pvs/

Mehr

Packetsniffer. Jens Zentgraf. 26. Juli Zentgraf Packetsniffer 26. Juli / 21

Packetsniffer. Jens Zentgraf. 26. Juli Zentgraf Packetsniffer 26. Juli / 21 Packetsniffer Jens Zentgraf 26. Juli 2015 Zentgraf Packetsniffer 26. Juli 2015 1 / 21 Outline 1 Was ist ein Packetsniffer? 2 Netzwerkaufbau 3 Aufbau eines Sniffers Socket Aufarbeitung der Daten Wireshark

Mehr

Netzwerk-Programmierung. Netzwerke. Alexander Sczyrba Michael Beckstette.

Netzwerk-Programmierung. Netzwerke. Alexander Sczyrba Michael Beckstette. Netzwerk-Programmierung Netzwerke Alexander Sczyrba Michael Beckstette {asczyrba,mbeckste}@techfak.uni-bielefeld.de 1 Übersicht Netzwerk-Protokolle Protkollfamilie TCP/IP Transmission Control Protocol

Mehr

Hauptdiplomklausur Informatik März 2001: Internet Protokolle

Hauptdiplomklausur Informatik März 2001: Internet Protokolle Universität Mannheim Fakultät für Mathematik und Informatik Lehrstuhl für Praktische Informatik IV Professor Dr. W. Effelsberg Hauptdiplomklausur Informatik März 200: Internet Protokolle Name:... Vorname:...

Mehr

Hardo Naumann LISA Schnittstelle Zusammenarbeit von EBÜS mit dem Leitstellensystem LISA von Dr. Pfau Fernwirktechnik GmbH

Hardo Naumann LISA Schnittstelle Zusammenarbeit von EBÜS mit dem Leitstellensystem LISA von Dr. Pfau Fernwirktechnik GmbH accellence t e c h n o l o g i e s LISA Schnittstelle Zusammenarbeit von EBÜS mit dem Leitstellensystem LISA von Dr. Pfau Fernwirktechnik GmbH Gilt für EBÜS ab Version 2.0.0.15, LISA ab Version 5.4 Status:

Mehr

Release-Spezifikation

Release-Spezifikation Release-Spezifikation Ju mp! (fun world wars / mario world wars) Projekt: Jump! Autoren: Thomas Vogel, Michael Palmer, Florian Oeser Kontakt: dev@palmomedia.de Letzte Änderung: 09.12.08 Seite 1 von 6 Inhaltsverzeichnis

Mehr

Verteidigung der Diplomarbeit 3D-Netzwerk-Visualisierung

Verteidigung der Diplomarbeit 3D-Netzwerk-Visualisierung 1 Verteidigung der Diplomarbeit 3D-Netzwerk-Visualisierung Stefan Ziegler 11. März 2005 INHALTSVERZEICHNIS 2 Inhaltsverzeichnis 1 Aufgabe 3 2 Umsetzung 4 3 Struktur 5 4 Paketverarbeitung 8 5 Grafische

Mehr

Paketvermittlung (1/9)

Paketvermittlung (1/9) Paketvermittlung (1/9) 1 Daten- und Telekommunikationsnetze sind traditionell leitungsvermittelt Leitungsvermittelte Netze Switching Networks, z.b. Telefonnetzwerk Kommunikationspartnern wird stehende

Mehr

Themen. Vermittlungsschicht. Routing-Algorithmen. IP-Adressierung ARP, RARP, BOOTP, DHCP

Themen. Vermittlungsschicht. Routing-Algorithmen. IP-Adressierung ARP, RARP, BOOTP, DHCP Themen outing-algorithmen IP-Adressierung AP, AP, OOTP, DHCP echnernetze Schicht 3 des OSI-, sowie TCP/IP-Modells Aufgaben: Vermittlung von Paketen von einer Quelle zum Ziel Finden des optimalen Weges

Mehr

Vernetzte Systeme. Übungsstunde Adrian Schüpbach 30. Juni 2006

Vernetzte Systeme. Übungsstunde Adrian Schüpbach 30. Juni 2006 Vernetzte Systeme Übungsstunde 30.06.2006 Adrian Schüpbach scadrian@student.ethz.ch 30. Juni 2006 Adrian Schüpbach (ETH Zürich) Vernetzte Systeme SS 2006 1 / 33 Letzte Serie! Letzte Serie! Adrian Schüpbach

Mehr

Grundlagen der Rechnernetze. Internetworking

Grundlagen der Rechnernetze. Internetworking Grundlagen der Rechnernetze Internetworking Übersicht Grundlegende Konzepte Internet Routing Limitierter Adressbereich SS 2012 Grundlagen der Rechnernetze Internetworking 2 Grundlegende Konzepte SS 2012

Mehr

Kontrollfragen zur Vorlesung Kommunikationsnetze für Medientechnologen

Kontrollfragen zur Vorlesung Kommunikationsnetze für Medientechnologen Kontrollfragen zur Vorlesung Kommunikationsnetze für Medientechnologen Stand: Sommersemester 2017 Kapitel 1 - Einleitung 1. Welche Aspekte beinhaltet der Begriff Telekommunikation? 2. Beschreiben Sie das

Mehr

Kommunikation im lokalen Netz

Kommunikation im lokalen Netz Kommunikation im lokalen Netz Ein einfaches lokales Netz stellt man sich als Gebilde vor, in dem mehrere Computer oder andere Netzwerk-Endgeräte über einen oder mehrere e miteinander verbunden sind. In

Mehr

Fernwartung mit IPX/S Geräten Konfiguration mit Fritz!Box 7270

Fernwartung mit IPX/S Geräten Konfiguration mit Fritz!Box 7270 Fernwartung mit IPX/S 3.1.1 Geräten Konfiguration mit Fritz!Box 7270 GPG BUILDING AUTOMATION Dok.-Typ: Schritt-für-Schritt Anleitung Dok.-Nr. 9AKK106713A8893 Dok.-Version: 1.2 Abteilung: Global Support

Mehr

VLAN. Virtuelle Netzwerke Frank Muchowski

VLAN. Virtuelle Netzwerke Frank Muchowski 4.3.2016 VLAN Virtuelle Netzwerke Frank Muchowski Inhalt VLANs -virtuelle Netzwerke... 2 VLAN-Kennung, Tags... 2 Trunks... 2 Verkehr zwischen VLANs... 3 VLAN-Transport, Trunk zum Router... 4 Vorteile der

Mehr

LAN & Internet. Grundlagen Netzwerke LAN-2. Saarpfalz-Gymnasium. Router. Router LAN-3. Router. Kommunikation in Rechnernetzen

LAN & Internet. Grundlagen Netzwerke LAN-2. Saarpfalz-Gymnasium. Router. Router LAN-3. Router. Kommunikation in Rechnernetzen Kommunikation in Rechnernetzen Grundlagen Netzwerke Als Folge des Sputnik-Schocks 1957 wurde Ende der 60er-Jahre von einer Projektgruppe des amerikanischen Verteidigungsministeriums (ARPA) ein Computer-Netz

Mehr

SCHICHTENMODELLE IM NETZWERK

SCHICHTENMODELLE IM NETZWERK SCHICHTENMODELLE IM NETZWERK INHALT Einführung Schichtenmodelle Das DoD-Schichtenmodell Das OSI-Schichtenmodell OSI / DOD Gegenüberstellung Protokolle auf den Osi-schichten EINFÜHRUNG SCHICHTENMODELLE

Mehr

Proseminar Computer Grafik und Visualisierung WS 07/08 Multiplayer & MMO Games

Proseminar Computer Grafik und Visualisierung WS 07/08 Multiplayer & MMO Games Proseminar Computer Grafik und Visualisierung WS 07/08 Multiplayer & MMO Games Edwin Foris Inhaltsverzeichnis 1. Was ist ein MMO?... 2 2. Anforderungen. 2 2.1 Netzwerkarchitektur. 2 2.2 Datenkommunikation..

Mehr

Anleitung zur Einrichtung des Bridge-Modus Für DIR-868L mit aktueller Firmware und deutschem Sprachpaket

Anleitung zur Einrichtung des Bridge-Modus Für DIR-868L mit aktueller Firmware und deutschem Sprachpaket Anleitung zur Einrichtung des Bridge-Modus Für DIR-868L mit aktueller Firmware und deutschem Sprachpaket Mit dem Bridge-Modus kann der DIR-868L per WLAN in ein Netzwerk eingebunden werden. Die per LAN

Mehr

UDP User Datagramm Protokoll

UDP User Datagramm Protokoll UDP User Datagramm Protokoll Marco Gerland Janina de Jong Internet Protokolle WS 03 / 04 1/31 Einführung IP Datagramme werden durchs Internet geroutet abh. von der IP Adresse Anhand der Ziel IP Adresse

Mehr

Netzwerke, Kapitel 3.1

Netzwerke, Kapitel 3.1 Netzwerke, Kapitel 3.1 Fragen 1. Mit welchem anschaulichen Beispiel wurde das OSI-Schichtenmodell erklärt? Dolmetscher 2. Was versteht man unter Dienstprimitiven? Request, Indication, Response, Confirm

Mehr

IP Tunneling und Anwendungen

IP Tunneling und Anwendungen IP Tunneling und Anwendungen Netz Nummer Next Hop 1 Interface 0 2 Virtual Interface 0 Default Interface 1 18.5.0.1 Netz 1.x R1 Internet R2 Netz 2.x IP Header, Destination = 2.x IP Payload IP Header, Destination

Mehr

Verwenden von Hubs. Geräte der Schicht 1 Günstig Eingang an einem Port, Ausgang an den anderen Ports Eine Kollisionsdomäne Eine Broadcast-Domäne

Verwenden von Hubs. Geräte der Schicht 1 Günstig Eingang an einem Port, Ausgang an den anderen Ports Eine Kollisionsdomäne Eine Broadcast-Domäne Von Hubs zu VLANs Verwenden von Hubs Geräte der Schicht 1 Günstig Eingang an einem Port, Ausgang an den anderen Ports Eine Kollisionsdomäne Eine Broadcast-Domäne Hub 1 172.30.1.24 172.30.1.22 Ein Hub Ein

Mehr

Grundlagen Rechnernetze und Verteilte Systeme IN0010, SoSe 2018

Grundlagen Rechnernetze und Verteilte Systeme IN0010, SoSe 2018 Grundlagen Rechnernetze und Verteilte Systeme IN0010, SoSe 2018 Übungsblatt 6 21. Mai 1. Juni 2018 Wegen der Pfingsfeiertage wird dieses Blatt am 23. 25. Mai sowie am 28. und 29. Mai besprochen. Die Übungsgruppen

Mehr

Einführung ins Internet

Einführung ins Internet Einführung ins Internet 1 Was ist das Internet eigentlich? Bevor wir diese Frage beantworten, wollen wir uns Gedanken machen über ein Problem, welchem man bei der Arbeit mit Computern häufig begegnet:

Mehr

Parallele Algorithmen in der Bildverarbeitung

Parallele Algorithmen in der Bildverarbeitung Seminar über Algorithmen - SoSe 2009 Parallele Algorithmen in der Bildverarbeitung von Christopher Keiner 1 Allgemeines 1.1 Einleitung Parallele Algorithmen gewinnen immer stärker an Bedeutung. Es existieren

Mehr

Eigenschaften von IP-Netzen (1 / 2)

Eigenschaften von IP-Netzen (1 / 2) Eigenschaften von IP-Netzen (1 / 2) Eigenschaften von IP-Netzen: Das Netz überträgt Datenpakete (typische Länge: ungefähr 1.000 Bytes) Wichtige Design-Entscheidung: die Intelligenz sitzt in den Endgeräten.

Mehr

Programmierbüchlein Grundlagen der Programmierung. Rootgames

Programmierbüchlein Grundlagen der Programmierung. Rootgames Programmierbüchlein Grundlagen der Programmierung Rootgames Inhaltsverzeichnis Programmierbüchlein... 1 Inhaltsverzeichnis... 2 Einleitung... 3 Wie funktionieren Programmiersprachen?... 4 Programmiersprachen...

Mehr

Konfiguration des Servers

Konfiguration des Servers Um mehreren Rechnern den Zugang zum Internet zu ermöglichen gibt es sowohl verschiedene Software Lösungen (WinRoute, Jana, AVM Ken, ) als auch verschiedene Hardware Lösungen (Router ). Für ein kleines

Mehr

Netzwerk-Programmierung. Netzwerke.

Netzwerk-Programmierung. Netzwerke. Netzwerk-Programmierung Netzwerke Alexander Sczyrba Michael Beckstette {asczyrba,mbeckste}@techfak.uni-bielefeld.de Übersicht Netzwerk-Protokolle Protkollfamilie TCP/IP Transmission Control Protocol (TCP)

Mehr

Client-Server mit Socket und API von Berkeley

Client-Server mit Socket und API von Berkeley Client-Server mit Socket und API von Berkeley L A TEX Projektbereich Deutsche Sprache Klasse 3F Schuljahr 2015/2016 Copyleft 3F Inhaltsverzeichnis 1 NETZWERKPROTOKOLLE 3 1.1 TCP/IP..................................................

Mehr

Zeit als Mittel der Reihenfolgebestimmung

Zeit als Mittel der Reihenfolgebestimmung Uhrensynchronisation Notwendigkeit von Uhrensynchronisation Zeit als Mittel der Reihenfolgebestimmung Probleme der Uhrensynchronisation Lamport Vektorduhren Synchronisation von physikalischen Uhren Grundlagen

Mehr

Institut für Informatik der Ludwig-Maximilians-Universität München Prof. Dr. D. Kranzlmüller, Dr. N. gentschen Felde. Probeklausur

Institut für Informatik der Ludwig-Maximilians-Universität München Prof. Dr. D. Kranzlmüller, Dr. N. gentschen Felde. Probeklausur Institut für Informatik der Ludwig-Maximilians-Universität München Prof. Dr. D. Kranzlmüller, Dr. N. gentschen Felde Probeklausur Rechnernetze und verteilte Systeme Teilnehmerdaten bitte gleich zu Beginn

Mehr

CADEMIA: Einrichtung Ihres Computers unter Mac OS X

CADEMIA: Einrichtung Ihres Computers unter Mac OS X CADEMIA: Einrichtung Ihres Computers unter Mac OS X Stand: 30.01.2017 Java-Plattform: Auf Ihrem Computer muss die Java-Plattform, Standard-Edition der Version 7 (Java SE 7) oder höher installiert sein.

Mehr

Gruppen Di-T14 / Mi-T25

Gruppen Di-T14 / Mi-T25 Gruppen Di-T14 / Mi-T25 Tutorübung zu Grundlagen: echnernetze und Verteilte Systeme (SS 16) Michael Schwarz Institut für Informatik Technische Universität München 27.06 / 28.06.2016 1/1 In Kapitel 3 haben

Mehr

Vorlesung SS 2001: Sicherheit in offenen Netzen

Vorlesung SS 2001: Sicherheit in offenen Netzen Vorlesung SS 2001: Sicherheit in offenen Netzen 2.2 Transmission Control Protocol - TCP 2.3 User Datagram Protocol - UDP Prof. Dr. Christoph Meinel Informatik, Universität Trier & Institut für Telematik,

Mehr

Technische Informatik II FS 2008

Technische Informatik II FS 2008 Institut für Technische Informatik und Kommunikationsnetze Prof. Bernhard Plattner, Fachgruppe Kommunikationssysteme Technische Informatik II FS 2008 Übung 5: Kommunikationsprotokolle Hinweis: Weitere

Mehr

ARP, ICMP, ping. Jörn Stuphorn Bielefeld, den 4. Mai Mai Universität Bielefeld Technische Fakultät

ARP, ICMP, ping. Jörn Stuphorn Bielefeld, den 4. Mai Mai Universität Bielefeld Technische Fakultät ARP, ICMP, ping Jörn Stuphorn stuphorn@rvs.uni-bielefeld.de Universität Bielefeld Technische Fakultät TCP/IP Data Link Layer Aufgabe: Zuverlässige Übertragung von Rahmen über Verbindung Funktionen: Synchronisation,

Mehr

Netzwerkprogrammierung unter Linux und UNIX

Netzwerkprogrammierung unter Linux und UNIX Netzwerkprogrammierung unter Linux und UNIX Bearbeitet von Stefan Fischer, Walter Müller 2. Auflage 1999. Buch. XII, 228 S. Hardcover ISBN 978 3 446 21093 6 Format (B x L): 14 x 20,9 cm Gewicht: 329 g

Mehr

Netzwerk-Analyse mit dem FEC Network Monitor

Netzwerk-Analyse mit dem FEC Network Monitor Netzwerk-Analyse mit dem FEC Network Monitor 1. Aufgabe des Programms Das Programm simuliert Sprachkommunikation über IP-Netzwerke und gibt Aufschluss über die Qualität des Netzwerks. Zu diesem Zweck werden

Mehr

Matthias-Claudius-Gymnasium Fachcurriculum Informatik

Matthias-Claudius-Gymnasium Fachcurriculum Informatik Klasse 8 (2-stündig) Grundlagen der Informatik Einführung in die Programmierung mit Scratch 10 Wochen Betriebssysteme - die Aufgaben eines Betriebssystems nennen. - Einstellungen des Betriebssystems in

Mehr

6 Vertiefende Themen aus des Mechanik

6 Vertiefende Themen aus des Mechanik 6 Vertiefende Themen aus des Mechanik 6.1 Diagramme 6.1.1 Steigung einer Gerade; Änderungsrate Im ersten Kapitel haben wir gelernt, was uns die Steigung (oft mit k bezeichnet) in einem s-t Diagramm ( k=

Mehr

Kontrollfragen zur Vorlesung Kommunikationsnetze für Medientechnologen

Kontrollfragen zur Vorlesung Kommunikationsnetze für Medientechnologen Kontrollfragen zur Vorlesung Kommunikationsnetze für Medientechnologen Stand: Sommersemester 2018 Die hier aufgelisteten Kontrollfragen beziehen sich auf die einzelnen Kapitel der Vorlesung. Sie dienen

Mehr

TCP. Transmission Control Protocol

TCP. Transmission Control Protocol TCP Transmission Control Protocol Wiederholung TCP-Ports Segmentierung TCP Header Verbindungsaufbau-/abbau, 3 - WayHandShake Timeout & Retransmission MTU maximum transfer Unit TCP Sicher Verbunden? Individuelle

Mehr

Netzwerk Linux-Kurs der Unix-AG

Netzwerk Linux-Kurs der Unix-AG Netzwerk Linux-Kurs der Unix-AG Benjamin Eberle 13. Juli 2016 Netzwerke mehrere miteinander verbundene Geräte (z. B. Computer) bilden ein Netzwerk Verbindung üblicherweise über einen Switch (Ethernet)

Mehr

Themenschwerpunkt: Rechnernetze und Netzwerkdesign

Themenschwerpunkt: Rechnernetze und Netzwerkdesign Themenschwerpunkt: Rechnernetze und Netzwerkdesign Aufgabe 1: Nennen Sie den wesentlichen Vorteil eines Netzwerkes mit Bus-Topologie? Lösung: Wesentlicher Vorteil der Bus-Topologie ist der geringe Verkabelungsaufwand

Mehr

Matrix42. Use Case - Anwender kann Datei vom Typ PNG nicht öffnen. Version Dezember

Matrix42. Use Case - Anwender kann Datei vom Typ PNG nicht öffnen. Version Dezember Matrix42 Use Case - Anwender kann Datei vom Typ PNG nicht öffnen Version 1.0.0 21. Dezember 2015-1 - Inhaltsverzeichnis 1Einleitung 3 1.1Beschreibung 3 1.2Vorbereitung 3 1.3Ziel 3 2Use Case 4-2 - 1 Einleitung

Mehr

Technische Dokumentation RouterInfo

Technische Dokumentation RouterInfo Technische Dokumentation RouterInfo Version 1.0 Daut Musolli und Alexander Rieke Inhalt Einleitung... 1 Technische Details... 1 Konsolenanwendung... 1 Klassendiagramm... 2 Klassen... 2 Grafische Benutzeroberfläche...

Mehr

< UNTERRICHTSMATERIAL /> Calliope mini. Herzen senden

< UNTERRICHTSMATERIAL /> Calliope mini. Herzen senden < UNTERRICHTSMATERIAL /> Calliope mini 1 Herzen senden HINWEIS // Diese Unterlagen sind für den PXT Editor. Passende Erklärvideos und weitere kostenlose Unterrichtsmaterialien (auch für den Editor von

Mehr

Latency. Auswirkung von Netzwerkverzögerung auf das Spielgefühl von Onlinespielern. Daniel Schön. 22. Oktober 2008

Latency. Auswirkung von Netzwerkverzögerung auf das Spielgefühl von Onlinespielern. Daniel Schön. 22. Oktober 2008 Latency Auswirkung von Netzwerkverzögerung auf das Spielgefühl von Onlinespielern Daniel Schön 22. Oktober 2008 Inhaltsverzeichnis Einleitung Real-Time-Strategy First-Person-Shooter Relative Latenzen Fazit

Mehr

Verteilte Systeme. Diffusionsalgorithmen. Secure Identity Research Group

Verteilte Systeme. Diffusionsalgorithmen. Secure Identity Research Group Verteilte Systeme Diffusionsalgorithmen Diffusionsalgorithmen Definition: Ein verteilter Diffusionsalgorithmus auf einem Beliebigen Graphen startet in einem Zustand, in dem alle Knoten des Graphen idle

Mehr

- Man versieht die Nachricht mit der Adresse des Empfängers und schickt Sie per Knopfdruck ab.

- Man versieht die Nachricht mit der  Adresse des Empfängers und schickt Sie per Knopfdruck ab. 1. Was ist E-Mail überhaupt? Unter E-Mail versteht man einen Dienst mit welchem man Mitteilungen und Daten innerhalb eines Netzes versenden kann. E-Mail ist zweifelsohne der populärste Dienst im Internet.

Mehr

Zoo 5. Robert McNeel & Associates Seattle Barcelona Miami Seoul Taipei Tokyo

Zoo 5. Robert McNeel & Associates Seattle Barcelona Miami Seoul Taipei Tokyo Zoo 5 Was ist der Zoo? Der Zoo ist ein Netzwerk- oder Floating-Lizenzmanager. Mit dem Zoo können Lizenzen unter mehreren Benutzern desselben Netzwerks verteilt werden. Der Zoo ist sinnvoll, wenn Sie mehr

Mehr

Internet Networking TCP Congestion Avoidance and Control

Internet Networking TCP Congestion Avoidance and Control Internet Networking TCP Congestion Avoidance and Control Sommersemester 2003 Gliederung 1 Einleitung 2 TCP - Transport Control Protocol 3 Conservation Of Packets 4 Methoden des Congestion Controls Round

Mehr

Informatik 12 Kapitel 2 - Kommunikation und Synchronisation von Prozessen

Informatik 12 Kapitel 2 - Kommunikation und Synchronisation von Prozessen Fachschaft Informatik Informatik 12 Kapitel 2 - Kommunikation und Synchronisation von Prozessen Michael Steinhuber König-Karlmann-Gymnasium Altötting 9. Februar 2017 Folie 1/40 Inhaltsverzeichnis I 1 Kommunikation

Mehr

Das TCP/IP Schichtenmodell

Das TCP/IP Schichtenmodell Das TCP/IP Schichtenmodell Protokolle Bei der TCP/IP Protokollfamilie handelt sich nicht nur um ein Protokoll, sondern um eine Gruppe von Netzwerk- und Transportprotokollen. Da die Protokollfamilie Hardwareunabhängig

Mehr

Neue Netzwerk-Architekturen für das Rechenzentrum mit den aktuellen Shortest Path Bridging Technologien

Neue Netzwerk-Architekturen für das Rechenzentrum mit den aktuellen Shortest Path Bridging Technologien Neue Netzwerk-Architekturen für das Rechenzentrum mit den aktuellen Shortest Path Bridging Technologien IEEE 802.1aq kontra IETF TRILL von Cornelius Höchel-Winter 2011 ComConsult Technologie Information

Mehr

Leitfaden zum Erstellen eines Frogger -Spiels: Teil 2

Leitfaden zum Erstellen eines Frogger -Spiels: Teil 2 Leitfaden zum Erstellen eines Frogger -Spiels: Teil 2 Ziel dieser Dokumentation ist es, Sie beim Erstellen eines Frogger-Spiels zu unterstützen. Am Ende dieses Leitfadens haben Sie ein funktionierendes

Mehr

Einführung in unstrukturierte p2p Systeme wie Gnutella. HamzaOuldBakar. Chair for Communication Technology (ComTec(

Einführung in unstrukturierte p2p Systeme wie Gnutella. HamzaOuldBakar. Chair for Communication Technology (ComTec( Einführung in unstrukturierte p2p Systeme wie Gnutella. HamzaOuldBakar Chair for Communication Technology (ComTec( ComTec), Faculty of Electrical Engineering / Computer Science Überblick 1 Einführung in

Mehr

Das Internet-Protocol. Aufteilung von Octets. IP-Adressformat. Class-A Netzwerke. Konventionen für Hostadressen

Das Internet-Protocol. Aufteilung von Octets. IP-Adressformat. Class-A Netzwerke. Konventionen für Hostadressen Das Internet-Protocol Das Internet Protocol (IP) geht auf das Jahr 1974 zurück und ist die Basis zur Vernetzung von Millionen Computern und Geräten weltweit. Bekannte Protokolle auf dem Internet Protokoll

Mehr

Hochverteilte Datenhaltung im Internet

Hochverteilte Datenhaltung im Internet Hochverteilte Datenhaltung im Internet Fachseminar Verteilte Systeme 11. Juni 2002, Nicolas Burri Betreuung: M. Langheinrich Seminar-Leitung: Prof. F. Mattern Um was geht es? Napster? Gnutella? Edonkey2000?

Mehr

Wechselseitiger Ausschluss in verteilten Systemen / Elektionsalgorithmen. Özden Urganci Ulf Sigmund Ömer Ekinci

Wechselseitiger Ausschluss in verteilten Systemen / Elektionsalgorithmen. Özden Urganci Ulf Sigmund Ömer Ekinci Wechselseitiger Ausschluss in verteilten Systemen / Elektionsalgorithmen Özden Urganci Ulf Sigmund Ömer Ekinci Inhaltsangabe 1 Einleitung 2 Prinzipien des verteilten wechselseitigen Ausschlusses 2.1 Anforderungen

Mehr

Rechnern netze und Organisatio on

Rechnern netze und Organisatio on Rechnernetze und Organisation Assignment A3 Präsentation 1 Motivation Übersicht Netzwerke und Protokolle Rechnernetze und Organisatio on Aufgabenstellung: Netzwerk-Protokoll-Simulator 2 Motivation Protokoll-Simulator

Mehr

Konfiguration von Policy-basiertem QoS ab Windows Server 2008

Konfiguration von Policy-basiertem QoS ab Windows Server 2008 ab Windows Server 2008 Swyx Solutions GmbH Emil-Figge-Str. 86 44227 Dortmund Pages: 13 Version: 1 Created: 06.04.2016 by: Techel, Henning Last change: 12.05.2017 by: Göhre, Mike 1 Einleitung... 3 2 Voraussetzungen...

Mehr

Modul N4 Adressierung und Protokolle

Modul N4 Adressierung und Protokolle N-Netze Modul Adressierung und Protokolle Zeitrahmen 30 Minuten Zielgruppe Sekundarstufe I Inhaltliche Voraussetzung keine Lehrziel Erkennen, dass in (Computer-)Netzwerken eine eindeutige Identifizierung

Mehr

Modellierung von Netzspieleverkehr

Modellierung von Netzspieleverkehr INSTITUT FÜR NACHRICHTENVERMITTLUNG UND DATENVERARBEITUNG Prof. Dr.-Ing. Dr. h. c. mult. P. J. Kühn Modellierung von Netzspieleverkehr ITG Workshop IP in Telekommunikationsnetzen 25./26. Januar 2001, Bremen

Mehr

Device Management Schnittstellen. Referat von Peter Voser Embedded Development GmbH

Device Management Schnittstellen. Referat von Peter Voser Embedded Development GmbH Device Management Schnittstellen Referat von Peter Voser Embedded Development GmbH Device Management ist Gerätesteuerung Parametrisierung Zugang zu internen Messgrössen und Zuständen Software Upgrade www.embedded-development.ch

Mehr

Hauptdiplomklausur Informatik. September 2000: Rechnernetze

Hauptdiplomklausur Informatik. September 2000: Rechnernetze Universität Mannheim Fakultät für Mathematik und Informatik Lehrstuhl für Praktische Informatik IV Prof. Dr. W. Effelsberg Hauptdiplomklausur Informatik September 2000: Rechnernetze Name:... Vorname:...

Mehr

NEXT LEVEL HOSTING VON 1&1 PERFORMANCE LEVEL: LEISTUNG, DIE MIT IHREN ANFORDERUNGEN WÄCHST

NEXT LEVEL HOSTING VON 1&1 PERFORMANCE LEVEL: LEISTUNG, DIE MIT IHREN ANFORDERUNGEN WÄCHST NEXT LEVEL HOSTING VON 1&1 PERFORMANCE LEVEL: LEISTUNG, DIE MIT IHREN ANFORDERUNGEN WÄCHST Niemand wartet gerne. Wenn es um den Erfolg Ihrer Websites geht, spielen deshalb neben Inhalt, Struktur und Design

Mehr

Der CodeBug. A) Erste Schritte. 1) Einleitung

Der CodeBug. A) Erste Schritte. 1) Einleitung Der CodeBug A) Erste Schritte 1) Einleitung.) Wenn wir den CodeBug mittels USB-Kabel bei gedrückter Taste A an den Computer anschließen, blinkt die erste LED rot. Der Computer selbst erkennt ihn als einfachen

Mehr

Motivation. 11. Multiplayer. ! Single Player! Ein Benutzer spielt alleine! Eventuell Computergegner

Motivation. 11. Multiplayer. ! Single Player! Ein Benutzer spielt alleine! Eventuell Computergegner 11. Multiplayer! Single Player! Ein Benutzer spielt alleine! Eventuell Computergegner Motivation! Multiplayer! Mehrere Benutzer spielen miteinander oder gegeneinander! Eventuell füllen Computergegnger

Mehr

Klausur zur Vorlesung Systemaspekte Verteilter Systeme WS 04/05 Prof. Dr. Odej Kao 9. Februar 2005

Klausur zur Vorlesung Systemaspekte Verteilter Systeme WS 04/05 Prof. Dr. Odej Kao 9. Februar 2005 Klausur zur Vorlesung Systemaspekte Verteilter Systeme WS 04/05 Prof. Dr. Odej Kao 9. Februar 2005 Aufkleber Name: Vorname: Matrikel: Studiengang: Schreiben Sie zunächst Ihren Namen oder Matrikelnummer

Mehr

Parallele und verteilte Anwendungen in Java

Parallele und verteilte Anwendungen in Java Rainer Oechsle Parallele und verteilte Anwendungen in Java ISBN-10: 3-446-40714-6 ISBN-13: 978-3-446-40714-5 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-40714-5

Mehr

Wahlalgorithmen auf beliebigen Netzstrukturen. Verteilte Algorithmen (VA), WS 2003/04 43

Wahlalgorithmen auf beliebigen Netzstrukturen. Verteilte Algorithmen (VA), WS 2003/04 43 Wahlalgorithmen Überblick/Problemstellung Wahlalgorithmen auf Ringstrukturen Beispiel TokenRing Wahlalgorithmen auf Baumstrukturen Wahlalgorithmen auf beliebigen Netzstrukturen Verteilte Algorithmen (VA),

Mehr

Kommunikation in drahtlosen Sensornetzen

Kommunikation in drahtlosen Sensornetzen Kommunikation in drahtlosen Sensornetzen Zeitsynchronisation in drahtlosen Sensornetzen (DSN) Michael Oeste - 674177 Michael Oeste 12.02.2007-1 / 27 Inhalt Problematik der Zeitsynchronisation Zeit Synchronisation

Mehr

Die programmierte Identität. Zur Korrelation von Interface und Rolle im MMORPG am Beispiel von "Der Herr Der Ringe Online"

Die programmierte Identität. Zur Korrelation von Interface und Rolle im MMORPG am Beispiel von Der Herr Der Ringe Online Geisteswissenschaft Ava Sergeeva Die programmierte Identität. Zur Korrelation von Interface und Rolle im MMORPG am Beispiel von "Der Herr Der Ringe Online" Studienarbeit Friedrich-Alexander-Universität

Mehr

Berechnung Worst-Case-Effizienz: Pakete mit P=64 Byte Größe

Berechnung Worst-Case-Effizienz: Pakete mit P=64 Byte Größe Berechnung Worst-Case-Effizienz: Pakete mit P=64 Byte Größe F..Framegröße, SL..Start Limiter, IFG..Inter Frame Gap η Frame (Effizienz der Frameübertragung): Framegröße / genutzte Zeitscheiben (Byte Cycles)

Mehr

Microsoft ISA Server 2004

Microsoft ISA Server 2004 Microsoft ISA Server 2004 Marcel Zehner Leitfaden für Installation, Einrichtung und Wartung ISBN 3-446-40597-6 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-40597-6

Mehr

AVG Free 201X Installation Die Screenshots sind von der Version 2014, gelten aber sinngemäß auch für neuere Versionen.

AVG Free 201X Installation Die Screenshots sind von der Version 2014, gelten aber sinngemäß auch für neuere Versionen. AVG Free 201X Installation Die Screenshots sind von der Version 2014, gelten aber sinngemäß auch für neuere Versionen. Installation: Die Installation beginnt mit dem Download von folgender Adresse: http://www.avg.com/de-de/free-antivirus-download

Mehr

Konfiguration Agenda Anywhere

Konfiguration Agenda Anywhere Konfiguration Agenda Anywhere Bereich: IT-Lösungen - Inhaltsverzeichnis 1. Ziel 2 2. Agenda Anywhere-USB-Stick 2 2.1. Passwort ändern 2 2.2. Zugang sperren (USB-Stick verloren) 4 2.3. Benutzer-Ersatz-USB-Stick

Mehr