Trivial File Transfer Protocol
The Trivial File Transfer Protocol (TFTP) is used to transfer files between the TFTP client and a TFTP server, a computer running the tftpd TFTP daemon. This protocol uses UDP as a transport and, unlike FTP, does not require a user to log on to transfer files. Because TFTP does not require a user logon, it is often considered a security hole, especially if the TFTP server permits writing.
The TFTP protocol was designed to be small so that both it and the UDP protocol could be implemented on a PROM (Programmable Read Only Memory) chip. The TFTP protocol is limited (hence the name trivial) when compared to the FTP protocol. The TFTP protocol can only read and write files; it cannot list the contents of directories, create or remove directories, or allow a user to log on as the FTP protocol allows. The TFTP protocol is primarily used in conjunction with the RARP and BOOTP protocols to boot diskless workstations and, in some cases, to upload new system code or patches to routers or other network devices. The TFTP protocol can transfer files using either an ASCII format known as netascii or a binary format known as octet; a third format known as mail is no longer used.
When a user enters a tftp statement on a command line, it initiates a connection to the server and performs the file transfer. At the completion of the file transfer, the session is closed and terminated. The syntax of the TFTP statement is as follows:
TFTP [-i] host [get | put] <source filename> [<destination filename>]