2004 Web and Downloadable Games White Paper
IGDA Online Games SIG
a separate computer. Each endpoint can consider a TCP/IP connection as a bi directional reliable
stream of bytes between the source and the destination
35
.
TCP/IP is reliable as it automatically transmits acknowledgements and retransmits data.
Furthermore, TCP/IP verifies the integrity of received data using a data checksum contained in
the data packet header and both endpoints use a data flow control technique to ensure that the
sender does not transmit data packets to the network faster than the network can support or than
the recipient can process. TCP/IP even allows the application to detect when the other endpoint
disconnected.
Unfortunately, such reliability comes with a cost. TCP/IP must transmit more information in order
to do such things as accurately describe the data ordering, detect corruption using checksums,
and transmit acknowledgement or retransmission packets. Moreover, the recipient must receive
and accept the entire data stream in the order that the sender transmitted it. Therefore, the TCP
protocol may arbitrarily hold or buffer transmitted data in order to preserve the packet ordering.
Consequently, TCP/IP is not suitable for applications that do not necessarily need a strict
ordering and consistency.
(3)
UDP
The User Datagram Protocol (UDP) is a lightweight communication protocol differing from TCP in
three respects: connectionless transmission, best efforts delivery, and packet based data
semantics. UDP does not establish peer to peer connections as the sender and recipient of UDP
data do not keep any information about the state of the communication session between them.
With UDP, data is sent on a packet by packet basis. While TCP used such information to detect
packet loss, request retransmission or dynamically adjust the data transfer rate, UDP simply
provides best efforts delivery, without attempting to guarantee that data is delivered reliably or in
order. In addition, the datagrams must not be too big, as this will require fragmentation, and some
fragments can be lost in transit.
While UDP might appear at first as too weak to be useful, it has several major advantages. The
first one is its extreme simplicity. As UDP packets do not contain any of the information
guaranteeing reliability such as is used in TCP, they require considerably less processing for both
the sender and the recipient. Also, UDP does not maintain the illusion of a data stream. This
implies that packets can be transmitted as soon as they are sent by the application instead of
having to wait in line behind other data streams. Similarly, data can be delivered to the application
as soon as it arrives at the recipient host instead of waiting in line behind missing data. Thirdly
and finally, as many operating systems impose limits on how many simultaneous TCP/IP
connection they can support, UDP/IP seems logically more appropriate for large scale distributed
systems where each host can communicate with many destinations simultaneously.
There is however one aspect of UDP/IP that can make it rather unsuitable for some
environments. When a socket is receiving data on a UDP port, it will receive packets sent to that
port by any host, whether participating with that application or not. This can become a security
problem for applications that do not distinguish between expected and unexpected packets. For
this reason, some ISPs still block UDP packets, or block UDP in particular port ranges. While this
is generally less of an issue than it was a few years ago, any large deployment should still check
with major ISPs for UDP support and port ranges.
b)
Flash Communication Server
The Flash Communication Server from Macromedia allows Flash and Director developers to
implement multi user solutions for clients. As well as standard data transfer, it includes the facilities
for multi way video and data, offering a rich out of the box solution for content developers. The latest
1.5 MX release added HTTP tunneling functionality and Linux server support.
35
J. Snyers d'Attenhoven
Management of Networked Virtual Environments
Free University of Brussels,
Belgium, 2002
Page 66 of 93
Unlimited Web Hosting
|
|
|
|
TotalRoute.net Business web hosting division of Vision Web Hosting Inc. All rights reserved. |