idnits 2.17.1 draft-presuhn-floats-04.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (December 13, 2010) is 4882 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) -- Possible downref: Non-RFC (?) normative reference: ref. 'IEEE.754.2008' Summary: 0 errors (**), 0 flaws (~~), 1 warning (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group R. Presuhn 3 Internet-Draft None 4 Intended status: Standards Track December 13, 2010 5 Expires: June 16, 2011 7 Textual Conventions for the Representation of Floating-Point Numbers 8 draft-presuhn-floats-04.txt 10 Abstract 12 This memo defines a Management Information Base (MIB) module 13 containing textual conventions (TCs) to represent floating-point 14 numbers. 16 Status of this Memo 18 This Internet-Draft is submitted in full conformance with the 19 provisions of BCP 78 and BCP 79. 21 Internet-Drafts are working documents of the Internet Engineering 22 Task Force (IETF). Note that other groups may also distribute 23 working documents as Internet-Drafts. The list of current Internet- 24 Drafts is at http://datatracker.ietf.org/drafts/current/. 26 Internet-Drafts are draft documents valid for a maximum of six months 27 and may be updated, replaced, or obsoleted by other documents at any 28 time. It is inappropriate to use Internet-Drafts as reference 29 material or to cite them other than as "work in progress." 31 This Internet-Draft will expire on June 16, 2011. 33 Copyright Notice 35 Copyright (c) 2010 IETF Trust and the persons identified as the 36 document authors. All rights reserved. 38 This document is subject to BCP 78 and the IETF Trust's Legal 39 Provisions Relating to IETF Documents 40 (http://trustee.ietf.org/license-info) in effect on the date of 41 publication of this document. Please review these documents 42 carefully, as they describe your rights and restrictions with respect 43 to this document. Code Components extracted from this document must 44 include Simplified BSD License text as described in Section 4.e of 45 the Trust Legal Provisions and are provided without warranty as 46 described in the Simplified BSD License. 48 Table of Contents 50 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 51 2. The Internet-Standard Management Framework . . . . . . . . . . 3 52 3. Applicability . . . . . . . . . . . . . . . . . . . . . . . . . 3 53 4. Structure of the MIB Module . . . . . . . . . . . . . . . . . . 4 54 4.1. MIB modules required for IMPORTS . . . . . . . . . . . . . 4 55 4.2. Documents required for REFERENCE clauses . . . . . . . . . 5 56 5. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . 5 57 6. Security Considerations . . . . . . . . . . . . . . . . . . . . 6 58 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6 59 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 7 60 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7 61 9.1. Normative References . . . . . . . . . . . . . . . . . . . 7 62 9.2. Informative References . . . . . . . . . . . . . . . . . . 8 63 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 8 65 1. Introduction 67 This memo defines textual conventions for the representation of 68 floating-point numbers. All of these definitions are in terms of the 69 IEEE Standard for Floating-Point Arithmetic, IEEE 754-2008 70 [IEEE.754.2008]. 72 The IEEE Standard for Floating-Point Arithmetic, IEEE 754-2008 73 [IEEE.754.2008], provides for a variety of interchange formats for 74 floating point numbers. The need for three of these, namely 76 o 32-bit, 78 o 64-bit, 80 o 128-bit, 82 has been recognized in network management. For example, Section 83 4.2.3 of the SMIng Objectives [RFC3216] elaborates the need for these 84 three floating-point data types in network management protocols. 86 The selection of a floating-point format involves many considerations 87 and trade-offs. For an introduction to the fundamentals of floating- 88 point representations see chapter 4 of [KNUTH], and for a a 89 discussion of these issues specifically with respect to the IEEE 90 formats, see [GOLDBERG]. 92 2. The Internet-Standard Management Framework 94 For a detailed overview of the documents that describe the current 95 Internet-Standard Management Framework, please refer to section 7 of 96 RFC 3410 [RFC3410]. 98 Managed objects are accessed via a virtual information store, termed 99 the Management Information Base or MIB. MIB objects are generally 100 accessed through the Simple Network Management Protocol (SNMP). 101 Objects in the MIB are defined using the mechanisms defined in the 102 Structure of Management Information (SMI). This memo specifies a MIB 103 module that is compliant to the SMIv2, which is described in STD 58, 104 RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580 105 [RFC2580]. 107 3. Applicability 109 The following list highlights some of the issues MIB designers need 110 to consider when deciding whether to employ these textual 111 conventions: 113 o Floating point numbers are useful if the number space needs to 114 cover a large dynamic range. For number spaces with a limited 115 range, fixed point numbers can be more efficient and more precise. 117 o Floating point numbers are typically the wrong answer for data 118 that is truly decimal or can be handled adequately by re-thinking 119 the units and representing the scaled numbers as integers. 121 o The SNMP "lexicographical" ordering for INDEX objects using these 122 floating point textual conventions will simply be that of the 123 octet strings corresponding to the floating point representations, 124 which will not always reflect the numerical ordering of the 125 corresponding floating point values. Even if MIB designers take 126 this into account, users might still find the results of a MIB 127 "walk" surprising. Consequently, it is suggested that whenever 128 one of these textual conventions is used for an INDEX object, that 129 the DESCRIPTION clause should provide some warning. 131 o Embedded systems sometimes lack floating point support, which can 132 complicate the implementation of MIB objects using floating point 133 numbers. 135 o In choosing from among the types defined in this memo, MIB 136 designers need to consider both the range and the precision 137 needed, as well as recognize that it could be inefficient to use, 138 for example, Float128TC when Float64TC would do. 140 o Since these textual conventions are defined in terms of the OCTET 141 STRING type, the SMI's mechanisms for formally setting range 142 constraints are not available. MIB designers using these textual 143 conventions will need to use DESCRIPTION clauses to spell out any 144 applicable range constraints beyond those implied by the 145 underlying IEEE types. 147 4. Structure of the MIB Module 149 This MIB module defines three textual conventions. It defines no MIB 150 objects. 152 4.1. MIB modules required for IMPORTS 154 This MIB module employs definitions from [RFC2578] and [RFC2579]. 156 4.2. Documents required for REFERENCE clauses 158 This MIB module contains REFERENCE clauses making reference to IEEE 159 754-2008 [IEEE.754.2008]. 161 5. Definitions 163 FLOAT-TC-MIB DEFINITIONS ::= BEGIN 165 IMPORTS 166 MODULE-IDENTITY, 167 mib-2 FROM SNMPv2-SMI 168 TEXTUAL-CONVENTION FROM SNMPv2-TC; 170 floatTcMIB MODULE-IDENTITY 171 LAST-UPDATED "201012130000Z" -- December 13, 2010 172 ORGANIZATION "None" 173 CONTACT-INFO "Randy Presuhn 174 Email: randy_presuhn@mindspring.com" 176 DESCRIPTION "Textual conventions for the representation 177 of floating-point numbers. 179 Copyright (c) 2010 IETF Trust and the persons 180 identified as the document authors. All rights 181 reserved. 183 Redistribution and use in source and binary forms, 184 with or without modification, is permitted pursuant 185 to, and subject to the license terms contained in, 186 the Simplified BSD License set forth in Section 187 4.c of the IETF Trust's Legal Provisions Relating 188 to IETF Documents 189 (http://trustee.ietf.org/license-info). 191 This version of this MIB module is part of RFC XXXX; 192 see the RFC itself for full legal notices." 194 REVISION "201012130000Z" 195 DESCRIPTION "Initial version, published as RFC XXXX." 196 ::= { mib-2 XXX } 197 -- RFC Ed.: replace XXX with IANA-assigned number & remove this note 198 -- RFC Ed.: replace XXXX with the RFC number & remove this note 200 Float32TC ::= TEXTUAL-CONVENTION 201 STATUS current 202 DESCRIPTION "This type represents a 32-bit (4-octet) IEEE 203 floating-point number in binary interchange format." 204 REFERENCE "IEEE Standard for Binary Floating-Point Arithmetic, 205 Standard 754-2008" 206 SYNTAX OCTET STRING (SIZE(4)) 208 Float64TC ::= TEXTUAL-CONVENTION 209 STATUS current 210 DESCRIPTION "This type represents a 64-bit (8-octet) IEEE 211 floating-point number in binary interchange format." 212 REFERENCE "IEEE Standard for Binary Floating-Point Arithmetic, 213 Standard 754-2008" 214 SYNTAX OCTET STRING (SIZE(8)) 216 Float128TC ::= TEXTUAL-CONVENTION 217 STATUS current 218 DESCRIPTION "This type represents a 128-bit (16-octet) IEEE 219 floating-point number in binary interchange format." 220 REFERENCE "IEEE Standard for Binary Floating-Point Arithmetic, 221 Standard 754-2008" 222 SYNTAX OCTET STRING (SIZE(16)) 224 END 226 6. Security Considerations 228 This module does not define any management objects. Instead, it 229 defines a set of textual conventions that can be used by other MIB 230 modules to define management objects. 232 Meaningful security considerations can only be written in the MIB 233 modules that define management objects. Therefore, this memo has no 234 impact on the security of the Internet. 236 7. IANA Considerations 238 The MIB module in this document uses the following IANA-assigned 239 OBJECT IDENTIFIER value recorded in the SMI Numbers registry: 241 Descriptor OBJECT IDENTIFIER value 242 ---------- ----------------------- 243 floatTcMIB { mib-2 XXX } 245 Editor's Note (to be removed prior to publication): the IANA is 246 requested to assign a value for "XXX" under the 'mib-2' subtree and 247 to record the assignment in the SMI Numbers registry. When the 248 assignment has been made, the RFC Editor is asked to replace "XXX" 249 (here and in the MIB module) with the assigned value and to remove 250 this note. 252 8. Contributors 254 The following people provided helpful comments during the development 255 of this document: 257 o Andy Bierman 259 o Martin Duerst 261 o Alfred Hoenes 263 o Juergen Quittek 265 o Juergen Schoenwaeder 267 o Robert Story 269 9. References 271 9.1. Normative References 273 [IEEE.754.2008] 274 Institute of Electrical and Electronics Engineers, 275 "Standard for Binary Floating-Point Arithmetic", 276 IEEE Standard 754, August 2008. 278 [RFC2578] McCloghrie, K., Ed., Perkins, D., Ed., and J. 279 Schoenwaelder, Ed., "Structure of Management Information 280 Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. 282 [RFC2579] McCloghrie, K., Ed., Perkins, D., Ed., and J. 283 Schoenwaelder, Ed., "Textual Conventions for SMIv2", 284 STD 58, RFC 2579, April 1999. 286 [RFC2580] McCloghrie, K., Perkins, D., and J. Schoenwaelder, 287 "Conformance Statements for SMIv2", STD 58, RFC 2580, 288 April 1999. 290 9.2. Informative References 292 [GOLDBERG] 293 Goldberg, D., "What Every Computer Scientist Should Know 294 About Floating-Point Arithmetic", ACM Computing 295 Surveys Volume 23, Issue 1, March 1991. 297 [KNUTH] Knuth, D., "Seminumerical Algorithms", The Art of Computer 298 Programming (Second Edition) Vol. 2, 1981. 300 [RFC3216] Elliott, C., Harrington, D., Jason, J., Schoenwaelder, J., 301 Strauss, F., and W. Weiss, "SMIng Objectives", RFC 3216, 302 December 2001. 304 [RFC3410] Case, J., Mundy, R., Partain, D., and B. Stewart, 305 "Introduction and Applicability Statements for Internet- 306 Standard Management Framework", RFC 3410, December 2002. 308 Author's Address 310 Randy Presuhn 311 None 312 San Jose, CA 95120 313 USA 315 Email: randy_presuhn@mindspring.com