idnits 2.17.1 draft-ietf-tftpexts-blksize-opt-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Cannot find the required boilerplate sections (Copyright, IPR, etc.) in this document. Expected boilerplate is as follows today (2024-04-24) according to https://trustee.ietf.org/license-info : IETF Trust Legal Provisions of 28-dec-2009, Section 6.a: This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. IETF Trust Legal Provisions of 28-dec-2009, Section 6.b(i), paragraph 2: Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved. IETF Trust Legal Provisions of 28-dec-2009, Section 6.b(i), paragraph 3: This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** Missing document type: Expected "INTERNET-DRAFT" in the upper left hand corner of the first page ** Missing expiration date. The document expiration date should appear on the first and last page. ** The document seems to lack a 1id_guidelines paragraph about Internet-Drafts being working documents. ** The document seems to lack a 1id_guidelines paragraph about the list of current Internet-Drafts. ** The document seems to lack a 1id_guidelines paragraph about the list of Shadow Directories. == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an Introduction section. ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. ** The abstract seems to contain references ([2], [1]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. Miscellaneous warnings: ---------------------------------------------------------------------------- == Line 113 has weird spacing: '...ocksize n-ti...' -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (October 1994) is 10784 days in the past. Is this intentional? -- Found something which looks like a code comment -- if you have code sections in the document, please surround them with '' and '' lines. Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- No information found for draft-malkin-tftp-options - is the name correct? -- Possible downref: Normative reference to a draft: ref. '2' Summary: 10 errors (**), 0 flaws (~~), 2 warnings (==), 5 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 draft-ietf-tftpexts-blksize-opt-01.txt G. Malkin / Xylogics, Inc. 2 TFTP Blocksize Option A. Harkin / Hewlett Packard Co. 3 October 1994 5 TFTP Blocksize Option 7 Abstract 9 The Trivial File Transfer Protocol [1] is a simple, lock-step, file 10 transfer protocol which allows a client to get or put a file onto a 11 remote host. One of its primary uses is the booting of diskless 12 nodes on a Local Area Network. TFTP is used because it is very 13 simple to implement in a small node's limited ROM space. However, 14 the choice of a 512-byte blocksize is not the most efficient for use 15 on a LAN whose MTU may 1500 bytes or greater. 17 This document describes a TFTP option which allows the client and 18 server to negotiate a blocksize more applicable to the network 19 medium. The TFTP Option Extension mechanism is described in [2]. 21 Status of this Memo 23 This document is an Internet-Draft. Internet-Drafts are working 24 documents of the Internet Engineering Task Force (IETF), its areas, 25 and its working groups. Note that other groups may also distribute 26 working documents as Internet-Drafts. 28 Internet-Drafts are draft documents valid for a maximum of six months 29 and may be updated, replaced, or obsoleted by other documents at any 30 time. It is inappropriate to use Internet-Drafts as reference 31 material or to cite them other than as "work in progress." 33 To learn the current status of any Internet-Draft, please check the 34 "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow 35 Directories on ds.internic.net (US East Coast), nic.nordu.net 36 (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific 37 Rim). 39 Blocksize Option Specification 41 The TFTP Read Request or Write Request packet is modified to include 42 the blocksize option as follows: 44 +-------+---~~---+---+---~~---+---+---~~---+---+---~~---+---+ 45 | opc |filename| 0 | mode | 0 | blksize| 0 | #octets| 0 | 46 +-------+---~~---+---+---~~---+---+---~~---+---+---~~---+---+ 48 opc 49 The opcode field contains either a 1, for Read Requests, or 2, 50 for Write Requests, as defined in [1]. 52 filename 53 The name of the file to be read or written, as defined in [1]. 54 This is a NULL-terminated field. 56 mode 57 The mode of the file transfer: "netascii", "octet", or "mail", 58 as defined in [1]. This is a NULL-terminated field. 60 blksize 61 The Blocksize option, "blksize" (case in-sensitive). This is a 62 NULL-terminated field. 64 #octets 65 The number of octets in a block, specified in ASCII. Valid 66 values range between "8" and "65464" octets, inclusive. This 67 is a NULL-terminated field. 69 For example: 71 +-------+--------+---+--------+---+--------+---+--------+---+ 72 | 1 | foobar | 0 | binary | 0 | blksize| 0 | 1432 | 0 | 73 +-------+--------+---+--------+---+--------+---+--------+---+ 75 is a Read Request, for the file named "foobar", in binary transfer 76 mode, with a block size of 1432 bytes (Ethernet MTU, less the UDP and 77 IP header lengths). 79 If the server is willing to accept the blocksize option, it sends an 80 Option Acknowledgment (OACK) to the client. The specified value must 81 be less than or equal to the value specified by the client. The 82 client must then either use the size specified in the OACK, or send 83 an ERROR packet, with error code 8, to terminate the transfer. 85 The rules for determining the final packet are unchanged from [1]. 86 The reception of a data packet with a data length less than the 87 negotiated blocksize is the final packet. If the blocksize is 88 greater than the size of the packet, the first packet is the final 89 packet. If amount of data to be transfered is an integral multiple 90 of the blocksize, an extra data packet containing no data is sent to 91 end the transfer. 93 Proof of Concept 95 Performance tests were run on the prototype implementation using a 96 variety of block sizes. The tests were run on a lightly loaded 97 Ethernet, between two HP-UX 9000, in "octet" mode, on 2.25MB files. 98 The average (5x) transfer times for paths with (g-time) and without 99 (n-time) a intermediate gateway are graphed as follows: 101 | 102 37 + g 103 | 104 35 + 105 | 106 33 + 107 | 108 31 + 109 | 110 29 + 111 | 112 27 + 113 | g blocksize n-time g-time 114 25 + --------- ------ ------ 115 s | n 512 23.85 37.05 116 e 23 + g 1024 16.15 25.65 117 c | 1432 13.70 23.10 118 o 21 + 2048 10.90 16.90 119 n | 4096 6.85 9.65 120 d 19 + 8192 4.90 6.15 121 s | 122 17 + g 123 | n 124 15 + 125 | n 126 13 + 127 | 128 11 + n 129 | g 130 9 + 131 | 132 7 + n 133 | g 134 5 + n 135 " 136 0 +------+------+--+---+------+------+--- 137 512 1K | 2K 4K 8K 138 1432 139 blocksize (bytes) 141 The comparisons between transfer times (without a gateway) between 142 the standard 512-byte blocksize and the negotiated blocksizes are: 144 1024 2x -32% 145 1432 2.8x -42% 146 2048 4x -54% 147 4096 8x -71% 148 8192 16x -80% 150 As was anticipated, the transfer time decreases with an increase in 151 blocksize. The reason for the reduction in time is the reduction in 152 the number of packets sent. For example, by increasing the blocksize 153 from 512 bytes to 1024 bytes, not only are the number of data packets 154 halved, but the number of acknowledgement packets is also halved 155 (along with the number of times the data transmitter must wait for an 156 ACK). A secondary effect is the efficiency gained by reducing the 157 per-packet framing and processing overhead. 159 Of course, if the blocksize exceeds the path MTU, IP fragmentation 160 and reassembly will begin to add more overhead. This will be more 161 noticable the greater the number of gateways in the path. 163 Security Considerations 165 Security issues are not discussed in this memo. 167 References 169 [1] Sollins, K., "The TFTP Protocol (Revision 2)", Request for 170 Comments 1350 (STD 33), October 1992. 172 [2] Malkin, G., Harkin, A., "TFTP Option Extension", Internet Draft, 173 draft-malkin-tftp-options-01.txt, September 1994. 175 Authors' Addresses 177 Gary Scott Malkin 178 Xylogics, Inc. 179 53 Third Avenue 180 Burlington, MA 01803 182 Phone: (617) 272-8140 183 EMail: gmalkin@xylogics.com 184 Art Harkin 185 Internet Services Project 186 Information Networks Division 187 19420 Homestead Road MS 43LN 188 Cupertino, CA 95014 190 Phone: (408) 447-3755 191 EMail: ash@cup.hp.com