Trivial File Transfer Protocol (TFTP): TFTP is a network protocol used to transfer files between hosts in a TCP/IP network. It is a simpler version of FTP and it doesn’t have all of its functions; for example, you can not list, delete, or rename files or directories on a remote server. In fact, TFTP can only be used to send and receive files between the two computers. TFTP doesn’t support user authentication and all data is sent in clear text.
The only real advantage that TFTP has over FTP is that it uses less resources. It is not widely used today, but Cisco does still use it on its devices, for example to backup a router’s IOS image.
FTP: FTP stands for File Transfer Protocol. It is used to send/receive file from the remote computer. FTP establishes two connections between client system and server system, one for control information and the other for data to be transferred. Control information carries commands/response. Authentication need to be done initially by way of validating username and password. Once it is done files can be transferred between two systems. FTP handles both binary and text format files.
Main differences between FTP and TFTP are
FTP uses TCP port numbers 20 and 21, TFTP uses UDP port number 69.
FTP is a complete, session-oriented, general purpose file transfer protocol. TFTP is used as a bare-bones special purpose file transfer protocol.
FTP can be used interactively. TFTP allows only unidirectional transfer of files.
FTP depends on TCP, is connection oriented, and provides reliable control. TFTP depends on UDP, requires less overhead, and provides virtually no control.
FTP provides user authentication. TFTP does not.