IBM TFTP Server - FAQ

What is TFTP?

TFTP stands for "Trivial File Transfer Protocol". It is about as simple a protocol as you could devise for transferring files, which means that its function is limited.

The protocol has been around the internet for many years now. Version 2 of the protocol was originally defined in RFC 783 in 1981 and has been obsoleted by RFC 1350 (1992).

How is TFTP different than FTP?

FTP and TFTP are very different and incompatible protocols. Some notable differences are:

Why might I want to use TFTP?

TFTP is used by many devices as a way to get their software and configuration information. Network devices, such as the IBM routers, use TFTP in this way.

Can a client list files on a TFTP server?

No, not with TFTP. The only things a client can do with TFTP is to put (send) or get (receive) a file. Since the get function doesn't allow wildcards, it assumes the client knows the complete path and filename.

How can I control access to files on the server?

TFTP does not require clients to authenticate themselves with user ids and passwords. But you can exploit the inability of a client to discover files on the server as a way to achieve some security. You can structure the files on the server in directories and treat each directory name like a password -- a client must know the directory name in advance to get at anything inside it.

This TFTP server also allows you to control whether clients to either putting or getting files. So, you can define your TFTP server to only allow clients to retrieve files, or vice versa.

This TFTP server allows clients to access only the directories identified in the configuration file. You can also provide separate directories for inbound and outbound files.

What is the maximum file size that I can send or receive?

It depends on your client and the server. The TFTP protocol itself uses a counter which overflows at 32 megabytes. Most clients and servers can't handle this condition. This TFTP server, however, handles this condition; so the limitation is based on the filesystem of the server platform.