idnits 2.17.1 draft-perkins-float-00.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 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 6 months document validity. ** 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 Abstract section. ** The document seems to lack a Security Considerations 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 an Authors' Addresses Section. ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. Miscellaneous warnings: ---------------------------------------------------------------------------- -- 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 (June 8, 1997) is 9817 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Looks like a reference, but probably isn't: 'APPLICATION 8' on line 115 -- Looks like a reference, but probably isn't: 'APPLICATION 9' on line 127 == Missing Reference: '120' is mentioned on line 141, but not defined == Missing Reference: '121' is mentioned on line 166, but not defined == Unused Reference: '14' is defined on line 235, but no explicit reference was found in the text ** Downref: Normative reference to an Informational RFC: RFC 1215 (ref. '3') ** Obsolete normative reference: RFC 1902 (ref. '4') (Obsoleted by RFC 2578) ** Obsolete normative reference: RFC 1903 (ref. '5') (Obsoleted by RFC 2579) ** Obsolete normative reference: RFC 1904 (ref. '6') (Obsoleted by RFC 2580) ** Downref: Normative reference to an Historic RFC: RFC 1157 (ref. '7') ** Obsolete normative reference: RFC 1905 (ref. '8') (Obsoleted by RFC 3416) ** Obsolete normative reference: RFC 1906 (ref. '9') (Obsoleted by RFC 3417) -- Possible downref: Non-RFC (?) normative reference: ref. '10' -- Possible downref: Non-RFC (?) normative reference: ref. '11' -- Possible downref: Non-RFC (?) normative reference: ref. '12' ** Obsolete normative reference: RFC 1832 (ref. '13') (Obsoleted by RFC 4506) -- Possible downref: Non-RFC (?) normative reference: ref. '14' Summary: 19 errors (**), 0 flaws (~~), 4 warnings (==), 8 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 INTERNET-DRAFT Expires December 1997 INTERNET-DRAFT 3 Draft Floating-Point in SNMP June 8, 1997 5 Support for Floating-Point 6 in SNMP 8 10 June 8, 1997 12 David T. Perkins 13 dperkins@snmpinfo.com 15 1. Status of this Memo 17 This document is an Internet Draft. Internet Drafts are working 18 documents of the Internet Engineering Task Force (IETF), its Areas, 19 and its Working Groups. Note that other groups may also distribute 20 working documents as Internet Drafts. 22 Internet Drafts are draft documents valid for a maximum of six 23 months. Internet Drafts may be updated, replaced, or obsoleted by 24 other documents at any time. It is not appropriate to use Internet 25 Drafts as reference material or to cite them other than as a 26 "working draft" or "work in progress." 28 To learn the current status of any Internet-Draft, please check the 29 "1id-abstracts.txt" listing contained in the internet-drafts Shadow 30 Directories on: 32 ftp.is.co.za (Africa) 33 nic.nordu.net (Europe) 34 ds.internic.net (US East Coast) 35 ftp.isi.edu (US West Coast) 36 munnari.oz.au (Pacific Rim) 37 Draft Floating-Point in SNMP June 8, 1997 39 2. Introduction 41 This memo is informational. It specifies an approach to add floating- 42 point types to versions 1 and 2 of the SNMP SMI[1][2][3][4][5][6], and 43 versions 1 and 2 of the SNMP protocol[7][8][9] without changes. Thus, 44 this addition requires no modifications to existing SNMP MIB compilers, 45 and no changes to existing SNMP protocol engines used in SNMP agents and 46 SNMP management applications. 48 This memo does not specify a standard for the Internet community. 50 3. Background 52 The SNMP protocol and SMI is based on elements from ASN.1[10] and 53 BER[11]. The SMI allows use of only a few ASN.1 base types plus a few 54 SNMP application specific types. Support for floating-point types is 55 not currently found in SNMP. This is primarily due to two factors. The 56 first was the focus during the original development of SNMP to keep SNMP 57 simple and use it for managing computer network devices using the 58 Internet protocol suite. The second factor was the problems with the 59 support for floating-point types as it is defined in ASN.1. 61 SNMP has been found to be useful for purposes other than those for which 62 it was originally developed. However, some of the limitations in SNMP 63 have restricted its continuing growth. Lack of support for floating- 64 point types has been a problem in some areas. The first example is in 65 mid-level managers that gather and process management information from 66 many sources. The processing includes computing values for mathematical 67 formulas that require floating-point arithmetic. Mid-level managers 68 typically execute on general purpose computers with built-in support for 69 floating point. Thus, supporting floating-point types is not a burden 70 for them. A second area is using SNMP in equipment that require 71 floating point support as part of its normal operation. Examples 72 include heating-cooling systems of large buildings, water and electrical 73 supply systems for cities, and chemical processing plants. 75 There is a floating-point type in ASN.1. It is called REAL. It is 76 quite complex and allows many options. Also, it does not trivially map 77 to the internal floating-point supported in contemporary computers. On 78 the other hand, the format of floating-point values specified in "IEEE 79 Standard for Binary Floating-Point," ANSI/IEEE Std 754-1985[12] has 80 become widely used. The two standard IEEE encodings of floating-point 81 values are quite different from that specified for the REAL type in the 82 ASN.1 and the BER specifications. Thus, translation between the IEEE 83 encoding formats (used internally in computers) and the BER encoding 84 format (to transmit values) has no value. However, the translation does 85 have the following costs: execution cost; the cost to develop and test 86 the code to perform the translation; and the cost to educate users and 87 developers about a format that has no other application. Thus, a 88 trivial serialization of the IEEE encodings for floating-point values is 89 Draft Floating-Point in SNMP June 8, 1997 91 needed. Note that IEEE encodings are used in XDR defined in RFC 92 1832[13]. 94 4. Floating-Point Types 96 Four floating-point types are defined in "IEEE Standard for Binary 97 Floating-Point." These types are "single," "extended single," "double," 98 and "extended double." Only the single and double formats, which are 99 called "float" and "double" in this memo, are to be used in SNMP. 100 Section 5.1.2 of "The Domestication of the Opaque Type for SNMP"[14] 101 requires that a new base type be identified and a textual convention be 102 defined for each new "wrapped" type. Shown below are the definitions 103 for these types and corresponding textual conventions. 105 -- A floating-point value encoded according to that specified 106 -- in "IEEE Standard for Binary Floating-Point," 107 -- ANSI/IEEE Std 754-1985 for the "single" type. 108 -- The first octet in the string contains the "sign bit" and 109 -- the first 7 of the 8 bits of the biased exponent. (The sign 110 -- bit is the most significant bit of the octet.) The eighth 111 -- bit of the biased exponent and the 23 bits of the fraction 112 -- are contained in second through fourth octets. The 113 -- floating-point values have identical semantics to those 114 -- defined in the ANSI/IEEE document. 115 FloatType ::= [APPLICATION 8] IMPLICIT OCTET STRING (SIZE(4)) 117 -- A floating-point value encoded according to that specified 118 -- in "IEEE Standard for Binary Floating-Point," 119 -- ANSI/IEEE Std 754-1985 for the "double" type. 120 -- The first octet in the string contains the "sign bit" and 121 -- the first 7 of the 11 bits of the biased exponent. (The sign 122 -- bit is the most significant bit of the octet.) The eighth 123 -- through eleventh bits of the biased exponent and the 52 124 -- bits of the fraction are contained in second through eighth 125 -- octets. The floating-point values have identical semantics 126 -- to those defined in the ANSI/IEEE document. 127 DoubleType ::= [APPLICATION 9] IMPLICIT OCTET STRING (SIZE(8)) 129 Float TEXTUAL-CONVENTION 130 STATUS current 131 DESCRIPTION 132 "A single precision floating-point number. The semantics 133 and encoding are identical for type 'single' defined in 134 IEEE Standard for Binary Floating-Point, 135 ANSI/IEEE Std 754-1985. 137 Draft Floating-Point in SNMP June 8, 1997 139 The value is restricted to the BER serialization of 140 the following ASN.1 type: 141 FLOATTYPE ::= [120] IMPLICIT FloatType 142 (note: the value 120 is the sum of '30'h and '48'h) 143 The BER serialization of the length for values of 144 this type must use the definite length, short 145 encoding form. 147 For example, the BER serialization of value 123 148 of type FLOATTYPE is '9f780442f60000'h. (The tag 149 is '9f78'h; the length is '04'h; and the value is 150 '42f60000'h.) The BER serialization of value 151 '9f780442f60000'h of data type Opaque is 152 '44079f780442f60000'h. (The tag is '44'h; the length 153 is '07'h; and the value is '9f780442f60000'h." 154 SYNTAX Opaque (SIZE(7)) 156 Double TEXTUAL-CONVENTION 157 STATUS current 158 DESCRIPTION 159 "A double precision floating-point number. The semantics 160 and encoding are identical for type 'double' defined in 161 IEEE Standard for Binary Floating-Point, 162 ANSI/IEEE Std 754-1985. 164 The value is restricted to the BER serialization of 165 the following ASN.1 type: 166 DOUBLETYPE ::= [121] IMPLICIT DoubleType 167 (note: the value 121 is the sum of '30'h and '49'h) 168 The BER serialization of the length for values of 169 this type must use the definite length, short 170 encoding form. 172 For example, the BER serialization of value 123 173 of type DOUBLETYPE is '9f7908405ec00000000000'h. 174 (The tag is '9f79'h; the length is '08'h; and the 175 value is '405ec00000000000'h.) The BER serialization 176 of value '9f7908405ec00000000000'h of data type Opaque 177 is '440b9f7908405ec00000000000'h. (The tag is '44'h; 178 the length is '07'h; and the value is 179 '9f7908405ec00000000000'h.)" 180 SYNTAX Opaque (SIZE(11)) 182 6. References 184 [1] K. McCloghrie, M. Rose, "Structure and Identification of Management 185 Information for TCP/IP-based Internets", RFC 1155, 05/10/1990. 187 Draft Floating-Point in SNMP June 8, 1997 189 [2] K. McCloghrie, M. Rose, "Concise MIB Definitions", RFC 1212, 190 03/26/1991. 192 [3] M. Rose, "A Convention for Defining Traps for use with the SNMP", 193 RFC 1215, 03/27/1991. 195 [4] J. Case, K. McCloghrie, M. Rose, S. Waldbusser, "Structure of 196 Management Information for Version 2 of the Simple Network 197 Management Protocol (SNMPv2)", RFC 1902, 01/22/1996. 199 [5] J. Case, K. McCloghrie, M. Rose, S. Waldbusser, "Textual 200 Conventions for Version 2 of the Simple Network Management Protocol 201 (SNMPv2)", RFC 1903, 01/22/1996. 203 [6] J. Case, K. McCloghrie, M. Rose, S. Waldbusser, "Conformance 204 Statements for Version 2 of the Simple Network Management Protocol 205 (SNMPv2)", RFC 1904, 01/22/1996. 207 [7] M. Schoffstall, M. Fedor, J. Davin, J. Case, "A Simple Network 208 Management Protocol (SNMP)", RFC 1157, 05/10/1990. 210 [8] J. Case, K. McCloghrie, M. Rose, S. Waldbusser, "Protocol 211 Operations for Version 2 of the Simple Network Management Protocol 212 (SNMPv2)", RFC 1905, 01/22/1996. 214 [9] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and 215 S. Waldbusser, "Transport Mappings for Version 2 of the Simple 216 Network Management Protocol (SNMPv2)", RFC 1906, 01/22/1996. 218 [10] Information processing systems - Open Systems Interconnection - 219 Specification of Abstract Syntax Notation One (ASN.1), 220 International Organization for Standardization. International 221 Standard 8824, (December, 1987). 223 [11] Information processing systems - Open Systems Interconnection - 224 Specification of Basic Encoding Rules for Abstract Syntax Notation 225 One (ASN.1), International Organization for Standardization. 226 International Standard 8825, (December, 1987). 228 [12] "IEEE Standard for Binary Floating-Point Arithmetic", ANSI/IEEE 229 Standard 754-1985, Institute of Electrical and Electronics 230 Engineers, August 1985. 232 [13] R. Srinivasan, "XDR: External Data Representation Standard", 233 RFC 1832, 08/09/1995. 235 [14] Perkins, D., "Domestication of the Opaque Type for SNMP", 236 Internet-draft (Replace with reference 237 to RFC).