I'm a newbie to UFTP, trying to figure out how things work.
The server command I'm running is: "uftp.exe -R 600000 C:\dummy_2-38GB.wav" and the client command is: "uftpd.exe -D C:\incoming\". My machines both are Windows and have 1Gbps connections on the same LAN with firewalls turned off (hence my requesting 600 Mbps tx)
I've had inconsistent results. Sometimes 30-40 passes from the server are run with many many NAKs coming back from the client, constantly. Then nearing the end the client log shows:
2015/03/12 10:54:47.948607: [F462DA0E:0001]: Sent 7470 NAKs for section 145
2015/03/12 10:54:48.464219: [F462DA0E:0001]: Sent 8191 NAKs for section 146
2015/03/12 10:54:48.511093: [F462DA0E:0001]: Sent 7816 NAKs for section 147
2015/03/12 10:54:48.729837: [F462DA0E:0001]: Sent 7388 NAKs for section 148
2015/03/12 10:54:50.198550: [F462DA0E:0001]: Transfer timed out
2015/03/12 10:54:50.198550: [F462DA0E:0001]: starting file close
2015/03/12 10:54:50.214174: [F462DA0E:0001]: done file close
And the server indicates that the client aborted the transfer / timed out.
What's going on? What am I doing wrong? I have yet to see a completed transfer between my two machines.
Thanks so much for your help!!
Last edit: James 2015-03-12
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The first thing you'll want to do is increase the UDP buffer size using the -B option on both sides. A value of 2097152 is a good starting point. Also, if you have jumbo frames enabled you'll want to make use of them by passing -b 8192 to the server.
If you're still having issues, you might need to put bounds on the round trip time using the -r option on the server.
Regards,
Dennis
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm still getting a constant flow of NAKS returned to the server, over many passes (> 10 so far). It doesn't take long for the received temporary file to appear to be as large or larger than the file being sent, however the transfer never seems to complete successfully no matter how long I leave it running.
I have tried with and without jumbo frames, unfortunately my switching infrastructure here doesn't have it enabled so it doesn't help - in fact when I try the server with jumbo frames enabled here is the result on the server side cli:
----- dummy_2-38GB.wav -----
File ID: 0001 Name: dummy_2-38GB.wav
sending as: dummy_2-38GB.wav
Bytes: 2563047504 Blocks: 312873 Sections: 5
Sending FILEINFO 1.1
Received FILEINFO_ACK from client 0xAC13016F
Sending file
Starting pass 1
Sending section 0
Transfer aborted by 0xAC13016F: Transfer timed out
Transfer status:
Host: 0xAC13016F Status: Aborted
Total elapsed time: 0.000 seconds
Overall throughput: 0.00 KB/s
uftp: Finishing at Thu Mar 12 15:36:55 2015
Thanks again for your help!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
One note - I see fairly correct network usage on both my client and server machines which confuses me.
Both have a 1Gbps link to the same switch (tracert shows direct path between the two machines), and since my transfer is suppose to be running at 600Mbps, it was initially encouraging to see both the client and server machines Network Adapter usage to stay approximately 50-60% utilized during transfer.
That said, however:
Sending 2.38 GB file at 600 Mbps should take around 35 seconds to complete. My last test is still running after almost 10 minutes time, and the network utilization is still in the 50-60% range on both client and server.
UPDATE - after approximately 18 minutes and 204 passes my aforementioned test completed, and failed! Here is the server side output:
It might be interesting to see at what speed NAKs start occurring. Try doing a session at 100Mbps (-R 100000) and see how that goes, and adjust up or down from there to see where the loss is happening. From there, try adjusting the UDP buffer size as well as the disk cache size (-c on the client) to see how that affects things.
Also, if you increase the logging level (-x option) on both sides to 5, you'll get detailed information on exactly when each packet was sent and received. On the server side, use the -L or -T options to print timestamps for each line.
Have you tried a transfer with smaller files? You might want to try getting that to work first before passing around gigabyte files.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello -
I'm a newbie to UFTP, trying to figure out how things work.
The server command I'm running is: "uftp.exe -R 600000 C:\dummy_2-38GB.wav" and the client command is: "uftpd.exe -D C:\incoming\". My machines both are Windows and have 1Gbps connections on the same LAN with firewalls turned off (hence my requesting 600 Mbps tx)
I've had inconsistent results. Sometimes 30-40 passes from the server are run with many many NAKs coming back from the client, constantly. Then nearing the end the client log shows:
2015/03/12 10:54:47.948607: [F462DA0E:0001]: Sent 7470 NAKs for section 145
2015/03/12 10:54:48.464219: [F462DA0E:0001]: Sent 8191 NAKs for section 146
2015/03/12 10:54:48.511093: [F462DA0E:0001]: Sent 7816 NAKs for section 147
2015/03/12 10:54:48.729837: [F462DA0E:0001]: Sent 7388 NAKs for section 148
2015/03/12 10:54:50.198550: [F462DA0E:0001]: Transfer timed out
2015/03/12 10:54:50.198550: [F462DA0E:0001]: starting file close
2015/03/12 10:54:50.214174: [F462DA0E:0001]: done file close
And the server indicates that the client aborted the transfer / timed out.
What's going on? What am I doing wrong? I have yet to see a completed transfer between my two machines.
Thanks so much for your help!!
Last edit: James 2015-03-12
James,
The first thing you'll want to do is increase the UDP buffer size using the -B option on both sides. A value of 2097152 is a good starting point. Also, if you have jumbo frames enabled you'll want to make use of them by passing -b 8192 to the server.
If you're still having issues, you might need to put bounds on the round trip time using the -r option on the server.
Regards,
Dennis
Hi Dennis -
Thanks so much for getting back to me!
Based on your suggestion I am now testing the following commands:
server (Windows Server 2008):
uftp.exe -B 2097152 -R 600000 -M 172.19.1.111 C:\dummy_2-38GB.wav
client (Windows Server 2003 (XP UFTP binary)):
uftpd.exe -B 2097152 -D C:\incoming_UFTP\
I'm still getting a constant flow of NAKS returned to the server, over many passes (> 10 so far). It doesn't take long for the received temporary file to appear to be as large or larger than the file being sent, however the transfer never seems to complete successfully no matter how long I leave it running.
I have tried with and without jumbo frames, unfortunately my switching infrastructure here doesn't have it enabled so it doesn't help - in fact when I try the server with jumbo frames enabled here is the result on the server side cli:
----- dummy_2-38GB.wav -----
File ID: 0001 Name: dummy_2-38GB.wav
sending as: dummy_2-38GB.wav
Bytes: 2563047504 Blocks: 312873 Sections: 5
Sending FILEINFO 1.1
Received FILEINFO_ACK from client 0xAC13016F
Sending file
Starting pass 1
Sending section 0
Transfer aborted by 0xAC13016F: Transfer timed out
Transfer status:
Host: 0xAC13016F Status: Aborted
Total elapsed time: 0.000 seconds
Overall throughput: 0.00 KB/s
uftp: Finishing at Thu Mar 12 15:36:55 2015
Thanks again for your help!
One note - I see fairly correct network usage on both my client and server machines which confuses me.
Both have a 1Gbps link to the same switch (tracert shows direct path between the two machines), and since my transfer is suppose to be running at 600Mbps, it was initially encouraging to see both the client and server machines Network Adapter usage to stay approximately 50-60% utilized during transfer.
That said, however:
Sending 2.38 GB file at 600 Mbps should take around 35 seconds to complete. My last test is still running after almost 10 minutes time, and the network utilization is still in the 50-60% range on both client and server.
UPDATE - after approximately 18 minutes and 204 passes my aforementioned test completed, and failed! Here is the server side output:
Got 1233 NAKs for section 68 from client 0xAC13016F
Sending DONE 3.1
Sending DONE 4.1
Starting pass 204
Sending section 68
Sending DONE 1.1
Sending DONE 2.1
Sending DONE 3.1
Sending DONE 4.1
Sending DONE 5.1
Sending DONE 6.1
Sending DONE 7.1
Sending DONE 8.1
Sending DONE 9.1
Sending DONE 10.1
Sending DONE 11.1
Sending DONE 12.1
Sending DONE 13.1
Sending DONE 14.1
Sending DONE 15.1
Sending DONE 16.1
Sending DONE 17.1
Sending DONE 18.1
Sending DONE 19.1
Sending thread timed out
No response from 0xAC13016F
Failed to join sender thread
Transfer status:
Host: 0xAC13016F Status: Lost connection
Total elapsed time: 0.000 seconds
Overall throughput: 0.00 KB/s
uftp: Finishing at Thu Mar 12 18:02:41 2015
C:\uftp_exe_W7-4.6>
Last edit: James 2015-03-13
It might be interesting to see at what speed NAKs start occurring. Try doing a session at 100Mbps (-R 100000) and see how that goes, and adjust up or down from there to see where the loss is happening. From there, try adjusting the UDP buffer size as well as the disk cache size (-c on the client) to see how that affects things.
Also, if you increase the logging level (-x option) on both sides to 5, you'll get detailed information on exactly when each packet was sent and received. On the server side, use the -L or -T options to print timestamps for each line.
Have you tried a transfer with smaller files? You might want to try getting that to work first before passing around gigabyte files.