Image of Jeremy L. Gaddis, CCNA, CCNP (and Cortney, in case you were wondering)

An Introduction to TFTP

by Jeremy L. Gaddis on September 16, 2011 · 0 comments

Post image for An Introduction to TFTP

Chances are, even if you haven’t used it, you’ve probably at least heard of FTP, the File Transfer Protocol. At one point, it was the protocol you used when you needed to get files from there to here or vice versa. Nowadays, we have e-mail systems that can handle attachments tens of megabytes in size and, of course, the World Wide Web. Because of that, FTP has decreased somewhat in popularity.

The Trivial File Transfer Protocol, or TFTP, is a simplified (“trivial”) version of FTP. One major difference between the two is that there is no authentication in the TFTP protocol. In addition, it is easier to perform unattended file transfers using TFTP, simplifying our lives.

What is TFTP Used For?

If you’ve ever paid attention to your computer’s boot-up process, you may have noticed an option to “network boot”. The Pre-boot Execution Environment (PXE) protocol uses TFTP to download the basic files that are needed to kick off the boot process. Popular imaging and installation software such as Norton Ghost, Remote Installation Services and Kickstart all use TFTP.

In addition, IP phones make extensive use of TFTP. When a Cisco IP phone is booted up, for example, it can download its configuration from a centralized TFTP server. It can also be instructed to automatically update itself to the latest version of firmware, making an administrator’s job much easier.

Why Do I Need to Know About TFTP?

One other popular use of TFTP — and the one you’ll be most concerned with — is for backing up configuration files from Cisco routers and switches. You wouldn’t dream of not backing up important documents and our device’s configuration files are just as important.

Unfortunately, Bad Things™ do sometimes happen. While Cisco hardware is generally quite reliable, routers and switches do occasionally fail. If you’re lucky, you’ll still be able to access the configuration. If you’re not, well, you’ll be glad you knew about TFTP. As long as you have backups of your configuration, you can replace the hardware and quickly restore the configuration onto the new device.

The other major use of TFTP is to upgrade the Cisco IOS software running on routers and switches. While you can go to Cisco’s web site, log in, find the software you need, and download it when you need to upgrade, doing that for every single device would get old real quick.

Instead, many organizations with more than a handful of devices make use of a centralized TFTP server. Because they often standardize on specific versions of the IOS software, they can store them on the TFTP server and have quick, easy access from anywhere on the network.

While (some) newer devices also support other protocols, such as FTP, HTTP, or SCP, TFTP remains the easiest method available. Because you could be asked to perform various tasks using TFTP on the CCNA test, you’ll want to be familiar with using it.

Which TFTP Server Should I Use?

If you do a Google search for TFTP servers, you’ll find many different options. I’ve chosen TFTPD32 because it also includes built-in DHCP, DNS, and SNTP servers. We can make use of that functionality for other lab exercises, so we might as well get it all right now in one package.

The SolarWinds TFTP Server is another excellent TFTP server that’s free to use. In addition, it has some features that TFTPD32 doesn’t, such as the ability to restrict access by IP address which is important in a production environment (there’s no authentication, remember?). If you were looking for a TFTP Server that you want to install on a server in your network so that it’s available 24/7, it’s probably a better choice than TFTPD32.

Because of it’s added functionality, I’ll be using TFTPD32 for the lab exercises here, although either will work just fine. Linux users also have a myriad of options available to them. Personally, I run atftpd (the “advanced TFTP server”) whenever possible. Packages are available for most popular Linux distributions via yum, apt-get, etc.

Installing a TFTP Server

Installing a TFTP server is generally a pretty painless process. You’ll be asked where you want to store your files (often referred to as the “TFTP root” directory). I recommend creating a new directory just for this purpose, such as C:\TFTP\, like I did in this video:

If you’re using a TFTP server on Linux, you’ll want to read its documentation to find out where it stores files. On my Debian GNU/Linux servers, atftpd defaults to the /srv/tftp directory (although you can change it to point wherever you want). You may also need to modify permissions in order to be able to upload files from your routers and switches.


TFTP is a simple protocol that is extremely useful to a network engineer. In upcoming articles, you’ll learn how to back up Cisco configuration files, back up Cisco IOS, upgrade IOS to a new version, and even how to automatically back up your configurations when they change. You’ll need a TFTP server available to do that, obviously, so go ahead and pick one and get it installed.

Image Source

Previous post:

Next post: