Game Networking CSE 191A: Seminar on Video Game Programming Lecture 9: Networking UCSD, Spring, 2003 Instructor: Steve Rotenberg Guest Lecturer: Mark Rotenberg.

Slides:



Advertisements
Similar presentations
Present & Apply The final resting place of the OSI layers.
Advertisements

CCNA – Network Fundamentals
Network synchronization of Online Games Li, Zetan.
K. Salah 1 Chapter 31 Security in the Internet. K. Salah 2 Figure 31.5 Position of TLS Transport Layer Security (TLS) was designed to provide security.
Networking Support In Java Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
William Stallings Data and Computer Communications 7 th Edition (Selected slides used for lectures at Bina Nusantara University) Transport Layer.
What Is TCP/IP? The large collection of networking protocols and services called TCP/IP denotes far more than the combination of the two key protocols.
Ch. 28 Q and A IS 333 Spring Q1 Q: What is network latency? 1.Changes in delay and duration of the changes 2.time required to transfer data across.
Magda El Zarki Professor of CS Univ. of CA, Irvine
Communication Network Protocols ----Krishna Priyanka Chebrolu.
Reference Model 1. Layered network Why network are layered ?! -Easy to change -Easy to troubleshoot -Give general idea of each layer 2.
Internet Vulnerabilities & Criminal Activities 1.2 – 9/12/2011 Structure of Internet Communications 1.2 – 9/12/2011 Structure of Internet Communications.
2-2008UP-Copyrights reserved1 ITGD4103 Data Communications and Networks OSI Reference Model Lecture-5: OSI Reference Model week 5- q-2/ 2008 Dr. Anwar.
4/20/2017 7:57 PM.
Presentation Title Subtitle Author Copyright © 2002 OPNET Technologies, Inc. TM Introduction to IP and Routing.
TCP/IP Reference Model For more notes and topics visit: eITnotes.com.
Control Over WirelessHART Network S. Han, X. Zhu, Al Mok University of Texas at Austin M. Nixon, T. Blevins, D. Chen Emerson Process Management.
Congestion Control, the Internet Transport Protocols, and UDP By: Mike Krupinski and Jaesma Woods.
Presentation on Osi & TCP/IP MODEL
1 Network Gaming. History of Network Gaming MUD MUD –Multi-user Dungeons Modem Games Modem Games Match Makings Match Makings –Real-time strategy –FPS.
Chapter 5.6 Network and Multiplayer edited by Jeffery.
Chapter 7 Low-Level Protocols
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
Module 4: Designing Routing and Switching Requirements.
Service Primitives Six service primitives that provide a simple connection-oriented service 4/23/2017
CS332, Ch. 26: TCP Victor Norman Calvin College 1.
TCP/IP TCP/IP LAYERED PROTOCOL TCP/IP'S APPLICATION LAYER TRANSPORT LAYER NETWORK LAYER NETWORK ACCESS LAYER (DATA LINK LAYER)
Transport Layer: UDP, TCP
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
E Multimedia Communications Anandi Giridharan Electrical Communication Engineering, Indian Institute of Science, Bangalore – , India Multimedia.
1. I NTRODUCTION TO N ETWORKS Network programming is surprisingly easy in Java ◦ Most of the classes relevant to network programming are in the java.net.
ﺑﺴﻢﺍﷲﺍﻠﺭﺣﻣﻥﺍﻠﺭﺣﻳﻡ. Group Members Nadia Malik01 Malik Fawad03.
Streaming Media Control n The protocol components of the streaming n RTP/RTCP n RVSP n Real-Time Streaming Protocol (RTSP)
03/11/2015 Michael Chai; Behrouz Forouzan Staffordshire University School of Computing Streaming 1.
LOG Objectives  Describe some of the VoIP implementation challenges such as Delay/Latency, Jitter, Echo, and Packet Loss  Describe the voice encoding.
Prepared by: Azara Prakash L.. Contents:-  Data Transmission  Introduction  Socket Description  Data Flow Diagram  Module Design Specification.
Lecture 4 Overview. Ethernet Data Link Layer protocol Ethernet (IEEE 802.3) is widely used Supported by a variety of physical layer implementations Multi-access.
1 Chapter Overview Network Communications The OSI Reference Model.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 10: Planning and Managing IP Security.
Advanced UNIX programming Fall 2002, lecture 16 Instructor: Ashok Srinivasan Acknowledgements: The syllabus and power point presentations are modified.
E Multimedia Communications Anandi Giridharan Electrical Communication Engineering, Indian Institute of Science, Bangalore – , India Multimedia.
Lecture 6 Networked Systems Network Operating Systems Introduction to Sockets HTTP – FTP – TCP - UDP Client-Server Model.
Protocol Layering Chapter 11.
1 Internet Telephony: Architecture and Protocols an IETF Perspective Authors:Henning Schulzrinne, Jonathan Rosenberg. Presenter: Sambhrama Mundkur.
INTRO TO NETWORKING. OVERVIEW Transmitting data Across a physical media Ethernet Wi-fi Bluetooth Etc. Cross-platform (usually) Challenges Varying network.
Building A Network: Cost Effective Resource Sharing
CIS 173 Networking Week #9 OBJECTIVES Chapter #6 Network Communications Protocols.
CSE331: Introduction to Networks and Security Lecture 2 Fall 2002.
Cryptography CSS 329 Lecture 13:SSL.
Lecture 10 Page 1 CS 236 Online Encryption and Network Security Cryptography is widely used to protect networks Relies on encryption algorithms and protocols.
Networking Project. Game Networking Game Networking Topology Star (client/server) Topology – All devices are connected to a central hub (server) – Nodes.
CompTIA Security+ Study Guide (SY0-401)
The Transport Layer Implementation Services Functions Protocols
Lecture (2).
A quick intro to networking
Unity Networking.
Introduction.
Long-haul Transport Protocols
Telemedicine.
Working at a Small-to-Medium Business or ISP – Chapter 7
CompTIA Security+ Study Guide (SY0-401)
Working at a Small-to-Medium Business or ISP – Chapter 7
Chapter 2 Introduction Application Requirements VS. Transport Services
Topic 5: Communication and the Internet
Chapter 3: Open Systems Interconnection (OSI) Model
Working at a Small-to-Medium Business or ISP – Chapter 7
Process-to-Process Delivery:
Building A Network: Cost Effective Resource Sharing
Process-to-Process Delivery: UDP, TCP
Computer Networks Protocols
Presentation transcript:

Game Networking CSE 191A: Seminar on Video Game Programming Lecture 9: Networking UCSD, Spring, 2003 Instructor: Steve Rotenberg Guest Lecturer: Mark Rotenberg

Maslow’s Hierarchy of Needs Self Actualization Esteem Social Safety Physiological Offline Games Online Communities Simple Online Games

Network Topology ServerClient Peer (Host) Peer Client-Server TopologyPeer-to-Peer Topology

Networking Evils Security Cheating Latency (up to ms round-trip) Bandwidth ( kbps each direction) Packet Loss (2% with 10% bursts) Jitter

Lock-Step Simulations Really easy to implement Fully synchronize everything  Initial states  Inputs  Time steps Simulation must be deterministic Some turn-based games use this at a slower sampling rate (Age of Empires) Not suitable for fast Internet games

Simulation with Lag Compensation Server-side movement Peer/Client-side movement with Host/Server verification Varying frame rates and latencies Position history with server-side time warping (Half-Life) Interpolation - sliding and skipping Extrapolation – problematic with physics Syncing orientation, position, inputs

Networking Protocols TCP (Transport Control Protocol)  Reliable, connection based protocol  Ideal for matchmaking and lobbies but not real- time game play UDP (Unix Datagram Protocol)  Unreliable, unordered datagram oriented  Good for time-sensitive data but not

Networking Protocols, cont’d Roll-your-own Protocol  Probably based on UDP  Prioritize and retransmit as necessary  Coalesce or reconstitute packets as necessary  Compression  Encryption  Piggyback Acknowledgements  Heartbeats / Pings / Keep Alive / Network Probes

Game-Specific Protocols Positions, Inputs, Orientations Spawning and Removing Game Events Match Configurations State Transitions Complaints, Connection Status Heartbeats (pings) Voice / Chat

Game Data Most common transmission modes  Reliable Piggyback ACKs where possible  Unreliable Should be numbered, may arrive out of order Other modes  Most recent only  Fastest / Reliable fastest May transmit multiple times without waiting for ACKs

Network Security Encryption and Digesting  RSA  Diffie-Hellman  MD5  DES, triple-DES, AES  IPSec References   “Applied Cryptography,” Schneier

Network Address Translation Peer 1 sees:  Peer 2 at : 1000  Peer 3 at : Peer 2 sees:  Peer 1 at : 1000  Peer 3 at : 1000 Peer 3 sees:  Peer 1 at : 1000  Peer 2 at : 1000 Internet NAT Peer 2Peer 3 Peer : : : : : 49155

General Programming Suggestions Always assume networking Separate cause from effect Event-based networking code Multiple levels of state machines Message passing from network layer to game code Monitor everything WAN simulation hardware/software Lots of asserts and debug messages Lots of unit tests Lots of product testing

Matchmaking and Community Matchmaking Competitions, Ladders, Leader Boards Friends, Invitations Feedback – both good and bad Content Sharing

Online Strategies – Sony vs. Microsoft PS2 Strategy  5 networking stacks to choose from!?  No built-in support for voice, security, authentication  Various middleware vendors  Publishers or users provide servers Xbox Strategy  Very well designed networking stack and APIs  Connect only through Microsoft’s servers  Every packet, machine, user, hard drive, DVD, user can be authenticated  Gamertags work across multiple titles  Consistent billing interface  Strict User Interface Guidelines

Deployment Issues Patching Maintenance Who pays for bandwidth? Billing Scalability Monitoring Usage and Statistics Handling Cheaters Detecting Piracy Who “owns” users? “Policing” the Community

Massively Multiplayer Online Games Huge Development Costs Virtual Economies Community Server Scalability Keeping content new and interesting

Future Considerations IPv6 Handhelds and Cell phones Cross-Title Integration Server-side “Mods” Peer-to-Peer MMOGs? Sony “Cell” Processor

Questions? Contact me at mark [at] rockstarsandiego.com.