Part 1: Multiplayer Games Multiplayer Modes. Multiplayer Modes Event Timing Turn-Based Easy to implement Any connection type Real-Time Difficult to implement.

Slides:



Advertisements
Similar presentations
CPSC Network Layer4-1 IP addresses: how to get one? Q: How does a host get IP address? r hard-coded by system admin in a file m Windows: control-panel->network->configuration-
Advertisements

1 Internet Protocol Version 6 (IPv6) What the caterpillar calls the end of the world, nature calls a butterfly. - Anonymous.
1 o Two issues in practice – Scale – Administrative autonomy o Autonomous system (AS) or region o Intra autonomous system routing protocol o Gateway routers.
Cs/ee 143 Communication Networks Chapter 6 Internetworking Text: Walrand & Parekh, 2010 Steven Low CMS, EE, Caltech.
Network Certification Preparation. Module - 1 Communication methods OSI reference model and layered communication TCP/IP model TCP and UDP IP addressing.
1 Chapter 3 TCP and IP. Chapter 3 TCP and IP 2 Introduction Transmission Control Protocol (TCP) Transmission Control Protocol (TCP) User Datagram Protocol.
S305 – Network Infrastructure Chapter 5 Network and Transport Layers Part 2.
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.
Chapter 15 – Part 2 Networks The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
Chapter 5.6 Network and Multiplayer SUNDEEP MYNENI COMP 7970.
Understanding Networks. Objectives Compare client and network operating systems Learn about local area network technologies, including Ethernet, Token.
Computer Network Architecture and Programming
1 Interconnection ECS 152A. 2 Interconnecting with hubs r Backbone hub interconnects LAN segments r Extends max distance between nodes r But individual.
Chapter 2 Internet Protocol DoD Model Four layers: – Process/Application layer – Host-to-Host layer – Internet layer – Network Access layer.
Bob Baker Communications Bob Baker September 1999.
Chapter 5.6 Network and Multiplayer. 2 Multiplayer Modes: Event Timing Turn-Based Easy to implement Any connection type Real-Time Difficult to implement.
Defining Network Protocols Application Protocols –Application Layer –Presentation Layer –Session Layer Transport Protocols –Transport Layer Network Protocols.
©Brooks/Cole, 2003 Chapter 6 Computer Networks. ©Brooks/Cole, 2003 Understand the rationale for the existence of networks. Distinguish between the three.
Lecture 8 Modeling & Simulation of Communication Networks.
IST 228\Ch3\IP Addressing1 TCP/IP and DoD Model (TCP/IP Model)
IP Network Basics. For Internal Use Only ▲ Internal Use Only ▲ Course Objectives Grasp the basic knowledge of network Understand network evolution history.
CN2668 Routers and Switches Kemtis Kunanuraksapong MSIS with Distinction MCTS, MCDST, MCP, A+
OSI Model Routing Connection-oriented/Connectionless Network Services.
Agenda Internet Address Pair Internet Address Pair IP Address IP Address Port Address Port Address Network Address Translation (NAT) Network Address Translation.
CP476 Internet ComputingCh.1 # 1 Lecture 2. A Brief Introduction to the Internet The objective is to understand The history of Internet What the Internet.
Network Protocols. Why Protocols?  Rules and procedures to govern communication Some for transferring data Some for transferring data Some for route.
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Computer Networks.  The OSI model is a framework containing seven layers that defines the protocols and devices used at each stage of the process when.
Characteristics of Communication Systems
1 Chapter Overview TCP/IP DoD model. 2 Network Layer Protocols Responsible for end-to-end communications on an internetwork Contrast with data-link layer.
Operating Systems Lesson 10. Networking Communications protocol is the set of standard rules for ◦ Data representation ◦ Signaling ◦ Authentication ◦
Chapter 5.6 Network and Multiplayer edited by Jeffery.
CSCE 552 Fall 2012 Multiplayer By Jijun Tang. Multiplayer Modes: Event Timing Turn-Based  Easy to implement  Any connection type Real-Time  Difficult.
Introduction to Networks CS587x Lecture 1 Department of Computer Science Iowa State University.
Chapter 6-2 the TCP/IP Layers. The four layers of the TCP/IP model are listed in Table 6-2. The layers are The four layers of the TCP/IP model are listed.
TCP/IP Protocols Contains Five Layers
CCNA 1 v3.0 Module 11 TCP/IP Transport and Application Layers.
Chapter 15 – Part 2 Networks The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
Network Programming Eddie Aronovich mail:
TCP/IP Honolulu Community College Cisco Academy Training Center Semester 2 Version 2.1.
Computer Security Workshops Networking 101. Reasons To Know Networking In Regard to Computer Security To understand the flow of information on the Internet.
ECE453 – Introduction to Computer Networks Lecture 17 – Top – Down Approach (A Review)
William Stallings Data and Computer Communications
Transport Layer3-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Connecting to the Network Introduction to Networking Concepts.
Individual Project 1 Sarah Pritchard. Fran, a customer of your company, would like to visit your company’s website from her home computer… How does your.
1 Bus topology network. 2 Data is sent to all computers, but only the destination computer accepts 02608c
ISDS 4120 Project 1 DWAYNE CARRAL JR 3/27/15. There are seven layers which make up the OSI (Open Systems Interconnection Model) which is the model for.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
The OSI Model. Understanding the OSI Model In early 1980s, manufacturers began to standardize networking so that networks from different manufacturers.
Cisco I Introduction to Networks Semester 1 Chapter 7 JEOPADY.
Client-server communication Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
CSCE 552 Spring 2012 AI (III) & Multiplayer By Jijun Tang.
Week 3: Protocols Protocols. Protocols Protocol Design Packet Length Conveyance Acknowledgement Methodology Error Checking / Correcting Compression Encryption.
IST 201 Chapter 11 Lecture 2. Ports Used by TCP & UDP Keep track of different types of transmissions crossing the network simultaneously. Combination.
Network Processing Systems Design
Ad Hoc – Wireless connection between two devices Backbone – The hardware used in networking Bandwidth – The speed at which the network is capable of sending.
Chapter 3 TCP and IP Chapter 3 TCP and IP.
Introduction to TCP/IP
Chapter 5 Network and Transport Layers
What the OSI Protocol Layers Do
Hubs Hubs are essentially physical-layer repeaters:
The Open System Interconnection (OSI) Model & Network Protocols.
Chapter 5 Network and Transport Layers
Hubs Hubs are essentially physical-layer repeaters:
Computing Over Distance
Process-to-Process Delivery:
Chapter 15 – Part 2 Networks The Internal Operating System
OSI Reference Model Unit II
OSI Model 7 Layers 7. Application Layer 6. Presentation Layer
Presentation transcript:

Part 1: Multiplayer Games Multiplayer Modes

Multiplayer Modes Event Timing Turn-Based Easy to implement Any connection type Real-Time Difficult to implement Latency sensitive

Multiplayer Modes Shared I/O Input Devices Shared keyboard layout Multiple device mapping Display Full Screen Funneling Screen Swap Split Screen

Multiplayer Modes Connectivity Non Real-Time Floppy disk net Database Direct Link Serial, USB, IrD, … (no hops) Circuit Switched (phones) Dedicated line with consistent latency Packet Switched Internet Shared pipe

Part 2: Multiplayer Games Protocols

Protocols Protocol Design Packet Length Conveyance Acknowledgement Methodology Error Checking / Correcting Compression Encryption Packet Control

Protocols Packets Packets Header = Protocol Manifest Payload Gottchas Pointers Large/Variable Size Arrays ADTs Integer Alignment Endian Order Processor dependant Intrinsic Types (int and long) Unicode vs. ASCII Strings

Protocols Request for Comments RFC web site Protocol Specifications Definitive Resource Public Criticism Future Protocols

Part 3: Multiplayer Games Protocol Stack

Protocol Stack Open System Interconnect

Protocol Stack Physical Layer Bandwidth Width of data pipe Measured in bps = bits per second Latency Travel time from point A to B Measured in Milliseconds The Medium Fiber, FireWire, IrD, CDMA & other cell Serial USB 1&2 ISDNDSLCable LAN 10/100/1G BaseT Wireless a/b/g Power Line T1 Speed (bps) 20K 12M 480M 128k 1.5M down 896K up 3M down 256K up 10M 100M 1G b=11M a,g=54M 14M1.5M Table 1: Max Bandwidth Specifications

Protocol Stack Data Link Layer Serializes data to/from physical layer Network Interface Card Ethernet MAC Address

Protocol Stack Network Layer Packet Routing Hops Routers, Hubs, Switches Internet Protocol (IP) Contains Source & Destination IP Address IPv4 Widespread Infrastructure IPv6 Larger IP address

Protocol Stack Network Layer: IP Address Unicast Static DHCP Multicast Requires multicast capable router Broadcast Local Directed Loop Back Send to self AddrAny 0 = address before receiving an address

Protocol Stack Network Layer: DNS Domain Name Service Converts text name to IP address Must contact one or more DNS servers to resolve Local cache resolution possible Game Tips Store local game cache to use when DNS out of order. DNS resolution often slow, use cache for same day resolution.

Protocol Stack Transport Layer Manage data deliver between endpoints Error recovery Data flow TCP and UDP used with IP Contains Source and Destination Port Port + IP = Net Address Port Range = 0-64k Well known Ports 0-1k

Protocol Stack Transport Layer: TCP Guaranteed Correct In Order Delivery Acknowledgement system Ack, Nack, Resend Checksum Out of Band Connection Required Packet Window Packet Coalescence Keep Alive Streamed Data User must serialize data

Protocol Stack Transport Layer: UDP Non Guaranteed Delivery No Acknowledgement system May arrive out of order Checksum Not Connected Source not verified Hop Count Limit = TTL (time to live) Required for Broadcasting Datagram Sent in packets exactly as user sends them

Protocol Stack Session Layer Manages Connections between Apps Connect Terminate Data Exchange Socket API live at this layer Cross platform Cross language

Protocol Stack Session Layer: Sockets Based on File I/O File Descriptors Open/Close Read/Write Winsock Provides standard specification implementation plus more Extension to spec prefixed with WSA Requires call to WSAStartup() before use Cleanup with WSAShutdown()

Protocol Stack Session Layer: Socket Design Modes Blocking Non-Blocking Standard Models Standard Select Extended Models Windows WSAEventSelect I/O Completion Ports Unix Poll Kernel Queues

Protocol Stack Presentation Layer Prepares App Data for Transmisson Compression Pascal Strings String Tables Float to Fixed Matrix to Quaternion Encryption Endean Order When used cross platform or cross language Serialize Pointers Variable Length Arrays

Protocol Stack Presentation Layer: Buffering Packet Coalescence Induced Latency Dead Data Large Packets

Protocol Stack Application Layer Handles Game Logic Update Models Input Reflection State Reflection Synchronization Dead Reckoning A.I. Assist Arbitration

Part 4: Multiplayer Games Real-Time Communications

Real-Time Communications Connection Models Broadcast Good for player discovery on LANs Peer to Peer Good for 2 player games Client / Server Good for 2+ player games Dedicated lobby server great for player discovery

Real-Time Communications Peer to Peer vs. Client/Server P1P1 P2P2 P1P1 P2P2 P3P3 P1P1 P4P4 P3P3 P2P2 P5P5 P4P4 P3P3 P2P2 P1P1 P5P5 P4P4 P3P3 P2P2 P1P1 Serve r BroadcastPeer/PeerClient/Server Connections1 Client = 1 Server = N N = Number of players BroadcastPeer/PeerClient/Server Send1N-1 Client = 1 Server = N ReceiveN-1 Client = N-1 Server = N

Real-Time Communications Asynchronous Environments Thread Priority Suspension Pooling Critical Section & Mutex Signal & Event Data Sharing volatile keyword Interlocked Inc/Dec

Part 5: Multiplayer Games Security

Security Encryption Goals Authentication Privacy Integrity

Security Encryption Methods Keyed Public Key Private Key Ciphers Message Digest Certificates IPSec

Security Copy Protection Disk Copy Protection Costly Mastering Invalid/Special Sector Read Code Sheets Watermarking

Security Execution Cryptography Code Obfuscation Strip Symbols Heap Hopper Stack Overrun Execution NoOp Hacking Timer Hacking DLL Shims

Security Firewalls Packet Filter Proxies Circuit Gateways

Security Firewalls: NAT LAN AddressWAN Address : : : : : : : :4000* Figure 1 Network Address Translation at work.

Security Firewalls: NAT Traversal Port Forwarding Port Triggering DMZ Determining WAN IP

Part 4: Multiplayer Games Summary

Summary Topic Coverage Multiplayer Modes Protocols Protocol Stack Real-Time Communications Security

Summary Further Study Socket Programming Serial Communication Server Design Network Gear & Infrastructure VOIP Tools of the Trade Unit & Public Beta Testing Middleware Databases Web Development Asynchronous Programming