Slow Telnet communication

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello.

I have two Ethernet-connected linux boxes, one with Realtek 8029
and other with 3Com 3c509. One have RedHat 7.2, other - RedHat 7.1.
The connection itself is fine: file transfer via FTP is excellent (~1Mb/s).
Pings are also nice.
But telnet, rsh and rlogin works *wery* slow: it takes from 5sec to 5min
before I see an echo from a characters I am typing.
This is in both directions.
I have tried to change a telnet server: I wrote a simple telnet server
that works without xinetd (it just pipes the shell to a socket) and there is no
slowdown with it.
Changing telnet client also helps: connecting from Windows to Linux
works OKey.
Only when both client and server are from RH linux, the problem exist.
If instead of silently waiting 5min for my typing to be echoed, I do some
activity on the same server port (connecting another client for example),
this awakes the frozen connection and the echo appears immediately.
In fact only replies are delayed: if I execute some command, it is executed
immediately, but the results are not available imediately. But another
command cannot be started until the data from previous one is arrived.

So, server receives the data from client in time, but client doesn't receive
the data from server.
I made some experements: if I enable debug output for telnet server then
there is no any slowdown. Actually I have found out that if the server
outputs 5 or more characters *at once* at each one char from client,
then there is no delay. That is why if I start mc and moving the cursor,
there is no slowdown - too many symbols are transferred back.
So, as a workaround, I inserted a line
netoprintf("-----"); to the file utility.c function ptyflush()
(netkit-telnet-0.17) and this works, but the output is of course trashed.
NODELAY flag doesn't help (I tried flags = NODELAY in both
/etc/xinetd.conf and /etc/xinetd.d/telnet, but maybe I have to set that
flag elsewhere?).
At this point I am completely confused and don't know what is to suspect.
Have I misconfigured something in the kernel? Very probably.
I tried to put kernel 2.2.20 on both machines, but this doesn't help.
Here is my kernel config:
http://www.geocities.com/stssppnn/kern-conf.txt
Is it a bad interaction between telnet client and server? Maybe.
Here is my session negotiation log:
http://www.geocities.com/stssppnn/telnet-neg.txt
Is there something wrong with xinetd? Don't know how to check this
given the strange results I have.

I have searched google and found only one reference to my problem
but no solution, so it is not a FAQ for sure:
http://wylug.org.uk/pipermail/wylug-help/2000-October/000834.html
http://wylug.org.uk/pipermail/wylug-help/2000-October/000837.html

Any advice is appreciated. I can do some debugging, but I really
don't know where to look next, so please point me what tests I have
to do to narrow down the preoblem.
Any ideas?

Thanks.
-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux