FTP and TFTP both are the application layer protocols. Both are used to transfer a file from client to server or from the server to the client . But FTP is more complex than TFTP. There are many differences between FTP and TFTP, but the major difference between FTP and TFTP is that FTP establishes two connection for transferring a file between client and server that are TCP’s port 20 for data connection and TCP’s port 21 for the control connection. On the other hand, TFTP uses the only single connection on UDP’s port 69 to transfer a file between client and server.
Let’s study the other differences between FTP and TFTP with the help of comparison chart.
Content: FTP Vs TFTP
|Basis for Comparison||FTP||TFTP|
|Abbreviation||File Transfer Protocol.||Trivial File Transfer Protocol.|
|Authentication||Authentication is required in FTP for communication between client and server.||No authentication is required in TFTP.|
|Service||FTP uses TCP service which is a connection-oriented service.||TFTP uses UDP service which is connection-less service.|
|Software||FTP software is larger than TFTP.||TFTP software is smaller than FTP and fits into readonly memory of the diskless workstation.|
|Connection||FTP establishes two connections one for data(TCP port no. 21) and one for control(TCP port no. 20).||TFTP establishes a single connection for its file transfer (UDP port no. 69).|
|Commands/Message||FTP have many commands.||TFTP have only five messages.|
|Complexity||FTP is more complex||TFTP is less complex.|
Definition of FTP
File Transfer Protocol (FTP) is an application layer protocol. FTP is a mechanism provided by TCP/IP for transferring the file from client to server or from the server to the client. The issues resolved by FTP are, like two systems between whom the file is being exchanged may use different file convention or different way to represent text and data, or a different directory structure. To resolve these issue FTP has a list of commands.
To copy a file from one host to another FTP establishes two connection one for data transfer and one for the control connection. FTP uses TCP service for transferring the file. TCP’s port 20 is used for data connection, and TCP’s port 21 is used for the control connection. The control connection remains opened till the entire interactive session remains and closed when the session ends. While the control connection is opened the data connection open and closed each time, the file is transferred.
The control connection uses simple rules for the communication. On the other hand, the data connection is more complex as it uses different commands for the variety of data being transferred. Although the user is authenticated at the time of the connection establishment still, FTP is not secure as the password provided by the user is a plain text as well as the data is also transferred in plain text, which can be intercepted by the attacker. The solution to this is to add SSL(Secure Socket Layer).
Another way to transfer the file securely is to use an independent protocol sftp (secure file transfer protocol). The sftp is a part of SSH protocol.
Definition of TFTP
Trivial File Transfer Protocol (TFTP) is an application layer protocol. When we need to transfer a file from client to server or from the server to the client without the need for the feature of FTP, then TFTP is used. TFTP’s software package is smaller and it can fit into the read-only memory of diskless workstations which can be used during the bootstrap time. The software package of TFTP is smaller as compared to FTP and fit on the ROM easily because it only requires IP and UDP. The sender always sends the data block of the fixed size that is 512 bytes and waits for the acknowledgement to receive before it sends the next block of data.
There are five messages of TFTP that are RRQ, WRQ, DATA, ACK, ERROR. RRQ is a read request message which is used to establish the connection between client and server for reading data. WWQ is a write request message used to establish the connection between client and server for writing data. DATA is the message used by client or server to send the block of data. ACK is the acknowledgement message used by the client or the server to acknowledge the receipt of the received data block. ERROR is a message used by the client or the server when there is a problem in establishing the connection between client and server, or there is a problem in transferring the data.
Key Differences Between FTP and TFTP
- The full form of FTP is File Transfer Protocol whereas, the full form of TFTP is Trivial File Transfer Protocol.
- While communicating with FTP authentication is required during establishing connection. On the other hand, No authentication is required while communicating with TFTP.
- FTP is a connection-oriented service whereas, the TFTP is a connection-less service.
- The software of TFTP is smaller than FTP and it fits into read-only memory of diskless workstation.
- In FTP connection is established using two connection first on port number 20 a control connection whereas second, on port number 21 for data connection. In TFTP a single connection is established at port number 69 for file transferring.
- FTP has commands to perform actions whereas, in TFTP five messages are used to perform actions.
When we need simply copy a file without the features of FTP, TFTP is the option provided by TCP/IP to transfer the file easily without any complexities.