Trivial File Transfer Protocol
The Trivial File Transfer Protocol (TFTP) is an extremely low-overhead [[protocol (computer}|protocol]] of the Internet Protocol Suite (IPS). It is intended to have the absolute minimum of functionality necessary for one computer, typically connected to another via a local area network, to download the executable code of its operating system. TFTP was designed for what variously are called "diskless workstations" or "thin clients", which have no local disk or other mass storage, and must "bootstrap" into execution with only the code that can fit into a read-only memory (ROM) containing the loader (i.e., TFTP and possibly other minimal functions).[1] Its first implementation was designed by Noel Chiappa, and it has undergone a series of refinements based on operational experience.
TFTP, as its name would suggest, does not have many of the features of a more general file transfer protocol, such as the IETF File Transfer Protocol (FTP). By today's standards, even basic FTP is obsolescent. The overriding objective was keeping TFTP and all associated code as small as possible; when it was developed, a good-sized ROM had only 32 kilobytes of storage.
In particular, TFTP has no security features alone, and expects to be talking to a trusted file server over a trusted network. It uses a fixed record size for transfer. It runs over User Datagram Protocol (UDP) because the code for Transmission Control Protocol would be too large for the ROM, so TFTP is responsible for its own error correction. Its error correction mechanism is small, simple, and works, but is not especially efficient; these are the general assumptions for every design choice in TFTP.
UDP runs over Internet Protocol, which runs over the protocols specific to the actual network interconnecting the TFTP client and server, usually Ethernet.
References
- ↑ Sollins, K. (July 1992), The TFTP Protocol (Revision 2), Internet Engineering Task Force, RFC1350