fast-data-transfer / fdt

FDT is an Application for Efficient Data Transfers which is capable of reading and writing at disk speed over wide area networks (with standard TCP). It is written in Java, runs an all major platforms and it is easy to use. FDT is based on an asynchronous, flexible multithreaded system and is using the capabilities of the Java NIO libraries.
https://fast-data-transfer.github.io/
Apache License 2.0
201 stars 45 forks source link

Transfer switches to port "0" #50

Open muthusk opened 4 years ago

muthusk commented 4 years ago

I am trying to transfer using the below command line. Both sender and receiver are using the same version
Local FDTVersion [0.26.2-2017-08-08], Remote FDTVersion [0.26.2-2017-08-08]

java -jar fdt.jar -noupdates -nbio -v -p "customport" -c "serverip" -fl "filelist.txt" -d /destination/directory/

See the below in the reciever logs before FDT stops.

2020-09-12 20:05:32 INFO lia.util.net.copy.monitoring.ConsoleReportingTask reportStatus Net In: 0.000 b/s Avg: 0.000 b/s 2020-09-12 20:05:37 INFO lia.util.net.copy.monitoring.ConsoleReportingTask reportStatus Net In: 0.000 b/s Avg: 0.000 b/s 2020-09-12 20:05:42 INFO lia.util.net.copy.monitoring.ConsoleReportingTask reportStatus Net In: 0.000 b/s Avg: 0.000 b/s 2020-09-12 20:05:47 INFO lia.util.net.copy.monitoring.ConsoleReportingTask reportStatus Net In: 0.000 b/s Avg: 0.000 b/s 2020-09-12 20:05:52 INFO lia.util.net.copy.monitoring.ConsoleReportingTask reportStatus Net In: 0.000 b/s Avg: 0.000 b/s 2020-09-12 20:05:57 INFO lia.util.net.copy.monitoring.ConsoleReportingTask reportStatus Net In: 0.000 b/s Avg: 0.000 b/s 2020-09-12 20:06:02 INFO lia.util.net.copy.monitoring.ConsoleReportingTask reportStatus Net In: 0.000 b/s Avg: 0.000 b/s 2020-09-12 20:06:07 INFO lia.util.net.copy.monitoring.ConsoleReportingTask reportStatus Net In: 0.000 b/s Avg: 0.000 b/s 2020-09-12 20:06:12 INFO lia.util.net.copy.monitoring.ConsoleReportingTask reportStatus Net In: 0.000 b/s Avg: 0.000 b/s 2020-09-12 20:06:17 INFO lia.util.net.copy.monitoring.ConsoleReportingTask reportStatus Net In: 0.000 b/s Avg: 0.000 b/s 2020-09-12 20:06:22 INFO lia.util.net.copy.monitoring.ConsoleReportingTask reportStatus Net In: 0.000 b/s Avg: 0.000 b/s 2020-09-12 20:06:27 INFO lia.util.net.copy.monitoring.ConsoleReportingTask reportStatus Net In: 0.000 b/s Avg: 0.000 b/s 2020-09-12 20:06:31 WARNING lia.util.net.copy.FDTWriterSession handleEndFDTSession

Started: Sat Sep 12 20:02:49 UTC 2020 Ended: Sat Sep 12 20:06:31 UTC 2020 Transfer period: 03m 41s TotalBytes: 0 TotalNetworkBytes: 0 Exit Status: Not OK

Unable to connect to /"destinationip":0 is seen in the logs of the sender.

FINE: Ctrl channel received app KEEP_ALIVE_MSG Sep 12, 2020 1:12:34 PM lia.util.net.copy.monitoring.ConsoleReportingTask reportStatus INFO: Net Out: 0.000 b/s Avg: 0.000 b/s Sep 12, 2020 1:12:39 PM lia.util.net.copy.monitoring.ConsoleReportingTask reportStatus INFO: Net Out: 0.000 b/s Avg: 0.000 b/s Sep 12, 2020 1:12:44 PM lia.util.net.copy.monitoring.ConsoleReportingTask reportStatus INFO: Net Out: 0.000 b/s Avg: 0.000 b/s Sep 12, 2020 1:12:47 PM lia.util.net.copy.transport.TCPTransportProvider tryToConnect WARNING: Unable to connect to /"destinationip":0 java.net.ConnectException: Connection timed out at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:716) at lia.util.net.copy.transport.TCPTransportProvider.tryToConnect(TCPTransportProvider.java:193) at lia.util.net.copy.transport.TCPTransportProvider.startTransport(TCPTransportProvider.java:399) at lia.util.net.copy.transport.TCPSessionWriter.startTransport(TCPSessionWriter.java:137) at lia.util.net.copy.FDTReaderSession.handleStartFDTSession(FDTReaderSession.java:886) at lia.util.net.copy.FDTSession.notifyCtrlMsg(FDTSession.java:439) at lia.util.net.copy.transport.ControlChannel$1.run(ControlChannel.java:479)

I checked using tcupdump dst"destinationip"

16:00:26.910791 IP sourceip.33342 > destinationip.43210: Flags [.], ack 927, win 158, options [nop,nop,TS val 2715710603 ecr 449163255], length 0 16:00:26.911167 IP sourceip.33342 > destinationip.43210: Flags [.], ack 1098, win 167, options [nop,nop,TS val 2715710603 ecr 449163255], length 0 16:00:26.936970 IP sourceip.40734 > destinationip.0: Flags [S], seq 3596592455, win 17922, options [mss 8961,sackOK,TS val 2715710629 ecr 0,nop,wscale 7], length 0 16:00:26.980222 IP sourceip.40735 > destinationip.0: Flags [S], seq 802994120, win 17922, options [mss 8961,sackOK,TS val 2715710673 ecr 0,nop,wscale 7], length 0 16:00:26.980298 IP sourceip.40736 > destinationip.0: Flags [S], seq 1444006697, win 17922, options [mss 8961,sackOK,TS val 2715710673 ecr 0,nop,wscale 7], length 0 16:00:26.980353 IP sourceip.40737 > destinationip.0: Flags [S], seq 3806237984, win 17922, options [mss 8961,sackOK,TS val 2715710673 ecr 0,nop,wscale 7], length 0 16:00:27.914302 IP sourceip.33342 > destinationip.43210: Flags [P.], seq 5388408:5388579, ack 1098, win 167, options [nop,nop,TS val 2715711607 ecr 449163255], length 171 16:00:27.936259 IP sourceip.40734 > destinationip.0: Flags [S], seq 3596592455, win 17922, options [mss 8961,sackOK,TS val 2715711629 ecr 0,nop,wscale 7], length 0 16:00:27.980238 IP sourceip.40735 > destinationip.0: Flags [S], seq 802994120, win 17922, options [mss 8961,sackOK,TS val 2715711673 ecr 0,nop,wscale 7], length 0 16:00:27.980253 IP sourceip.40736 > destinationip.0: Flags [S], seq 1444006697, win 17922, options [mss 8961,sackOK,TS val 2715711673 ecr 0,nop,wscale 7], length 0 16:00:27.980275 IP sourceip.40737 > destinationip.0: Flags [S], seq 3806237984, win 17922, options [mss 8961,sackOK,TS val 2715711673 ecr 0,nop,wscale 7], length 0 16:00:29.936227 IP sourceip.40734 > destinationip.0: Flags [S], seq 3596592455, win 17922, options [mss 8961,sackOK,TS val 2715713629 ecr 0,nop,wscale 7], length 0 16:00:29.980226 IP sourceip.40735 > destinationip.0: Flags [S], seq 802994120, win 17922, options [mss 8961,sackOK,TS val 2715713673 ecr 0,nop,wscale 7], length 0 16:00:29.980234 IP sourceip.40736 > destinationip.0: Flags [S], seq 1444006697, win 17922, options [mss 8961,sackOK,TS val 2715713673 ecr 0,nop,wscale 7], length 0 16:00:29.980237 IP sourceip.40737 > destinationip.0: Flags [S], seq 3806237984, win 17922, options [mss 8961,sackOK,TS val 2715713673 ecr 0,nop,wscale 7], length 0 16:00:33.936246 IP sourceip.40734 > destinationip.0: Flags [S], seq 3596592455, win 17922, options [mss 8961,sackOK,TS val 2715717629 ecr 0,nop,wscale 7], length 0 16:00:33.980236 IP sourceip.40735 > destinationip.0: Flags [S], seq 802994120, win 17922, options [mss 8961,sackOK,TS val 2715717673 ecr 0,nop,wscale 7], length 0 16:00:33.980250 IP sourceip.40736 > destinationip.0: Flags [S], seq 1444006697, win 17922, options [mss 8961,sackOK,TS val 2715717673 ecr 0,nop,wscale 7], length 0 16:00:33.980257 IP sourceip.40737 > destinationip.0: Flags [S], seq 3806237984, win 17922, options [mss 8961,sackOK,TS val 2715717673 ecr 0,nop,wscale 7], length 0 16:00:41.936232 IP sourceip.40734 > destinationip.0: Flags [S], seq 3596592455, win 17922, options [mss 8961,sackOK,TS val 2715725629 ecr 0,nop,wscale 7], length 0 16:00:41.980238 IP sourceip.40735 > destinationip.0: Flags [S], seq 802994120, win 17922, options [mss 8961,sackOK,TS val 2715725673 ecr 0,nop,wscale 7], length 0 16:00:41.980252 IP sourceip.40736 > destinationip.0: Flags [S], seq 1444006697, win 17922, options [mss 8961,sackOK,TS val 2715725673 ecr 0,nop,wscale 7], length 0 16:00:41.980260 IP sourceip.40737 > destinationip.0: Flags [S], seq 3806237984, win 17922, options [mss 8961,sackOK,TS val 2715725673 ecr 0,nop,wscale 7], length 0 16:00:57.936226 IP sourceip.40734 > destinationip.0: Flags [S], seq 3596592455, win 17922, options [mss 8961,sackOK,TS val 2715741629 ecr 0,nop,wscale 7], length 0 16:00:57.980236 IP sourceip.40735 > destinationip.0: Flags [S], seq 802994120, win 17922, options [mss 8961,sackOK,TS val 2715741673 ecr 0,nop,wscale 7], length 0 16:00:57.980251 IP sourceip.40736 > destinationip.0: Flags [S], seq 1444006697, win 17922, options [mss 8961,sackOK,TS val 2715741673 ecr 0,nop,wscale 7], length 0 16:00:57.980258 IP sourceip.40737 > destinationip.0: Flags [S], seq 3806237984, win 17922, options [mss 8961,sackOK,TS val 2715741673 ecr 0,nop,wscale 7], length 0 16:01:30.985050 IP sourceip.33342 > destinationip.43210: Flags [P.], seq 5388579:5389629, ack 1098, win 167, options [nop,nop,TS val 2715774677 ecr 449164359], length 1050 16:01:31.998303 IP sourceip.33342 > destinationip.43210: Flags [.], ack 1193, win 167, options [nop,nop,TS val 2715775691 ecr 449228341], length 0

I switched to an older version of FDT and it worked like a charm [0.24.0-2015-12-04]

Worth noting that the source is Linux and the destination is Windows.
Wondering if PR #40 would fix this

muthusk commented 4 years ago

might be related to #45

mcalderaro commented 4 years ago

I can confirm that PR #40 fixes the issue for transfer port switching to 0. I am running windows for server and client. The current master branch 'as is' does not work for me since the port switches to 0 from the assigned port. Merging PR #40 locally allows it to send files as expected.