As per Relevance of the word specific, we have this rfc below:











Network Working Group G.
Request for Comments: 1782 Xylogics, Inc
Updates: 1350 A.
Category: Standards Track Hewlett Packard Co
March 1995


TFTP Option

Status of this

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



The Trivial File Transfer Protocol [1] is a simple, lock-step,
transfer protocol which allows a client to get or put a file onto
remote host. This document describes a simple extension to TFTP
allow option negotiation prior to the file transfer



The option negotiation mechanism proposed in this document is
backward-compatible extension to the TFTP protocol. It allows
transfer options to be negotiated prior to the transfer using
mechanism which is consistent with TFTPs Request Packet format.
mechanism is kept simple by enforcing a request-respond-
sequence, similar to the lock-step approach taken by TFTP itself

While the option negotiation mechanism is general purpose, in
many types of options may be negotiated, it was created to
the Blocksize option defined in [2]. Additional options are
in [3].

This document assumes reader familiarity with the TFTP
[1] and its terminology

Packet

TFTP options are appended to the Read Request and Write
packets. A new type of TFTP packet, the Option
(OACK), is used to acknowledge a client's option negotiation request
A new error code, 8, is hereby defined to indicate that a
should be terminated due to option negotiation



Malkin & Harkin [Page 1]

RFC 1782 TFTP Option Extension March 1995


Options are appended to a TFTP Read Request or Write Request
as follows

+-------+---~~---+---+---~~---+---+---~~---+---+---~~---+---+-->
| opc |filename| 0 | mode | 0 | opt1 | 0 | value1 | 0 | <
+-------+---~~---+---+---~~---+---+---~~---+---+---~~---+---+-->

>-------+---+---~~---+---+
< optN | 0 | valueN | 0 |
>-------+---+---~~---+---+

The "0"s shown in these illustrations and the ones below are
all zero octets, i.e., NULL terminators for the
fields


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


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


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

opt
The first option, in case-insensitive ASCII (e.g., "blksize").
This is a NULL-terminated ASCII field

value
The value associated with the first option, in case-
ASCII. This is a NULL-terminated field

optN,
The final option/value pair. Each NULL-terminated field
specified in case-insensitive ASCII

The options and values are all NULL-terminated, in keeping with
original request format. If multiple options are to be negotiated
they are appended to each other. The order in which options
specified is not significant. The maximum size of a request
is 512 octets







Malkin & Harkin [Page 2]

RFC 1782 TFTP Option Extension March 1995


The OACK packet has the following format

+-------+---~~---+---+---~~---+---+---~~---+---+---~~---+---+
| opc | opt1 | 0 | value1 | 0 | optN | 0 | valueN | 0 |
+-------+---~~---+---+---~~---+---+---~~---+---+---~~---+---+


The opcode field contains a 6, for Option Acknowledgment

opt
The first option acknowledgment, copied from the
request

value
The acknowledged value associated with the first option.
and how this value may differ from the original request
detailed in the specification for the option

optN,
The final option/value acknowledgment pair

Negotiation

The client appends options at the end of the Read Request or
request packet, as shown above. Any number of options may
specified; however, an option may only be specified once. The
of the options is not significant

If the server supports option negotiation, and it recognizes one
more of the options specified in the request packet, the server
respond with an Options Acknowledgment (OACK). Each option
server recognizes, and accepts the value for, is included in
OACK. Some options may allow alternate values to be proposed,
this is an option specific feature. The server must not include
the OACK any option which had not been specifically requested by
client; that is, only the client may initiate option negotiation
Options which the server does not support should be omitted from
OACK; they must not cause an ERROR packet to be generated. If
value of a supported option is invalid, the specification for
option will indicate whether the server should simply omit the
from the OACK, respond with an alternate value, or send an
packet, with error code 8, to terminate the transfer

An option not acknowledged by the server must be ignored by
client and server as if it were never requested. If multiple
were requested, the client must use those options which
acknowledged by the server and must not use those options which
not acknowledged by the server



Malkin & Harkin [Page 3]

RFC 1782 TFTP Option Extension March 1995


When the client appends options to the end of a Read Request packet
three possible responses may be returned by the server

OACK - acknowledge of Read Request and the options

DATA - acknowledge of Read Request, but not the options

ERROR - the request has been denied

When the client appends options to the end of a Write Request packet
three possible responses may be returned by the server

OACK - acknowledge of Write Request and the options

ACK - acknowledge of Write Request, but not the options

ERROR - the request has been denied

If a server implementation does not support option negotiation,
will likely ignore any options appended to the client's request.
this case, the server will return a DATA packet for a Read
and an ACK packet for a Write Request establishing normal TFTP
transfer. In the event that a server returns an error for a
which carries an option, the client may attempt to repeat the
without appending any options. This implementation option
handle servers which consider extraneous data in the request
to be erroneous

Depending on the original transfer request there are two ways for
client to confirm acceptance of a server's OACK. If the transfer
initiated with a Read Request, then an ACK (with the data
number set to 0) is sent by the client to confirm the values in
server's OACK packet. If the transfer was initiated with a
Request, then the client begins the transfer with the first
packet, using the negotiated values. If the client rejects the OACK
then it sends an ERROR packet, with error code 8, to the server
the transfer is terminated

Once a client acknowledges an OACK, with an appropriate non-
response, that client has agreed to use only the options and
returned by the server. Remember that the server cannot request
option; it can only respond to them. If the client receives an
containing an unrequested option, it should respond with an
packet, with error code 8, and terminate the transfer







Malkin & Harkin [Page 4]

RFC 1782 TFTP Option Extension March 1995




Read

client
-------------------------------------------------------
|1|foofile|0|octet|0|blksize|0|1432|0| -->
<-- |6|blksize|0|1432|0|
|4|0| -->
<-- |3|1| 1432 octets of data |
|4|1| -->
<-- |3|2| 1432 octets of data |
|4|2| -->
<-- |3|3|<1432 octets of data |
|4|3| -->

Write

client
-------------------------------------------------------
|2|barfile|0|octet|0|blksize|0|2048|0| -->
<-- |6|blksize|0|2048|0|
|3|1| 2048 octets of data | -->
<-- |4|1|
|3|2| 2048 octets of data | -->
<-- |4|2|
|3|3|<2048 octets of data | -->
<-- |4|3|

Security

Security issues are not discussed in this memo



[1] Sollins, K., "The TFTP Protocol (Revision 2)", STD 33, RFC 1350,
MIT, July 1992.

[2] Malkin, G., and A. Harkin, "TFTP Blocksize Option", RFC 1783,
Xylogics, Inc., Hewlett Packard Co., March 1995.

[3] Malkin, G., and A. Harkin, A., "TFTP Timeout Interval
Transfer Size Options", RFC 1784, Xylogics, Inc., Hewlett
Co., March 1995.







Malkin & Harkin [Page 5]

RFC 1782 TFTP Option Extension March 1995


Authors'

Gary Scott
Xylogics, Inc
53 Third
Burlington, MA 01803

Phone: (617) 272-8140
EMail: gmalkin@xylogics.


Art
Internet Services
Information Networks
19420 Homestead Road MS 43
Cupertino, CA 95014

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
































Malkin & Harkin [Page 6]








if you see any problems within the linking, don't worry be happy,
this is version 0.1 of the Relevance System and you gotta expect some crappy subroutines sometimes,
just be content we did not write this in Java, which would have made this "bigger and better" HAHAHHA.




RFC documents can be found at I.E.T.F.



Relevance System Copyright © 2002 Spectrum WorldResearch
other technical nosh by ServerMasters Corporation
collaboration of BobX







Spectrum