aboutsummaryrefslogtreecommitdiff
path: root/pipermail/nel/2001-July/000489.html
blob: 29762c1d71e9bd92d7db3bcab3e32b834fd9843f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
 <HEAD>
   <TITLE> [Nel] TCP vs. UDP</TITLE>
   <LINK REL="Index" HREF="index.html" >
   <LINK REL="made" HREF="mailto:alfred%40mazuma.net.au">
   <LINK REL="Previous"  HREF="000506.html">
   <LINK REL="Next" HREF="000492.html">
 </HEAD>
 <BODY BGCOLOR="#ffffff">
   <H1>[Nel] TCP vs. UDP</H1>
    <B>alfred</B> 
    <A HREF="mailto:alfred%40mazuma.net.au"
       TITLE="[Nel] TCP vs. UDP">alfred@mazuma.net.au</A><BR>
    <I>Fri, 6 Jul 2001 19:41:50 +1000</I>
    <P><UL>
        <LI> Previous message: <A HREF="000506.html">[Nel] Linux compiling (was: TCP vs. UDP)</A></li>
        <LI> Next message: <A HREF="000492.html">[Nel] TCP vs. UDP</A></li>
         <LI> <B>Messages sorted by:</B> 
              <a href="date.html#489">[ date ]</a>
              <a href="thread.html#489">[ thread ]</a>
              <a href="subject.html#489">[ subject ]</a>
              <a href="author.html#489">[ author ]</a>
         </LI>
       </UL>
    <HR>  
<!--beginarticle-->
<PRE>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 &quot;tcp pipe&quot;. And seeing its a pipe, everything behind it is
&quot;backed&quot; 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 &quot;streams&quot;, with reliablity on some streams (via extra
software layers) and timeliness on others (auto drop of old data for eg).

Btw, you cannot &quot;design your own layer&quot;, 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 &quot;reliable udp&quot; (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 &quot;data channels&quot;.

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: &quot;Vianney Lecroart&quot; &lt;<A HREF="mailto:lecroart@nevrax.com">lecroart@nevrax.com</A>&gt;
To: &lt;<A HREF="mailto:nel@nevrax.org">nel@nevrax.org</A>&gt;
Sent: Friday, July 06, 2001 12:36 AM
Subject: [Nel] TCP vs. UDP


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

</pre>










<!--endarticle-->
    <HR>
    <P><UL>
        <!--threads-->
	<LI> Previous message: <A HREF="000506.html">[Nel] Linux compiling (was: TCP vs. UDP)</A></li>
	<LI> Next message: <A HREF="000492.html">[Nel] TCP vs. UDP</A></li>
         <LI> <B>Messages sorted by:</B> 
              <a href="date.html#489">[ date ]</a>
              <a href="thread.html#489">[ thread ]</a>
              <a href="subject.html#489">[ subject ]</a>
              <a href="author.html#489">[ author ]</a>
         </LI>
       </UL>
</body></html>