Connected: An Internet Encyclopedia
RFC 1350 - I. Appendix

Top: Connected: An Internet Encyclopedia
Up: Requests For Comments
Up: RFC 1350
Prev: 7. Premature Termination
Next: References

### I. Appendix

#### Order of Headers

                                                      2 bytes
        ----------------------------------------------------------
       |  Local Medium  |  Internet  |  Datagram  |  TFTP Opcode  |
        ----------------------------------------------------------

#### TFTP Formats

       Type   Op #     Format without header

              2 bytes    string   1 byte     string   1 byte
              -----------------------------------------------
       RRQ/  | 01/02 |  Filename  |   0  |    Mode    |   0  |
       WRQ    -----------------------------------------------
              2 bytes    2 bytes       n bytes
              ---------------------------------
       DATA  | 03    |   Block #  |    Data    |
              ---------------------------------
              2 bytes    2 bytes
              -------------------
       ACK   | 04    |   Block #  |
              --------------------
              2 bytes  2 bytes        string    1 byte
              ----------------------------------------
       ERROR | 05    |  ErrorCode |   ErrMsg   |   0  |
              ----------------------------------------

#### Initial Connection Protocol for reading a file

1. Host A sends a "RRQ" to host B with source= A's TID, destination= 69.

2. Host B sends a "DATA" (with block number= 1) to host A with source= B's TID, destination= A's TID.

#### Error Codes

       Value     Meaning

       0         Not defined, see error message (if any).
       1         File not found.
       2         Access violation.
       3         Disk full or allocation exceeded.
       4         Illegal TFTP operation.
       5         Unknown transfer ID.
       6         File already exists.
       7         No such user.

#### Internet User Datagram Header [2]

(This has been included only for convenience. TFTP need not be implemented on top of the Internet User Datagram Protocol.)

         Format

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |          Source Port          |       Destination Port        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |            Length             |           Checksum            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

#### Values of Fields

Source Port

  Picked by originator of packet.

Dest. Port

  Picked by destination machine (69 for RRQ or WRQ).

Length

  Number of bytes in UDP packet, including UDP header.

Checksum

  Reference 2 describes rules for computing checksum. (The implementor of this should be sure that the correct algorithm is used here.) Field contains zero if unused.

Note: TFTP passes transfer identifiers (TID's) to the Internet User Datagram protocol to be used as the source and destination ports.

Next: References

Connected: An Internet Encyclopedia
RFC 1350 - I. Appendix