[MUD-Dev] TCP Vegas

Adam Martin ya_hoo_com at yahoo.com
Sat Oct 13 20:29:57 CEST 2001


----- Original Message -----
From: "Brian Hook" <public at pyrogon.com>
> At 02:33 PM 10/10/01 +0100, Daniel Harman wrote:

>> The alternatives, which I believe Everquest may use, are to
>> either negotiate a port to communicate on through the log in
>> server, or to have a set of known ports with which one can
>> connect to the server, and to randomly pick one. Obviously the
>> former is more complicated as the negotation probably takes place
>> using a standard tcp/ip connection with some form of encryption,
>> so you have to pass state between that and the udp part of the
>> system.

> Why would the negotiation require TCP?  All the relevant state can
> be stored on the server and client, and UDP would be used to
> handle the negotiation.

> I would personally shy away from mixing and matching TCP and UDP.
> Adding a reliable transport layer on top of UDP isn't that
> difficult (anyone seriously working on this stuff should, at the
> very least, have a copy of Unix Network Programming by Stevens),
> and TCP performance is fairly slow and unpredictable.  From
> talking to others, one of the primary problems is that your TCP
> command stream can often be radically out of sync with your TCP
> one.  So if you try to sync your UDP stream with the occasional
> TCP packet, you can get really wacky results and hiccups.  

Quick question for people comparing TCP to UDP: Which TCP are you
talking about? I was taught, for instance, that TCP Vegas was not
yet in usage everywhere (despite now being 6 years old?), and
certainly anything prior to that is generally inferior (including
TPC Reno which AFAIAA is the main form used).

For a quick intro to the differences, see

  http://www.cs.arizona.edu/protocols/

Although I can't seem to find any information on the web about which
ones are currently used where. Probably looking in the wrong places.

Adam M
_______________________________________________
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