Can I use ftp to send data to remote locations using GSM links.
Since 2G/3G links are not always good, what kind of file transfer protocols can best suite the task of sending/receiving data using the 2G and 3G links?
File Transfer Protocol (FTP) works in the application layer. 3G is based on IP so all data are carried as IP packets. .If you have a data based connection using 2G/3G which carries the data as IP packets. Then you can use the File Transfer Protocol over it. The actual implementation of channels and transmission works at the MAC and physical layer, so the FTP which works at the application layer should not be effected.
The distance between the source device and the destination device usually does not affect neither the delay nor the throuput, since all cellular traffic should go through a switching core whether GPRS or HSDPA.
I dont think that FTP is the best protocol for general data communication, it might be a good choice for transferring files. However if you are fetching sensors data, try UDP protocol for saving bandwidth. Otherwise you can use TCP if the carried information is sensitive.
FTP offers only basic one-way password-based authentication and no encryption (privacy) features. If this is irrelevant to your application, it may be acceptable - but FTP is designed for transferring files, not sensor readings (which tend to be small and occasional). So UDP-based protocols with message integrity would probably be your best bet - and if you want security, then it would be a good idea to use DTLS:
If that's too heavyweight (e.g. for an 8-bit microcontroller with limited memory) and security isn't a concern then maybe a simple custom UDP-based protocol is what you need. You can use netcat as a test receiver while you develop the protocol.