Chapter 5.6 Network and Multiplayer

Similar documents
Introduction to computer networking

Fundamental Issues. System Models and Networking Chapter 2,3. System Models. Architectural Model. Middleware. Bina Ramamurthy

Router Router Microprocessor controlled traffic direction home router DSL modem Computer Enterprise routers Core routers

COMS Introduction to Computers. Networking

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

Networking interview questions

Operating Systems. 16. Networking. Paul Krzyzanowski. Rutgers University. Spring /6/ Paul Krzyzanowski

Part 1: Introduction. Goal: Review of how the Internet works Overview

Different Layers Lecture 20

Concept Questions Demonstrate your knowledge of these concepts by answering the following questions in the space that is provided.

Operating Systems CS 571

Module 2 Overview of Computer Networks

Module 2 Overview of. Computer Networks

What s a protocol? What s a protocol? A closer look at network structure: What s the Internet? What s the Internet? What s the Internet?

precise rules that govern communication between two parties TCP/IP: the basic Internet protocols IP: Internet protocol (bottom level)

Assignment - 1 Chap. 1 Wired LAN s

Goals and topics. Verkkomedian perusteet Fundamentals of Network Media T Circuit switching networks. Topics. Packet-switching networks

Data Communication and Network. Introducing Networks

Identify the features of network and client operating systems (Windows, NetWare, Linux, Mac OS)

IT114 NETWORK+ Learning Unit 1 Objectives: 1, 2 Time In-Class Time Out-Of-Class Hours 2-3. Lectures: Course Introduction and Overview

CPEG514 Advanced Computer Networks. Atef Abu Salim University of Nizwa Spring 2013/2014

Distributed Systems. 02. Networking. Paul Krzyzanowski. Rutgers University. Fall 2017

Review for Internet Introduction

Networking and Internetworking 1

Internetworking/Internetteknik, Examination 2G1305 Date: August 18 th 2004 at 9:00 13:00 SOLUTIONS

Lecture 2: Internet Structure

ITEC 3800 Data Communication and Network. Introducing Networks

Networking and Internetworking 1

Chapter 16 Networking

What s a protocol? What s a protocol? A closer look at network structure: What s the Internet? Hardware view: What s the Internet?

EITF25 Internet Techniques and Applications L7: Internet. Stefan Höst

Revision of Previous Lectures

CompTIA Network+ Study Guide Table of Contents

1. IPv6 is the latest version of the TCP/IP protocol. What are some of the important IPv6 requirements?

ITP 140 Mobile Applications Technologies. Networks

Network Model. Why a Layered Model? All People Seem To Need Data Processing

RSC Part I: Introduction

Computer Communication & Networks / Data Communication & Computer Networks Week # 03

Department of Computer and IT Engineering University of Kurdistan. Network Layer. By: Dr. Alireza Abdollahpouri

Network and Security: Introduction

ECE 650 Systems Programming & Engineering. Spring 2018

Lecture 11: IP routing, IP protocols

Wireless-G Router User s Guide

Network Layer (1) Networked Systems 3 Lecture 8

A+ Guide to Software: Managing, Maintaining, and Troubleshooting, 5e. Chapter 8 Networking Essentials

IT4405 Computer Networks (Compulsory)

THE OSI MODEL. Application Presentation Session Transport Network Data-Link Physical. OSI Model. Chapter 1 Review.

MTA_98-366_Vindicator930

Networking for Data Acquisition Systems. Fabrice Le Goff - 14/02/ ISOTDAQ

Network Protocols and Architectures

Networking Technologies and Applications

Special expressions, phrases, abbreviations and terms of Computer Networks

Switching Networks (Fall 2010) EE 586 Communication and. August 27, Lecture 2. (modified by Cheung for EE586; based on K&R original) 1-1

2. A collection of interconnected networks is called an internetwork. 3. Each machine is connected to a central hub with a point-to-point connection.

This tutorial will help you in understanding IPv4 and its associated terminologies along with appropriate references and examples.

Data Communications and Networks Spring Syllabus and Reading Assignments

Data Communication & Computer Networks MCQ S

COPYRIGHTED MATERIAL. Con t e n t s. Chapter 1 Introduction to Networking 1. Chapter 2 Overview of Networking Components 21.

Chapter 1. Computer Networks and the Internet

Last time. Wireless link-layer. Introduction. Characteristics of wireless links wireless LANs networking. Cellular Internet access

ETSF05/ETSF10 Internet Protocols Network Layer Protocols

Fundamental Questions to Answer About Computer Networking, Jan 2009 Prof. Ying-Dar Lin,

CS 457 Lecture 11 More IP Networking. Fall 2011

Chapter 2 Communicating Over the Network

CPSC 826 Internetworking. The Network Layer: Routing & Addressing Outline. The Network Layer

Study Guide. Module Two

On Distributed Communications, Rand Report RM-3420-PR, Paul Baran, August 1964

Network.... communication system for connecting end- systems. End-systems a.k.a. hosts PCs, workstations dedicated computers network components

University of Southern California EE450: Introduction to Computer Networks

Slides for Chapter 3: Networking and Internetworking

Lecture 3. The Network Layer (cont d) Network Layer 1-1

Chapter 2 Network Models 2.1

The OSI Model. Open Systems Interconnection (OSI). Developed by the International Organization for Standardization (ISO).

Chapter 12 Network Protocols

Computer Communication Networks Midterm Review

IPv4 addressing, NAT. Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley.

The Internet. 9.1 Introduction. The Internet is a global network that supports a variety of interpersonal and interactive multimedia applications.

E&CE 358: Tutorial 1. Instructor: Sherman (Xuemin) Shen TA: Miao Wang

Computer Networks. More on Standards & Protocols Quality of Service. Week 10. College of Information Science and Engineering Ritsumeikan University

Computer Networks (Introduction to TCP/IP Protocols)

ETSF10 Internet Protocols Transport Layer Protocols

CS 4390 Computer Networks. Transport Services and Protocols

Transporting Voice by Using IP

Interconnecting Networks with TCP/IP. 2000, Cisco Systems, Inc. 8-1

CSE3213 Computer Network I

Introduction... xiii Chapter 1: Introduction to Computer Networks and Internet Computer Networks Uses of Computer Networks...

Chapter 09 Network Protocols

CS1302 / Computer Networks

TCP/IP Protocol Suite

Q-Balancer Range FAQ The Q-Balance LB Series General Sales FAQ

Lecture 8. Network Layer (cont d) Network Layer 1-1

ITP 140 Mobile Applications Technologies. Networks

CSCI-1680 Network Layer:

BROADBAND AND HIGH SPEED NETWORKS

Network layer: Overview. Network layer functions IP Routing and forwarding NAT ARP IPv6 Routing

Chapter 6: Network Layer

Need For Protocol Architecture

Need For Protocol Architecture

EE122 Spring 2001 Final

CS 204: Advanced Computer Networks

Transcription:

Chapter 5.6 Network and Multiplayer

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

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

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

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

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 6

Protocols: Request for Comments RFC web site http://www.rfc-editor.org/ Protocol Specifications Definitive Resource Public Criticism Future Protocols 7

Protocol Stack: Open System Interconnect Sender Application Game Events Receiver Application Input Updates State Updates Presentation Game Packetization Presentation Serialization Buffering Session Connection & Data Exchange Session Sockets Transport Transport TCP UDP Network Network Network Network IP Data Link Data Link Data Link Data Link Ethernet (MAC) Physical Physical Router Physical Physical Wired (C5, Cable) Fiber Optics Wireless 8

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 Table: Max Bandwidth Specifications Serial USB 1&2 ISDN DSL Cable LAN 10/100/1G BaseT Wireless 802.11 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 9 14M 1.5M

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

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

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 12

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. 13

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 14

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 15

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 16

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

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() 18

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 19

Protocol Stack: Presentation Layer Prepares App Data for Transmission 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 20

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

Protocol Stack: Application Layer Handles Game Logic Update Models Input Reflection State Reflection Synchronization Dead Reckoning AI Assist Arbitration 22

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 23

Real-Time Communications: Peer to Peer vs. Client/Server P1 P1 P1 P4 P2 P5 P1 P2 P2 P3 P2 P3 P3 P4 N = Number of players 2 players 1 connection 3 players 3 connections 4 players 6 connections 5 players 10 connections Broadcast Peer/Peer Client/Server Connections 0 N 1 x 1 x Client = 1 Server = N Broadcast Peer/Peer Client/Server Send 1 N-1 Receive N-1 N-1 Client = 1 Server = N Client = 1 Server = N 24

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

Security: Encryption Goals Authentication Privacy Integrity 26

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

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

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

Security: Firewalls Packet Filter Proxies Circuit Gateways 30

Security: Firewalls: Network Address Translation ISP LAN IP 192.168.1.1 WAN IP 24.15.1.118 Router LAN IP 192.168.1.2 Requested Ports 200 201 NAT Requested Ports 199 200 LAN Address WAN Address 192.168.1.1:200 24.15.1.118:200 192.168.1.1:201 24.15.1.118:201 192.168.1.2:199 24.15.1.118:199 192.168.1.2:200 24.15.1.118:4000* 31

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

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

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 34