Netcode – Networking in Online Games
Total Page:16
File Type:pdf, Size:1020Kb
STL SYSTEMTECHNIKLABOR Netcode – Networking in Online Games Maverick Studer Technical Report – STL-TR-2021-02 – ISSN 2364-7167 stl.htwsaar.de Technische Berichte des Systemtechniklabors (STL) der htw saar Technical Reports of the System Technology Lab (STL) at htw saar ISSN 2364-7167 Maverick Studer: Netcode – Networking in Online Games Technical report id: STL-TR-2021-02 First published: April 2021 Last revision: April 2021 Internal review: André Miede For the most recent version of this report see: https://stl.htwsaar.de/ Title image source: TheDigitalArtist, https://pixabay.com/de/photos/erde-internet-globalisierung-2254769/ This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. http://creativecommons.org/licenses/by-nc-nd/4.0/ htw saar – Hochschule für Technik und Wirtschaft des Saarlandes (University of Applied Sciences) Fakultät für Ingenieurwissenschaften (School of Engineering) STL – Systemtechniklabor (System Technology Lab) Prof. Dr.-Ing. André Miede ([email protected]) Goebenstraße 40 66117 Saarbrücken, Germany https://stl.htwsaar.de Netcode – Networking in Online Games Maverick Studer htw saar – Hochschule fur¨ Technik und Wirtschaft des Saarlandes Seminar “Angewandte Informatik” Wintersemester 2020/2021 Zusammenfassung—Online Gaming ist der neuste Trend in betrachten, da diese die Basis des Internets darstellen. Eben- der Gaming-Industrie. Wo Spieler uber¨ das Internet miteinan- so wird das Routing, also die Wegfindung von Paketen im der interagieren, finden komplexe Ablaufe¨ auf Netzwerkebene Internet erlautert.¨ Die Ressourcen, die jeder Host in einem statt. Oft hort¨ man in diesem Kontext das Buzzword Netcode, jedoch ist die Bedeutung des Begriffs den meisten unklar. Der Netzwerk zur Teilnahme benotigt,¨ sind Bandbreite, Latenz und Bericht stellt die verschiedenen Aspekte dar, die Netcode umfasst. Rechenleistung. Diese sind insbesondere fur¨ Online Games als Dazu werden grundlegende Kenntnisse zum Verstandnis¨ der ressourcenintensive Internetanwendungen wichtig. Internetkommunikation vermittelt. Anschließend wird auf die wichtigsten modernen Netzwerkarchitekturen und Technologien A. Basic Internet Architecture zur Synchronisation zwischen den Spielern eingegangen. Dadurch wird ein umfassendes Bild vom Thema Netcode geschaffen, sowie 1) Protokolle: Im Online Gaming mussen¨ viele Daten in Kenntnisse uber¨ den aktuellen Stand der Technik gewonnen. nahezu Echtzeit verteilt werden. Die Spiele sind Anwendungen im Internet, welche auf Dienste zugreifen. Dienste im World I. EINFUHRUNG¨ Wide Web basieren auf Protokollen, um einen Datenaustausch Die Gaming-Industrie ist aktuell schon großer¨ als die Film- zu realisieren [3, Chapter 4 – Basic Internet Architecture]. Pro- ¨ und Musikbranche und wachst¨ weiterhin exponentiell. Insbe- tokolle definieren Standards fur¨ die Ubertragung und schaffen sondere die Bereiche Mobile und eSports finden bei der Gene- somit eine einheitliche Kommunikationsbasis [4, Chapter 2: ration Millennials großen Anklang [1]. Videospiele haben sich Understanding Network Protocols and Standards]. als fester Bestandteil der modernen Internetkultur entwickelt. Die Spiele werden immer sozialer und unterstutzen¨ das Spielen mit Freunden durch Multiplayer- oder Online-Funktionalitat.¨ In solchen Online Games konnen¨ je nach Spiel kleine Gruppen bis hin zu tausenden Spielern interagieren. Heutzutage stellt dies eine Selbstverstandlichkeit¨ dar, jedoch ist die Technik, die ein flussiges¨ Zusammenspielen moglich¨ macht, sehr komplex. Unter Netcode versteht man alles was mit Networking in Online Games zu tun hat. Networking befasst sich mit Tech- nologien, um Computer miteinander zu verbinden und eine Kommunikation zu ermoglichen¨ [2, Chapter 1 – Introduction And Overview]. Zum Aufbau eines solchen Netzwerks ist Hardware und Software notwendig. Um ein Verstandnis¨ der Besonderheiten in Bezug auf Online Gaming zu schaffen, mussen¨ grundlegende Prinzipien der Internetkommunikation klar sein. Auf diese wird daher zu Beginn eingegangen. Anschließend werden die wesentlichen Netzwerktopologien, sowie deren Vor- und Nachteile betrachtet. In Online Games mussen¨ standig¨ Daten zwischen verschiedenen Computern uber¨ das Internet ausgetauscht werden. Hierbei konnen¨ diverse Abbildung 1. Zusammenhang Endanwendung - TCP/IP Protokollstack Probleme auftreten, wie Paketverlust, hohe Latenz und Jitter. Es wird auf die wichtigsten Storungen¨ eingegangen, sowie Das Internet baut auf der TCP/IP-Protokollfamilie auf. deren Einfluss auf das Spielerlebnis. Abschließend werden Hierbei handelt es sich um ein vierschichtiges Modell, be- Technologien vorgestellt, um diesen entgegenzutreten. stehend aus einer Anwendungsschicht, einer Transportschicht, einer Internetschicht und einer Netzzugangsschicht (vgl. Ab- II. GRUNDLEGENDE INFORMATIONEN bildung 1). Die Netzzugangsschicht befasst sich mit der Ver- Zum Verstandnis¨ der folgenden Inhalte muss kurz auf das knupfung¨ von Netzen beispielsweise durch Funk oder Kabel, Funktionsprinzip des Internets eingegangen werden. Dazu bzw. Ethernet [4, Chapter 2: Understanding Network Proto- muss man insbesondere die Funktionsweise der Protokolle cols and Standards]. Auf der Internetschicht ist das Internet Protocol, kurz IP, anzutreffen. IP ist fur¨ die Ubertragung¨ von digkeit [7]. Vergleicht man eine kabellose mit einer ka- Datenpaketen von Host zu Host zustandig.¨ Dabei kann es auch belgebundenen Verbindung ist das Ergebnis eindeutig. Eine eine Ubertragung¨ uber¨ Netzwerkgrenzen hinweg realisieren. Ubertragung¨ uber¨ Kabel ist schneller, storungsfreier¨ und die Auf der Transportschicht sind die Protokolle TCP und UDP Latenz ist geringer [8]. Aber auch bei Kabelverbindungen kann zu finden. TCP steht fur¨ Transmission Control Protocol und man zwischen den verschiedenen Kabelarten unterscheiden. ist ein verbindungsorientiertes Protokoll. Das heißt bevor eine Lichtwellenleiter, auch Glasfaserkabel ermoglichen¨ schnellere Ubertragung¨ erfolgen kann, muss zuerst eine Verbindung Ubertragungsraten¨ als Kupferleitungen [4, Chapter 1: Under- zwischen zwei Hosts aufgebaut werden. Dazu fuhren¨ die Kom- standing Networks]. munikationspartner einen Drei-Wege-Handshake aus, um sich Die Latenz, auch Ping genannt, bezeichnet die Zeit, die gegenseitig zu authentifizieren. Die Verbindung wird erst bei eine Nachricht von Sender zum Empfanger¨ benotigt.¨ Der erfolgreicher und vollstandiger¨ Ubertragung¨ beendet [2, Chap- einfachste Weg, um Latenz zu messen, ist der ping-Befehl [7]. ter 13 – Reliable Stream Transport Service (TCP)]. Das User Hierbei wird eine ICMP Echo Request zum Server versandt. Datagram Protocol (UDP) hingegen ist verbindungslos, er- Dieser antwortet mit einer ICMP Echo Reply [2, Chapter 9 – spart sich somit den Mehraufwand eines Verbindungsaufbaus, lnternet Protocol: Error And Control Messages (ICMP)]. Es kann aber auch keine Ubertragung¨ garantieren [2, Chapter 12 wird die Zeit zwischen Absenden der Anfrage und Erhalten – User Datagram Protocol (UDP)]. In der Anwendungsschicht der Antwort gemessen. Latenz lasst¨ sich auch nie vollkommen wird die Kommunikation der Programme realisiert. eliminieren, denn selbst bei Glasfaserkabeln konnen¨ sich die 2) Routing: Das Routing im Internet wird auch als Next- Daten mit maximal Lichtgeschwindigkeit bewegen. Fur¨ die Hop-Routing bezeichnet. Die Router kennen nicht den gesam- meisten modernen Spiele ist bereits eine Verzogerung¨ von ten Weg zum Ziel, sondern nur den nachsten¨ Hop, also den mehr als 100ms als kritisch anzusehen. Jedoch ist es nicht nachsten¨ Router. Die Netzwege sind meist so lang, dass viele selten, dass Spieler solche oder noch hohere¨ Pings haben. Router involviert werden mussen.¨ Die Route ist zudem nicht Eine Umfrage bei Spielern mit uber¨ 18.000 Teilnehmern hat fest, sondern kann sich dynamisch andern,¨ falls Gerate¨ ausfal- ergeben, dass uber¨ 8.000 einen Ping zwischen 80 und 100ms len. Das Internet Protocol versucht jedoch stets den kurzesten¨ haben, wahrend¨ uber¨ 4.000 mit einem Ping uber¨ 100ms spielen Pfad zu finden [2, Chapter 7 – Internet Protocol: Connection- [9]. Das vollstandige¨ Ergebnis der Umfrage ist in Abbildung 2 less Datagram Delivery]. Hierzu werden Algorithmen der Gra- dargestellt. phentheorie eingesetzt. Jedem Pfad werden seine Kosten zuge- ordnet. Diese Zuordnung erfolgt basierend auf verschiedenen Metriken, wie beispielsweise Ubertragungsgeschwindigkeit,¨ 0-30 1.665 Latenz oder Datendurchsatz. Bei der Auswahl des nachsten¨ Routers werden die Kosten aller moglichen¨ Optionen ausge- 31-50 1.766 wertet [2, Chapter 14 – Routing: Cores, Peers, And Algo- 51-80 2.467 rithms]. ¨ Je nach Ubertragungsprotokoll ist es nicht ungewohnlich,¨ 81-100 8.835 dass fur¨ eine Datenubertragung¨ mehrere Pakete versandt wer- den mussen.¨ Bei TCP muss zum Verbindungsaufbau bereits >100 4.037 Kommunikation stattfinden. Zudem mussen¨ erhaltene Nach- richten durch eine Antwort bestatigt¨ werden [5]. Fur¨ das Abbildung 2. Spieler Pings - League of Legends Nordamerika (nach [9]) Online Gaming bedeutet dies, dass sich Verzogerungen¨ in der Ubertragung¨ zwischen Clients selbst im Optimalfall nicht Die Hardware ist ebenfalls eine wichtige Ressource. Un- vermeiden lassen. abhangig¨ vom Netzwerkmodell muss ein Host oder Server B. Ressourcen mit vielen anderen Hosts Daten austauschen. Die Datenpakete mussen¨ von der CPU verarbeitet werden. Der Aufwand dieser Die wesentlichen Ressourcen, mit denen ein Host in einem Verarbeitung wird durch die Anzahl der Teilnehmer, Frequenz Netzwerk ausgestattet