In this blog, I’ll attempt to give you some highlights of what a TFTP Server is without going too deep into the technical details, how it operates and what you should know about it.
TFTP stands for Trivial File Transfer Protocol. As the name suggests, TFTP is a mechanism to tranfer files from one device to another. It is typically used by network administrator to copy configuration file, log file and firmware to/from networking devices.
TFTP was designed to be small, simple and easy to implement. It uses UDP port 69 and runs on IP networks. It doesn’t provide any kind of error handling capability so all the error handling has to be done at Layer 7 – the Application Layer.
Per RFC 1350, a typical TFTP data payload has a minimum of 4 bytes and 516 max. The TFTP data packet has the following format:
OpCode | Block # | Data |
2 Bytes | 2 Bytes | 0-512 Bytes |
The OpCode signals the type of operation whether it is a read request or a write request… The Block # contains the block number or ACK number of the data packet being transmitted. The Data field ranges from 0 to 512 bytes in length. If it is exactly 512 bytes, then there is more data to follow; otherwise, it is the last data packet and signals the end of the file transfer.
It is important to know that the Block # field is two byte long or 16 bits total which yield 65,536 block numbers (2^16). So this means the largest file TFTP can send or receive is 65,536 x 512 = 33,554,432 bytes or 32MB’s. This is the reason why files transfer with size larger than 32MB’s often fail.
That might not make sense to some of you right now since you might have done some file transfers that are larger than 32MB’s. It is possible to transfer files larger than 32MB’s using TFTP. The only difference is the TFTP Server must support RFC 2348 (TFTP Block Size Option). But that will be the topic for another blog.
So in summary, TFTP Server is a mean to transfer file, used to send/receive file to/from network devices. It uses UDP port 69 and can send or receive a file with a “maximum” size of 32MB’s.
Futher Readings:
Know Your TFTP Server
Hi Tellervo,
RSS is available. Look for the RSS symbol in the side bar on the right.
Hi Mr. Brian, i am a Network Engineering student in Cameroon and i wish to partner with to improve my learning skills. From what i learnt of you, u are a professional IT field. It will be a pleasure to me if i learn frpm you. Thanks sir..
Can a TFTP server send file request to HTTP and then receive (download) the files back in TFTP so it can share the files with the devices in a local area network ?
No, TFTP runs on port 69 using UDP protocol. It can only send/receive file request using the established read/write request as defined in RFC 1350. What you describe there seems to be a special way of sending and receiving files and as such you would need to customize your program to do so.