Upload Speed FTP server

Unanswered Question
Sep 29th, 2009
User Badges:


We have one internet lease connectivity customer 8Mb(1:1) bandwidth (At India) . They are accessing one FTP server at Atlanta(US) which they are using for upload/download files.

ON our Connectivity they are not getting upload speed transfer rate of not more then 200KB/sec. but as per customer while they were using other provider's connectivity 4Mb before our services they were getting 400-500KB/sec upload transfer rate.

However we have not yet varified the customer words (for proper upload rate on other providers connectivity). But is this possible to have this kind of problem i.e Just double response as compare to us.

We have almost checked our international peering (which is the best possible peering), routing , Transmission part from our NOC to customer premises.

Please suggest what to check now ..Will checking at Atlanta end customer network help us to solve the problem.




  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 0 (0 ratings)
Joseph W. Doherty Tue, 09/29/2009 - 11:56
User Badges:
  • Super Bronze, 10000 points or more

"But is this possible to have this kind of problem i.e Just double response as compare to us."

Sure it's possible. Assuming the customer is correct, there are many possible factors that could cause one WAN path to be "slower" for a TCP app than another (assuming everything else is the same). Are the same MTUs supported and used end-to-end? Is the end-to-end latency the same? Is the end-to-end dropping (if any) the same? Is there as much available bandwidth end-to-end? Is the L2 overhead the same?

xcz504d1114 Tue, 09/29/2009 - 12:11
User Badges:
  • Bronze, 100 points or more

There is a bit more to bandwidth than just raw speed. One of the obvious ones is the conversion from KB to Kb (Kilo Bytes to Kilo bits), then to Mb (Megabits). But your question is more concerned with the difference between the 2 speeds.

Latency can have a huge impact on bandwidth as well. With TCP, you will send X amount of data in Y amount of time, then you will request verification that the recieving end recieved the data, the recieving end will acknowledge it recieved the data, and you will acknowledge the reciept of the reciept (SYN, SYN/ACK, ACK).

So if your using windows XP, the default TCP window size is 17520, and if you have 100ms of latency, for every 17520 bytes of data you send, you require an acknowledgment, that's 400ms of latency for every 17520 bytes.

A simple example, a 1 Gb link, with 1ms of latency, can only achieve 524 Mbps of throughput with a TCP window size of 65536.

One way to overcome this is to increase your TCP window size, or establish multiple TCP connections.



sudhir.bhagat Tue, 09/29/2009 - 12:31
User Badges:

Hii Craig,

Uptil how much value we can set for Window XP TCP window size... ?

xcz504d1114 Tue, 09/29/2009 - 12:46
User Badges:
  • Bronze, 100 points or more

TCP window size is negotiated on the connection, in order to adjust that, it would have to be done on the registry on both ends. It's safe to say the distant end can probably negotiate to 65536, if it is Linux or Free BSD it has a higher default. Chances are good that an XP machine is going to negotiate the 65536 window size, anything higher requires modifcation of the registry (instructions can be found online).

You can use Wireshark or some other packet capture utility to see the Window size being negotiated. But honestly, your RTT (Round Trip Time) also called latency, is going to have more of an effect on your bandwidth.

If you do a ping to the FTP server, the TTL that gets reported is the RTT. From that you can get the "theoretical" speed at which you can transmit, it's theoretical, because corrupt packets, dropped packets etc aren't factored in.

So to make this more complicated; lets say you have a lost packet every 3 seconds, an MSS of 1460, a TCP window of 65536, and 100 ms RTT.

Your theoretical throughput would be in the neighborhood of 3 Mb/s (appx 400 KB/s).

As opposed to nearly no loss, you could achieve 5 Mb/s (appx 650 KB/s).

As you can see, bandwidth is not just "how much will my ISP allow me to send".



Joseph W. Doherty Tue, 09/29/2009 - 15:13
User Badges:
  • Super Bronze, 10000 points or more

"Uptil how much value we can set for Window XP TCP window size... ? "

Depends on the other host capabilities and how XP is configured. "Old" TCP standard, up to 64 KB, "newer" TCP standard, 2 GB (I think). By default, XP will use for Ethernet, 12 x 1460 for 100 Mbps, and 64 KB for gig. (BTW, Vista and later Windows is different.)

However, adjusting host's TCP RWIN is a possible solution. Assuming, from your original post, that the end hosts are the same and only the WAN is different, you should first identify what's different about the WAN that lead to a decrease in host transfer rate. Once you've found the cause, then discussing possible solutions makes sense.


This Discussion