Vanilla Clients Maling Clients Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [VANILLA-LIST:2318] Netrek on TCP sucks, here's why ... and how to fix.



On Sat, May 29, 1999 at 11:47:06AM +0000, James Cameron wrote:
> 
> Perhaps we should enable TCP_NODELAY in the Vanilla server source?

It's great that you found the problem.  

> Perhaps the login ghostbusts on slow TCP links are really due to the
> deferral of packets?

I doubt it.  The timeout happens after many seconds.

> The traces show that enabling TCP_NODELAY will increase packet load for
> the network between the server and the client.  Perhaps this will also
> increase the probability of packet loss and subsequent pause and
> retransmission?

I doubt that the load increase will be siginificant enough to matter since
most of the traffic is over UDP (and therefore unaffected).  I think
we should try enabling TCP_NODELAY and see if it impacts anything for
the worse.

> Interestingly, the COW source code (socket.c) has a disabled code
> fragment that sets TCP_NODELAY.  Enabling it would probably not improve
> performance, but I'd love to try.  Do any of the other clients use the
> option?
> 
> This has implications for playing through TCP proxy firewalls, such as
> trekhopd.  If the proxy does not set TCP_NODELAY, then packets can be
> amalgamated as they pass the proxy.

Perhaps clients should be able to recognize (or have the option to) a
proxy/firewall situation and use the proper mode.

Dave

--
Dave Ahn <ahn@vec.wfubmc.edu>        |  "When you were born, you cried and the
                                     |  world rejoiced.  Try to live your life
Virtual Endoscopy Center             |  so that when you die, you will rejoice
Wake Forest Univ. School of Medicine |  and the world will cry."  -1/2 jj^2