Networking Technology: FTP and TFTP

File Transfer Protocol, or FTP, is the gold standard internet protocol used to transfer data between a server and a client over a network. An MIT student Abhay Bhushan first introduced it in the 1970s. While the key purpose of FTP was to enable the secure transfer of files between host PCs and servers, the protocol has rapidly evolved with the growth of personal home computing and internet usage. Despite that, the original FTP continues to serve as the foundation of file transfers over the modern internet.

A lot of people who’re curious about file transfer protocol also ask about the difference between FTP and TFTP. Below, we look at the functions of both protocols and how each serves a specific purpose.

FTP

FTP essentially used to receive/send files to a remote PC. RFC959 is where thee protocol is defined. The file transfer protocol creates two connects between server and client system, where one oversees the files to be transfer and the other is reasonable for control information (this is what carries command/response). The username and password are first validated for authentication. Once authenticated, the transfer of files can take place between two computers.

When an FTP client makes a connection request to an FTP server, the FTP’s server port 21 forms of a TCP connection that is reserved for FTP. Once authenticated, a second TCP connection is established on port 20 for the actual file transfer.

Unlike TFTP, FTP relies on encryption and authentication protocols. And where access like this is restricted, an FTP mail server can be used to bypass the issue. This provides access to the user, but prevents them from modifying commands or viewing directories.

 TFTP

 TFTP, on the other hand, is the acronym for Trivial File Transfer Protocol. RFC783 is where TFTP is defined. While it’s simpler than FTP in functionality and can transfer data between remote servers and clients, it doesn’t authenticate users and lacks many other features present in FTP. TFTP uses UDP whereas FTP relies on TCP.

Because TFTP is taken as unreliable due to its association with UDP, the protocol relies on application layer recover. A small header between the data and the header of UDP makes this possible. The header contains various read, write, and acknowledgement code as well as numbering schemes.

TFTP is often used to boot devices and personal computers that come without storage devices and hard disk drives because the low memory volume makes it easy to implement. The protocol is typically used for starting systems where the setup is kept on a remote TFTP server.

Difference Between FTP and TFTP

Here’s a comparison table showcasing the differences between the two:

File Transfer Protocol (FTP) Trivial File Transfer Protocol (TFTP)
Relies on TCP port numbers 20 & 21 Relies on UDP port number 69
Leverages robust command controls Leverages simple command controls
Requires more programming effort and memory Requires less programming effort and memory
The transport layer protocol is TCP The transport layer protocol is UDP
Is specified in the document RFC959 Is specified in the document RFC783
Authentication is a necessity Authentication is not necessary for TFTP

Conclusion

While there are several differences between FTP and TFTP, the key thing to note is that FTP is more secure for data transfers. In TFTP, there are no encryption and authentication processes, so it is advisable to use FTP to download/upload files over remote serves. The TCP ports in FTP also contribute to the safe transfer of files.