Please Whitelist This Site?

I know everyone hates ads. But please understand that I am providing premium content for free that takes hundreds of hours of time to research and write. I don't want to go to a pay-only model like some sites, but when more and more people block ads, I end up working for free. And I have a family to support, just like you. :)

If you like The TCP/IP Guide, please consider the download version. It's priced very economically and you can read all of it in a convenient format without ads.

If you want to use this site for free, I'd be grateful if you could add the site to the whitelist for Adblock. To do so, just open the Adblock menu and select "Disable on tcpipguide.com". Or go to the Tools menu and select "Adblock Plus Preferences...". Then click "Add Filter..." at the bottom, and add this string: "@@||tcpipguide.com^$document". Then just click OK.

Thanks for your understanding!

Sincerely, Charles Kozierok
Author and Publisher, The TCP/IP Guide


NOTE: Using software to mass-download the site degrades the server and is prohibited.
If you want to read The TCP/IP Guide offline, please consider licensing it. Thank you.

The Book is Here... and Now On Sale!

Get The TCP/IP Guide for your own computer.
The TCP/IP Guide

Custom Search







Table Of Contents  The TCP/IP Guide
 9  TCP/IP Application Layer Protocols, Services and Applications (OSI Layers 5, 6 and 7)
      9  TCP/IP Key Applications and Application Protocols
           9  TCP/IP File and Message Transfer Applications and Protocols (FTP, TFTP, Electronic Mail, USENET, HTTP/WWW, Gopher)
                9  TCP/IP General File Transfer Protocols (FTP and TFTP)
                     9  Trivial File Transfer Protocol (TFTP)

Previous Topic/Section
Trivial File Transfer Protocol (TFTP)
Previous Page
Pages in Current Topic/Section
1
23
Next Page
TFTP General Operation, Connection Establishment and Client/Server Communication
Next Topic/Section

TFTP Overview, History and Standards
(Page 1 of 3)

The File Transfer Protocol (FTP) is the main protocol used for the majority of general file transfers in TCP/IP internetworks. One of the objectives of the designers of FTP was to keep the protocol relatively simple, but that was really only possible to a limited extent. To enable the protocol to be useful in a variety of cases and between many kinds of devices, FTP needed a fairly large set of features and capabilities. As a result, while FTP is not as complex as certain other protocols, it is still fairly complicated in a number of respects.

The Need for TFTP

The complexity of FTP is partially due to the protocol itself, with its dozens of commands and reply codes, and partly due to the need to use of the Transmission Control Protocol (TCP) for connections and data transport. The reliance on TCP means that any device wanting to use FTP needs not only the FTP program, but also a full TCP implementation as well. It must handle FTP's need for simultaneous data and control channel connections and other requirements.

For a conventional computer, like a regular PC, Macintosh or UNIX workstation, none of this is really an issue, especially with today's large hard disks and fast, cheap memory. But remember that FTP was developed over three decades ago, when hardware was slow and memory was expensive. Furthermore, even today, regular computers are not the only devices used on networks. There are some networked devices that do not have the capabilities of “true” computers, but still need to be able to do file transfers. For these devices, a full FTP and TCP implementation is a non-trivial matter.

One of the most notable examples of devices where this is an issue are diskless workstations. These are computers that have no permanent storage, so when they start up, they cannot read a whole TCP/IP implementation from a hard disk like most computers do easily. They start with only a small amount of built-in software, and must obtain configuration information from a server and then download the rest of their software from another network device. The same issue arises for certain other hardware devices with no hard disks.

The process of starting up these devices is commonly called bootstrapping and occurs in two phases. First, the workstation is provided with an IP address and other parameters, through the use of a host configuration protocol such as BOOTP or DHCP. Second, the client downloads software, such as an operating system and drivers, that let it function on the network like any other device. This requires the ability to transfer files quickly and easily. The instructions to perform this bootstrapping must fit onto a read-only memory (ROM) chip and this makes the size of the software an important issue—again, especially many years ago.

The solution to this need was to create a “light” version of FTP that would emphasize small program size and simplicity over functionality. This new protocol, called the Trivial File Transfer Protocol (TFTP), was initially developed in the late 1970s, and first standardized in 1980. The modern version, called TFTP version 2, was documented in RFC 783 in 1981, which was revised and published as RFC 1350, The TFTP Protocol (Revision 2), in 1992. This is the current version of the standard.


Previous Topic/Section
Trivial File Transfer Protocol (TFTP)
Previous Page
Pages in Current Topic/Section
1
23
Next Page
TFTP General Operation, Connection Establishment and Client/Server Communication
Next Topic/Section

If you find The TCP/IP Guide useful, please consider making a small Paypal donation to help the site, using one of the buttons below. You can also donate a custom amount using the far right button (not less than $1 please, or PayPal gets most/all of your money!) In lieu of a larger donation, you may wish to consider purchasing a download license of The TCP/IP Guide. Thanks for your support!
Donate $2
Donate $5
Donate $10
Donate $20
Donate $30
Donate: $



Home - Table Of Contents - Contact Us

The TCP/IP Guide (http://www.TCPIPGuide.com)
Version 3.0 - Version Date: September 20, 2005

© Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved.
Not responsible for any loss resulting from the use of this site.