summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc8272.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc8272.txt')
-rw-r--r--doc/rfc/rfc8272.txt1683
1 files changed, 1683 insertions, 0 deletions
diff --git a/doc/rfc/rfc8272.txt b/doc/rfc/rfc8272.txt
new file mode 100644
index 0000000..07c9dd2
--- /dev/null
+++ b/doc/rfc/rfc8272.txt
@@ -0,0 +1,1683 @@
+
+
+
+
+
+
+Independent Submission C. Schmitt
+Request for Comments: 8272 B. Stiller
+Category: Informational University of Zurich
+ISSN: 2070-1721 B. Trammell
+ ETH Zurich
+ November 2017
+
+
+ TinyIPFIX for Smart Meters in Constrained Networks
+
+Abstract
+
+ This document specifies the TinyIPFIX protocol that is used for
+ transmitting smart-metering data in constrained networks such as IPv6
+ over Low-Power Wireless Personal Area Networks (6LoWPAN, RFC 4944).
+ TinyIPFIX is derived from IP Flow Information Export (RFC 7011) and
+ adopted to the needs of constrained networks. This document
+ specifies how the TinyIPFIX Data and Template Records are transmitted
+ in constrained networks such as 6LoWPAN and how TinyIPFIX data can be
+ converted into data that is not TinyIPFIX in a proxy device.
+
+Status of This Memo
+
+ This document is not an Internet Standards Track specification; it is
+ published for informational purposes.
+
+ This is a contribution to the RFC Series, independently of any other
+ RFC stream. The RFC Editor has chosen to publish this document at
+ its discretion and makes no statement about its value for
+ implementation or deployment. Documents approved for publication by
+ the RFC Editor are not a candidate for any level of Internet
+ Standard; see Section 2 of RFC 7841.
+
+ Information about the current status of this document, any errata,
+ and how to provide feedback on it may be obtained at
+ https://www.rfc-editor.org/info/rfc8272.
+
+Copyright Notice
+
+ Copyright (c) 2017 IETF Trust and the persons identified as the
+ document authors. All rights reserved.
+
+ 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.
+
+
+
+Schmitt, et al. Informational [Page 1]
+
+RFC 8272 TinyIPFIX November 2017
+
+
+Table of Contents
+
+ 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
+ 1.1. Document Structure . . . . . . . . . . . . . . . . . . . 3
+ 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
+ 3. Constraints . . . . . . . . . . . . . . . . . . . . . . . . . 6
+ 3.1. Hardware Constraints . . . . . . . . . . . . . . . . . . 6
+ 3.2. Energy Constraints . . . . . . . . . . . . . . . . . . . 7
+ 3.3. Packet Size Constraints . . . . . . . . . . . . . . . . . 7
+ 3.4. Transport Protocol Constraints . . . . . . . . . . . . . 8
+ 4. Application Scenarios for TinyIPFIX . . . . . . . . . . . . . 9
+ 5. Architecture for TinyIPFIX . . . . . . . . . . . . . . . . . 11
+ 6. TinyIPFIX Message Format . . . . . . . . . . . . . . . . . . 14
+ 6.1. TinyIPFIX Message Header . . . . . . . . . . . . . . . . 15
+ 6.2. TinyIPFIX Set . . . . . . . . . . . . . . . . . . . . . . 18
+ 6.3. TinyIPFIX Template Record Format . . . . . . . . . . . . 19
+ 6.4. Field Specifier Format . . . . . . . . . . . . . . . . . 20
+ 6.5. TinyIPFIX Data Record Format . . . . . . . . . . . . . . 21
+ 7. TinyIPFIX Mediation . . . . . . . . . . . . . . . . . . . . . 21
+ 7.1. Expanding the Message Header . . . . . . . . . . . . . . 24
+ 7.2. Translating the Set Headers . . . . . . . . . . . . . . . 25
+ 7.3. Expanding the Template Record Header . . . . . . . . . . 25
+ 8. Template Management . . . . . . . . . . . . . . . . . . . . . 25
+ 8.1. TCP/SCTP . . . . . . . . . . . . . . . . . . . . . . . . 26
+ 8.2. UDP . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
+ 9. Security Considerations . . . . . . . . . . . . . . . . . . . 26
+ 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 26
+ 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 27
+ 11.1. Normative References . . . . . . . . . . . . . . . . . . 27
+ 11.2. Informative References . . . . . . . . . . . . . . . . . 28
+ Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 29
+ Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 30
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Schmitt, et al. Informational [Page 2]
+
+RFC 8272 TinyIPFIX November 2017
+
+
+1. Introduction
+
+ Smart meters that form a constrained wireless network need an
+ application-layer protocol that allows the efficient transmission of
+ metering data from the devices to a central analysis device. The
+ meters used to build such networks are usually equipped with low-cost
+ and low-power hardware. This leads to constraints in computational
+ capacities, available memory, and networking resources.
+
+ The devices are often battery powered and are expected to run for a
+ long time without having the possibility of recharging themselves.
+ In order to save energy, smart meters often power off their wireless
+ networking device. Hence, they don't have a steady network
+ connection; they are only part of the wireless network as needed when
+ there is data to be exported. A push protocol like TinyIPFIX, where
+ data is transmitted autonomically from the meters to one or more
+ collectors, is suitable for reporting metering data in such networks.
+
+ TinyIPFIX is derived from IPFIX [RFC7011]; therefore, it inherits
+ most of IPFIX's properties. One of these properties is the
+ separation of data and its data description by encoding the former in
+ Data Sets and the latter in Template Sets.
+
+ Transforming TinyIPFIX to IPFIX as per [RFC7011] is very simple and
+ can be done on the border between the constrained network and the
+ more general network. The transformation between one form of IPFIX
+ data into another is known as "IPFIX Mediation" [RFC5982]. Hence,
+ smart-metering networks that are based on TinyIPFIX can be easily
+ integrated into an existing IPFIX measurement infrastructure.
+
+1.1. Document Structure
+
+ Section 2 introduces the terminology used in this document.
+ Afterwards, hardware and software constraints in constrained
+ networks, which will motivate our modifications to the IPFIX
+ protocol, are discussed in Section 3. Section 4 describes the
+ application scenarios and Section 5 describes the architecture for
+ TinyIPFIX. Section 6 defines the TinyIPFIX protocol itself and
+ discusses the differences between TinyIPFIX and IPFIX. The Mediation
+ Process from TinyIPFIX to IPFIX is described in Section 7. Section 8
+ defines the process of Template Management on the Exporter and the
+ Collector. Section 9 and Section 10 discuss the security and IANA
+ considerations for TinyIPFIX.
+
+
+
+
+
+
+
+
+Schmitt, et al. Informational [Page 3]
+
+RFC 8272 TinyIPFIX November 2017
+
+
+2. Terminology
+
+ Most of the terms used in this document are defined in [RFC7011].
+ Each of these terms begins with a capital letter. Most of the terms
+ that are defined for IPFIX can be used to describe TinyIPFIX. This
+ document uses the term "IPFIX" to refer to IPFIX as defined in
+ [RFC7011] and the term TinyIPFIX for the protocol specified in this
+ draft document assuming constrained networks. The prefix "Tiny" is
+ added to IPFIX to distinguish between the IPFIX version and the
+ TinyIPFIX version.
+
+ The terms IPFIX Message, IPFIX Device, Set, Data Set, Template Set,
+ Data Record, Template Record, Collecting Process, Collector,
+ Exporting Process, and Exporter are defined as in [RFC7011]. The
+ term IPFIX Mediator is defined in [RFC5982]. The terms Intermediate
+ Process, IPFIX Proxy, IPFIX Concentrator are defined in [RFC6183].
+
+ All the terms above have been adapted from the IPFIX definitions. As
+ they keep a similar notion but in a different context of constrained
+ networks, the term "TinyIPFIX" now precedes the defined terms.
+
+ The term "smart meter" is used to refer to constrained devices like
+ wireless sensor nodes, motes, or any other kind of small constrained
+ device that can be part of a network that is based on IEEE 802.15.4
+ and 6LoWPAN [RFC4944].
+
+ TinyIPFIX Exporting Process
+
+ The TinyIPFIX Exporting Process is a process that exports
+ TinyIPFIX Records.
+
+ TinyIPFIX Exporter
+
+ A TinyIPFIX Exporter is device that contains at least one
+ TinyIPFIX Exporting Process.
+
+ TinyIPFIX Collecting Process
+
+ The TinyIPFIX Collecting Process is a process inside a device that
+ is able to receive and process TinyIPFIX Records.
+
+ TinyIPFIX Collector
+
+ A TinyIPFIX Collector is a device that contains at least one
+ TinyIPFIX Collecting Process.
+
+
+
+
+
+
+Schmitt, et al. Informational [Page 4]
+
+RFC 8272 TinyIPFIX November 2017
+
+
+ TinyIPFIX Device
+
+ A TinyIPFIX Device is a device that contains one or more TinyIPFIX
+ Collectors or one or more TinyIPFIX Exporters.
+
+ TinyIPFIX Smart Meter
+
+ A TinyIPFIX Smart Meter is a device that contains the
+ functionality of a TinyIPFIX Device. It is usually equipped with
+ one or more sensors that meter a physical quantity, like power
+ consumption, temperature, or physical tampering with the device.
+ Every TinyIPFIX Smart Meter MUST at least contain a TinyIPFIX
+ Exporting Process. It MAY contain a TinyIPFIX Collecting Process
+ in order to work as a TinyIPFIX Proxy or TinyIPFIX Concentrator.
+
+ TinyIPFIX Data Record
+
+ A TinyIPFIX Data Record equals an IPFIX Data Record in [RFC7011].
+ The term is used to distinguish between IPFIX and TinyIPFIX
+ throughout this document.
+
+ TinyIPFIX Template Record
+
+ A TinyIPFIX Template Record is similar to an IPFIX Template Record
+ in [RFC7011]. The Template Record Header is substituted with a
+ TinyIPFIX Template Record Header and is otherwise equal to a
+ Template Record. See Section 6.3.
+
+ TinyIPFIX Set
+
+ The TinyIPFIX Set is a group of TinyIPFIX Data Records or
+ TinyIPFIX Template Records with a TinyIPFIX Set Header. Its
+ format is defined in Section 6.2.
+
+ TinyIPFIX Data Set
+
+ The TinyIPFIX Data Set is a TinyIPFIX Set that contains TinyIPFIX
+ Data Records.
+
+ TinyIPFIX Template Set
+
+ A TinyIPFIX Template Set is a TinyIPFIX Set that contains
+ TinyIPFIX Template Records.
+
+
+
+
+
+
+
+
+Schmitt, et al. Informational [Page 5]
+
+RFC 8272 TinyIPFIX November 2017
+
+
+ TinyIPFIX Message
+
+ The TinyIPFIX Message is a message originated by a TinyIPFIX
+ Exporter. It is composed of a TinyIPFIX Message Header and one or
+ more TinyIPFIX Sets. The TinyIPFIX Message Format is defined in
+ Section 6.
+
+ TinyIPFIX Intermediate Process
+
+ A TinyIPFIX Intermediate Process is an IPFIX Intermediate Process
+ that can handle TinyIPFIX Messages.
+
+ TinyIPFIX Proxy
+
+ A TinyIPFIX Proxy is an IPFIX Proxy that can handle TinyIPFIX
+ Messages.
+
+ TinyIPFIX Concentrator
+
+ A TinyIPFIX Concentrator is device that can handle TinyIPFIX
+ Messages (e.g., pre-process them) and is not constrained.
+
+ TinyIPFIX Proxy
+
+ A TinyIPFIX Proxy is an IPFIX Proxy that can handle TinyIPFIX
+ Messages and is not constrained.
+
+ A TinyIPFIX Transport Session is defined by the communication between
+ a TinyIPFIX Exporter (identified by an 6LoWPAN-Address, the Transport
+ Protocol, and the Transport Port) and a TinyIPFIX Collector
+ (identified by the same properties).
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
+ "OPTIONAL" in this document are to be interpreted as described in
+ BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
+ capitals, as shown here.
+
+3. Constraints
+
+3.1. Hardware Constraints
+
+ The target devices for TinyIPFIX are usually equipped with low-cost
+ hardware; therefore, they face several constraints concerning CPU and
+ memory [Schmitt09]. For example, the IRIS mote from Crossbow
+ Technologies, Inc. has a size of 58 x 32 x 7 mm (without a battery
+ pack) [IRIS]. Thus, there is little space for a micro-controller,
+ memory (128 kb program flash, 512 kb measurement serial flash, 8 kb
+
+
+
+Schmitt, et al. Informational [Page 6]
+
+RFC 8272 TinyIPFIX November 2017
+
+
+ RAM, 4 kb configuration EEPROM), and radio-frequency transceiver,
+ which are located on the board. The TelosB motes produced by
+ Crossbow Technologies, Inc. [TelosB] and ADVANTIC SISTEMAS Y
+ SERVICIOS S.L. [Advantic] are similar sized, but offering more
+ memory (48 kb flash, 1024 kb serial, flash, 10 kb RAM, 16 kb
+ configuration EEPROM). The same holds for OpenMote, but the offering
+ is 512 kb flash and 32 kb RAM [openMote].
+
+ Network protocols used on such hardware need to respect these
+ constraints. They must be simple to implement using little code and
+ little run-time memory and should produce little overhead when
+ encoding the application payload.
+
+3.2. Energy Constraints
+
+ Smart meters that are battery powered have hard energy constraints
+ [Schmitt09]. If two AA 2800-mAh batteries power the mote, they
+ contain approximately 30,240 Joule of energy. If they run out of
+ power, their battery has to be changed, which means physical
+ manipulation to the device is necessary. Therefore, using as little
+ energy as possible for network communication is desired.
+
+ A smart-metering device can save a lot of energy, if it powers down
+ its radio-frequency transceiver. Such devices do not have permanent
+ network connectivity; they are only part of the network as needed. A
+ push protocol, where only one side is sending data, is suitable for
+ transmitting application data under such circumstances. As the
+ communication is unidirectional, a meter can completely power down
+ its radio-frequency transceivers as long as it does not have any data
+ to send. If the metering device is able to keep a few measurements
+ in memory, and if real-time metering is not a requirement, the
+ TinyIPFIX Data Records can be pushed less frequently, therefore
+ saving some more energy on the radio-frequency transceivers.
+
+3.3. Packet Size Constraints
+
+ TinyIPFIX is mainly targeted for the use in 6LoWPAN networks, which
+ are based on IEEE 802.15.4 [RFC4944]. However, the protocol can also
+ be used to transmit data in other networks when a mediator is used
+ for translating the TinyIPFIX data into the data format used in the
+ other network (e.g., IPFIX). And the protocol is able to map the
+ 6LoWPAN addresses to the addresses used in the other network. This
+ operation typically consists of per-message re-encapsulation and/or
+ re-encoding. As defined [RFC4944], IEEE 802.15.4 starts from a
+ maximum physical layer packet size of 127 octets (aMaxPHYPacketSize)
+ and a maximum frame overhead of 25 octets (aMaxFrameOverhead),
+ leaving a maximum frame size of 102 octets at the media access
+ control (MAC) layer. On the other hand, IPv6 defines a minimum MTU
+
+
+
+Schmitt, et al. Informational [Page 7]
+
+RFC 8272 TinyIPFIX November 2017
+
+
+ of 1280 octets. Hence, fragmentation has to be implemented in order
+ to transmit such large packets. While fragmentation allows the
+ transmission of large messages, its use is problematic in networks
+ with high packet loss because the complete message has to be
+ discarded if only a single fragment gets lost.
+
+ TinyIPFIX enhances IPFIX by a header-compression scheme, which allows
+ the header size overhead to be significantly reduced. Additionally,
+ the overall TinyIPFIX Message size is reduced, which reduces the need
+ for fragmentation.
+
+3.4. Transport Protocol Constraints
+
+ The IPFIX standard [RFC7011] defines several transport protocol
+ bindings for the transmission of IPFIX Messages. Stream Control
+ Transmission Protocol (SCTP) support is REQUIRED for any IPFIX Device
+ to achieve standard conformance [RFC7011], and its use is highly
+ recommended. However, sending IPFIX over UDP and TCP MAY also be
+ implemented.
+
+ This transport protocol recommendation is not suitable for TinyIPFIX.
+ A header compression scheme that allows a compression of an IPv6
+ header from 40 octets down to 2 octets is defined in 6LoWPAN. There
+ is a similar compression scheme for UDP, but there is no such
+ compression for TCP or SCTP headers. If header compression can be
+ employed, more space for application payload is available.
+
+ Therefore, using UDP on the transport layer for transmitting
+ TinyIPFIX Messages is RECOMMENDED. Furthermore, TCP or SCTP are
+ currently not supported on some platforms, like on TinyOS [Harvan08].
+ Hence, UDP may be the only option.
+
+ Every TinyIPFIX Exporter and Collector MUST implement UDP transport-
+ layer support for transmitting data in a constrained network
+ environment. It MAY also offer TCP or SCTP support. In the case in
+ which TCP or SCTP MAY be used, power consumption will grow and the
+ available size of application payload compared to the use of UDP May
+ be reduced. If TinyIPFIX is transmitted over a unconstrained
+ network, using SCTP as a transport-layer protocol is RECOMMENDED.
+ TinyIPFIX works independent of the target environment, because it
+ MUST only be ensured that all intermediate devices can understand
+ TinyIPFIX and be able to extract needed packet information (e.g., IP
+ destination address). TinyIPFIX messages can be included in other
+ transport protocols in the payload whenever is necessary, making
+ TinyIPFIX highly flexible and usable for different communication
+ protocols (e.g., Constrained Application Protocol (CoAP), UDP, TCP).
+ TinyIPFIX itself just specifies a messages format for the collected
+ data to be transmitted.
+
+
+
+Schmitt, et al. Informational [Page 8]
+
+RFC 8272 TinyIPFIX November 2017
+
+
+ The constraints on UDP usage given in Section 6.2 of [RFC5153] apply
+ to TinyIPFIX as well. TinyIPFIX is not intended for use over the
+ open Internet. In general, the networks on which it runs are
+ considered dedicated for sensor operations and are under the control
+ of a single administrative domain.
+
+4. Application Scenarios for TinyIPFIX
+
+ TinyIPFIX is derived from IPFIX [RFC7011]; therefore, it is a
+ unidirectional push protocol assuming UDP usage. This means all
+ communication that employs TinyIPFIX is unidirectional from an
+ Exporting Process to a Collecting Process. Hence, TinyIPFIX only
+ fits for application scenarios where meters transmit data to one or
+ more Collectors. In case pull requests should also be supported by
+ TinyIPFIX, it is RECOMMENDED not to change the code of TinyIPFIX much
+ to get along with the restricted memory available [Schmitt2017].
+ Meaning including just a one bit field, called type, to distinguish
+ between push and pull messages would be feasible, but the filtering
+ SHOULD be done by the gateway and not by the constrained device;
+ meaning if a pull is performed, the constrained device is triggered
+ to create a TinyIPFIX message immediately as usual, set the type
+ field to one instead of zero (for a push message), and send message
+ to the gateway. At the gateway, the filtering is performed based on
+ the pull request.
+
+ If TinyIPFIX is used over UDP, as recommended, packet loss can occur.
+ Furthermore, if an initial Template Message gets lost, and is
+ therefore unknown to the Collector, all TinyIPFIX Data Sets that
+ reference this Template cannot be decoded. Hence, all these Messages
+ are lost if they are not cached by the Collector. It should be clear
+ to an application developer that TinyIPFIX can only be used over UDP
+ if these TinyIPFIX Message losses are not a problem. To avoid this
+ loss, it is RECOMMENDED to repeat the Template Message periodically,
+ keeping in mind that a Template never changes for a constrained
+ device after deployment. Even when Template Messages become lost in
+ the network, the data can be manually translated later when the
+ Template Messages is re-sent. Including an acknowledgement mechanism
+ is NOT RECOMMENDED due to overhead, because this would require
+ storage of any sent data on the constrained devices until it was
+ acknowledged. In critical applications, it is RECOMMENDED to repeat
+ the Template Message more often.
+
+ TinyIPFIX over UDP is especially not a suitable protocol for
+ applications where sensor data trigger policy decisions or
+ configuration updates for which packet loss is not tolerable.
+
+
+
+
+
+
+Schmitt, et al. Informational [Page 9]
+
+RFC 8272 TinyIPFIX November 2017
+
+
+ Applications that use smart sensors for accounting purposes for long-
+ term measurements can benefit from the use of TinyIPFIX. One
+ application for IPFIX is long-term monitoring of large physical
+ volumes. In [Tolle05], Tolle et al. built a system for monitoring a
+ "70-meter tall redwood tree, at a density interval of 5 minutes in
+ time and 2 meters in space". The sensor node infrastructure was
+ deployed to measure the air temperature, relative humidity, and
+ photosynthetically active solar radiation over a long-term period.
+
+ TinyIPFIX is a good fit for such scenarios. Data can be measured by
+ the sensors of the TinyIPFIX Smart Meter over several 5-minute time
+ intervals; the measurements can be accumulated into a single
+ TinyIPFIX Message. As soon as enough measurements are stored in the
+ TinyIPFIX Message, e.g., if the TinyIPFIX Message size fills the
+ available payload in a single IEEE 802.15.4 packet, the wireless
+ transceiver can be activated and the TinyIPFIX Message can be
+ exported to a TinyIPFIX Collector.
+
+ Similar sensor networks have been built to monitor the habitat of
+ animals, e.g., in the "Great Duck Island Project" [GreatDuck]
+ [SMPC04]. The purpose of the sensor network was to monitor the birds
+ by deploying sensors in and around their burrows. The measured
+ sensor data was collected and stored in a database for offline
+ analysis and visualization. Again, the sensors can perform their
+ measurements periodically, accumulate the sensor data, and export
+ them to a TinyIPFIX Collector.
+
+ Other application scenarios for TinyIPFIX could be applications where
+ sensor networks are used for long-term structural health monitoring
+ in order to investigate long-term weather conditions on the structure
+ of a building. For example, a smart-metering network has been built
+ to monitor the structural health of the Golden Gate Bridge [Kim07].
+ If a sensor network is deployed to perform a long-term measurement of
+ the structural integrity, TinyIPFIX can be used to collect the
+ sensor-measurement data.
+
+ If an application developer wants to decide whether to use TinyIPFIX
+ for transmitting data from smart meters, he must take the following
+ considerations into account:
+
+ 1. The application should require a push protocol by default. The
+ timing intervals of when to push data should be predefined before
+ deployment. The property above allows a TinyIPFIX Smart Meter to
+ turn off its wireless device in order to save energy, as it does
+ not have to receive any data.
+
+
+
+
+
+
+Schmitt, et al. Informational [Page 10]
+
+RFC 8272 TinyIPFIX November 2017
+
+
+ 2. If real-time reporting is not required, the application might
+ benefit from combining several measurements into a single
+ TinyIPFIX Message, causing delay but lowering traffic in the
+ network. TinyIPFIX easily allow the combination of several
+ measurements into a single TinyIPFIX Message (or a single
+ packet). This combination can happen on the TinyIPFIX Smart
+ Meter that combines several of its own measurements. Or, it can
+ happen within a multi-hop wireless network where one IPFIX Proxy
+ combines several TinyIPFIX Messages into a single TinyIPFIX
+ Message before forwarding them.
+
+ 3. The application must accept potential packet loss. TinyIPFIX
+ only fits for applications where metering data is stored for
+ accounting purposes and not for applications where the sensor
+ data triggers configuration changes or policy decisions, except
+ when Message loss is acceptable for some reason.
+
+ 4. The application must not require per-message export timestamps
+ (e.g., for auditing). TinyIPFIX removes export timestamps,
+ generally only useful for Template Management operations, which
+ it also does not support, from IPFIX. This is a minor
+ inconvenience, since per-record timestamp Information Elements
+ are also available in IPFIX.
+
+5. Architecture for TinyIPFIX
+
+ The TinyIPFIX architecture is similar to the IPFIX architecture,
+ which is described in [RFC5470]. The most common deployment of
+ TinyIPFIX Smart Meters is shown in Figure 1, where each TinyIPFIX
+ Smart Meter can have different sensors available (e.g., IRIS:
+ Temperature, Humidity, Sound; TelosB: Temperature, Bridgeness,
+ Humidity, GPS) building the sensor data.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Schmitt, et al. Informational [Page 11]
+
+RFC 8272 TinyIPFIX November 2017
+
+
+ +------------------------+ +------------------------+
+ | TinyIPFIX Device | ... | TinyIPFIX Device |
+ | [Exporting Process] | | [Exporting Process] |
+ +------------------------+ +------------------------+
+ | |
+ TinyIPFIX | | TinyIPFIX
+ | |
+ v v
+ +----------------------------------+
+ |
+ v
+ +----------------------------+
+ | TinyIPFIX Collector |
+ | [Collecting Process(es)] |
+ +----------------------------+
+ |
+ v
+ +-----------------------+
+ | |
+ v v
+ +----------------+ +----------------+
+ |[*Application 1]| ... |[*Application n]|
+ +----------------+ +----------------+
+
+ Figure 1: Direct Transmission between TinyIPFIX
+ Devices and Applications
+
+ A TinyIPFIX Smart Meter (S.M.) receives measurement data from its
+ internal sensors to create its TinyIPFIX Messages. Then, it encodes
+ the results into a TinyIPFIX Message using a TinyIPFIX Exporting
+ Process and exports this TinyIPFIX Message to one or more TinyIPFIX
+ Collectors. The TinyIPFIX Collector runs one or more applications
+ that process the collected sensor data. The TinyIPFIX Collector can
+ be deployed on unconstrained devices at the constrained network
+ border.
+
+ A second way to deploy TinyIPFIX Smart Meter can employ accumulation
+ on TinyIPFIX Messages during their journey through the constrained
+ network as shown in Figure 2. This accumulation can be performed by
+ TinyIPFIX Concentrators. Such devices must have enough resources to
+ perform the accumulation.
+
+
+
+
+
+
+
+
+
+
+Schmitt, et al. Informational [Page 12]
+
+RFC 8272 TinyIPFIX November 2017
+
+
+ +------------------------+ +------------------------+
+ | TinyIPFIX Device | ... | TinyIPFIX Device |
+ | [Exporting Process] | | [Exporting Process] |
+ +------------------------+ +------------------------+
+ | |
+ TinyIPFIX | | TinyIPFIX
+ | |
+ v v
+ +----------------------------------+
+ |
+ v
+ +------------------------+
+ | TinyIPFIX Concentrator |
+ | [Collecting Process] |
+ | [Exporting Process] |
+ +------------------------+
+ |
+ TinyIPFIX |
+ |
+ v
+ +--------------------------+
+ | Collector |
+ | [Collecting Process(es)] |
+ +--------------------------+
+
+ Figure 2: Accumulation of TinyIPFIX
+
+ TinyIPFIX Smart Meters send their data to a TinyIPFIX Concentrator,
+ which needs to have enough storage space to store the incoming data.
+ If the TinyIPFIX Concentrator is hosted in a TinyIPFIX Smart Meter,
+ it MAY also be able to collect data from it sensors, if activated.
+ It may also accumulate the incoming data with its own measurement
+ data. The accumulated data can then be re-exported to one or more
+ Collectors. In that case, the TinyIPFIX Concentrator can be viewed
+ as receiving data from multiple Smart Meters: one locally and some
+ remotely.
+
+ The last deployment, shown in Figure 3, employs another TinyIPFIX
+ Mediation process.
+
+
+
+
+
+
+
+
+
+
+
+
+Schmitt, et al. Informational [Page 13]
+
+RFC 8272 TinyIPFIX November 2017
+
+
+ +-------------------------+ +-------------------------+
+ | Remote Smart Meter | | Local Smart Meter |
+ +-------------------------+ +-------------------------+
+ | TinyIPFIX Device | | TinyIPFIX Device |
+ | [Exporting Process] | | [Exporting Process] |
+ +-------------------------+ +-------------------------+
+ | |
+ TinyIPFIX | | TinyIPFIX
+ | |
+ v v
+ +-------------------------+
+ | TinyIPFIX Concentrator |
+ | [Collecting Process] |
+ +-------------------------+
+
+ Figure 3: TinyIPFIX Mediator
+
+ In this deployment, the TinyIPFIX Smart Meters transmit their
+ TinyIPFIX Messages to one node, e.g., the base station, which
+ translates the TinyIPFIX Messages to IPFIX Messages. The IPFIX
+ Messages can then be exported into an existing IPFIX infrastructure.
+ The Mediation process from TinyIPFIX to IPFIX is described in
+ Section 7.
+
+6. TinyIPFIX Message Format
+
+ A TinyIPFIX IPFIX Message starts with a TinyIPFIX Message Header,
+ followed by one or more TinyIPFIX Sets. The TinyIPFIX Sets can be
+ either of type TinyIPFIX Template Set or of type TinyIPFIX Data Set.
+ A TinyIPFIX Message MUST only contain one type of TinyIPFIX Set. The
+ format of the TinyIPFIX Message is shown in Figure 4.
+
+ +----------------------------------------------------+
+ | TinyIPFIX Message Header |
+ +----------------------------------------------------+
+ | TinyIPFIX Set |
+ +----------------------------------------------------+
+ | TinyIPFIX Set |
+ +----------------------------------------------------+
+ ...
+ +----------------------------------------------------+
+ | TinyIPFIX Set |
+ +----------------------------------------------------+
+
+ Figure 4: TinyIPFIX Message Format
+
+
+
+
+
+
+Schmitt, et al. Informational [Page 14]
+
+RFC 8272 TinyIPFIX November 2017
+
+
+6.1. TinyIPFIX Message Header
+
+ The TinyIPFIX Message Header is derived from the IPFIX Message
+ Header, with some optimization using field compression. The IPFIX
+ Message Header from [RFC7011] is shown in Figure 5.
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Version Number | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Export Time |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Sequence Number |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Observation ID |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 5: IPFIX Message Header
+
+ The length of the IPFIX Message Header is 16 octets, and every IPFIX
+ Message has to be started with it. The TinyIPFIX Message Header
+ needs to be smaller due to the packet size constraints discussed in
+ Section 3.3. The TinyIPFIX Header consists of a fixed part of three
+ octets as shown in Figure 6, followed by a variable part as shown in
+ Figures 7 to 10.
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |E|E| SetID | Length | Sequence | Ext. Sequence |
+ |1|2|Lookup | | Number | Number |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Ext. SetID |
+ +-+-+-+-+-+-+-+-+
+
+ Figure 6: Format of the TinyIPFIX Message Header
+ including Fixed and Optional Parts
+
+ The fixed part has a length of 3 octets and consists of the "E1"
+ field (1 bit), the "E2" field (1 bit), the "SetID Lookup" field (4
+ bits), the "Length" field (10 bits), and the "Sequence Number" field
+ (8 bits). The variable part has a variable length defined by the
+ "E1" and "E2" fields in the fixed header. The four variants are
+ illustrated in Figure 7 to Figure 10 below.
+
+
+
+
+
+
+Schmitt, et al. Informational [Page 15]
+
+RFC 8272 TinyIPFIX November 2017
+
+
+ 0 1 2
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |0|0| SetID | Length | Sequence |
+ | | |Lookup | | Number |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 7: TinyIPFIX Message Header Format if E1 = E2 = 0
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |1|0| SetID | Length | Sequence | Ext. SetID |
+ | | |Lookup | | Number | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 8: TinyIPFIX Message Header Format if E1 = 1 and E2 = 0
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |E|E| SetID | Length | Sequence | Ext. Sequenz |
+ |1|2|Lookup | | Number | Number |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 9: TinyIPFIX Message Header Format if E1 = 0 and E2 = 1
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |1|1| SetID | Length | Sequence | Ext. Sequenz |
+ | | |Lookup | | Number | Number |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Ext. SetID |
+ +-+-+-+-+-+-+-+-+
+
+ Figure 10: TinyIPFIX Message Header Format if E1 = E2 = 1
+
+ The fixed header fields are defined as follows [Kothmayr10]
+ [Schmitt2014]:
+
+ E1 and E2
+
+ The bits marked "E1" and "E2" control the presence of the field
+ "Ext. SetID" and the presence of the field "Ext. Sequence
+ Number", respectively.
+
+
+
+
+
+Schmitt, et al. Informational [Page 16]
+
+RFC 8272 TinyIPFIX November 2017
+
+
+ In case E1 = E2 = 0, the TinyIPFIX Message Header has the format
+ shown in Figure 7. The fields Extended Sequence Number and
+ Extended SetID MUST NOT be present.
+
+ When E1 = 1, the extended SetID field MUST be present. Custom
+ SetIDs can be specified in the extended SetID field, setting all
+ SetID Lookup bits to 1 (cf. Figure 8.) When evaluated, the value
+ specified in the extended SetID field is shifted left by 8 bits to
+ prevent collisions with the reserved SetIDs 0-255. To reference
+ these, shifting can be disabled by setting all SetID lookup bits
+ to 1.
+
+ Depending on the application, sampling rates might be larger than
+ in typical constrained networks (e.g., Wireless Sensor Networks
+ (WSNs), Cyber-Physical-Systems (CPS)); thus, they may have a large
+ quantity of records per packet. In order to make TinyIPFIX
+ applicable for those cases, E2 = 1 is set (cf. Figure 9). This
+ means the Extended Sequence Number field MUST be present, offering
+ 8-bit more sequence numbers as usual. Depending on the
+ constrained network settings, the combination E1 = E2 = 1 is also
+ possible, resulting in the maximum TinyIPFIX Message header shown
+ in Figure 10 where the Extended Sequence Number field and Extended
+ SetID field MUST both be present.
+
+ SetID Lookup
+
+ This field acts as a lookup field for the SetIDs and provides
+ shortcuts to often used SetIDs. Four values are defined:
+
+ Value = 0; Look up extended SetID field, Shifting enabled.
+
+ Value = 1; SetID = 2 and message contains a Template definition.
+
+ Value = 2; SetID = 256 and message contains Data Record for
+ Template 256. This places special importance on a single template
+ ID, but, since most sensor nodes only define a single template
+ directly after booting and continue to stream data with this
+ template ID during the whole session lifetime, this shorthand is
+ useful for this case.
+
+ Value = 3-14; SetIDs are reserved for future extensions.
+
+ Value = 15; look up extended SetID field, shifting enabled.
+
+ Length
+
+ The length field has a fixed length of 10 bits.
+
+
+
+
+Schmitt, et al. Informational [Page 17]
+
+RFC 8272 TinyIPFIX November 2017
+
+
+ Sequence Number
+
+ Due to the low sampling rate in typical WSNs, the "Sequence
+ Number" field is only one byte long. However, some applications
+ may have a large quantity of records per packet. In this case,
+ the sequence field can be extended to 16 bit by setting the E2-bit
+ to 1.
+
+ Since TinyIPFIX packets are always transported via a network
+ protocol, which specifies the source of the packet, the "Observation
+ Domain" can be equated with the source of a TinyIPFIX packet.
+ Therefore, this IPFIX field has been removed from the TinyIPFIX
+ Header. Should an application require explicit Observation Domain
+ information, each Data Record in the TinyIPFIX data message may
+ contain an Observation Domain ID Information Element; see Section 3.1
+ of [RFC7011]. The version field has been removed since the SetID
+ lookup field provides room for future extensions. The specification
+ of a 32-bit timestamp in seconds would require the time
+ synchronization across a wireless-sensor network and produces too
+ much overhead. Thus, the "Export Time" field has been removed. If
+ applications should require a concrete observation time (e.g.,
+ timestamp), it is RECOMMENDED to include it as a separate Information
+ Element in the TinyIPFIX Records.
+
+6.2. TinyIPFIX Set
+
+ A TinyIPFIX Set is a set of TinyIPFIX Template or TinyIPFIX Data
+ Records. Depending on the TinyIPFIX Record type, the TinyIPFIX Set
+ can be either a TinyIPFIX Template Set or a TinyIPFIX Data Set. Every
+ TinyIPFIX Set starts with a TinyIPFIX Set Header and is followed by
+ one or more TinyIPFIX Records.
+
+ The IPFIX Set Header consists of a 2-octet "Set ID" field and a
+ 2-octet "Length" field. These two fields are compressed to 1 octet
+ each for the TinyIPFIX Set Header. The format of the TinyIPFIX Set
+ Header is shown in Figure 11.
+
+ 0 1
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Tiny Set ID | Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 11: TinyIPFIX Set Header
+
+
+
+
+
+
+
+Schmitt, et al. Informational [Page 18]
+
+RFC 8272 TinyIPFIX November 2017
+
+
+ The two fields are defined as follows:
+
+ TinyIPFIX Set ID
+
+ The "Tiny Set ID" identifies the type of data that is transported
+ in the TinyIPFIX Set. A TinyIPFIX Template Set is identified by
+ TinyIPFIX Set ID 2. This corresponds to the Template Set IDs that
+ are used by IPFIX [RFC7011]. TinyIPFIX Set ID number 3 MUST NOT
+ be used, as Options Templates are not supported; a TinyIPFIX
+ Collector MUST ignore and SHOULD log any Set with Set ID 3. All
+ values from 4 to 127 are reserved for future use. Values above
+ 127 are used for TinyIPFIX Data Sets.
+
+ Length
+
+ The "Length" Field contains the total length of the TinyIPFIX Set,
+ including the TinyIPFIX Set Header.
+
+6.3. TinyIPFIX Template Record Format
+
+ The format of the TinyIPFIX Template Records is shown in Figure 12.
+ The TinyIPFIX Template Record starts with a TinyIPFIX Template Record
+ Header and this is followed by one or more Field Specifiers. The
+ Field Specifier format is defined as in Section 6.4 and is identical
+ to the Field Specifier definition in [RFC7011].
+
+ +--------------------------------------------------+
+ | TinyIPFIX Template Record Header |
+ +--------------------------------------------------+
+ | Field Specifier |
+ +--------------------------------------------------+
+ | Field Specifier |
+ +--------------------------------------------------+
+ ...
+ +--------------------------------------------------+
+ | Field Specifier |
+ +--------------------------------------------------+
+
+ Figure 12: TinyIPFIX Template Format
+
+ The format of the TinyIPFIX Template Record Header is shown in
+ Figure 13.
+
+
+
+
+
+
+
+
+
+Schmitt, et al. Informational [Page 19]
+
+RFC 8272 TinyIPFIX November 2017
+
+
+ 0 1
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Template ID | Field Count |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 13: TinyIPFIX Template Record Header
+
+ TinyIPFIX Template ID
+
+ Each TinyIPFIX Template Record must have a unique TinyIPFIX
+ Template ID (Comp. Temp ID) between 128 and 255. The TinyIPFIX
+ Template ID must be unique for the given TinyIPFIX Transport
+ Session.
+
+ Field Count
+
+ The number of fields placed in the TinyIPFIX Template Record.
+
+6.4. Field Specifier Format
+
+ The type and length of the transmitted data is encoded in Field
+ Specifiers within TinyIPFIX Template Records. The Field Specifier is
+ shown in Figure 14 and is identical with the Field Specifier that was
+ defined for IPFIX [RFC7011].
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |E| Information Element ident. | Field Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Enterprise Number |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 14: TinyIPFIX Data Field Specifier
+
+ Where:
+
+ E
+
+ Enterprise bit. This is the first bit of the Field Specifier. If
+ this bit is zero, the Information Element Identifier identifies an
+ IETF-specified Information Element, and the four-octet Enterprise
+ Number field MUST NOT be present. If this bit is one, the
+ Information Element Identifier identifies an enterprise-specific
+ Information Element, and the Enterprise Number field MUST be
+ present.
+
+
+
+
+Schmitt, et al. Informational [Page 20]
+
+RFC 8272 TinyIPFIX November 2017
+
+
+ Information Element Identifier
+
+ A numeric value that represents the type of Information Element.
+
+ Field Length
+
+ The length of the corresponding encoded Information Element, in
+ octets. Refer to [RFC7012]. The value 65535 is illegal in
+ TinyIPFIX, as variable-length Information Elements are not
+ supported.
+
+ Enterprise Number
+
+ IANA Private Enterprise Number of the authority defining the
+ Information Element identifier in this Template Record.
+
+ Vendors can easily define their own data model by registering a
+ Enterprise ID with IANA. Using their own Enterprise ID, they can use
+ any ID in the way they want them to use.
+
+6.5. TinyIPFIX Data Record Format
+
+ The Data Records are sent in TinyIPFIX Data Sets. The format of the
+ Data Records is shown in Figure 15 and matches the Data Record format
+ from IPFIX.
+
+ +--------------------------------------------------+
+ | Field Value |
+ +--------------------------------------------------+
+ | Field Value |
+ +--------------------------------------------------+
+ ...
+ +--------------------------------------------------+
+ | Field Value |
+ +--------------------------------------------------+
+
+ Figure 15: Data Record Format
+
+7. TinyIPFIX Mediation
+
+ There are two types of TinyIPFIX Intermediate Processes. The first
+ one can occur on the transition between a constrained network (e.g.,
+ 6LoWPAN) and the unconstrained network. This mediation changes the
+ network and transport protocol from 6LoWPAN preferring UDP to
+ IP/(SCTP|TCP|UDP) and is shown in Figure 16.
+
+
+
+
+
+
+Schmitt, et al. Informational [Page 21]
+
+RFC 8272 TinyIPFIX November 2017
+
+
+ +-----------------------+
+ | TinyIPFIX Device |
+ | [Exporting Process] |
+ +-----------------------+
+ |
+ TinyIPFIX |
+ over 6LoWPAN/UDP |
+ v
+ +-------------------------+
+ | TinyIPFIX mediator |
+ | [Collecting Process] |
+ | [Exporting Process] |
+ +-------------------------+
+ |
+ TinyIPFIX |
+ IP/(UDP/SCTP|TCP) |
+ v
+ +--------------------------+
+ | Collector |
+ | [Collecting Process(es)] |
+ +--------------------------+
+
+ Figure 16: Translation from TinyIPFIX over 6LoWPAN/UDP
+ to TinyIPFIX over IP/(SCTP|TCP|UDP)
+
+ The mediator removes the TinyIPFIX Messages from the 6LoWPAN/UDP
+ packets and wraps them into the new network and transport protocols.
+ Templates MUST be managed the same way as in the constrained
+ environment after the translation to IP/(SCTP|UDP|TCP) (see
+ Section 8).
+
+ The second type of mediation transforms TinyIPFIX into IPFIX. This
+ process MUST be combined with the transport protocol mediation as
+ shown in Figure 17.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Schmitt, et al. Informational [Page 22]
+
+RFC 8272 TinyIPFIX November 2017
+
+
+ +-----------------------+
+ | TinyIPFIX Device |
+ | [Exporting Process] |
+ +-----------------------+
+ |
+ TinyIPFIX |
+ |
+ v
+ +-------------------------+
+ | TinyIPFIX mediator |
+ | [Collecting Process] |
+ | [Exporting Process] |
+ +-------------------------+
+ |
+ IPFIX |
+ IP/(UDP/SCTP|TCP) |
+ v
+ +--------------------------+
+ | Collector |
+ | [Collecting Process(es)] |
+ +--------------------------+
+
+ Figure 17: Transformation from TinyIPFIX to IPFIX
+
+ This mediation can also be performed by an IPFIX Collector before
+ parsing the IPFIX message as shown in Figure 18. There is no need
+ for a parser from TinyIPFIX to IPFIX if such a mediation process can
+ be employed in front of an existing IPFIX collector.
+
+
+ +------------------------+ +----------------------+
+ | TinyIPFIX Device | TinyIPFIX | IPFIX Mediator |
+ | [Exporting Processes] |----------------->| [Collecting Process] |
+ +------------------------+ | [Exporting Process] |
+ | | |
+ | |IPFIX |
+ | | |
+ | v |
+ | Collector |
+ | [Collecting Process] |
+ +----------------------+
+
+ Figure 18: Transformation from TinyIPFIX to IPFIX
+
+
+
+
+
+
+
+
+Schmitt, et al. Informational [Page 23]
+
+RFC 8272 TinyIPFIX November 2017
+
+
+ The TinyIPFIX Mediation Process has to translate the TinyIPFIX
+ Message Header, the TinyIPFIX Set Headers, and the TinyIPFIX Template
+ Record Header into their counterparts in IPFIX. Afterwards, the new
+ IPFIX Message Length needs to be calculated and inserted into the
+ IPFIX Message header.
+
+7.1. Expanding the Message Header
+
+ The fields of the IPFIX Message Header that are shown in Figure 5 can
+ be determined from a TinyIPFIX Message Header as follows:
+
+ Version
+
+ This is always 0x000a.
+
+ Length
+
+ The IPFIX Message Length can only be calculated after the complete
+ TinyIPFIX Message has been translated. The new length can be
+ calculated by adding the length of the IPFIX Message Header, which
+ is 16 octets, and the length of all Sets that are contained in the
+ IPFIX Message.
+
+ Export Time
+
+ The "Export Time" MUST be generated by the Mediator, and contains
+ the time in seconds since 00:00 UTC Jan 1, 1970, at which the
+ IPFIX Message leaves the Mediator.
+
+ Sequence Number
+
+ If the TinyIPFIX Sequence Number has a length of 4 octets, the
+ original value MUST be used for the IPFIX Message. If the
+ TinyIPFIX Sequence Number has a size of one or two octets, the
+ TinyIPFIX Mediator MUST expand the TinyIPFIX Sequence Number into
+ a four octet field. If the TinyIPFIX Sequence Number was omitted,
+ the Mediator needs to calculate the Sequence Number as per
+ [RFC7011].
+
+ Observation Domain ID
+
+ Since the Observation Domain ID is used to scope templates in
+ IPFIX, it MUST be set to a unique value per TinyIPFIX Exporting
+ Process, using either a mapping algorithmically determined by the
+ Intermediate Process or directly configured by an administrator.
+
+
+
+
+
+
+Schmitt, et al. Informational [Page 24]
+
+RFC 8272 TinyIPFIX November 2017
+
+
+7.2. Translating the Set Headers
+
+ Both fields in the TinyIPFIX Set Header have a size of 1 octet and
+ need to be expanded:
+
+ Set ID
+
+ The field needs to be expanded from 1 octet to 2 octets. If the
+ Set ID is below 128, no recalculation needs to be performed. This
+ is because all IDs below 128 are reserved for special messages and
+ match the IDs used in IPFIX. The TinyIPFIX Set IDs starting with
+ 128 identify TinyIPFIX Data Sets. Therefore, every TinyIPFIX Set
+ ID above number 127 needs to be incremented by number 128 because
+ IPFIX Data Set IDs are numbered above 255.
+
+ Set Length
+
+ The field needs to be expanded from one octet to two octets. It
+ needs to be recalculated by adding a value of 2 octets to match
+ the additional size of the Set Header. For each TinyIPFIX
+ Template Record that is contained in the TinyIPFIX Set, 2 more
+ octets need to be added to the length.
+
+7.3. Expanding the Template Record Header
+
+ Both fields in the TinyIPFIX Template Record Header have a length of
+ one octet and therefore need translation:
+
+ Template ID
+
+ The field needs to be expanded from one octet to two octets. The
+ Template ID needs to be increased by a value of 128.
+
+ Field Count
+
+ The field needs to be expanded from one octet to 2 octets.
+
+8. Template Management
+
+ As with IPFIX, TinyIPFIX Template Management depends on the transport
+ protocol used. If TCP or SCTP is used, it can be ensured that
+ TinyIPFIX Templates are delivered reliably. If UDP is used,
+ reliability cannot be guaranteed: template loss can occur. If a
+ Template is lost on its way to the Collector, any following TinyIPFIX
+ Data Records that refer to this TinyIPFIX Template cannot be decoded.
+ Template Withdrawals are not supported in TinyIPFIX. This is
+ generally not a problem, because most sensor nodes only define a
+ single static template directly after booting.
+
+
+
+Schmitt, et al. Informational [Page 25]
+
+RFC 8272 TinyIPFIX November 2017
+
+
+8.1. TCP/SCTP
+
+ If TCP or SCTP is used for the transmission of TinyIPFIX, Template
+ Management MUST be performed as defined in [RFC7011] for IPFIX, with
+ the exception of Template Withdrawals, which are not supported in
+ TinyIPFIX. Template Withdrawals MUST NOT be sent by TinyIPFIX
+ Exporters.
+
+8.2. UDP
+
+ All specifications for Template Management from [RFC7011] apply
+ unless specified otherwise in this document.
+
+ TinyIPFIX Templates MUST be sent by a TinyIPFIX Exporter before any
+ TinyIPFIX Data Set that refers to the TinyIPFIX Template is
+ transmitted. TinyIPFIX Templates are not expected to change over
+ time in TinyIPFIX and, thus, they should be pre-shared. TinyIPFIX
+ Devices have a default setup when deployed; after booting, they
+ announce their TinyIPFIX Template directly to the network and MAY
+ repeat it if UDP is used. Hence, a TinyIPFIX Template that has been
+ sent once MAY NOT be withdrawn and MUST NOT expire. If a TinyIPFIX
+ Smart Meter wants to use another TinyIPFIX Template, it MUST use a
+ new TinyIPFIX Template ID for the TinyIPFIX Template.
+
+ While UDP is used, reliable transport of TinyIPFIX Templates cannot
+ be, guaranteed and TinyIPFIX Templates can be lost. A TinyIPFIX
+ Exporter MUST expect TinyIPFIX Template loss. Therefore, it MUST
+ re-send its TinyIPFIX Templates periodically. A TinyIPFIX Template
+ MUST be re-sent after a fixed number N of TinyIPFIX Messages that
+ contain TinyIPFIX Data Sets referring to the TinyIPFIX Template. The
+ number N MUST be configured by the application developer.
+ Retransmission and the specification of N can be avoided if TinyIPFIX
+ Exporter and TinyIPFIX Collector use pre-shared templates.
+
+9. Security Considerations
+
+ The same security considerations as for the IPFIX Protocol [RFC7011]
+ apply.
+
+10. IANA Considerations
+
+ This document does not require any IANA actions.
+
+
+
+
+
+
+
+
+
+Schmitt, et al. Informational [Page 26]
+
+RFC 8272 TinyIPFIX November 2017
+
+
+11. References
+
+11.1. Normative References
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119,
+ DOI 10.17487/RFC2119, March 1997,
+ <https://www.rfc-editor.org/info/rfc2119>.
+
+ [RFC4944] Montenegro, G., Kushalnagar, N., Hui, J., and D. Culler,
+ "Transmission of IPv6 Packets over IEEE 802.15.4
+ Networks", RFC 4944, DOI 10.17487/RFC4944, September 2007,
+ <https://www.rfc-editor.org/info/rfc4944>.
+
+ [RFC5153] Boschi, E., Mark, L., Quittek, J., Stiemerling, M., and P.
+ Aitken, "IP Flow Information Export (IPFIX) Implementation
+ Guidelines", RFC 5153, DOI 10.17487/RFC5153, April 2008,
+ <https://www.rfc-editor.org/info/rfc5153>.
+
+ [RFC5470] Sadasivan, G., Brownlee, N., Claise, B., and J. Quittek,
+ "Architecture for IP Flow Information Export", RFC 5470,
+ DOI 10.17487/RFC5470, March 2009,
+ <https://www.rfc-editor.org/info/rfc5470>.
+
+ [RFC5982] Kobayashi, A., Ed. and B. Claise, Ed., "IP Flow
+ Information Export (IPFIX) Mediation: Problem Statement",
+ RFC 5982, DOI 10.17487/RFC5982, August 2010,
+ <https://www.rfc-editor.org/info/rfc5982>.
+
+ [RFC6183] Kobayashi, A., Claise, B., Muenz, G., and K. Ishibashi,
+ "IP Flow Information Export (IPFIX) Mediation: Framework",
+ RFC 6183, DOI 10.17487/RFC6183, April 2011,
+ <https://www.rfc-editor.org/info/rfc6183>.
+
+ [RFC7011] Claise, B., Ed., Trammell, B., Ed., and P. Aitken,
+ "Specification of the IP Flow Information Export (IPFIX)
+ Protocol for the Exchange of Flow Information", STD 77,
+ RFC 7011, DOI 10.17487/RFC7011, September 2013,
+ <https://www.rfc-editor.org/info/rfc7011>.
+
+ [RFC7012] Claise, B., Ed. and B. Trammell, Ed., "Information Model
+ for IP Flow Information Export (IPFIX)", RFC 7012,
+ DOI 10.17487/RFC7012, September 2013,
+ <https://www.rfc-editor.org/info/rfc7012>.
+
+ [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
+ 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
+ May 2017, <https://www.rfc-editor.org/info/rfc8174>.
+
+
+
+Schmitt, et al. Informational [Page 27]
+
+RFC 8272 TinyIPFIX November 2017
+
+
+11.2. Informative References
+
+ [Advantic] ADVANTIC SISTEMAS Y SERVICIOS S.L.,
+ <https://www.advanticsys.com/>, 2017.
+
+ [GreatDuck]
+ Mainwaring, A., Polastre, J., Szewczyk, R., Culler, D.,
+ and J. Anderson, "Wireless Sensor Networks for Habitat
+ Monitoring", In Proceedings of the 1st ACM international
+ workshop on Wireless sensor networks and applications ACM,
+ pp. 88-97, DOI 10.1145/570738.570751, 2002.
+
+ [Harvan08] Harvan, M. and J. Schoenwaelder, "TinyOS Motes on the
+ Internet: IPv6 over 802.15.4 (6LoWPAN)",
+ DOI 10.1515/piko.2008.0042, December 2008.
+
+ [IRIS] Memsic, "Data Sheet IRIS", 2017,
+ <http://www.memsic.com/userfiles/files/Datasheets/WSN/
+ IRIS_Datasheet.pdf>.
+
+ [Kim07] Kim, S., Pakzad, S., Culler, D., Demmel, J., Fenves, G.,
+ Glaser, S., and M. Turon, "Health monitoring of civil
+ infrastructures using wireless sensor networks",
+ Proceedings of the 6th international conference on
+ Information processing in sensor networks (IPSN
+ 2007), Cambridge, MA, ACM Press, pp. 254-263,
+ DOI 10.1145/1236360.1236395, April 2007.
+
+ [Kothmayr10]
+ Kothmayr, T., "Data Collection in Wireless Sensor Networks
+ for Autonomic Home Networking", Bachelor Thesis, Technical
+ University of Munich, Munich, Germany, January 2010.
+
+ [openMote] openMote Technologies S.L., 2017, <http://openmote.com>.
+
+ [Schmitt09]
+ Schmitt, C. and G. Carle, "Applications for Wireless
+ Sensor Networks", Handbook of Research on P2P and Grid
+ Systems for Service-Oriented Computing: Models,
+ Methodologies and Applications, Edited by Antonopoulos N.,
+ Exarchakos G., Li M., and A. Liotta, Information Science
+ Publishing, Chapter 46, pp. 1076-1091,
+ ISBN: 978-1615206865, 2010.
+
+
+
+
+
+
+
+
+Schmitt, et al. Informational [Page 28]
+
+RFC 8272 TinyIPFIX November 2017
+
+
+ [Schmitt2014]
+ Schmitt, C., Kothmayr, T., Ertl, B., Hu, W., Braun, L.,
+ and G. Carle, "TinyIPFIX: An efficient application
+ protocol for data exchange in cyber physical systems",
+ Computer Communications, ELSEVIER, Vol. 74, pp. 63-76,
+ DOI 10.1016/j.comcom.2014.05.012, 2016.
+
+ [Schmitt2017]
+ Schmitt, C., Anliker, C., and B. Stiller, "Efficient and
+ Secure Pull Requests for Emergency Cases Using a Mobile
+ Access Framework", Managing the Web of Things: Linking the
+ Real World to the Web, Edited by Sheng, M., Qin, Y., Yao,
+ L., and B. Benatallah, Morgen Kaufmann (imprint of
+ Elsevier), Chapter 8, pp. 229-247,
+ ISBN: 978-0-12-809764-9, 2017.
+
+ [SMPC04] Szewczyk, R., Mainwaring, A., Polastre, J., and D. Culler,
+ "An analysis of a large scale habitat monitoring
+ application", Proceedings of the 2nd international
+ conference on Embedded networked sensor systems (SenSys
+ 04), DOI 10.1145/1031495.1031521, November 2004.
+
+ [TelosB] Memsic, "Data Sheet TelosB", 2017,
+ <http://www.memsic.com/userfiles/files/DataSheets/WSN/
+ telosb_datasheet.pdf>.
+
+ [Tolle05] Tolle, G., Polastre, J., Szewczyk, R., Culler, D., Turner,
+ N., Tu, K., Burgess, S., Dawnson, T., Buonadonna, P., Gay,
+ D., and W. Hong, "A macroscope in the redwoods",
+ Proceedings of the 3rd international conference on
+ Embedded networked sensor systems (SenSys 05),
+ DOI 10.1145/1098918.1098925, November 2005.
+
+Acknowledgments
+
+ Many thanks to Lothar Braun, Georg Carle, and Benoit Claise, who
+ contributed significant work to earlier draft versions of this work,
+ especially to the document titled "Compressed IPFIX for Smart Meters
+ in Constrained Networks".
+
+ Many thanks to Thomas Kothmayr, Michael Meister, and Livio Sgier, who
+ implemented TinyIPFIX (except the mediator) for TinyOS 2.x and
+ Contiki 2.7/3.0 for 3 different sensor platforms (IRIS, TelosB, and
+ OpenMote).
+
+
+
+
+
+
+
+Schmitt, et al. Informational [Page 29]
+
+RFC 8272 TinyIPFIX November 2017
+
+
+Authors' Addresses
+
+ Corinna Schmitt
+ University of Zurich
+ Department of Informatics
+ Communication Systems Group
+ Binzmuehlestrasse 14
+ Zurich 8050
+ Switzerland
+
+ Email: schmitt@ifi.uzh.ch
+
+
+ Burkhard Stiller
+ University of Zurich
+ Department of Informatics
+ Communication Systems Group
+ Binzmuehlestrasse 14
+ Zurich 8050
+ Switzerland
+
+ Email: stiller@ifi.uzh.ch
+
+
+ Brian Trammell
+ Swiss Federal Institute of Technology
+ Gloriastrasse 35
+ Zurich 8092
+ Switzerland
+
+ Email: ietf@trammell.ch
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Schmitt, et al. Informational [Page 30]
+