You are on page 1of 9

11MAR-SG350-WCO-V2D1 (Game Network Programming)

Design and Implementation of Game


Networks
Project 1
Greg Walls

April 9, 2011
Page |1

This paper will cover many of the basics of computer networking and how it applies to games. I
will discuss the OSI model and its different levels of communication. Then I will discuss network
topologies and how computers are connected in networks to one another. Then I will discuss network
properties (latency time, reliability, and bandwidth) of game networks. After which I will touch on data
synchronization and then the client server model of networking. Finally I will end discussion game
networking protocols and how they function to prevent cheating in online games.

OSI Model
There are many ways to connect computers together using various computer topology network
models. But with numerous ways to be able connect computers together the International Organization
for Standardization (ISO) created a seven layer model for LAN architectures in the 1970’s. By defining
the Open Systems Interconnection Basic Reference Model, or OSI model, along with a set of protocols,
ISO created a standardized way for network communication that is still used to this day even when other
models have been created. [ CITATION Rhy11 \l 1033 ]

The OSI Model


The OSI model is split into 7 “layers” (represented
right) that are the core of how data must travel from one
device to another over a network. “Think of the seven
layers as the assembly line in the computer. At each layer,
certain things happen to the data that prepare it for the
next layer.” [ CITATION Jef111 \l 1033 ]

The first layer that is processed is the top layer,


layer seven. This layer is called the Application Layer, and is
responsible for providing end-user services (file transfers,
electronic messaging, email, virtual terminal access, network
management). This is the layer that the user will interact
with on their computer. [ CITATION Top11 \l 1033 ]

The next layer, layer six, is called the Presentation Layer. This layer provides independence from
differences in data representation (encryption) by translating from application to network format and
vice versa. This layer formats and then encrypts data to be sent across the network so as to avoid
compatibility problems. [ CITATION Web101 \l 1033 ]

In layer five, the session layer, data format is defined and sent over the connections. It
establishes, maintains and ends communication with the receiving device. [ CITATION Dan09 \l 1033 ]
Page |2

Next, layer 4, the transport layer, maintains the flow control of data and provides error checking
and recovery of data between the devices. “Flow control means that the Transport layer looks to see if
data is coming from more than one application and integrates each application's data into a single
stream for the physical network.”[ CITATION Jef111 \l 1033 ]

In layer 3, the network layer, routers are responsible for establishing paths for data transfer
through the network. [ CITATION Rhy11 \l 1033 ]

The Data Link layer, layer 2, data packets are encoded and decoded into bits. It handles errors in
the physical layer, flow control, and frame synchronization. The data link layer is often described as two
separate layers; The Media Access Control (MAC) layer, and the Logical Link Control (LLC) layer.
[ CITATION Web101 \l 1033 ]

The last layer, the physical layer, is the layer that represents the actual hardware, and defines
the physical characteristics of the network such as connections, voltage levels and timing. [ CITATION
Jef111 \l 1033 ]

Usefulness of the OSI model in translating ideas based on network


functions
The main idea in OSI is that the process of communication between two end points in a
telecommunication network can be divided into layers, with each layer adding its own set of special,
related functions. No matter what the network topology, information across a network has to be
efficient and uniform, so as to be able to communicate to any number of devices on any kind of
network. The OSI model does just this by creating a dynamic format that splits up this communication
into layers that can be applied to any network or computer. So, in a given message between users, there
will be a flow of data through each layer at one end down through the layers in that computer and, at
the other end, when the message arrives, another flow of data up through the layers in the receiving
computer and ultimately to the end user or program.

Network Topology
In computer networking, topology refers to the layout of connected devices. There are several different
kinds of topology, but there are five basic types; bus, ring, star, tree, and mesh. Each of these kinds of
topology has their advantages and disadvantages, and best uses for varying situations.

Bus topology
Page |3

Not to be confused with bus cables, bus topology works on the principle of connecting all
devices in a network on the same backbone, or cable(pictured above [ CITATION Jef11 \l 1033 ]). If a
device wants to share information or become connected to the network, it simple has to plug into the
backbone. This method is very easy to install and simplistic in design. If a node wants to communicate
with another node, a message is sent into the backbone and every other node receives it, but only the
node desired for communication will decipher the message. This method is best for a limited number of
devices. [ CITATION Bra11 \l 1033 ]

Ring Topology

Ring topology is defined as “All devices are connected to one another in the shape of a closed
loop, so that each device is connected directly to two other devices, one on either side of it.” [ CITATION
Web10 \l 1033 ] All devices, or nodes, in the network are connected to one another in a ring style patter
(pictured above [ CITATION Jef11 \l 1033 ]). All communication uniformly travels in a clockwise or
counter clockwise form. If any node or cable is broken in the ring, the entire network could fail
[ CITATION Bra11 \l 1033 ]. Only nodes with the “token” are allowed to send data. A token is an
ambiguous, non-physical thing that a node must possess to pass data to the next node. When it does, it
passes the token with it. The next node then adds any relative information and passes it on to the third,
and on down the line until it comes back to the first node. [ CITATION Jef11 \l 1033 ]

Star Topology

“In the computer networking world the most commonly used topology in LAN is the star
topology.” [ CITATION Net07 \l 1033 ] Star topology, (pictured above [ CITATION Jef11 \l 1033 ]) is one
of the most common network topologies in use today. In this type of topology, all nodes are connected
by a hub, such as a switch or router. The nodes communicate with the hub which then relays it to the
other nodes, or information enters through the hub to the connected nodes. In this style of networking
if a node or nodes breaks or goes offline, the network will not fail, BUT if the hub fails or is turned off
then the network will fail. [ CITATION Net07 \l 1033 ]

Tree Topology

Another very common type of topology the tree topology is a hybrid of the bus and star
topologies (pictured above [ CITATION Jef11 \l 1033 ]). Each star’s hub is connected to another star’s
hub by a direct means, creating a bus topology out of star hubs. Most often stars are nested in stars to
Page |4

create a more dynamic network that has the ability to expand better than just a star network.
[ CITATION Bra11 \l 1033 ]

Mesh Topology

Mesh topology consists of devices or nodes connected to every other device or node in the
network. “Some WANs, most notably the Internet, employ mesh routing.” [ CITATION Bra11 \l 1033 ] It
is possible in a mesh topology for some nodes to only be connected to a certain number of other nodes
in the network. This is called a partial mesh (pictured above to the right [ CITATION Bra11 \l 1033 ]).
When every node is connected to every other node is this a full mesh (above to the left [ CITATION
Web10 \l 1033 ]).
[ CITATION Hel10 \l 1033 ]

Network Properties
In this section I will discuss the primary connection properties (latency time, reliability, and
bandwidth) of game networks.

Latency Time

The term latency refers to any of several kinds of delays typically incurred in processing of network data.
Latency is defined as “1. The time it takes for a packet to cross a network connection,
from sender to receiver. 
2. The period of time that a frame is held by a network device before it is forwarded. 
Two of the most important parameters of a communications channelare its latency, which should be low
, and its bandwidth, which should be high. Latency is particularly important for a synchronous
protocol where each packet must be acknowledged before the next can be transmitted. 
(2000-02-27)” [ CITATION Dic10 \l 1033 ]
When latency deteriorates, when more appropriately said, when packets fail to deliver, an effect which
is commonly referred to as lag occurs.

Reliability

Network reliability is simply the measure of how reliable a network is. The more a network fails, lags, or
cuts out, the less its reliability is, and vice versa. For the time interval of network failure, there is a term
called mean time to failure (MTTF), and for the time required for network failure repair, there is a
termed called mean time to repair (MTTR). [ CITATION Net10 \l 1033 ]
Page |5

Bandwidth

In computer networking bandwidth is a measure of available or consumed data communication


resources expressed in bits or multiples of it (for example kilobits (kbit) or megabits (Mbit)). In the early
days of online gaming some of the widely available connections were 56k dial-up modems (I should
know, I had one). Now however high-speed connections though cables and satellites can reach into the
gigabytes of information per second.

Data Synchronization
Data synchronization is an attribute that technologies can have to synchronize a set of data
between two or more devices. [ CITATION Web10 \l 1033 ] This attribute is most widely seen on mobile
devices and networked computers. File synchronization is commonly used for home backups on external
hard drives or updating for transport on USB flash drives. The automatic process prevents copying
already identical files and thus can save considerable time from a manual copy, also being faster and less
error prone. Another very common practice seen on the internet is mirroring. A mirror is an exact copy
of a data set. For example many websites were you can download something will have mirror links to
websites and downloads that hold the exact some information stored somewhere else. This technique
provides reliable access to large downloads and is used by network gaming clients to download games
or patches to users on their home computers.

Client-Server Model
The client-server model is fairly simple and the most widely used and accepted today for
computer networking. In a client-server model devices such as home computers, mobile devices, or any
other such electronic with network software installed, are called “clients. These clients are all connected
to a central “server” that contains more power, memory, and information like websites or video game
data. All the clients communicate with the server, and the server sends information back to the client.
This cycle repeats over and over. The client-server model distinguishes between applications as well as
devices. Network clients make requests to a server by sending messages, and servers respond to their
clients by acting on each request and returning results. One server generally supports numerous clients,
and multiple servers can be networked together in a pool to handle the increased processing load as the
number of clients grows. [ CITATION Bra10 \l 1033 ]

Game Network Protocols


Page |6

A network protocol is a set of standard rules for data representation, signaling, authentication
and error detection required to send information over a communications channel. “Protocols for
computer networking all generally use packet switching techniques to send and receive messages in the
form of packets.”[ CITATION Bra10 \l 1033 ] Network protocols include mechanisms for devices to
identify and make connections with each other, as well as formatting rules that specify how data is
packaged into messages sent and received. Some protocols also support message acknowledgement
and data compression designed for reliable and/or high-performance network communication.
Hundreds of different computer network protocols have been developed each designed for specific
purposes and environments.
One of the most common applications for game network protocols is to prevent cheating during
online play. In short, players can’t be trusted, some just like to cheat. Cheating can severely limit the
amount of fun someone else might be trying to have online. Cheaters have access to the encryption
algorithm that the executable version of an online game has to interpret packages sent across the
network. A potential cheater could intercept a packet, save it, then send it back to the server multiple
times, allowing them to perform game actions much faster than the game actually allows. [ CITATION
But07 \l 1033 ] This technique, along with other similar ones, are inhibited or prevented using various
network protocols that could encrypt the packets, or detect patterns and stop them before too much
damage is done. Often times cheating is reported by users, and cheaters are banned from the game as a
penalty.
Page |7

Works Cited
Butler, M., Louie, J., & Pombar, J. (2007, April 9). Network Protocol for Online Games. Retrieved April 10,
2011, from SJSU Department of Computer Science:
www.cs.sjsu.edu/~teoh/teaching/.../CS134_NetworkProtocol.ppt

Dictionary. (2010). Latency. Retrieved April 9, 2011, from Dictionary.com:


http://dictionary.reference.com/browse/latency

Haden, R. (n.d.). The OSI Model. Retrieved April 03, 2011, from Data Network Resource:
http://www.rhyshaden.com/osi.htm

Help With PCs. (2010). Network Topologies, which network topology? A look at the different networking
topologies. Retrieved March 20, 2011, from helpwithpcs.com:
http://www.helpwithpcs.com/courses/network-topologies.htm

Michell, B. (2010). Introduction to client server networks. Retrieved April 10, 2011, from About.com
Wireless/Networking: http://compnetworking.about.com/od/basicnetworkingfaqs/a/client-
server.htm

Mitchell, B. (n.d.). Network Topologies. Retrieved March 20, 2011, from About.com:
http://compnetworking.about.com/od/networkdesign/a/topologies.htm

Network Protection. (2010, March 13). Network Reliability and Availability. Retrieved April 10, 2011,
from Network Protection: http://www.network-protection.net/network-reliability-and-
availability/

Networking Tutorials. (2007). An Overview of Computer Network Topology. Retrieved March 20, 2011,
from Networking Tutorials: http://www.networktutorials.info/topology.html

Petri, D. (2009, January 08). OSI Model Concepts. Retrieved April 03, 2011, from Petri IT knowledgebase:
http://www.petri.co.il/osi_concepts.htm

Topbits. (n.d.). OSI. Retrieved April 03, 2011, from tech-faq: http://www.tech-faq.com/osi-model.html

Tyson, J. (2011, March). How LAN Switches Work. Retrieved March 20, 2011, from howstuffworks:
http://computer.howstuffworks.com/lan-switch2.htm

Tyson, J. (2011, March). How OSI Works. Retrieved April 03, 2011, from How Stuff Works:
http://computer.howstuffworks.com/osi.htm

Webopedia. (2010, July 6). Network Topologies. Retrieved March 20, 2011, from Webopedia:
http://www.webopedia.com/quick_ref/topologies.asp
Page |8

Webopedia. (2010, October 08). The 7 Layers of the OSI Model. Retrieved April 03, 2011, from
Webopedia: http://www.webopedia.com/quick_ref/OSI_Layers.asp

You might also like