TFTP Message Formats
(Page 1 of 5)
Unlike FTP, all communication in TFTP is accomplished in the form of discrete messages that follow a particular message format. The reason why TFTP and FTP are so different in this regard is the different transport protocols they use. FTP uses TCP, which allows data to be streamed a byte at a time; FTP also makes use of a dedicated channel for commands. TFTP runs on UDP, which uses a conventional header/data formatting scheme.
The original TFTP standard defines five different types of messages: Read Request (RRQ), Write Request (WRQ), Data (DATA), Acknowledgment (ACK) and Error (ERROR). The TFTP option extension feature defines a sixth message: Option Acknowledgment (OACK). Of these six messages, the first two share the same message format. The others all have their own unique format. The only common field in every TFTP message is the Operation Code (Opcode), which tells the recipient of the message what type it is.
TFTP's message formats are different than those used for certain other protocols because many of the fields are variable in length. Usually, variable-length fields in messages are expressed using a preceding length field that specifies the length of the variable-sized field. Instead, TFTP sends such fields as strings of ASCII characters using netascii, the Telnet version of ASCII. The end of the string is marked by a zero byte. The exception to this is the data field in Data messages, the content of which depends on the transfer mode.
You will find below the details of each TFTP message type.
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.