TFTP Options and Option Negotiation
(Page 1 of 4)
One of the difficulties that designers of simple protocols and applications seem to have is keeping them simple. Many protocols start out small but over time, well-intentioned users suggest improvements that are added slowly but surely. Eventually, the program that was once lean and mean has become, well, shall we say, well-marbled. J In the software industry, this is called feature creep and it has happened to many protocols and applications.
The temptation to add features is especially strong when the program or protocol has few to begin with. Given this, the maintainers of the TFTP protocol have done a good job over the years of avoiding this pitfall. However, they did allow one new feature to be added to the protocol in 1995: the TFTP Option Extension, which describes how a TFTP client and server can negotiate options before transferring a file.
The reason for adding this capability is that the original TFTP protocol provided no way at all for the client and server to exchange important control information prior to sending a file. This limited the flexibility of the protocol to deal with special cases, such as the transfer of data over unusual network types. The TFTP option negotiation feature allows additional parameters to be exchanged between the client and server which govern how data is transferred. It does this without significantly complicating the protocol, and is backward-compatible with normal TFTP. It is only used if both client and server support it, and one device trying to use the feature will not cause problems if the other doesn't support it.
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.