On 2008-01-04, Ignoramus17950 <(E-Mail Removed)> wrote:
> I have a certain process (mine) that sends a lot of queries to a FTP
> server (also mine). All machines and processes are mine and there is
> no foul play involved. The machines are on the same organizational
> network, though on different subnets.
>
> The server is vsftpd on debian.
>
> The client is a perl script using Net::FTP perl module running on
> ubuntu gutsy.
>
> As part of the process, the client connects to FTP daemon and does a
> lot of directory listings. (like thousands of queries) as the client
> browses through the server's directory tree.
>
> That's all good and well.
>
> As you know, FTP is such a protocol that for every directory listing, a
> new data connection is made, with direction depending on passive
> vs. active mode.
>
> The problem is that sporadically, the connections that the client
> makes to the server, time out in the "connect()" call. In other words,
> the server is listening (and I can telnet to the specific port
> assigned by FTP from another machine), but the client times out.
>
> The weird thing is this: if I type
>
> telnet <server> <assigned-port>
>
> from the client machine, it times out.
>
> If I type the same from another machine, it connects (with FTP server
> properly detecting a fake connection coming from another IP and
> discarding that connection).
>
> My question is WTF, why would connect() calls time out like this.
Oh yeah, and netstat -t shows
tcp 0 1 <client>:57013 <server>:38786 SYN_SENT
client and server names suppressed for privacy.
i
|