IEEE Virtual Reality 2011 Introduction to Networked Graphics Anthony Steed Part 2: Actual Internet Performance Requirements and Constraints.

Slides:



Advertisements
Similar presentations
CCNA3: Switching Basics and Intermediate Routing v3.0 CISCO NETWORKING ACADEMY PROGRAM Switching Concepts Introduction to Ethernet/802.3 LANs Introduction.
Advertisements

Introduction 2 1: Introduction.
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-
Computer Networks Performance Metrics Computer Networks Term B10.
CS 4700 / CS 5700 Network Fundamentals Lecture 15: NAT (You Better Forward Those Ports) Revised 3/9/2013.
Networked Graphics Building Networked Virtual Environments and Networked Games Chapter 10: Requirements.
CSCI-235 Micro-Computers in Science The Network. Network Fundamentals A computer network consists of two or more computers linked together to exchange.
Module CSY3021 Network Planning and Programming RD-CSY /09 1.
IEEE Virtual Reality 2011 Introduction to Networked Graphics Requirements and Constraints.
Access Control for Networks Problems: –Enforce an access control policy Allow trust relationships among machines –Protect local internet from outsiders.
Presented by Serge Kpan LTEC Network Systems Administration 1.
Security Awareness: Applying Practical Security in Your World, Second Edition Chapter 5 Network Security.
Networking Theory (Part 1). Introduction Overview of the basic concepts of networking Also discusses essential topics of networking theory.
Lecture 1 Internet Overview: roadmap 1.1 What is the Internet? 1.2 Network edge  end systems, access networks, links 1.3 Network core  network structure,
Lecture Chapter 1: roadmap 1.1 What is the Internet? 1.2 Network edge  end systems, access networks, links 1.3 Network core  network structure,
Introduction of Web programming Ins. Elaf Alhazmi LECTURE 2.
The StarNet Analyzer. Contact SNA Department x172
Lecture 1 Overview: roadmap 1.1 What is computer network? the Internet? 1.2 Network edge  end systems, access networks, links 1.3 Network core  network.
Networking DSC340 Mike Pangburn. Networking: Computers on the Internet  1969 – 4  1971 – 15  1984 – 1000  1987 – 10,000  1989 – 100,000  1992 –
CS332 Ch. 28 Spring 2014 Victor Norman. Access delay vs. Queuing Delay Q: What is the difference between access delay and queuing delay? A: I think the.
Networking Components Chad Benedict – LTEC
1: Introduction1 Part I: Introduction Goal: r get context, overview, “feel” of networking r more depth, detail later in course r approach: m descriptive.
Middleboxes & Network Appliances EE122 TAs Past and Present.
CECS 5460 – Assignment 3 Stacey VanderHeiden Güney.
Introduction to Information and Computer Science Networks Lecture a This material (Comp4_Unit7a) was developed by Oregon Health and Science University,
Packet Filtering. 2 Objectives Describe packets and packet filtering Explain the approaches to packet filtering Recommend specific filtering rules.
LAN Overview (part 2) CSE 3213 Fall April 2017.
Network Components 101 Travis Hill.
Chapter 4: Managing LAN Traffic
Chapter 2 The Infrastructure. Copyright © 2003, Addison Wesley Understand the structure & elements As a business student, it is important that you understand.
CS 5565 Network Architecture and Protocols
CS448 Computer Networking Chapter 1 Introduction to Computer Networks Instructor: Li Ma Office: NBC 126 Phone: (713)
Chapter 4. After completion of this chapter, you should be able to: Explain “what is the Internet? And how we connect to the Internet using an ISP. Explain.
Chapter 6: Packet Filtering
Instructor: Christopher Cole Some slides taken from Kurose & Ross book IT 347: Chapter 1.
Introduction to Networked Graphics Part 2 of 5: Requirements and Constraints.
1 NAT Network Address Translation Motivation for NAT To solve the insufficient problem of IP addresses IPv6 –All software and hardware need to be updated.
Common Devices Used In Computer Networks
Communications and Networks Chapter 8. 2 Introduction We live in a truly connected society. Increased connectivity potentially means increased productivity,
1.1 What is the Internet What is the Internet? The Internet is a shared media (coaxial cable, copper wire, fiber optics, and radio spectrum) communication.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.0 Module 4 Switching Concepts.
S3C2 – LAN Switching Addressing LAN Problems. Congestion is Caused By Multitasking, Faster operating systems, More Web-based applications Client-Server.
I. Basic Network Concepts. I.1 Networks Network Node Address Packet Protocol.
Network Layer4-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.
Computer Networks Performance Metrics. Performance Metrics Outline Generic Performance Metrics Network performance Measures Components of Hop and End-to-End.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco PublicITE I Chapter 6 1 Identifying Application Impacts on Network Design Designing and Supporting.
Chapter Overview Bridging Switching Routing.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.0 Module 4 Switching Concepts.
Lecture 6 Page 1 Advanced Network Security Review of Networking Basics Advanced Network Security Peter Reiher August, 2014.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.0 Module 4 Switching Concepts.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Connecting to the Network Introduction to Networking Concepts.
Planning and Analyzing Wireless LAN
NETWORK COMPONENTS BY REYNALDO ZAMORA. HUB Hubs are devices that serve as the central connection for a network. Its job is to send data from one computer.
CS 5565 Network Architecture and Protocols Godmar Back Lecture 14.
Component 4: Introduction to Information and Computer Science Unit 7: Networks & Networking Lecture 1 This material was developed by Oregon Health & Science.
Network Behaviour & Impairments
TCP Traffic Characteristics—Deep buffer Switch
Networking Components Quick Guide. Hubs Device that splits a network connection into multiple computers Data is transmitted to all devices attached Computers.
Chapter 1-4 Home Networking. Introduction Setting up a home network is probably one of the first networks that the student sets up. This is an exciting.
Introduction1-1 Data Communications and Computer Networks Chapter 1 CS 3830 Lecture 3 Omar Meqdadi Department of Computer Science and Software Engineering.
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.
CS 3700 Networks and Distributed Systems
Youngstown State University Cisco Regional Academy
CS 3700 Networks and Distributed Systems
Wednesday, September 19, 2018 What Is the Internet?
Topic 5: Communication and the Internet
Design Unit 26 Design a small or home office network
I. Basic Network Concepts
CS 3700 Networks and Distributed Systems
Presentation transcript:

IEEE Virtual Reality 2011 Introduction to Networked Graphics Anthony Steed Part 2: Actual Internet Performance Requirements and Constraints

 Actual Internet Performance  - What bandwidth can we expect?  - Sources of latency  - What other issues must we consider?  Requirements and Constraints  - Requirements on consistency  - Requirements on latency  - User response to inconsistency and latency

IEEE Virtual Reality 2011 Introduction to Networked Graphics Actual Internet Performance

 Actual Internet Performance  - What bandwidth can we expect?  - Sources of latency  - What other issues must we consider?

Network properties  Latency (Round Trip Time)  Devices take time to send data (e.g. Modems)  Data takes time to transmit (speed of light)  Jitter  Routers insert bandwidth  Bandwidth (Capacity)  Bandwidth costs money  In UK: 8Mbps is fairly  Loss (Congestion, Reliability)  Routers drop packets, links do go down, routes do fluctuate 5

LATENCY & JITTER

Reality Check GOLDEN RULE Information propagation IS NOT instantaneous It is not possible for EVERY user to share the EXACT same state at EVERY instance

Impact on the Shared Experience Host A Host B Host C

Mental Model Senses Muscles Local Host Network Access HumanSystemNetwork Human Brain Devices Internal ProcessingLocal ProcessingNetwork Processing Overview of the Challenge The total processing time must not exceed the interactive threshold which is determined by Gameplay

Application Latency and Jitter : Single Host System Model Input Simulation Rendering

Application Latency and Jitter : Networked Host System Model Input Simulation Rendering Network Link Physical Internet

Server Application Application Latency and Jitter : Client and Server System Model Input Simulation Rendering Network Link Physical Internet Simulation 4 4

Latency : Network Perspective Handler Routing Table Input QueuesOutput Queues

Latency : Network Perspective Handler Routing Table Input QueuesOutput Queues Latency

Jitter  Jitter is change in latency  Jitter is caused by the technology of the Internet  Wired routers  Wireless access  Two problems:  Routers are almost certainly capacity bound and demand on routers changes rapidly  Some link layers (notably wireless) are shared medium so transmitters will conflict

Latency and Jitter : Network Perspective Sender Receiver Internet Regular Timing Jittered Timing Network Latency Transmission Delay : time it takes to put a packet on the outgoing link Propagation Delay : time it takes for the packet to arrive at destination

Interpacket arrival time Frequency of occurrence Correct spacing Gaussian distribution Observed distribution Variance of inter-packet arrival times

BANDWIDTH & LOSS

Bandwidth  Bandwidth is a shared resource  At local level we shared the wireless or share a home or office router  Can be much more outbound or requested inbound traffic that the local network can access  However probably, the bottleneck is likely to be upstream to our ISP  ISP have intra-ISP (and “senior” ISP) bottlenecks  The destination site (BBC, Facebook) might have inbound capacity limits

Loss Another GOLDEN RULE Packet Loss is a Good Thing It is the Internet’s defence against failure Dropping packets (hopefully) causes senders (processes or users) to rate-limit

Loss : Network Perspective Handler Routing Table Input QueuesOutput Queues Loss

Throughput : Network Perspective Throughput : number of bits per time of unit

Throughput : Network Perspective Throughput : number of bits per time of unit Potential Loss and Increased Delay

STATE OF THE INTERNET

Bandwidth and Latency: Wired  Much literature in the area is based on 56kbps modems …  Broadband is now common in homes  500Kbps – 1Gbps  Depends on technology (twisted-pair v. optical)  Offices have always been different  1Gbps Ethernet, switched (not shared) is common  Outbound varies enormously  Latency is good

Bandwidth and Latency: Wireless  2G  Don’t try, run web or sms-based applications!  3G / 4G  3G: ~2.4Mbps  4G: 100Mbps – 1Gbps  a-n  b: 11 Mbps  n: 54 Mbps  Be skeptical: its shared bandwidth  Latency is moderate-poor: its shared bandwidth

Bandwidth Availability Average connection speed by country, Q Based on (Akamai, 2009)

Effect of distance on throughput and download times Based on (Leighton, 2009)

IEEE Virtual Reality 2011 Introduction to Networked Graphics Requirements and Constraints

 Requirements and Constraints  - Requirements on consistency  - Requirements on latency  - User response to inconsistency and latency

Consistency : System Perspective  C1 : Local changes replicated at each site  C2 : Simulation should not diverge over time  C3 : Casual order of events should be preserved  C4 : Temporal and motion characteristics of events should be preserved

Consistency : User Perspective  C5 : The joint perception of events should be plausible  C6 : The outcome of the events should be fair  C7 : The system should preserve the users’ intentions

LATENCY IMPACT

Client A Client B CarA A=1, V=0 Car B A=1, V=0 CarA A=1, V=1 CarA A=1, V=2 CarA A=1, V=3 Car B A=1, V=1 Car B A=1, V=2 Car B A=1, V=3 Car A Car B Car A Car B Impact: Timings Activity Onset

Can’t apply open state Door is Open & Locked Client A Client B Lock DoorOpen Door Door is Closed & Unlocked Door is Closed & Locked Door is Closed & Unlocked Door is Open & Unlocked Impact: Inconsistent State Changes

Client A Client B Server Shooter (Player A ) Target (Player B ) Impact: Fireproof Players

Client A Client B Server Shooter (Player A ) Target (Player B ) Impact: Shooting Around Corners

Deadline Precision Highest Lower TightestLowest Mouse Control Avatar Control Camera Control Aiming Weapon / Shooting Sniper Vehicle Racing Aiming & Shooting Machine Gun Run command Casting Area Spell Shooting Rockets Combat Drinking Health Potion Building (God Game) Moving (God Game) Fighting (God Game) Exploring (God Game) Immediate Control Tasks Latency Acceptability Several tasks plotted on the Precision/Deadline axes. Based on Claypool and Claypool (2006).

What Do Users Think? (1/4)  Online survey targeted at First Person Shooter (FPS)  23 Questions with 7 scale Likert response  335 unique responses  Sample is non-casual players  75% have more than one year experience  Average weekly hours playing is 5-10  68% buy hardware depending on game (indecisive 16%)  73% consider themselves proficient players (indecisive 16%)

What Do Users Think? (2/4) Are users aware of network problems?

What Do Users Think? (3/4) Users want to know what is going on…

What Do Users Think? (4/4) Users want QoS but…

BANDWIDTH

Bandwidth Requirements  Obviously depends on activity  Downloading models  Sending small, game specific commands  Rate of command sending (very sensitive to type of game)  Typically:  FPS & real-time send commands at fixed rate (e.g. 20 Hz)  RTS and other send commands at issue rate (e.g. up to 5Hz with StarCraft)

Packet Rates Server packet rates and sizes for three FPS games, from Feng et al. (2005)

Packet Rates Client packet rates and sizes for four MMORPG games, from Molnár & Szabó (2008)

Packet Rates Bandwidth of Second Life for different region types and different modes of travel. From Kinicki & Claypool (2008)

CONNECTIVITY

Network Address Translation  The biggest hiccup for any peer to peer networking  Many (most?) computers on the Internet are behind a NAT  We are behind a NAT  is in a reserved IP address domain  Your home probably runs a NAT  You have one address from your ISP  You PAY to have this be a static IP address  You pay more to have more than one

Reserved Addresses IP address. (2011, March 18). In Wikipedia, The Free Encyclopedia. Retrieved 07:24, March 19, 2011, from

What Does NAT Do?  Network Address Translation is a function of your router (gateway)  You have any number of devices on your LAN  All appear to have the same IP to the outside world  The NAT replaces the source address and source port of the IP packets

What a NAT Does  Store a table  Not trivial to do this, some systems use lots of connections and ports  Overload is a common cause of WLAN falling over Outward PortInward AddressInward Port

Implication of NATs  There is no problem calling out  Calling in you can’t know automatically which machine behind a NAT uses what ports  The NAT needs to discover or be told that port 80 (web service) packets need to be routed to a specific machine  Most home gateways have functionality for this specifically for running game services!  This is a problem for any peer to peer system. Your likely experience with it is using Skype

NAT Traversal  NAT breaks one of the fundamental assumption of Internet: that all machines are peers and are routable by IP number  NAT traversal is supported by some protocols  E.G. callback: protocol can work in either way, TCP is also bidirectional  Otherwise need to do it yourself

Client A NAT A Client B NAT B Server Name A Name B Port A Port B Name A :Nat A,Port A Name B :Nat B,Port B UDP Hole Punching

Client A NAT A Client B NAT B Server Help Connect with Name B Name A :Nat A,Port A Name B :Nat B,Port B Port A Port B Name B at NAT B, Port B Name A at NAT A, Port A UDP Hole Punching

Client A NAT A Client B NAT B Server Port A Port B Connect to NAT B, Port B Connect to NAT A, Port A UDP Hole Punching

Client A NAT A Client B NAT B Server Port A Port B Send to NAT B, Port B Send to NAT A, Port A UDP Hole Punching

Comments on NATs  Many types of NAT, port static, symmetric, etc.  UDP Hole Punching only works some of the time  There is an equivalent for TCP which is less reliable!  Many game middleware have a function for this BUT  Game providers need to provide a rendezvous service  Need a relay service when it fails  For a peer to peer game, middleware tries to assess which client has best connectivity

Firewalls  Firewall blocks incoming and outgoing traffic  Firewall is often combined with NAT  Block ports  Block addresses  Block protocols (depending on state of connection)

SUMMARY

 Today bandwidth is growing rapidly  NVEs and NGs tend to demand a lot from the network  Some games have low latency requirements  Packet rates vary enormously  The Internet is actually poorly symmetrically connected  Part 3 will look at techniques to cope with latency and scale