What is FTP, SFTP, TFTP ?

What is FTP, SFTP, TFTP ?

What is FTP, SFTP, TFTP ?

FTP - File Transfer Protocol
SFTP - Secure File Transfer Protocol 
TFTP - Trivial File Transfer Protocol

Hello everyone today in this article we're going to talk about FTP, SFTP and TFTP. 
These are protocols that are used to transfer files over a network. 
Let's talk about FTP first, 

FTP stands for File Transfer Protocol

This is a standard protocol that is used to transfer files between computers and servers over a network such as the internet. 
FTP is the language that computers use to transfer files over a tcp/ip network. 
For example if someone anywhere in the world wanted to make their files available for other people to download. 
all they would have to do is simply upload their files to the FTP server and then other people from anywhere in the world can simply connect to that FTP server and download the files using the FTP protocol. 
For example a person is using a dedicated FTP server to share their files, but they don't necessarily have to set up a dedicated server for an FTP because if they really wanted, they can also configure their own computer to act as an FTP server. 
For example in Microsoft Windows, this can be done using the Internet Information Services Manager. 

Now there are a couple of ways to transfer files using FTP you can use your standard internet browser or you can use an FTP client. 
As an example,
Let's download some mp3 files that someone has put on an FTP server. 
For that you can use a standard internet browser so you would open up a web browser and then you would type in the address of the FTP server that you want to connect to, just as if you were going to a regular web site.
The web address of this FTP server is ftp.example.com so you would type that address as the URL.
Normally if you were going to a regular web site the prefix would be http but since we are going to an ftp site the prefix is ftp. Now we're connected to the FTP server. 
So this is an example of an FTP server view in a web browser and from here you can browse different folders that's on the FTP server depending on what the owner has made available and then you can view and download what you want. 
So here are the mp3 files and then you can just click the files and then download them to your computer.
Sometimes FTP servers will require an account with a username and password and sometimes you can just log in anonymously it just depends on what type of authentication that the owner of the FTP server has set up and another way that you can connect to an FTP server is by using an FTP client. 

There are a number of FTP clients that you can use but probably the most popular free FTP client is called FileZilla which you can download for free. 
As an example of an FTP client and using an FTP client provides a graphical user interface and a better overall experience than using a web browser. 
So here you would provide the address of the FTP server along with a username and password if required and the port number which would be port 21 and then you would just hit the connect button. 
Now we're connected to the FTP server. 

Transferring files between computers is a common use of using FTP especially when you're transferring files in bulk and another common use of using FTP is to give the ability of website designers to upload files to their web servers.
The main drawback of using FTP is that it's not a secure protocol. 
The data that's being transferred is not encrypted. 
All the data is sent in clear text which can cause security concerns.
FTP should only be used on a limited basis or on only trustworthy networks or if the data that's being transferred is not sensitive however if you're going to transfer a data that needs to be protected a more secure transfer protocol should be used and that's where SFTP comes in. 

SFTP stands for Secure File Transfer Protocol 

Secure FTP is just like FTP except that it adds a layer of security the data using secure FTP is actually encrypted using secure shell during data transfer.
No data is sent in clear text. 
It's all encrypted and secure FTP authenticates both the user and the server and it uses port 22. 
It's also important to note that both FTP and secure FTP are connection-oriented protocols that use TCP for file transfer so they guarantee file delivery.

TFTP stands for trivial File Transfer Protocol

This is a very simple File Transfer Protocol.
It is not used to transfer files over the Internet like FTP and secure FTP does. 
It's mainly used for transferring files within a local area network (LAN)
For example, 
It's often used to transfer configuration files and firmware images to network devices such as firewalls and routers. 
TFTP is something that most people will never use and unlike FTP and secure FTP that uses the TCP protocol for file transfer. 
TFTP is a connectionless protocol that uses UDP and because it uses UDP instead of TCP, it's an unreliable transfer protocol. 
TFTP does not provide any security during the transfer and not that it needs, because as I said before it's only used on a local area network and not over the Internet.