What is TFTP?
We’ve shared everything you need to know about TFTP
TFTP stands for Trivial File Transfer Protocol. TFTP is a protocol that can be used to transfer files over networks and between computers. TFTP is a simpler way to transfer files in comparison to FTP and SFTP.
TFTP is typically not used to transfer files over the internet as it’s not as secure as FTP and SFTP. Instead, TFTP should be used for transferring files within your local area network to ensure that your files are protected.
What is the difference between TFTP and FTP?
The difference between TFTP and FTP lies in the mechanism. FTP relies on TCP (Transmission Control Protocol) during transport. TFTP relies on UDP (User Datagram Protocol) as it is a connectionless protocol. Since TFTP uses UDP instead of TCP, it’s an unreliable transfer protocol.
- TCP vs UDP
The communication between computers needs to be secure and reliable. Whenever a file is transferred to your computer from another computer, your data needs to be received correctly. For example, if you’re downloading a file, you want the entire file and not just parts of the file.
TCP guarantees that you receive all your data correctly. TCP verifies the connection between the two computers before any communication can take place between the computers.
UDP, on the other hand, is connectionless. Hence, unlike TCP, it does not verify a connection between the two computers to guarantee that data is delivered correctly. So if you send a file using UDP, your computer will not care if the information is received or not on the other end.
- TFTP port
FTP uses ports 21 and 20, whereas TFTP uses port 69.
Furthermore, FTP requires a password to authenticate the user. Hence, if you want to access an FTP server, you should verify yourself with a username and password.
TFTP does not need to authenticate a user. As a user, you only need to know the file’s name you’re trying to download, and you can send a command to request that specific file.
Unlike FTP, TFTP is slower in its transferring process. This is due to the fact that the TFTP server needs to divide data into pieces when transferring it to the TFTP client.
How does a TFTP server work?
So how does TFTP work then? A TFTP server is always on call at port 69 for any incoming requests from the TFP client. Meaning, whenever a TFTP client requests to download a file, the TFTP server will create and start a process. The TFTP client will send the command to the TFTP server through UDP.
Once the TFTP server has received the command, it’ll send the data required to the TFTP client. If the data you’ve requested contains many files, the TFTP client will send an acknowledgement to the TFTP server every time a chuck of the data has been received throughout the process. The process is equivalent to stop & wait, meaning that the TFTP server waits until it receives an acknowledgement from the TFTP client before sending another chunk of data.
To ensure that your files are protected and sent correctly when using TFTP, you should only send files within your local area network. For example, if you want to send firmware images to your firewall, you can use TFTP as it’s within your local area network. However, keep in mind that the TFTP server will not provide you with security during your file transfer, and that’s why it’s crucial to only transfer files within your local area network.