rfc2349 - TFTP Timeout Interval and Transfer Size Options
Description: TFTP Timeout Interval and Transfer Size Options
Date: May 1998

Internet RFC/STD/FYI/BCP Archives

# RFC2349

[ Index | Search | What's New | Comments | Help ]

    Network Working Group                                          G. Malkin
    Request for Commments: 2349                                 Bay Networks
    Updates: 1350                                                  A. Harkin
    Obsoletes: 1784                                      Hewlett Packard Co.
    Category: Standards Track                                       May 1998

                TFTP Timeout Interval and Transfer Size Options

    Status of this Memo

       This document specifies an Internet standards track protocol for the
       Internet community, and requests discussion and suggestions for
       improvements.  Please refer to the current edition of the "Internet
       Official Protocol Standards" (STD 1) for the standardization state
       and status of this protocol.  Distribution of this memo is unlimited.

    Copyright Notice

       Copyright (C) The Internet Society (1998).  All Rights Reserved.

    Abstract

       The Trivial File Transfer Protocol [1] is a simple, lock-step, file
       transfer protocol which allows a client to get or put a file onto a
       remote host.

       This document describes two TFTP options. The first allows the client
       and server to negotiate the Timeout Interval.  The second allows the
       side receiving the file to determine the ultimate size of the
       transfer before it begins.  The TFTP Option Extension mechanism is
       described in [2].

    Timeout Interval Option Specification

       The TFTP Read Request or Write Request packet is modified to include
       the timeout option as follows:

          +-------+---~~---+---+---~~---+---+---~~---+---+---~~---+---+
          |  opc  |filename| 0 |  mode  | 0 | timeout| 0 |  #secs | 0 |
          +-------+---~~---+---+---~~---+---+---~~---+---+---~~---+---+

          opc
             The opcode field contains either a 1, for Read Requests, or 2,
             for Write Requests, as defined in [1].

          filename
             The name of the file to be read or written, as defined in [1].
             This is a NULL-terminated field.

          mode
             The mode of the file transfer: "netascii", "octet", or "mail",
             as defined in [1].  This is a NULL-terminated field.

          timeout
             The Timeout Interval option, "timeout" (case in-sensitive).
             This is a NULL-terminated field.

          #secs
             The number of seconds to wait before retransmitting, specified
             in ASCII.  Valid values range between "1" and "255" seconds,
             inclusive.  This is a NULL-terminated field.

       For example:

          +-------+--------+---+--------+---+--------+---+-------+---+
          |   1   | foobar | 0 | octet  | 0 | timeout| 0 |   1   | 0 |
          +-------+--------+---+--------+---+--------+---+-------+---+

       is a Read Request, for the file named "foobar", in octet (binary)
       transfer mode, with a timeout interval of 1 second.

       If the server is willing to accept the timeout option, it sends an
       Option Acknowledgment (OACK) to the client.  The specified timeout
       value must match the value specified by the client.

    Transfer Size Option Specification

       The TFTP Read Request or Write Request packet is modified to include
       the tsize option as follows:

          +-------+---~~---+---+---~~---+---+---~~---+---+---~~---+---+
          |  opc  |filename| 0 |  mode  | 0 | tsize  | 0 |  size  | 0 |
          +-------+---~~---+---+---~~---+---+---~~---+---+---~~---+---+

          opc
             The opcode field contains either a 1, for Read Requests, or 2,
             for Write Requests, as defined in [1].

          filename
             The name of the file to be read or written, as defined in [1].
             This is a NULL-terminated field.

          mode
             The mode of the file transfer: "netascii", "octet", or "mail",
             as defined in [1].  This is a NULL-terminated field.

          tsize
             The Transfer Size option, "tsize" (case in-sensitive).  This is
             a NULL-terminated field.

          size
             The size of the file to be transfered.  This is a NULL-
             terminated field.

       For example:

          +-------+--------+---+--------+---+--------+---+--------+---+
          |   2   | foobar | 0 | octet  | 0 | tsize  | 0 | 673312 | 0 |
          +-------+--------+---+--------+---+--------+---+--------+---+

       is a Write Request, with the 673312-octet file named "foobar", in
       octet (binary) transfer mode.

       In Read Request packets, a size of "0" is specified in the request
       and the size of the file, in octets, is returned in the OACK.  If the
       file is too large for the client to handle, it may abort the transfer
       with an Error packet (error code 3).  In Write Request packets, the
       size of the file, in octets, is specified in the request and echoed
       back in the OACK.  If the file is too large for the server to handle,
       it may abort the transfer with an Error packet (error code 3).

    Security Considerations

       The basic TFTP protocol has no security mechanism.  This is why it
       has no rename, delete, or file overwrite capabilities.  This document
       does not add any security to TFTP; however, the specified extensions
       do not add any additional security risks.

    References

       [1] Sollins, K., "The TFTP Protocol (Revision 2)", STD 33, RFC 1350,
           October 92.

       [2] Malkin, G., and A. Harkin, "TFTP Option Extension", RFC 2347,
           May 1998.

    Authors' Addresses

       Gary Scott Malkin
       Bay Networks
       8 Federal Street
       Billerica, MA  01821

       Phone:  (978) 916-4237
       EMail:  gmalkin@baynetworks.com

       Art Harkin
       Internet Services Project
       Information Networks Division
       19420 Homestead Road MS 43LN
       Cupertino, CA  95014

       Phone: (408) 447-3755
       EMail: ash@cup.hp.com

    Full Copyright Statement

       Copyright (C) The Internet Society (1998).  All Rights Reserved.

       This document and translations of it may be copied and furnished to
       others, and derivative works that comment on or otherwise explain it
       or assist in its implementation may be prepared, copied, published
       and distributed, in whole or in part, without restriction of any
       kind, provided that the above copyright notice and this paragraph are
       included on all such copies and derivative works.  However, this
       document itself may not be modified in any way, such as by removing
       the copyright notice or references to the Internet Society or other
       Internet organizations, except as needed for the purpose of
       developing Internet standards in which case the procedures for
       copyrights defined in the Internet Standards process must be
       followed, or as required to translate it into languages other than
       English.

       The limited permissions granted above are perpetual and will not be
       revoked by the Internet Society or its successors or assigns.

       This document and the information contained herein is provided on an
       "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
       TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
       BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
       HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
       MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

[ Index | Search | What's New | Comments | Help ]