Trivial File Transfer Protocol (TFTP) is a simple lockstep which allows a client to get a file from or put a file onto a remote host. One of its primary uses is in the early stages of nodes booting from a local area network. TFTP has been used for this application because it is very simple to implement.
TFTP was first standardized in 1981 and the current specification for the protocol can be found in RFC 1350.
Due to its simple design, TFTP can be easily implemented by small footprint code. It is therefore the protocol of choice for the initial stages of any network booting strategy like , PXE, , etc., when targeting from highly resourced computers to very low resourced Single-board computers (SBC) and System on a Chip (SoC). It is also used to transfer firmware images and configuration files to network appliances like routers, firewalls, IP phones, etc. Today, TFTP is virtually unused for Internet transfers.
TFTP's design was influenced from the earlier protocol EFTP, which was part of the PUP . TFTP was first defined in 1980 by IEN 133. In June 1981 The TFTP Protocol (Revision 2) was published as RFC 783 and later updated in July 1992 by RFC 1350 which fixed among other things the Sorcerer's Apprentice Syndrome. In March 1995 the TFTP Option Extension RFC 1782 updated later in May 1998 by RFC 2347, defined the option negotiation mechanism which establishes the framework for file transfer options to be negotiated prior to the transfer using a mechanism which is consistent with TFTP's original specification.