Multiplayer Game Programming
|
|
- Homer Mills
- 6 years ago
- Views:
Transcription
1 Multiplayer Game Programming
2 Phoenix area game developer since 2001 Teacher at Art Institute since 2006 Worked on a variety of educational and commercial games Author of itween Visual Editor and CameraFor2D components for Unity Currently developing Star. Ship. Story., a co-op space faring adventure Slightly crazy to be making a multiplayer game David dkoontz.wordpress.com
3 Content Packet Header How the Internet works Special considerations for games Using a library vs writing your own Existing tools for Flash, C#, HTML Questions
4 Content Packet Header How the Internet works Special considerations for games Using a library vs writing your own Existing tools for Flash, C#, HTML Questions
5 The Problem A B
6 The Problem A B
7 The Problem A B
8 The Problem A B?
9 The Problem A B
10 The Problem A B
11 The Problem A B
12 The Problem A B
13 The Problem A B
14 The Problem A B
15 The Problem A B
16 The Problem A B
17 The Problem A B
18 The Problem A B
19 IP Protocol The Internet functions by being able to break data (usually cats) into packets and then (semi)reliably delivering those packets to their destination using whatever networks are available. Destinations are numbered addresses that look like this:
20 What is a protocol? The protocol bit of the IP Protocol is just the expected actions of each party participating in the exchange and an agreed upon way of interpreting data sent between the systems
21 What is a protocol? The protocol bit of the IP Protocol is just the expected actions of each party participating in the exchange and an agreed upon way of interpreting data sent between the systems Shaking hands when meeting someone is a social protocol. Signalling before changing lanes is standard driving protocol. Belay, on belay, belay on is standard rock climbing protocol.
22 It s protocols all the way down TCP UDP Reliable Ordered Maintains a connection Needs handshake Unreliable Unordered Connectionless Less overhead per packet Fetching a web site Transferring a file Chat messages Turn based games Voice chat Most high action games Anything severely affected by latency IP
23 Ports Both TCP and UDP add another element to the where part of delivering a packet :3724
24 Ports Both TCP and UDP add another element to the where part of delivering a packet IP address Port :3724
25 Ports Ports allow the receiving computer to differentiate the packets coming in for one application vs another
26 Ports Think of how many applications you have receiving data at once through the same network connection
27 Ports Web browser Skype System updates AIM MSN GChat Pandora Spotify Games
28 Data Port, Handshake info, sequence number, etc. Destination IP address Source IP address Total length, protocol number, other important but boring values The anatomy of an IP packet Header
29 16 bytes TCP/UDP 16 bytes / 4 bytes Data IP Protocol Port, Handshake info, sequence number, etc. Destination IP address Source IP address Total length, protocol number, other important but boring values The anatomy of an IP packet Your application s protocol
30 Serialization (aka marshalling) The process of converting your data to this format is called serialization Data The data that is sent must be converted to a format that can be sent across the Internet.
31 Serialization The serialized form of your data is always a byte array int float serializer string bool byte[ ]
32 Deserialization Deserialization is just the opposite process, extracting specific bits of data from the byte array as an int / float / string / etc. int float byte[ ] deserializer string bool
33 Deserialization You must know the format of the data that was serialized so that you can deserialize it correctly float int byte[ ] deserializer string bool
34 Deserialization You must know the format of the data that was serialized so that you can deserialize it correctly float int byte[ ] deserializer string bool
35 Content Packet Header How the Internet works Special considerations for games Using a library vs writing your own Existing tools for Flash, C#, HTML Questions
36 State The game state is all the significant values needed in order for the game to operate. Position / Rotation Player items Enemy action Time remaining
37 Local vs Internet multiplayer All input can be processed on the same frame/update Input arrives inconsistently from clients There is only one game state There are (# of player) game states Cheating is handled by the players themselves Cheating must be handled by the game
38 Mostly synched game states Unlike local multiplayer, each client has a unique but similar game state
39 Mostly synched game states Each player s game must simulate the actions of the other players
40 Mostly synched game states Sometimes these simulations are wrong
41 Life on the Internet == Latency (Lag)
42 Time sensitivity The difficulty of keeping all the various clients synched up is directly related to the time sensitivity of your game.
43 Time sensitivity The difficulty of keeping all the various clients synched up is directly related to the time sensitivity of your game. MMORPG Async Turn Based Game Parlor games, chess, poker A worthy challenge my lad RTS Tactical FPS Diablo / Torchlight I doff my hat do thee Twitch FPS Egads, are you daft?
44 This seems pretty straightforward A tale of two game states Part 1
45 A tale of two game states
46 A tale of two game states
47 A tale of two game states
48 A tale of two game states
49 A tale of two game states
50 A tale of two game states
51 Or so I thought A tale of two game states Part 2
52 A tale of two game states
53 A tale of two game states
54 A tale of two game states
55 A tale of two game states Character moved, shot missed Character was shot, movement is ignored
56 A wild solution appears (It s super effective) A tale of two game states Part 3
57 A tale of two game states
58 A tale of two game states
59 A tale of two game states
60 A tale of two game states
61 A tale of two game states
62 Ok, maybe not super effective A tale of two game states Fin
63 A tale of two game states 60ms
64 A tale of two game states 60ms 60ms
65 A tale of two game states
66 Delayed input Waiting 120ms for your key press to be registered is a bad user experience People expect immediate response times, especially in an action oriented game
67 Extrapolation
68 Extrapolation
69 Extrapolation
70 Extrapolation This technique allows the local machine to feel responsive, while still allowing the server to be authoritative It may lead to snapping or rubber banding if the server s version of the player s position is different from what the local simulation predicted
71 Interpolation
72 Interpolation
73 Interpolation
74 Interpolation Allows the client to fix errors over a short time, largely hiding the error When combined with extrapolation, can result in very smooth looking gameplay, even under higher lag conditions
75 Extrapolating other clients
76 Extrapolating other clients
77 Extrapolating other clients
78 Extrapolating other clients
79 Extrapolating other clients
80 Extrapolating other clients
81 Extrapolating other clients
82 Example videos
83 Client vs server authority Client Immediate processing of input Server Must wait for server to acknowledge input Easy to cheat Client are told the result of their own input Can result in inconsistent states Server must be able to simulate the game
84 The authoritative server This means you can not trust ANYTHING the client sends you Clients are generally not allowed to communicate directly Clients make requests to the server to perform an action which the server carries out if that is ok Is it ok for this client to be requesting this action? Client A using item owned by Client B
85 Suggestion Keep the server game logic isolated from the server network logic. Allows you to upgrade these parts in isolation from each other
86 One approach to server logic A byte[] B C Server network logic Player Ub3r1337 wants to jump Server game logic
87 One approach to server logic A Ok B Player Ub3r1337 jumped Player Ub3r1337 jumped C Server network logic Ok Server game logic
88 It all depends Depending on your game s needs, that server might be a web server (http get/post), a socket server (real time communication) or some mixture of the two
89 It all depends Depending on your game s needs, that server might be a web server (http get/post), a socket server (real time communication) or some mixture of the two MMORPG Async Turn Based Game Parlor games, chess, poker HTTP over TCP PHP, Ruby on Rails, MVC.NET RTS Tactical FPS Diablo / Torchlight Socket server over TCP or UDP Twitch FPS UDP, socket server
90 It all depends Depending on your game s needs, that server might be a web server (http GET/POST), a socket server (real time communication) or some mixture of the two MMORPG Async Turn Based Game Parlor games, chess, poker HTTP over TCP PHP, Ruby on Rails, MVC.NET More off the shelf solutions RTS Tactical FPS Diablo / Torchlight Socket server over TCP or UDP Twitch FPS UDP, socket server Need custom solution
91 Content Packet Header How the Internet works Special considerations for games Using a library vs writing your own Existing tools for Flash, C#, HTML Questions
92 What does a library do for you? Structure!
93 What does a library do for you? Structure! Message protocol
94 What does a library do for you? Structure! Message protocol Serialization & deserialization
95 What does a library do for you? Structure! Message protocol Serialization & deserialization A structure for client lifecycle events
96 What does a library do for you? Structure! Message protocol Serialization & deserialization A structure for client lifecycle events Connection / disconnection Authentication Chat Saving / retrieving user data Payments
97 What does a library do for you? Structure! Message protocol Serialization & deserialization A structure for client lifecycle events Connection / disconnection Authentication Chat Saving / retrieving user data Payments Can provide a tie-in to hosting solutions
98 What does a library impose on you? You need to use their server and client libraries Both ends must be able to speak the same protocol
99 What does a library impose on you? You need to use their server and client libraries Both ends must be able to speak the same protocol May only be available for certain languages or platforms
100 What does a library impose on you? You need to use their server and client libraries Both ends must be able to speak the same protocol May only be available for certain languages or platforms May be closed source and / or commercial
101 What does a library impose on you? You need to use their server and client libraries Both ends must be able to speak the same protocol May only be available for certain languages or platforms May be closed source and / or commercial May impose limitations on how you deploy or structure your server
102 Rolling your own Requires more familiarity with lower level network concepts (sockets, etc.)
103 Rolling your own Requires more familiarity with lower level network concepts (sockets, etc.) Requires you to put in place a structure for your server and client
104 Rolling your own Requires more familiarity with lower level network concepts (sockets, etc.) Requires you to put in place a structure for your server and client Requires you to develop your own message protocol and serialization / deserialization procedures
105 So which is better? It depends!
106 So which is better? It depends! No really, that s my entire answer
107 Content Packet Header How the Internet works Special considerations for games Using a library vs writing your own Existing tools for Flash, C#, HTML Questions
108 Two types of solutions Server as standalone Server as special client SmartFox (Java) Photon (C#) ElectroServer (Java) Player.IO (C#) Lidgren (C#) Flash Media Server Red5 (Java) ulink (Unity) Built in Unity Badumna (Unity)
109 Standalone server Can be written in a language more appropriate for writing a server
110 Standalone server Can be written in a language more appropriate for writing a server Can be used with any language / platform there is a client library for (or that you re willing to develop a client library for)
111 Standalone server Can be written in a language more appropriate for writing a server Can be used with any language / platform there is a client library for (or that you re willing to develop a client library for) Needs to implement all the important logic of your game, and may not be able to reuse the same code from your client
112 Standalone server Can be written in a language more appropriate for writing a server Can be used with any language / platform there is a client library for (or that you re willing to develop a client library for) Needs to implement all the important logic of your game, and may not be able to reuse the same code from your client Can be as light or heavy weight as you need
113 Client as server Only one place to put the logic
114 Client as server Only one place to put the logic Both client and server are the same app and can share logic
115 Client as server Only one place to put the logic Both client and server are the same app and can share logic Allows players to host games easily as well as running dedicated hosts
116 Client as server Only one place to put the logic Both client and server are the same app and can share logic Allows players to host games easily as well as running dedicated hosts Must interface with some sort of front end to manage user sessions
117 Client as server Only one place to put the logic Both client and server are the same app and can share logic Allows players to host games easily as well as running dedicated hosts Must interface with some sort of front end to manage user sessions Might have high overhead of running your game client when not all of it is needed
118 Client as server Only one place to put the logic Both client and server are the same app and can share logic Allows players to host games easily as well as running dedicated hosts Must interface with some sort of front end to manage user sessions Might have high overhead of running your game client when not all of it is needed Keeping client and server code separate can be tricky
119 Hybrid Family Guy Online A Unity B Photon C Unity D
120 Summary The Internet is a modern marvel, but is not a panacea Internet multiplayer is a good way to make your game 10x more complex There are no general solutions, only specific answers to specific problems
121 Content Packet Header How the Internet works Special considerations for games Using a library vs writing your own Existing tools for Flash, C#, HTML Questions
122 Send complaints to: David
Networking Presented by: Marcin Chady
Networking Presented by: Marcin Chady Networking Present and Future Originally the domain of PC games PC networked games are very popular Everquest, Diablo, Starcraft, WoW, EVE Online Counterstrike, Unreal
More informationNetworking Past, Present and Future
Networking 1 Networking Past, Present and Future Networking is a crucial feature of many modern games Used (12+ years ago) to be mainly PC Halo 2 brought online to the consoles Core feature of all consoles
More informationOSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1
OSI Transport Layer Network Fundamentals Chapter 4 Version 4.0 1 Transport Layer Role and Services Transport layer is responsible for overall end-to-end transfer of application data 2 Transport Layer Role
More informationPlayer 2 has joined the game
Video Game Dev 2017/2018 Università dell Insubria Networking for Games Marco Tarini Player 2 has joined the game Multiplayer game types, according to gameplay collaborative competitive versus teams How
More informationNT1210 Introduction to Networking. Unit 10
NT1210 Introduction to Networking Unit 10 Chapter 10, TCP/IP Transport Objectives Identify the major needs and stakeholders for computer networks and network applications. Compare and contrast the OSI
More informationTransport Layer TCP & UDP Week 7. Module : Computer Networks Lecturers : Lucy White Office : 324
Transport Layer TCP & UDP Week 7 Module : Computer Networks Lecturers : Lucy White lbwhite@wit.ie Office : 324 1 Purpose of the Transport Layer The Transport layer provides for the segmentation of data
More informationECE 650 Systems Programming & Engineering. Spring 2018
ECE 650 Systems Programming & Engineering Spring 2018 Networking Introduction Tyler Bletsch Duke University Slides are adapted from Brian Rogers (Duke) Computer Networking A background of important areas
More informationOSI Transport Layer. objectives
LECTURE 5 OSI Transport Layer objectives 1. Roles of the Transport Layer 1. segmentation of data 2. error detection 3. Multiplexing of upper layer application using port numbers 2. The TCP protocol Communicating
More informationCS 640: Introduction to Computer Networks. Today s Lecture. Page 1
CS 640: Introduction to Computer Networks Aditya Akella Lecture 2 Layering, Protocol Stacks, and Standards 1 Today s Lecture Layers and Protocols A bit about s 2 Network Communication: Lots of Functions
More informationLECTURE WK4 NETWORKING
LECTURE WK4 NETWORKING Workbook and Quiz Workbook o Due in WK5 o Must hand in a hard copy to the tutor as well as an online submission Quiz o In the practical class o 30mins to complete the quiz o Short,
More informationCS 4390 Computer Networks. Transport Services and Protocols
CS 4390 Computer Networks UT D data Session 07 Transport Layer Overview and UDP Adapted from Computer Networking a Top-Down Approach 1996-2012 by J.F Kurose and K.W. Ross, All Rights Reserved Transport
More informationApplication Layer Introduction; HTTP; FTP
Application Layer Introduction; HTTP; FTP Tom Kelliher, CS 325 Feb. 4, 2011 1 Administrivia Announcements Assignment Read 2.4 2.6. From Last Time Packet-switched network characteristics; protocol layers
More informationECE 650 Systems Programming & Engineering. Spring 2018
ECE 650 Systems Programming & Engineering Spring 2018 Networking Transport Layer Tyler Bletsch Duke University Slides are adapted from Brian Rogers (Duke) TCP/IP Model 2 Transport Layer Problem solved:
More informationComputer Networked games
Computer Networked games Another form of multimedia traffic audio, video and interactive Slides courtesy Mark Claypool @ WPI page 1 Game Types First Person Shooters Doom, Quake, Counter-strike, Massive
More informationCMPE 80N: Introduction to Networking and the Internet
CMPE 80N: Introduction to Networking and the Internet Katia Obraczka Computer Engineering UCSC Baskin Engineering Lecture 11 CMPE 80N Fall'10 1 Announcements Forum #2 due on 11.05. CMPE 80N Fall'10 2 Last
More informationCSC 4900 Computer Networks: Transport Layer
CSC 4900 Computer Networks: Transport Layer Professor Henry Carter Fall 2017 Last Time... Sockets programming API TCP and UDP look different. Remember, there is no connect() in UDP - just start sending
More informationTransport Layer. Gursharan Singh Tatla. Upendra Sharma. 1
Transport Layer Gursharan Singh Tatla mailme@gursharansingh.in Upendra Sharma 1 Introduction The transport layer is the fourth layer from the bottom in the OSI reference model. It is responsible for message
More informationWebRTC: Possible? Don McGregor Research Associate MOVES Institute.
WebRTC: Possible? Don McGregor Research Associate MOVES Institute mcgredo@nps.edu The World Classic simulation applications: can we do them in the web browser? Pretty much. I think. 2 1990s Start: Classic
More informationELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition
ELEC / COMP 177 Fall 2012 Some slides from Kurose and Ross, Computer Networking, 5 th Edition Homework #1 Assigned today Due in one week Application layer: DNS, HTTP, protocols Recommend you start early
More informationEnabling Full-Duplex Communications in APEX
Enabling Full-Duplex Communications in APEX Me Curt Workman - workmancw@ldschurch.org Education University of Utah Work Micron Electronics Evans&Sutherland The Church of Jesus Christ of Latter-Day Saints
More informationInteractive Graphical Systems HT2006
HT2006 Networked Virtual Environments Informationsteknologi 2006-09-26 #1 This Lecture Background and history on Networked VEs Fundamentals (TCP/IP, etc) Background and history on Learning NVEs Demo of
More informationTransport Layer. Chapter 3: Transport Layer
Transport Layer EECS 3214 Slides courtesy of J.F Kurose and K.W. Ross, All Rights Reserved 29-Jan-18 1-1 Chapter 3: Transport Layer our goals: understand principles behind layer services: multiplexing,
More informationCMSC 332 Computer Networks Transport Layer
CMSC 332 Computer Networks Transport Layer Professor Szajda Announcements Project I - I ll test against various clients (still possibly an issue in spec). Project 2 will be posted soon (but first, I want
More informationNetworking, Traffic Jams, and Schrödinger's Cat. Shawn Hargreaves Software Development Engineer XNA Community Game Platform Microsoft
Networking, Traffic Jams, and Schrödinger's Cat Shawn Hargreaves Software Development Engineer XNA Community Game Platform Microsoft XNA Framework Networking I spoke about networking at Gamefest 2007 What
More informationCCNA Exploration Network Fundamentals. Chapter 04 OSI Transport Layer
CCNA Exploration Network Fundamentals Chapter 04 OSI Transport Layer Updated: 05/05/2008 1 4.1 Roles of the Transport Layer 2 4.1 Roles of the Transport Layer The OSI Transport layer accept data from the
More informationInternet Technology. 06. Exam 1 Review Paul Krzyzanowski. Rutgers University. Spring 2016
Internet Technology 06. Exam 1 Review Paul Krzyzanowski Rutgers University Spring 2016 March 2, 2016 2016 Paul Krzyzanowski 1 Question 1 Defend or contradict this statement: for maximum efficiency, at
More informationIntroduction to TCP/IP networking
Introduction to TCP/IP networking TCP/IP protocol family IP : Internet Protocol UDP : User Datagram Protocol RTP, traceroute TCP : Transmission Control Protocol HTTP, FTP, ssh What is an internet? A set
More informationCSE 461 Module 11. Connections
CSE 461 Module 11 Connections This Time More on the Transport Layer Focus How do we connect processes? Topics Naming processes Connection setup / teardown Flow control Application Presentation Session
More informationNetwork programming EDA095 Hockeypong - Project report
Network programming EDA095 Hockeypong - Project report Anton Persson 890324 antonjpersson@gmail.com Björn Elmers 880224 bjornelmers@gmail.com Linus Hammarlund 910414 linus.hammarlund@gmail.com Gunnar Weibull
More information4.0.1 CHAPTER INTRODUCTION
4.0.1 CHAPTER INTRODUCTION Data networks and the Internet support the human network by supplying seamless, reliable communication between people - both locally and around the globe. On a single device,
More informationQUIZ: Longest Matching Prefix
QUIZ: Longest Matching Prefix A router has the following routing table: 10.50.42.0 /24 Send out on interface Z 10.50.20.0 /24 Send out on interface A 10.50.24.0 /22 Send out on interface B 10.50.20.0 /22
More informationOSI Layer OSI Name Units Implementation Description 7 Application Data PCs Network services such as file, print,
ANNEX B - Communications Protocol Overheads The OSI Model is a conceptual model that standardizes the functions of a telecommunication or computing system without regard of their underlying internal structure
More informationChapter 3 Transport Layer
Chapter 3 Transport Layer Lec 8: Transport Layer Service Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 All material copyright 1996-2012 J.F Kurose
More informationLast Lecture. methods. ! How to send data from end to end: two switching. ! Packet loss and delay in a packet switched network. !
Last Lecture! How to send data from end to end: two switching methods! Circuit switching! Packet switching! Packet loss and delay in a packet switched network SUNY AT BUFFALO; CSE489/589 MODERN NETWORKING
More informationXNA Network Protocol Specification, Draft 2
XNA Network Protocol Specification, Draft 2 Brady Dial, Charles McGarvey March 7, 2010 Contents 1 Rationale 2 2 Overview 2 3 The Lobby 3 4 In-Game 5 4.1 Updating Under Good Conditions.................................
More informationLecture 2 Communication services The Trasport Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it
Lecture 2 Communication services The Trasport Layer Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it The structure edge: applications and hosts core: routers of s access s, media:
More informationNetworked Virtual Environments and Distributed Rendering IGS HT Background and history. Background and history. Background and history
Networked Virtual Environments and Distributed Rendering IGS HT 2003-09-24 Multiplayer games 1961 Spacewar, MIT 1979 MUD, Essex University 1993 Doom, Id Software Lars Pettersson 1994 Warcraft, Blizzard
More informationChapter 2: Application Layer. Chapter 2 Application Layer. Some network apps. Application architectures. Chapter 2: Application layer
Chapter 2 Application Layer Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009. Chapter 2: Application Layer Our goals: conceptual, implementation
More informationCSE 461 The Transport Layer
CSE 461 The Transport Layer The Transport Layer Focus How do we (reliably) connect processes? This is the transport layer Topics Naming end points UDP: unreliable transport TCP: reliable transport Connection
More informationBrief History of Networking. Lecture 34: How does a computer send messages over the Internet? Modern Internet. Caveat: Internet Web 11/22/10
11/22/10 UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department CS 202 Introduction to Computation Brief History of Networking Professor Andrea Arpaci-Dusseau Fall 2010 Lecture 34: How does a computer
More informationFundamentals of IP Networking 2017 Webinar Series Part 4 Building a Segmented IP Network Focused On Performance & Security
Fundamentals of IP Networking 2017 Webinar Series Part 4 Building a Segmented IP Network Focused On Performance & Security Wayne M. Pecena, CPBE, CBNE Texas A&M University Educational Broadcast Services
More informationAdvanced Java Programming. Networking
Advanced Java Programming Networking Eran Werner and Ohad Barzilay Tel-Aviv University Advanced Java Programming, Spring 2006 1 Overview of networking Advanced Java Programming, Spring 2006 2 TCP/IP protocol
More informationInternet Technology 3/2/2016
Question 1 Defend or contradict this statement: for maximum efficiency, at the expense of reliability, an application should bypass TCP or UDP and use IP directly for communication. Internet Technology
More informationCN1047 INTRODUCTION TO COMPUTER NETWORKING CHAPTER 6 OSI MODEL TRANSPORT LAYER
CN1047 INTRODUCTION TO COMPUTER NETWORKING CHAPTER 6 OSI MODEL TRANSPORT LAYER Transport Layer The Transport layer ensures the reliable arrival of messages and provides error checking mechanisms and data
More informationFirewall & Service Tickets FAST
Firewall & Service Tickets FAST draft-herbert-fast-01 Tom Herbert Goal A method to allow applications to signal the network for services it wants applied to packets that is secure,
More informationCSEN 503 Introduction to Communication Networks. Mervat AbuElkheir Hana Medhat Ayman Dayf. ** Slides are attributed to J. F.
CSEN 503 Introduction to Communication Networks Mervat AbuElkheir Hana Medhat Ayman Dayf ** Slides are attributed to J. F. Kurose Chapter 3 outline Transport-layer services Multiplexing and demultiplexing
More informationOutline. Inter-Process Communication. IPC across machines: Problems. CSCI 4061 Introduction to Operating Systems
Outline CSCI 4061 Introduction to Operating Systems ing Overview Layering and Protocols TCP/IP Protocol Family Client-Server Model Instructor: Abhishek Chandra 2 Inter-Process Communication Intra-node:
More informationSC/CSE 3213 Winter Sebastian Magierowski York University CSE 3213, W13 L8: TCP/IP. Outline. Forwarding over network and data link layers
SC/CSE 3213 Winter 2013 L8: TCP/IP Overview Sebastian Magierowski York University 1 Outline TCP/IP Reference Model A set of protocols for internetworking The basis of the modern IP Datagram Exchange Examples
More informationConfigure Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) Service Settings on a Switch
Configure Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) Service Settings on a Switch Objective Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) are transportation
More informationApplication Level Protocols
Application Level Protocols 2 Application Level Protocols Applications handle different kinds of content e.g.. e-mail, web pages, voice Different types of content require different kinds of protocols Application
More informationNetwork Intrusion Detection Systems. Beyond packet filtering
Network Intrusion Detection Systems Beyond packet filtering Goal of NIDS Detect attacks as they happen: Real-time monitoring of networks Provide information about attacks that have succeeded: Forensic
More information(Refer Slide Time: 1:09)
Computer Networks Prof. S. Ghosh Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecturer # 30 UDP and Client Server Good day, today we will start our discussion
More informationCSCD 330 Network Programming
CSCD 330 Network Programming Lecture 9 Transport Layer Winter 2019 Reading: Begin Chapter 3 Some Material in these slides from J.F Kurose and K.W. Ross All material copyright 1996-2007 1 Outline Overview
More informationControl Structures. Code can be purely arithmetic assignments. At some point we will need some kind of control or decision making process to occur
Control Structures Code can be purely arithmetic assignments At some point we will need some kind of control or decision making process to occur C uses the if keyword as part of it s control structure
More informationCS457 Transport Protocols. CS 457 Fall 2014
CS457 Transport Protocols CS 457 Fall 2014 Topics Principles underlying transport-layer services Demultiplexing Detecting corruption Reliable delivery Flow control Transport-layer protocols User Datagram
More informationNetwork Applications Principles of Network Applications
Network Applications Principles of Network Applications A Network application is an application running on one host and provides communication to another application running on a different host. At the
More informationR (2) Implementation of following spoofing assignments using C++ multi-core Programming a) IP Spoofing b) Web spoofing.
R (2) N (5) Oral (3) Total (10) Dated Sign Experiment No: 1 Problem Definition: Implementation of following spoofing assignments using C++ multi-core Programming a) IP Spoofing b) Web spoofing. 1.1 Prerequisite:
More informationInternet Video Delivery. Professor Hui Zhang
18-345 Internet Video Delivery Professor Hui Zhang 1 1990 2004: 1 st Generation Commercial PC/Packet Video Technologies Simple video playback, no support for rich app Not well integrated with Web browser
More informationReview of Previous Lecture
Review of Previous Lecture Network access and physical media Internet structure and ISPs Delay & loss in packet-switched networks Protocol layers, service models Some slides are in courtesy of J. Kurose
More informationApplication. Transport. Network. Link. Physical
Transport Layer ELEC1200 Principles behind transport layer services Multiplexing and demultiplexing UDP TCP Reliable Data Transfer TCP Congestion Control TCP Fairness *The slides are adapted from ppt slides
More informationThe Client Server Model and Software Design
The Client Server Model and Software Design Prof. Chuan-Ming Liu Computer Science and Information Engineering National Taipei University of Technology Taipei, TAIWAN MCSE Lab, NTUT, TAIWAN 1 Introduction
More informationONLINE GAMES: IS THE INTERNET PREPARED FOR
ONLINE GAMES: IS THE INTERNET PREPARED FOR THEM? GTC Communication Technologies Group Jose Saldana University of Zaragoza Spain Index - I. The two problems - II. Online games - III. Multiplexing FPS -
More informationWeb Mechanisms. Draft: 2/23/13 6:54 PM 2013 Christopher Vickery
Web Mechanisms Draft: 2/23/13 6:54 PM 2013 Christopher Vickery Introduction While it is perfectly possible to create web sites that work without knowing any of their underlying mechanisms, web developers
More informationChannels & Keyframes. CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2017
Channels & Keyframes CSE69: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 27 Animation Rigging and Animation Animation System Pose Φ... 2 N Rigging System Triangles Renderer Animation When
More informationCSE/EE 461 Lecture 14. Connections. Last Time. This Time. We began on the Transport layer. Focus How do we send information reliably?
CSE/EE 461 Lecture 14 Connections Last Time We began on the Transport layer Focus How do we send information reliably? Topics ARQ and sliding windows Application Presentation Session Transport Network
More informationChapter 8 roadmap. Network Security
Chapter 8 roadmap 8.1 What is network security? 8.2 Principles of cryptography 8.3 Message integrity 8.4 Securing e-mail 8.5 Securing TCP connections: SSL 8.6 Network layer security: IPsec 8.7 Securing
More informationCSC 401 Data and Computer Communications Networks
CSC 401 Data and Computer Communications Networks Transport Layer Intro, Mutliplexing/Demultiplexing, UDP Sec 3.1 3.4 Prof. Lina Battestilli Fall 2017 Chapter 3: Transport Layer our goals: understand principles
More informationPart 17: Networking Technology for Virtual Environments
Part 17: Networking Technology for Virtual Environments Virtuelle Realität Wintersemester 2006/07 Prof. Bernhard Jung Overview Introduction Data transfer Communication architectures Managing dynamic shared
More informationObjectives: (1) To learn to capture and analyze packets using wireshark. (2) To learn how protocols and layering are represented in packets.
Team Project 1 Due: Beijing 00:01, Friday Nov 7 Language: English Turn-in (via email) a.pdf file. Objectives: (1) To learn to capture and analyze packets using wireshark. (2) To learn how protocols and
More informationCS164 Final Exam Winter 2013
CS164 Final Exam Winter 2013 Name: Last 4 digits of Student ID: Problem 1. State whether each of the following statements is true or false. (Two points for each correct answer, 1 point for each incorrect
More informationCS4700/CS5700 Fundaments of Computer Networks
CS4700/CS5700 Fundaments of Computer Networks Lecture 5: Internet architecture Slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang Alan Mislove amislove at ccs.neu.edu
More informationPeer entities. Protocol Layering. Protocols. Example
Peer entities Protocol Layering An Engineering Approach to Computer Networking Customer A and B are peers Postal worker A and B are peers Protocols A protocol is a set of rules and formats that govern
More informationWhy do we really want an ID/locator split anyway?
Why do we really want an ID/locator split anyway? Dave Thaler dthaler@microsoft.com MobiArch 2008 1 Starting from basics Users deal with names, not addresses (esp. in IPv6) Humans need friendly identifiers
More informationBusiness Data Networks and Security 10th Edition by Panko Test Bank
Business Data Networks and Security 10th Edition by Panko Test Bank Chapter 2 Network Standards 1) Internet standards are published as. A) RFCs B) IETFs C) TCP/IPs D) Internet Protocols Question: 1a Objective:
More informationChapter 7 Transport Layer. 7.0 Introduction 7.1 Transport Layer Protocols 7.2 TCP and UDP 7.3 Summary
Chapter 7 Transport Layer 7.0 Introduction 7.1 Transport Layer Protocols 7.2 TCP and UDP 7.3 Summary Transport Layer Transportation of Data Role of the Transport Layer The transport layer is responsible
More informationDynamic Control Hazard Avoidance
Dynamic Control Hazard Avoidance Consider Effects of Increasing the ILP Control dependencies rapidly become the limiting factor they tend to not get optimized by the compiler more instructions/sec ==>
More informationb) Diverse forms of physical connection - all sorts of wired connections, wireless connections, fiber optics, etc.
Objectives CPS221 Lecture: Layered Network Architecture last revised 6/22/10 1. To discuss the OSI layered architecture model 2. To discuss the specific implementation of this model in TCP/IP Materials:
More informationUDP and TCP. Introduction. So far we have studied some data link layer protocols such as PPP which are responsible for getting data
ELEX 4550 : Wide Area Networks 2015 Winter Session UDP and TCP is lecture describes the two most common transport-layer protocols used by IP networks: the User Datagram Protocol (UDP) and the Transmission
More informationWeb Engineering (CC 552)
Web Engineering (CC 552) Introduction Dr. Mohamed Magdy mohamedmagdy@gmail.com Room 405 (CCIT) Course Goals n A general understanding of the fundamentals of the Internet programming n Knowledge and experience
More informationData Transport over IP Networks
Data Transport over IP Networks Derek Konigsberg octo@logicprobe.org AITP University of Central Florida Data Transport over IP Networks p.1/24 Introduction The TCP/IP protocol suite was created by DARPA
More informationEITF25 Internet Techniques and Applications L7: Internet. Stefan Höst
EITF25 Internet Techniques and Applications L7: Internet Stefan Höst What is Internet? Internet consists of a number of networks that exchange data according to traffic agreements. All networks in Internet
More informationChapter 3 Transport Layer
Chapter 3 Transport Layer A note on the use of these Powerpoint slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations;
More informationCS419: Computer Networks. Lecture 10, Part 2: Apr 11, 2005 Transport: TCP mechanics (RFCs: 793, 1122, 1323, 2018, 2581)
: Computer Networks Lecture 10, Part 2: Apr 11, 2005 Transport: TCP mechanics (RFCs: 793, 1122, 1323, 2018, 2581) TCP as seen from above the socket The TCP socket interface consists of: Commands to start
More informationChapter 3: Transport Layer Part A
Chapter 3: Transport Layer Part A Course on Computer Communication and Networks, CTH/GU The slides are adaptation of the slides made available by the authors of the course s main textbook 3: Transport
More informationGoogle Hangout is a great platform for collaborating with colleagues and partners. This TechsmARTs session will begin with a few examples/case
Google Hangout is a great platform for collaborating with colleagues and partners. This TechsmARTs session will begin with a few examples/case studies of how artists and arts and culture organizations
More informationLast Time. Internet in a Day Day 2 of 1. Today: TCP and Apps
Internet in a Day Day 2 of 1 Carnegie Mellon University 15-440, Distributed Systems Last Time Modularity, Layering, and Decomposition Example: UDP layered on top of IP to provide application demux ( ports
More informationConnectionless and Connection-Oriented Protocols OSI Layer 4 Common feature: Multiplexing Using. The Transmission Control Protocol (TCP)
Lecture (07) OSI layer 4 protocols TCP/UDP protocols By: Dr. Ahmed ElShafee ١ Dr. Ahmed ElShafee, ACU Fall2014, Computer Networks II Introduction Most data-link protocols notice errors then discard frames
More informationCS 480/680: GAME ENGINE PROGRAMMING
CS 480/680: GAME ENGINE PROGRAMMING INPUT AND NETWORKING 2/7/2013 Santiago Ontañón santi@cs.drexel.edu https://www.cs.drexel.edu/~santi/teaching/2013/cs480-680/intro.html Outline Student Presentations
More informationTransport Layer Review
Transport Layer Review Mahalingam Mississippi State University, MS October 1, 2014 Transport Layer Functions Distinguish between different application instances through port numbers Make it easy for applications
More informationDifferent Layers Lecture 21
Different Layers Lecture 21 10/17/2003 Jian Ren 1 The Transport Layer 10/17/2003 Jian Ren 2 Transport Services and Protocols Provide logical communication between app processes running on different hosts
More informationprecise rules that govern communication between two parties TCP/IP: the basic Internet protocols IP: Internet protocol (bottom level)
Protocols precise rules that govern communication between two parties TCP/IP: the basic Internet protocols IP: Internet protocol (bottom level) all packets shipped from network to network as IP packets
More informationDifferent Layers Lecture 20
Different Layers Lecture 20 10/15/2003 Jian Ren 1 The Network Layer 10/15/2003 Jian Ren 2 Network Layer Functions Transport packet from sending to receiving hosts Network layer protocols in every host,
More informationChapter 5: Networking and the Internet
Chapter 5: Networking and the Internet (Completion Time: 3 weeks) Topics: Internet Basics An overview of how the internet works and how we as users interact with it. This topic can also be used as sort
More informationFlash: an efficient and portable web server
Flash: an efficient and portable web server High Level Ideas Server performance has several dimensions Lots of different choices on how to express and effect concurrency in a program Paper argues that
More informationIntrusion Prevention System Performance Metrics
White Paper Intrusion Prevention System Performance Metrics The Importance of Accurate Performance Metrics Network or system design success hinges on multiple factors, including the expected performance
More informationCCNA 1 Chapter 7 v5.0 Exam Answers 2013
CCNA 1 Chapter 7 v5.0 Exam Answers 2013 1 A PC is downloading a large file from a server. The TCP window is 1000 bytes. The server is sending the file using 100-byte segments. How many segments will the
More informationOperating Systems. 16. Networking. Paul Krzyzanowski. Rutgers University. Spring /6/ Paul Krzyzanowski
Operating Systems 16. Networking Paul Krzyzanowski Rutgers University Spring 2015 1 Local Area Network (LAN) LAN = communications network Small area (building, set of buildings) Same, sometimes shared,
More informationNetwork and Security: Introduction
Network and Security: Introduction Seungwon Shin KAIST Some slides are from Dr. Srinivasan Seshan Some slides are from Dr. Nick Mckeown Network Overview Computer Network Definition A computer network or
More informationMIPS Assembly Language Programming PDF
MIPS Assembly Language Programming PDF Users of this book will gain an understanding of the fundamental concepts of contemporary computer architecture, starting with a Reduced Instruction Set Computer
More informationZero Latency HTTP The comet Technique
Zero Latency HTTP The comet Technique Filip Hanik SpringSource Inc Keystone, Colorado, 2008 Slide 1 Who am I bla bla fhanik@apache.org Tomcat Committer / ASF member Co-designed the Comet implementation
More information