[Nel] TCP vs. UDP

alfred alfred@mazuma.net.au
Fri, 6 Jul 2001 19:41:50 +1000


You *must* replace your transport mechanism with UDP :)

TCP provides (nah, ensures) reliable delivery of data, but it can spend a
long time transmitting (especially on clogged up links). Between packet
errors and backoffs due to packet drops it can easily take 2seconds plus to
get data down the "tcp pipe". And seeing its a pipe, everything behind it is
"backed" up. So, time critical data can't just jump past useless data (like
MOTD's,etc).

With UDP on the otherhand, you lose the reliable data, but you get your
timeliness. Because of the datagram nature of transmission, you can also
implement independant "streams", with reliablity on some streams (via extra
software layers) and timeliness on others (auto drop of old data for eg).

Btw, you cannot "design your own layer", because you need to use the
existing internet to send your data (which will only accept UDP and TCP).
However, they probably did add to UDP, by adding an extra software layer to
provide "reliable udp" (its almost trivial to do).

Any, UDP is the only option that is sensible for anything that has time
critical performance or for things with mutliple "data channels".

BTW, I do stuff like this for a living (I am a network researched for
www.dsto.defence.gov.au), with a fair bit of work in the voice arena, so I
have some experience backing me up here :)


----- Original Message -----
From: "Vianney Lecroart" <lecroart@nevrax.com>
To: <nel@nevrax.org>
Sent: Friday, July 06, 2001 12:36 AM
Subject: [Nel] TCP vs. UDP


> Hi everybody!
>
> Let's talk a little bit about this great subject: TCP vs. UDP
>
> Thanks to Valerio Santinelli and Olivier Lejade, there's some cool
> discussion about this subject on the web and I would like to have your
> thought and discuss about this.
>
> On Anarchy Online game, they only use TCP protocol between client and
server
> (other commercial online game use UDP) and it seems that it causes lot of
> problem like horrible ping or connection lost:
> http://aoforums.funcom.com/showthread.php?threadid=26297
>
> There's also a mail on the MUD-Dev mailing list talking about these
problems
> here:
> https://www.kanga.nu/archives/MUD-Dev-L/2001Q3/msg00009.php
>
> As you perhaps know, we only use TCP/IP (for server-server communication,
> but also for the client-server connection) and we currently think more and
> more about replacing the TCP client-server connection with a UDP one.
>
> In a first step, we would like to know your opinion about this choice. And
> in a next step, we'll do some test about ping/packet lost and so on to
> compare TCP and UDP, and we'll need your help to do that.
>
> Vianney Lecroart
> ---
> lead network programmer / nevrax.com
> icq#: 6870415
> homepage: http://ace.planet-d.net
> www.geekcode.com: GCS/E d- s+++: a-- C+++$ UL++ P- L+++>+$ E+>- W++ N+ o?
K-
> w++$ O- M- V- PS- PE? Y PGP t 5? X+ R- tv++ b- DI D+ G e++ h+ r-- y?
>
>
> _______________________________________________
> Nel mailing list
> Nel@nevrax.org
> http://www.nevrax.org/mailman/listinfo.cgi/nel
>