One document matched: draft-ietf-opsawg-mib-floats-02.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc2578 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2578.xml">
<!ENTITY rfc2579 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2579.xml">
<!ENTITY rfc2580 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2580.xml">
<!ENTITY rfc3216 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3216.xml">
<!ENTITY rfc3410 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3410.xml">
]>
<?rfc toc="yes" ?>
<?rfc tocdepth="4" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc strict="yes" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<rfc category="std" docName="draft-ietf-opsawg-mib-floats-02.txt"
ipr="trust200902">
<front>
<title abbrev="Floating-Point Textual Conventions">
Textual Conventions for the Representation of Floating-Point Numbers
</title>
<author fullname="Randy Presuhn"
initials="R"
surname="Presuhn">
<organization abbrev="None">None</organization>
<address>
<postal>
<street></street>
<city>San José</city>
<region>CA</region>
<code>95120</code>
<country>USA</country>
</postal>
<email>randy_presuhn@mindspring.com</email>
</address>
</author>
<date year="2011"/>
<area>Operations and Management</area>
<workgroup>Network Working Group</workgroup>
<keyword>Network Management</keyword>
<keyword>IEEE 754</keyword>
<keyword>Floating-point</keyword>
<keyword>MIB</keyword>
<keyword>SMIv2</keyword>
<keyword>Textual Convention</keyword>
<abstract>
<t>
This memo defines a Management Information Base (MIB) module
containing textual conventions (TCs) to represent
floating-point numbers.
</t>
</abstract>
</front>
<middle>
<section title="Introduction">
<t>
This memo defines textual conventions for the representation
of floating-point numbers.
All of these definitions are in terms of the
IEEE Standard for Floating-Point Arithmetic,
IEEE 754-2008 <xref target="IEEE.754.2008"></xref>.
</t>
<t>
The IEEE Standard for Floating-Point Arithmetic,
IEEE 754-2008 <xref target="IEEE.754.2008"></xref>,
provides for a variety of interchange formats for floating
point numbers.
The need for three of these, namely
<list style="symbols">
<t>32-bit,</t>
<t>64-bit,</t>
<t>128-bit,</t>
</list>
has been recognized in network management.
For example, Section 4.2.3 of the SMIng Objectives
<xref target="RFC3216"></xref>
elaborates the need for these three floating-point
data types in network management protocols.
</t>
<t>
The selection of a floating-point format involves many considerations
and trade-offs.
For an introduction to the fundamentals of floating-point representations
see chapter 4 of <xref target="KNUTH"></xref>, and for a
a discussion of these issues specifically with respect to the
IEEE formats, see <xref target="GOLDBERG"></xref>.
</t>
<t>
All of these textual conventions employ the binary interchange format
defined in <xref target="IEEE.754.2008"></xref>.
Specifically, this means that for all of them,
the highest-order bit of the first byte is the sign bit,
with the remaining bits of the octet string
corresponding to the exponent and fraction parts,
in network byte order.
</t>
</section>
<section title="The Internet-Standard Management Framework">
<t>
For a detailed overview of the documents that describe the current
Internet-Standard Management Framework,
please refer to section 7 of RFC 3410 <xref target="RFC3410"></xref>.
</t>
<t>
Managed objects are accessed via a virtual information store,
termed the Management Information Base or MIB.
MIB objects are generally accessed through
the Simple Network Management Protocol (SNMP).
Objects in the MIB are defined
using the mechanisms defined
in the Structure of Management Information (SMI).
This memo specifies a MIB module that is
compliant to the SMIv2, which is described in
STD 58, RFC 2578 <xref target="RFC2578"></xref>,
STD 58, RFC 2579 <xref target="RFC2579"></xref>
and STD 58, RFC 2580 <xref target="RFC2580"></xref>.</t>
</section>
<section title="Applicability">
<t>
The following list highlights some of the issues MIB designers
need to consider when deciding whether to employ these textual
conventions:
<list style="symbols">
<t>
Floating point numbers are useful if the number space
needs to cover a large dynamic range.
For number spaces with a limited range,
fixed point numbers can be more efficient and more precise.
</t>
<t>
Floating point numbers are typically the wrong answer for data
that is truly decimal or can be handled adequately by re-thinking the
units and representing the scaled numbers as integers.
</t>
<t>
The SNMP "lexicographical" ordering for INDEX objects using these
floating point textual conventions will simply be that of the octet
strings corresponding to the floating point representations, which
will not always reflect the numerical ordering of the
corresponding floating point values. Even if
MIB designers take this into account, users might
still find the results of a MIB "walk" surprising.
Consequently, it is suggested that whenever one of these
textual conventions is used for an INDEX object, that
the DESCRIPTION clause should provide some warning.
</t>
<t>
Embedded systems sometimes lack floating point
support, which can complicate the implementation of MIB objects
using floating point numbers.
</t>
<t>
In choosing from among the types defined in this memo,
MIB designers need to consider both the range and
the precision needed, as well as recognize that
it could be inefficient to use, for example,
Float128TC when Float64TC would do.
</t>
<t>
Since these textual conventions are defined
in terms of the OCTET STRING type, the SMI's mechanisms
for formally setting range constraints are not
available. MIB designers using these textual
conventions will need to use DESCRIPTION clauses
to spell out any applicable range constraints beyond those
implied by the underlying IEEE types.
</t>
<t>
Whenever these textual conventions are used in a MIB module,
the associated DESCRIPTION clause will need to
clearly specify whether denormalized numbers,
NaNs ("not a number") or infinities are permitted,
along with any special semantics associated with these
cases. This is especially important for writeable objects.
</t>
</list>
</t>
</section>
<section title="Structure of the MIB Module">
<t>
This MIB module defines three textual conventions.
It defines no MIB objects.
</t>
<section title="MIB modules required for IMPORTS">
<t>
This MIB module employs definitions from
<xref target="RFC2578"></xref> and
<xref target="RFC2579"></xref>.
</t>
</section>
<section title="Documents required for REFERENCE clauses">
<t>
This MIB module contains REFERENCE clauses making reference to
IEEE 754-2008 <xref target="IEEE.754.2008"></xref>.
</t>
</section>
</section>
<section title="Definitions">
<t><figure>
<artwork><![CDATA[
FLOAT-TC-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY,
mib-2 FROM SNMPv2-SMI -- RFC 2578
TEXTUAL-CONVENTION FROM SNMPv2-TC; -- RFC 2579
floatTcMIB MODULE-IDENTITY
LAST-UPDATED "201106010000Z" -- June 1, 2011
ORGANIZATION "None"
CONTACT-INFO "Randy Presuhn
Email: randy_presuhn@mindspring.com"
DESCRIPTION "Textual conventions for the representation
of floating-point numbers.
Copyright (c) 2010 IETF Trust and the persons
identified as the document authors. All rights
reserved.
Redistribution and use in source and binary forms,
with or without modification, is permitted pursuant
to, and subject to the license terms contained in,
the Simplified BSD License set forth in Section
4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this MIB module is part of RFC XXXX;
see the RFC itself for full legal notices."
REVISION "201106010000Z" -- June 1, 2011
DESCRIPTION "Initial version, published as RFC XXXX."
::= { mib-2 XXX }
-- RFC Ed.: replace XXX with IANA-assigned number & remove this note
-- RFC Ed.: replace XXXX with the RFC number & remove this note
Float32TC ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION "This type represents a 32-bit (4-octet) IEEE
floating-point number in binary interchange format."
REFERENCE "IEEE Standard for Floating-Point Arithmetic,
Standard 754-2008"
SYNTAX OCTET STRING (SIZE(4))
Float64TC ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION "This type represents a 64-bit (8-octet) IEEE
floating-point number in binary interchange format."
REFERENCE "IEEE Standard for Floating-Point Arithmetic,
Standard 754-2008"
SYNTAX OCTET STRING (SIZE(8))
Float128TC ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION "This type represents a 128-bit (16-octet) IEEE
floating-point number in binary interchange format."
REFERENCE "IEEE Standard for Floating-Point Arithmetic,
Standard 754-2008"
SYNTAX OCTET STRING (SIZE(16))
END
]]></artwork>
</figure></t>
</section>
<section anchor="Security" title="Security Considerations">
<t>
This module does not define any management objects.
Instead, it defines a set of textual conventions that can be used
by other MIB modules to define management objects.
</t>
<t>
Meaningful security considerations can only be written in the MIB
modules that define management objects. Therefore, this memo has
no impact on the security of the Internet.
</t>
</section>
<section anchor="IANA" title="IANA Considerations">
<t>
The MIB module in this document uses the following IANA-assigned
OBJECT IDENTIFIER value recorded in the SMI Numbers registry:
</t>
<t><figure><artwork>
<![CDATA[
Descriptor OBJECT IDENTIFIER value
---------- -----------------------
floatTcMIB { mib-2 XXX }
]]>
</artwork></figure></t>
<t>
Editor's Note
(to be removed prior to publication):
the IANA is requested to assign a value for "XXX" under the 'mib-2' subtree
and to record the assignment in the SMI Numbers registry.
When the assignment has been made, the RFC Editor is asked to replace
"XXX" (here and in the MIB module) with the assigned value and to
remove this note.
</t>
</section>
<section title="Contributors">
<t>The following people provided helpful comments during
the development of this document:
<list style="symbols">
<t>Andy Bierman</t>
<t>Martin Dürst</t>
<t>Alfred Hönes</t>
<t>Jürgen Quittek</t>
<t>Jürgen Schönwäder</t>
<t>Dave Shield</t>
<t>Robert Story</t>
</list>
</t>
</section>
</middle>
<back>
<references title="Normative References">
&rfc2578;
&rfc2579;
&rfc2580;
<reference anchor="IEEE.754.2008">
<front>
<title>Standard for Floating-Point Arithmetic</title>
<author>
<organization>
Institute of Electrical and Electronics Engineers
</organization>
</author>
<date month="August" year="2008" />
</front>
<seriesInfo name="IEEE" value="Standard 754" />
</reference>
</references>
<references title="Informative References">
&rfc3216;
&rfc3410;
<reference anchor="KNUTH">
<front>
<title>Seminumerical Algorithms</title>
<author initials="D." surname="Knuth" fullname="Donald Knuth">
</author>
<date year="1981" />
</front>
<seriesInfo name="The Art of Computer Programming (Second Edition)"
value="Vol. 2" />
</reference>
<reference anchor="GOLDBERG">
<front>
<title>What Every Computer Scientist Should Know
About Floating-Point Arithmetic
</title>
<author initials="D." surname="Goldberg" fullname="David Goldberg">
</author>
<date month="March" year="1991"/>
</front>
<seriesInfo name="ACM Computing Surveys" value="Volume 23, Issue 1"/>
<format type="TXT"
target="http://docs.sun.com/source/806-3568/ncg_goldberg.html"/>
</reference>
</references>
</back>
</rfc>
| PAFTECH AB 2003-2026 | 2026-04-23 20:04:28 |