idnits 2.17.1 draft-ietf-opsawg-mib-floats-02.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 (June 15, 2011) is 4692 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 June 15, 2011 5 Expires: December 17, 2011 7 Textual Conventions for the Representation of Floating-Point Numbers 8 draft-ietf-opsawg-mib-floats-02.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 December 17, 2011. 33 Copyright Notice 35 Copyright (c) 2011 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 . . . . . . . . . . . . . . . . . . . . . . . . . 4 53 4. Structure of the MIB Module . . . . . . . . . . . . . . . . . . 5 54 4.1. MIB modules required for IMPORTS . . . . . . . . . . . . . 5 55 4.2. Documents required for REFERENCE clauses . . . . . . . . . 5 56 5. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . 5 57 6. Security Considerations . . . . . . . . . . . . . . . . . . . . 6 58 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7 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 All of these textual conventions employ the binary interchange format 93 defined in [IEEE.754.2008]. Specifically, this means that for all of 94 them, the highest-order bit of the first byte is the sign bit, with 95 the remaining bits of the octet string corresponding to the exponent 96 and fraction parts, in network byte order. 98 2. The Internet-Standard Management Framework 100 For a detailed overview of the documents that describe the current 101 Internet-Standard Management Framework, please refer to section 7 of 102 RFC 3410 [RFC3410]. 104 Managed objects are accessed via a virtual information store, termed 105 the Management Information Base or MIB. MIB objects are generally 106 accessed through the Simple Network Management Protocol (SNMP). 107 Objects in the MIB are defined using the mechanisms defined in the 108 Structure of Management Information (SMI). This memo specifies a MIB 109 module that is compliant to the SMIv2, which is described in STD 58, 110 RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580 111 [RFC2580]. 113 3. Applicability 115 The following list highlights some of the issues MIB designers need 116 to consider when deciding whether to employ these textual 117 conventions: 119 o Floating point numbers are useful if the number space needs to 120 cover a large dynamic range. For number spaces with a limited 121 range, fixed point numbers can be more efficient and more precise. 123 o Floating point numbers are typically the wrong answer for data 124 that is truly decimal or can be handled adequately by re-thinking 125 the units and representing the scaled numbers as integers. 127 o The SNMP "lexicographical" ordering for INDEX objects using these 128 floating point textual conventions will simply be that of the 129 octet strings corresponding to the floating point representations, 130 which will not always reflect the numerical ordering of the 131 corresponding floating point values. Even if MIB designers take 132 this into account, users might still find the results of a MIB 133 "walk" surprising. Consequently, it is suggested that whenever 134 one of these textual conventions is used for an INDEX object, that 135 the DESCRIPTION clause should provide some warning. 137 o Embedded systems sometimes lack floating point support, which can 138 complicate the implementation of MIB objects using floating point 139 numbers. 141 o In choosing from among the types defined in this memo, MIB 142 designers need to consider both the range and the precision 143 needed, as well as recognize that it could be inefficient to use, 144 for example, Float128TC when Float64TC would do. 146 o Since these textual conventions are defined in terms of the OCTET 147 STRING type, the SMI's mechanisms for formally setting range 148 constraints are not available. MIB designers using these textual 149 conventions will need to use DESCRIPTION clauses to spell out any 150 applicable range constraints beyond those implied by the 151 underlying IEEE types. 153 o Whenever these textual conventions are used in a MIB module, the 154 associated DESCRIPTION clause will need to clearly specify whether 155 denormalized numbers, NaNs ("not a number") or infinities are 156 permitted, along with any special semantics associated with these 157 cases. This is especially important for writeable objects. 159 4. Structure of the MIB Module 161 This MIB module defines three textual conventions. It defines no MIB 162 objects. 164 4.1. MIB modules required for IMPORTS 166 This MIB module employs definitions from [RFC2578] and [RFC2579]. 168 4.2. Documents required for REFERENCE clauses 170 This MIB module contains REFERENCE clauses making reference to IEEE 171 754-2008 [IEEE.754.2008]. 173 5. Definitions 175 FLOAT-TC-MIB DEFINITIONS ::= BEGIN 177 IMPORTS 178 MODULE-IDENTITY, 179 mib-2 FROM SNMPv2-SMI -- RFC 2578 180 TEXTUAL-CONVENTION FROM SNMPv2-TC; -- RFC 2579 182 floatTcMIB MODULE-IDENTITY 183 LAST-UPDATED "201106010000Z" -- June 1, 2011 184 ORGANIZATION "None" 185 CONTACT-INFO "Randy Presuhn 186 Email: randy_presuhn@mindspring.com" 188 DESCRIPTION "Textual conventions for the representation 189 of floating-point numbers. 191 Copyright (c) 2010 IETF Trust and the persons 192 identified as the document authors. All rights 193 reserved. 195 Redistribution and use in source and binary forms, 196 with or without modification, is permitted pursuant 197 to, and subject to the license terms contained in, 198 the Simplified BSD License set forth in Section 199 4.c of the IETF Trust's Legal Provisions Relating 200 to IETF Documents 201 (http://trustee.ietf.org/license-info). 203 This version of this MIB module is part of RFC XXXX; 204 see the RFC itself for full legal notices." 206 REVISION "201106010000Z" -- June 1, 2011 207 DESCRIPTION "Initial version, published as RFC XXXX." 208 ::= { mib-2 XXX } 209 -- RFC Ed.: replace XXX with IANA-assigned number & remove this note 210 -- RFC Ed.: replace XXXX with the RFC number & remove this note 212 Float32TC ::= TEXTUAL-CONVENTION 213 STATUS current 214 DESCRIPTION "This type represents a 32-bit (4-octet) IEEE 215 floating-point number in binary interchange format." 216 REFERENCE "IEEE Standard for Floating-Point Arithmetic, 217 Standard 754-2008" 218 SYNTAX OCTET STRING (SIZE(4)) 220 Float64TC ::= TEXTUAL-CONVENTION 221 STATUS current 222 DESCRIPTION "This type represents a 64-bit (8-octet) IEEE 223 floating-point number in binary interchange format." 224 REFERENCE "IEEE Standard for Floating-Point Arithmetic, 225 Standard 754-2008" 226 SYNTAX OCTET STRING (SIZE(8)) 228 Float128TC ::= TEXTUAL-CONVENTION 229 STATUS current 230 DESCRIPTION "This type represents a 128-bit (16-octet) IEEE 231 floating-point number in binary interchange format." 232 REFERENCE "IEEE Standard for Floating-Point Arithmetic, 233 Standard 754-2008" 234 SYNTAX OCTET STRING (SIZE(16)) 236 END 238 6. Security Considerations 240 This module does not define any management objects. Instead, it 241 defines a set of textual conventions that can be used by other MIB 242 modules to define management objects. 244 Meaningful security considerations can only be written in the MIB 245 modules that define management objects. Therefore, this memo has no 246 impact on the security of the Internet. 248 7. IANA Considerations 250 The MIB module in this document uses the following IANA-assigned 251 OBJECT IDENTIFIER value recorded in the SMI Numbers registry: 253 Descriptor OBJECT IDENTIFIER value 254 ---------- ----------------------- 255 floatTcMIB { mib-2 XXX } 257 Editor's Note (to be removed prior to publication): the IANA is 258 requested to assign a value for "XXX" under the 'mib-2' subtree and 259 to record the assignment in the SMI Numbers registry. When the 260 assignment has been made, the RFC Editor is asked to replace "XXX" 261 (here and in the MIB module) with the assigned value and to remove 262 this note. 264 8. Contributors 266 The following people provided helpful comments during the development 267 of this document: 269 o Andy Bierman 271 o Martin Duerst 273 o Alfred Hoenes 275 o Juergen Quittek 277 o Juergen Schoenwaeder 279 o Dave Shield 281 o Robert Story 283 9. References 285 9.1. Normative References 287 [IEEE.754.2008] 288 Institute of Electrical and Electronics Engineers, 289 "Standard for Floating-Point Arithmetic", IEEE Standard 290 754, August 2008. 292 [RFC2578] McCloghrie, K., Ed., Perkins, D., Ed., and J. 293 Schoenwaelder, Ed., "Structure of Management Information 294 Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. 296 [RFC2579] McCloghrie, K., Ed., Perkins, D., Ed., and J. 297 Schoenwaelder, Ed., "Textual Conventions for SMIv2", 298 STD 58, RFC 2579, April 1999. 300 [RFC2580] McCloghrie, K., Perkins, D., and J. Schoenwaelder, 301 "Conformance Statements for SMIv2", STD 58, RFC 2580, 302 April 1999. 304 9.2. Informative References 306 [GOLDBERG] 307 Goldberg, D., "What Every Computer Scientist Should Know 308 About Floating-Point Arithmetic", ACM Computing 309 Surveys Volume 23, Issue 1, March 1991. 311 [KNUTH] Knuth, D., "Seminumerical Algorithms", The Art of Computer 312 Programming (Second Edition) Vol. 2, 1981. 314 [RFC3216] Elliott, C., Harrington, D., Jason, J., Schoenwaelder, J., 315 Strauss, F., and W. Weiss, "SMIng Objectives", RFC 3216, 316 December 2001. 318 [RFC3410] Case, J., Mundy, R., Partain, D., and B. Stewart, 319 "Introduction and Applicability Statements for Internet- 320 Standard Management Framework", RFC 3410, December 2002. 322 Author's Address 324 Randy Presuhn 325 None 326 San Jose, CA 95120 327 USA 329 Email: randy_presuhn@mindspring.com