The Trivial File Transfer Protocol (TFTP) uses UDP (User Datagram Protocol).
TFTP and UDP: A Closer Look
TFTP is a simplified file transfer protocol designed for basic file transfers, particularly in situations where simplicity and small size are more important than advanced features. Here's why it relies on UDP:
- Lightweight Design: TFTP's primary goal is to be as lightweight as possible. UDP's connectionless nature reduces overhead.
- Simplicity: UDP's lack of error correction and flow control simplifies the implementation of TFTP.
- Bootstrapping: As mentioned in the reference, TFTP is often used in scenarios like diskless workstations bootstrapping themselves. UDP is suitable for this since no existing reliable connection may be available.
TFTP vs. FTP and Other Protocols
Feature | TFTP | FTP |
---|---|---|
Underlying Protocol | UDP | TCP |
Connection | Connectionless | Connection-oriented |
Security | Minimal (or none) | More options via TLS/SSL |
Complexity | Simple | More complex |
Use Cases | Bootstrapping, simple config | General file transfer |
Practical Implications
The choice of UDP has implications for TFTP's behavior:
- Unreliable: TFTP must implement its own error detection and retransmission mechanisms since UDP doesn't guarantee reliable delivery.
- Smaller Overhead: The absence of connection setup and teardown simplifies transfers, but it also requires custom mechanisms to manage reliability.