Ask Your Question
0

client wait 30s befor send SYN to ftp server on the passive port

asked 2020-03-11 09:15:22 +0000

hi, i have runed in a ftp problem, ask for help. ftp client: Oracle Database 11.2.0.3, IBM AIX 6100-07-03 OS on IBM Power7 ftp server: vsFTPd v2.2.2 , CentOS 6.6 x64 on x86 server

i run a Oracle PL/SQL procedure for transfer the BLOB file from database to the ftp server that at same subnet network. the PL/SQL procedure is copy from https://oracle-base.com/articles/misc.... when the PL/SQL procedure is running, client wait 30s to establish ftp passive connection EVERY TIME !

i has trace the Oracle database when running the ftp procedure, found some 'TCP Socket (Kgas)' Waits. Oracle don't think the waits is from database but the network: https://docs.oracle.com/database/121/...

i has check the parameter of network on ftp client and server. rfc1323 or net.ipv4.tcp_timestamps is enabled on both. ftp client and server are connect to the same network switch(H3C S7510 core switch).

the tcpdump file from ftp client and server at the same time is here: https://c-t.work/s/84534f77f2b947

thanks.

edit retag flag offensive close merge delete

Comments

https://oracle-base.com/dba/miscellan...
Can you add logging with timestamps to FUNCTION get_passive ?
The PASV request and TCP connection to the new port are in that function.

Chuckc gravatar imageChuckc ( 2020-03-11 15:01:48 +0000 )edit

yes, i had do that. it show 30s waiting time at client. the pic: https://c-t.work/s/06b4d08403c448

surain35 gravatar imagesurain35 ( 2020-03-11 16:15:01 +0000 )edit

You get the delay on both TCP connection opens.
The reference says REMOTE_HOST is a name which gets resolved somewhere.
Can you run nslookup on the ftp client machine with the IP address of the FTP server to see if there is a delay in name resolution.

16:51:27:start Open_Connection 10.x.x.x:21
28 second delay
16:51:55:conned Open_Connection
.
.
.
16:51:55:start Open_Connection 10.x.x.x:30938
29 second delay
16:52:24:conned Open_Connection

https://docs.oracle.com/cd/E11882_01/appdev.112/e40758/u_tcp.htm#ARPLS075

UTL_TCP.OPEN_CONNECTION  (
   remote_host          IN VARCHAR2,
<snip>

Table 238-12 OPEN_CONNECTION Function Parameters

Parameter   Description
remote_host Name of the host providing the service. When remote_host is NULL, it connects to the local host.
Chuckc gravatar imageChuckc ( 2020-03-11 17:10:20 +0000 )edit

I has used the ip adress of ftp server as "remote_host" in UTL_TCP.OPEN_CONNECTION. I has added the hostname and ip address to /etc/hosts on both ftp client and server. And, i had checked the config file /etc/netsvc.conf : hosts=local,bind,nis @bubbasnmp

surain35 gravatar imagesurain35 ( 2020-03-11 17:23:23 +0000 )edit

Have you tried UTL_INADDR to test name resolution - IP -> name and name -> IP.
https://oracle-base.com/articles/misc...

Chuckc gravatar imageChuckc ( 2020-03-11 18:08:53 +0000 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2020-03-11 14:00:02 +0000

hugo.vanderkooij gravatar image

I can think of (at least) 2 issues: 1. (Reverse) DNS is not working so you have to wait 2x 15 seconds for that timout. 2. There is an ident check that does not work and hits you with a timeout of 30 seconds. (See also: Ident protocol)

edit flag offensive delete link more

Comments

1.I had added the hostname and ip address to /etc/hosts on both ftp client and server. And, i had checked the config file /etc/netsvc.conf : hosts=local,bind,nis 2.I don't known AIX have any ident service daemon or not, but i will check it. Thank you.

surain35 gravatar imagesurain35 ( 2020-03-11 16:52:41 +0000 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2020-03-11 09:15:22 +0000

Seen: 337 times

Last updated: Mar 11 '20