Internet Tip - Fast, Faster, Fastest Way to Transfer Files Over a Network

Subscribe to Internet Tips and Tools Feed
Quick Jump
Comparison Test
Drive Letter Mapping
Windows ftp Server
FileZilla ftp Server
More Answers
File Transfer Calculator
Comments
Links
Home Page

Quick Jump
Comparison Test
Drive Letter Mapping
Windows ftp Server
FileZilla ftp Server
More Answers
File Transfer Calculator
Comments
Links
Home Page

I was looking for the fastest way to transfer files from one computer to another over a network. Windows XP file sharing just seems too slow. In my research I came across Lifehacker's site. There, they say that networking two computers with a firewire cable (1394), of course, is one of the fastest ways to network two computers and transfer files. It can reach speeds of up to 400 mbps.

However, sometimes you don't have the luxury of hooking up two computers with a firewire cable. First of all, the computers would have to be pretty close to each other because the longest firewire cables are usually only 6 to 15 feet. (If you can find them that long.) Also, one or more of your computers may not have a firewire (1394) port. Plus, you may already have your network all setup with CAT-5 cable (or wireless) and an ethernet router.

So I wanted to know the fastest method of transferring files in a standard network environment, seeing that standard windows xp file sharing was not very fast. Some Lifehacker commenters had some interesting suggestions. But I couldn't find any comparisons on the different methods. That is why I wrote this page.

Question: First of all the big question: Is FTP faster than standard windows XP file sharing in transferring files from one computer to another over a network?

Answer: The answer is YES. However, before you go and try to figure out how to install an ftp server program on your computer, there is an even easier and faster way to have faster file transfers.

In my tests I tried four different ways to transfer different files that were all 347MB in size. I did the majority of my tests on a wifi network using 802.11b (11 mbps) wireless networking. My first ftp test I did with Windows XP Pro's IIS FTP Service. But just to make sure, I also did a test with FileZilla FTP Server, because many people recommended using it.

The Comparison Test

Program/MethodWindows Estimated TimeActual TimeNetwork TypeFile Size
Windows Standard File Sharing (\\computername\sharename)30 min25 minwifi 802.11b (11 mbps)347MB
Windows XP Pro IIS FTP Service24 min22 minwifi 802.11b (11 mbps)347MB
FileZilla Server (FTP)58 min then 20 min23 minwifi 802.11b (11 mbps)347MB
FileZilla Server (FTP)(w/ MODE Z compression)45 min then 20 min23 minwifi 802.11b (11 mbps)347MB
Windows Mapped Drive (X:)15 min18 minwifi 802.11b (11 mbps)347MB
Windows Mapped Drive (X:)3 min3 minCAT-5 (100 mbps)685MB

As you can see, Windows Mapped Drive was the fastest way of transferring a file over a network. However, windows extimated time can mislead you into thinking it is even faster then it is. Using an FTP server is quicker than standard windows xp file sharing without the use of a mapped drive letter. FileZilla was disappointing to me. MODE Z compression offered no benefit and the estimated times were very misleading. The only benefit to FileZilla server that I can see, is that when it is on your server computer you can see who has logged into ftp and it shows you at what speed they are transferring a file. In this case it started at 147 kbps and would slowly rise to about 340 kbps and then all the way up to 480 kbps. But then the speed would go back down to 147 kbps. This speed fluctuation happens during the whole transfer. I do not understand why this happens. Why can't it maintain a speed of 480 kbps? Does anyone have an answer? I'd like to hear it.

This test is a work in progress. I would like to test other methods of transferring files over an internal network. If you know of any other methods that may be faster please let me know.

How to Map a Drive Letter with Windows XP

The easiest way to map a drive letter is to go to My Network Places -> View workgroup computers then double click on the name of the remote computer. Then when the shares appear right click on the share name and select Map Network Drive... then click Finish.

To copy a file you just select the file from the mapped drive (X: or whatever) and then select Copy from the Edit menu. Then navigate to your local folder and select Paste.

To Map at the Command Prompt:

Click on Start -> Run.. and type in CMD and press ENTER.

Type in Net View and press ENTER to see the list of remote computers setup for sharing. Then Type in Net View \\computername and press Enter, where \\computername is the name of the remote computer whose shares you would like to see.

To map the drive you can type Net Use Z: \\computername\sharename and press enter. Z: can be changed to any drive letter or you can use * to have windows assign the next available drive letter.

How to install Windows XP Pro IIS FTP Service

Click on Start -> Control Panel -> Add or Remove Programs -> Add/Remove Windows Components.

Single click on Internet Information Services (IIS) and then click on Details.... Put a check in the box for File Transfer Protocol (FTP) Service and click on OK.

How to configure Windows XP Pro IIS FTP Service

Click on Start -> Control Panel -> Performance and Maintenance -> Administrative Tools -> Internet Information Services.

Double click on the name of your computer (local computer) to expand the selection. Then double click on FTP Sites to expand that selection. If you right click on Default FTP Site and select Properties and then click on Home Directory you can see where to put your files for transfer, usually "c:\inetpub\ftproot".

If you have other folders you would like to share with FTP you can create a virtual directory. With Default FTP Site highlighted, click on Action -> New -> Virtual Directory.... First you create an "alias", which is a short name that the FTP client will see and then you select the folder you want to share.

After you are done transferring files you will probably want to turn off the FTP Service. To do this right click on Default FTP Site and click on Stop. If you want to use the FTP server service again you can go to this same location and select Start.

How to access a Windows FTP Server

You can access a Windows FTP server from a remote computer with any FTP Client such as WS_ftp Lite, FileZilla ftp client or CoffeeCup Free FTP. You can type in the IP address of the server computer as the FTP server name. Possibly 192.168.1.2 or something similar.

Or you can use Internet Explorer. In the address box type in ftp://192.168.1.2 where 192.168.1.2 is the IP address of the computer hosting the ftp server. If you shared a virtual directory then you would access it as follows: ftp://192.168.1.2/foldername. Here you can right click on a file and select Copy and then you can paste it in a local folder.

Internet Tips

If you want users on the Internet to be able to access your ftp server then you have to configure Port Forwarding on your router. You would forward TCP ports 20 and 21 to the IP of the computer running the ftp server (i.e. 192.168.1.2).

The internet user would then connect to your ftp server by typing in the Internet IP address assigned to your network. You can find out your Internet IP address by going to: http://www.whatismyipaddress.com/. So if your Internet IP address was 170.72.72.54 then they would type that address into their ftp client. Or they could type ftp://170.72.72.54 into Internet Explorers address bar.

How to setup and configure FileZilla Server

Go to http://sourceforge.net/project/showfiles.php?group_id=21558 to download FileZilla Server. Follow the default prompts to install it.

You must setup users in FileZilla Server for remote computers to be able to login to a FilzeZilla ftp server.

To setup a group click on Edit -> Groups. Click on Add and type in a name such as All or Everyone. Then click on Shared Folders, make sure that your new group is highlighted in the Groups box and click on Add. There you can browse for a folder to add to be shared for ftp access. The first folder you setup will have a H next to it because that will be the home directory or home folder.

One of the most difficult parts of setting up FileZilla Server is making it so the users can access the other folders besides the Home directory (folder). To do this right click on one of the directories you made and click on Edit Aliases. Now you have to type in the full path of your Home folder, such as C:\My Files\ftpfiles. After that you add one more slash and the display name for the current folder. So it would be something like this C:\My Files\ftpfiles\downloads. Now that folder will appear in your home folder as downloads. Click on OK when you are done creating the folders to share.

For more information go to FileZilla Server FAQ's.

To setup a user click on Edit -> Users. Click on Add and then type in a name for the user. You can then add that user to the group you created and that user will then be able to access the folders for that group. To add a password check the password box and type in a password.

You can setup anonymous ftp in FileZilla Server by adding a user called anonymous and making sure the user does not have a password enabled.

For more information go to FileZilla Server FAQ's.

You can enable Mode Z compression in FileZilla Server by clicking on Edit -> Settings -> Filetransfer compression and checking Enable Mode Z support. I have not seen any benefit in doing this.

How to access a FileZilla Server

You can access a FileZilla FTP server from a remote computer with any FTP Client such as WS_ftp Lite, FileZilla ftp client or CoffeeCup Free FTP. You can type in the IP address of the server computer as the FTP server name. Possibly 192.168.1.2 or something similar.

Or you can use Internet Explorer. In the address box type in ftp://192.168.1.2 where 192.168.1.2 is the IP address of the computer hosting the ftp server.

Internet Tips

If you want users on the Internet to be able to access your ftp server then you have to configure Port Forwarding on your router. You would forward TCP ports 20 and 21 to the IP of the computer running the ftp server (i.e. 192.168.1.2).

The internet user would then connect to your ftp server by typing in the Internet IP address assigned to your network. You can find out your Internet IP address by going to: http://www.whatismyipaddress.com/. So if your Internet IP address was 170.72.72.54 then they would type that address into their ftp client. Or they could type ftp://170.72.72.54 into Internet Explorers address bar.

More Answers

Even when using the fastest method of transferring a file over the network it still took 18 minutes to transfer a 347MB file over 802.11b wireless. If we calculate the time it comes to only 2.57 mbps. Why? First of all we need to define some terms. Most networking devices are measured in megabits per second (mbps). This follows the standard of how older modems were measured in kilobits per second (kbps), such as a 56 kbps modem. However most programs that show transfer speed (such as Filezilla or Internet Explorer) measure the speed in kilobytes per second (KBps). Notice how the "B" is in uppercase when referring to kilobytes and the "b" is in lowercase when referring to kilobits.

Definitions

MB = Megabyte. 1 megabyte is the same as 1024 kilobytes.
KB = Kilobyte. 1 kilobyte is the same as 1024 bytes.
MBps = Megabytes per second.
KBPS = Kilobytes per second.
mbps = Megabits per second. There are roughly 8 megabits in 1 megabyte.
kbps = Kilobits per second. There are roughly 8 kilobits in 1 kilobyte.
byte = One letter of data. There are 8 bits in 1 byte.

So here is how we calculate the speed of transfer. If we divide 347MB by 18 minutes the result is 19.27 megabytes per minute. If we divide 19.27MB by 60 seconds the result is .321 MBps. If we multiply .321MB by 8 we arrive at 2.57 mbps.

Question: Why is the file transferring at a slow 2.57 mbps when we are using a 11 mbps 802.11b wireless network card?

Answer: Many sources answer this question by saying that wifi devices are half-duplex instead of full-duplex. That means your transfer speed is cut in half. So you never get 11 mbps from a 802.11b device. You can only get 5.5 mbps in a perfect environment (no interference). However, my computers and the wireless access point/router are only 8 feet away from each other and the wireless signal is at excellent. But I am only getting a transfer speed of 2.57 mbps.

To confuse matters even more. With a 100 mbps Ethernet network I should be able to transfer files at 100 mbps or 12.5 MBps. However, if we calculate the times above we arrive at a speed of only 30 mbps. Why isn't it faster?

Transfer Speed Calculator

So, I would like you all to help me with an experiment. I have setup a transfer speed calculator. If you type in important information for your networking environment we can compare speeds of file transfers using different methods. After you press the calculate button, please highlight and copy your results and then paste the results in a comment.

Program/Method (i.e. windows xp ftp): Size of file in megabytes (MB):
Network Type (i.e. 802.11b wifi): Tranfer time in minutes:

Results:

Back to www.seabreezecomputers.com
Subscribe to Internet Tips Feed

View Comments

User Comments

There are 17 comments.

Displaying first 50 comments.

1. Posted By: Jeff - - April 19, 2007, 3:58 pm
Program/Method: Windows Mapped Drive (X:)
Size of file: 347 MB
Network Type: 802.11b (11 mbps)
Transfer Time: 18 min
Transfer Speed: 2.57 mbps

2. Posted By: Jeff - - April 22, 2007, 12:50 pm
Program/Method: Windows File Sharing
Network Type: 802.11g (54 mbps)
Size of file: 685 MB
Transfer Time: 7 min
Transfer Speed: 13.05 mbps

3. Posted By: Jeff - - April 22, 2007, 12:51 pm
Program/Method: Mapped Drive (X:)
Network Type: 802.11g (54 mbps)
Size of file: 347 MB
Transfer Time: 3 min
Transfer Speed: 15.42 mbps

4. Posted By: JG - - May 21, 2007, 10:16 am
Program/Method: XP Mapped drive
Network Type: 100Mbps NIC on a 1Gbps switch
Size of file: 2490 MB
Transfer Time: 4.5 min
Transfer Speed: 73.78 mbps


5. Posted By: Chuck - - May 21, 2007, 1:43 pm
Program/Method: Net Use cross-domain
Network Type: T1
Size of file: 4138 MB
Transfer Time: 22 min
Transfer Speed: 25.08 mbps


6. Posted By: Mike - - May 22, 2007, 5:58 am
Program/Method: Mac to windows via Samba share
Network Type: 802.11g wifi
Size of file: 347 MB
Transfer Time: 7 min
Transfer Speed: 6.61 mbps

7. Posted By: Jeff - - July 27, 2007, 11:35 pm
Program/Method: Windows File Sharing
Network Type: 802.11g 54mbps
Size of file: 233 MB
Transfer Time: 2 min
Transfer Speed: 15.53 mbps


8. Posted By: compguyeye - - July 28, 2007, 12:01 am
Program/Method: Mapped Drive
Network Type: 1000base or I gig/ 6E
Size of file: 666 MB
Transfer Time: 3 min
Transfer Speed: 29.6 mbps

Transfer from a VM server to workstation (Vista).

9. Posted By: Jeff - - July 28, 2007, 12:24 am
Program/Method: windows shared drive letter X:
Network Type: 100mbps ethernet
Size of file: 6300 MB
Transfer Time: 15 min
Transfer Speed: 56 mbps

10. Posted By: internet-jeff - - September 12, 2007, 3:10 pm
Program/Method: filezilla ftp client to Mac OS X FTPD
Network Type: IEEE 1394
Size of file: 1073 MB
Transfer Time: 7 min
Transfer Speed: 20.44 mbps

11. Posted By: Brad - - September 19, 2007, 10:03 am
Program/Method: FTP, VSFTPd Server, FileZilla client
Network Type: 100mbps ethernet
Size of file: 571 MB
Transfer Time: 57 seconds
Transfer Speed: 76 Mbit



12. Posted By: Brad - - September 19, 2007, 10:03 am
Program/Method: Mapped drive, Win2003 Server, Win 2000 client
Network Type: 100mbps ethernet
Size of file: 390 MB
Transfer Time: 44 seconds
Transfer Speed: 67 Mbit

13. Posted By: Brad - - September 19, 2007, 10:07 am
Program/Method: iSCSI, iscsid Linux Server, Windows XP w/MS iscsi initiator client
Network Type: 1000mbps ethernet
Size of file: 1073739776B (~1GB)
Transfer Time: 20.8 seconds
Transfer Speed: 393 Mbit (!)

WiFi is for web browsing, not file serving. Which I think you've already discovered. Waiting 20+ minutes for a file to copy is painful!
Good luck,
Brad

14. Posted By: Lee - - December 4, 2007, 7:44 am
Program/Method: Robocopy
Network Type: 100mbps ethernet
Size of file: 170000 MB
Transfer Time: 7200 min
Transfer Speed: 3.15 mbps

This is a rubbish transfer speed for Robocopy. Five days to copy 170GB isn't good at all. But then I discovered that the 64-bit version of Server 2003 has some issues (which is the server I'm copying to) so perhaps that has some bearing on things.

My previous copy was from 32-bit server 2003 to XP and that took less than two days.

15. Posted By: Martin Padilla B - padillabravo@hotmail.com - January 17, 2008, 6:14 pm
Program/Method: windows mapped drive
Network Type: 100 mbps ethernet
Size of file: 10000 MB
Transfer Time: 18 min
Transfer Speed: 74.07 mbps

Also, I used unstopable copier to make a backup of an old hardisk to a new. The whole directory was aprox 10 Gb.

16. Posted By: helios - - February 18, 2008, 9:35 am
I think you needed to do more testing.

I've done some personal testing on a 100mbps network and found similar results that when you use a mapped network drive that you can not even come close to getting the full available bandwidth.

However, I routinely use Filezilla to do transfers and can completely saturate the link - i.e. 100mbps, even with one transfer, not to mention filezilla's ability to do multithreaded transfers.

Another note, Filezilla's compression can work wonders on compressible files - for instance, a 300MB test file will compress well and transfer unbelieveably fast - however, a zip file with 300MB of MP3 or JPG files will transfer at wire speed.

17. Posted By: Mathew7 - - March 20, 2008, 12:57 am
I made a small test using 100Mbps network between 2 computers that were connected through 5 switches (a cascading neighborhood network). The results:
FTP: 9MB/s
Windows file sharing: 7MB/s
When using only 1 switch, it is a tie.
For FTP I used Vermillion FTP Daemon, which was a lightweight FTP server.
So in case you use a low-latency (not speed) network, you are better with FTP.
The reason: FTP sends burts with the file contents, so it could have sent 10 packets before receiving any acknowledge of transmission. Windows file sharing uses a request-grant scheme: the client request a small part of the file and the server sends it. But the next request is made only after receiving the previous part. MS may have some handling improvements in this, but this is the way applications are designed.