[MUD-Dev] UDP Revisted

Brian Hook bwh at wksoftware.com
Fri Oct 12 21:09:05 CEST 2001


At 02:47 PM 10/12/01 +0000, Bobby Martin wrote:

> Can you give me some references on why you think a reliable
> transport layer on top of UDP would perform better than TCP?

Nope.  I'm going based on the opinions of people I trust a lot in
this field.  I'm not even sure that UDP w/ reliable transport IS any
better than TCP, except for the fact that in a 3D world you don't
need reliable data that much.  So UDP is much faster because of its
unreliability, and you can then just stick in the occasional
reliable packet.  That alone makes it worthwhile.

The biggest problem with TCP in conjunction with UDP is that the two
streams aren't in sync.  So you can easily shovel some data through
UDP and then immediately send some more in TCP, and they'll arrive
radically out of order from each other or with very different times.

My understanding is that if you read the TCP spec, it becomes
obvious what parts are overkill.  I'm pretty sure a part of Stevens'
book covers this in some detail, but I don't have it with me.

> 2) is a big problem, since one of the things for which I'm using
> ARMI is a MMORPG.

You will never, ever attain the latency and bandwidth necessary for
an MMORPG using TCP.  QuakeTest used TCP, and it was a disaster.
They switched to UDP.  I believe the original UO was also TCP, and
it too was a disaster.

> If you can point me at some information that indicates I can do
> appreciably better than TCP, I would appreciate it.

If you don't think you can, then don't -- I would imagine it depends
on your requirements in a transport protocol.  But I know many
people that have opted not to use TCP, and it is NOT because of NIH
syndrome.  Instead of finding out the hard way, I decided to agree
with them.

If this is an issue, I have an "in" with a really good network
programmer that writes these kinds of games for a living and I'll
have him give me the core dump =)

Brian

_______________________________________________
MUD-Dev mailing list
MUD-Dev at kanga.nu
https://www.kanga.nu/lists/listinfo/mud-dev



More information about the mud-dev-archive mailing list