Independent Submission C. Schmitt Request for Comments: 8272 B. Stiller Category: Informational University of Zurich ISSN: 2070-1721 B. Trammell ETH Zurich November 2017
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
TinyIPFIX用于受限网络中的智能电表
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.
本文件规定了TinyIPFIX协议,该协议用于在受限网络(如IPv6)中通过低功率无线个人区域网络(6LoWPAN,RFC 4944)传输智能计量数据。TinyIPFIX源于IP流信息导出(RFC 7011),适用于受限网络的需要。本文件规定了TinyIPFIX数据和模板记录如何在受限网络(如6LoWPAN)中传输,以及TinyIPFIX数据如何在代理设备中转换为非TinyIPFIX数据。
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.
这是对RFC系列的贡献,独立于任何其他RFC流。RFC编辑器已选择自行发布此文档,并且未声明其对实现或部署的价值。RFC编辑批准发布的文件不适用于任何级别的互联网标准;见RFC 7841第2节。
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.
有关本文件当前状态、任何勘误表以及如何提供反馈的信息,请访问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.
版权所有(c)2017 IETF信托基金和确定为文件作者的人员。版权所有。
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.
本文件受BCP 78和IETF信托有关IETF文件的法律规定的约束(https://trustee.ietf.org/license-info)自本文件出版之日起生效。请仔细阅读这些文件,因为它们描述了您对本文件的权利和限制。
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
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
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的推送协议(其中数据从仪表自动传输到一个或多个采集器)适用于报告此类网络中的计量数据。
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.
TinyIPFIX源自IPFIX[RFC7011];因此,它继承了IPFIX的大部分属性。这些属性之一是通过在数据集中编码数据和在模板集中编码数据来分离数据及其描述。
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.
按照[RFC7011]将TinyIPFIX转换为IPFIX非常简单,可以在受约束网络和更一般网络之间的边界上完成。将一种形式的IPFIX数据转换为另一种形式被称为“IPFIX中介”[RFC5982]。因此,基于TinyIPFIX的智能计量网络可以轻松集成到现有的IPFIX测量基础设施中。
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.
第2节介绍了本文件中使用的术语。随后,第3节讨论了受限网络中的硬件和软件约束,这将促使我们修改IPFIX协议。第4节描述了应用场景,第5节描述了TinyIPFIX的体系结构。第6节定义了TinyIPFIX协议本身,并讨论了TinyIPFIX和IPFIX之间的区别。第7节描述了从TinyIPFIX到IPFIX的中介过程。第8节定义了导出器和收集器的模板管理过程。第9节和第10节讨论了TinyIPFIX的安全性和IANA注意事项。
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.
本文件中使用的大多数术语在[RFC7011]中定义。这些术语都以大写字母开头。为IPFIX定义的大多数术语可用于描述TinyIPFIX。本文件使用术语“IPFIX”指的是[RFC7011]中定义的IPFIX,以及本文件草案中规定的协议的术语TinyIPFIX,假设网络受限。IPFIX中添加了前缀“Tiny”,以区分IPFIX版本和TinyIPFIX版本。
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].
术语IPFIX消息、IPFIX设备、集合、数据集合、模板集合、数据记录、模板记录、采集过程、采集器、导出过程和导出器的定义如[RFC7011]所示。术语IPFIX中介在[RFC5982]中定义。术语中间进程、IPFIX代理、IPFIX集中器在[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.
以上所有术语均根据IPFIX定义进行了改编。由于它们保留了类似的概念,但在受限网络的不同上下文中,术语“TinyIPFIX”现在位于定义的术语之前。
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].
术语“智能电表”用于指受限设备,如无线传感器节点、微尘或任何其他类型的小型受限设备,它们可以是基于IEEE 802.15.4和6LoWPAN[RFC4944]的网络的一部分。
TinyIPFIX Exporting Process
TinyIPFIX出口流程
The TinyIPFIX Exporting Process is a process that exports TinyIPFIX Records.
TinyIPFIX导出过程是导出TinyIPFIX记录的过程。
TinyIPFIX Exporter
TinyIPFIX出口商
A TinyIPFIX Exporter is device that contains at least one TinyIPFIX Exporting Process.
TinyIPFIX导出器是至少包含一个TinyIPFIX导出过程的设备。
TinyIPFIX Collecting Process
TinyIPFIX收集过程
The TinyIPFIX Collecting Process is a process inside a device that is able to receive and process TinyIPFIX Records.
TinyIPFIX收集过程是设备内部的一个过程,能够接收和处理TinyIPFIX记录。
TinyIPFIX Collector
TinyIPFIX收集器
A TinyIPFIX Collector is a device that contains at least one TinyIPFIX Collecting Process.
TinyIPFIX收集器是包含至少一个TinyIPFIX收集过程的设备。
TinyIPFIX Device
TinyIPFIX装置
A TinyIPFIX Device is a device that contains one or more TinyIPFIX Collectors or one or more TinyIPFIX Exporters.
TinyIPFIX设备是包含一个或多个TinyIPFIX收集器或一个或多个TinyIPFIX导出器的设备。
TinyIPFIX Smart Meter
TinyIPFIX智能电表
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智能电表是包含TinyIPFIX设备功能的设备。它通常配备一个或多个传感器来测量物理量,如功耗、温度或对设备的物理篡改。每个TinyIPFIX智能电表必须至少包含一个TinyIPFIX出口流程。它可能包含一个TinyIPFIX收集过程,以用作TinyIPFIX代理或TinyIPFIX集中器。
TinyIPFIX Data Record
TinyIPFIX数据记录
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数据记录等于[RFC7011]中的IPFIX数据记录。在本文件中,该术语用于区分IPFIX和TinyIPFIX。
TinyIPFIX Template Record
TinyIPFIX模板记录
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模板记录类似于[RFC7011]中的IPFIX模板记录。模板记录头替换为TinyIPFIX模板记录头,否则等于模板记录。见第6.3节。
TinyIPFIX Set
TinyIPFIX套件
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集合是一组TinyIPFIX数据记录或带有TinyIPFIX集合标题的TinyIPFIX模板记录。其格式见第6.2节。
TinyIPFIX Data Set
TinyIPFIX数据集
The TinyIPFIX Data Set is a TinyIPFIX Set that contains TinyIPFIX Data Records.
TinyIPFIX数据集是包含TinyIPFIX数据记录的TinyIPFIX集。
TinyIPFIX Template Set
TinyIPFIX模板集
A TinyIPFIX Template Set is a TinyIPFIX Set that contains TinyIPFIX Template Records.
TinyIPFIX模板集是包含TinyIPFIX模板记录的TinyIPFIX集。
TinyIPFIX Message
TinyIPFIX消息
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消息是由TinyIPFIX导出器发出的消息。它由一个TinyIPFIX消息头和一个或多个TinyIPFIX集合组成。TinyIPFIX消息格式在第6节中定义。
TinyIPFIX Intermediate Process
TinyIPFIX中间过程
A TinyIPFIX Intermediate Process is an IPFIX Intermediate Process that can handle TinyIPFIX Messages.
TinyIPFIX中间进程是可以处理TinyIPFIX消息的IPFIX中间进程。
TinyIPFIX Proxy
TinyIPFIX代理
A TinyIPFIX Proxy is an IPFIX Proxy that can handle TinyIPFIX Messages.
TinyIPFIX代理是一种IPFIX代理,可以处理TinyIPFIX消息。
TinyIPFIX Concentrator
TinyIPFIX选矿机
A TinyIPFIX Concentrator is device that can handle TinyIPFIX Messages (e.g., pre-process them) and is not constrained.
TinyIPFIX集中器是可以处理TinyIPFIX消息(例如,预处理消息)且不受限制的设备。
TinyIPFIX Proxy
TinyIPFIX代理
A TinyIPFIX Proxy is an IPFIX Proxy that can handle TinyIPFIX Messages and is not constrained.
TinyIPFIX代理是一种IPFIX代理,可以处理TinyIPFIX消息,并且不受约束。
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).
TinyIPFIX传输会话由TinyIPFIX导出器(由6LoWPAN地址、传输协议和传输端口标识)和TinyIPFIX收集器(由相同属性标识)之间的通信定义。
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.
本文件中的关键词“必须”、“不得”、“必需”、“应”、“不应”、“建议”、“不建议”、“可”和“可选”在所有大写字母出现时(如图所示)应按照BCP 14[RFC2119][RFC8174]所述进行解释。
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
TinyIPFIX的目标设备通常配备低成本硬件;因此,它们在CPU和内存方面面临着一些限制[Schmitt09]。例如,Crossbow Technologies,Inc.的IRIS mote尺寸为58 x 32 x 7 mm(无电池组)[IRIS]。因此,微控制器、内存(128 kb程序闪存、512 kb测量串行闪存、8 kb)的空间很小
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].
RAM、4KB配置EEPROM)和射频收发器,它们位于板上。Crossbow Technologies,Inc.[TelosB]和ADVANTIC SISTEMAS Y SERVICIOS S.L.[ADVANTIC]生产的TelosB微尘大小相似,但提供更多内存(48 kb闪存、1024 kb串行、闪存、10 kb RAM、16 kb配置EEPROM)。OpenNote也是如此,但提供的是512 kb闪存和32 kb RAM[OpenNote]。
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.
在这种硬件上使用的网络协议需要遵守这些约束。它们必须易于实现,只需使用很少的代码和运行时内存,并且在编码应用程序负载时应该产生很少的开销。
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.
电池供电的智能电表具有硬能量限制[Schmitt09]。如果两个AA 2800毫安时电池为微尘供电,它们包含大约30240焦耳的能量。如果电池电量耗尽,就必须更换电池,这意味着需要对设备进行物理操作。因此,希望使用尽可能少的能量进行网络通信。
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.
如果智能计量装置关闭其射频收发器的电源,则可以节省大量能源。此类设备没有永久的网络连接;它们只是需要时网络的一部分。只有一方在发送数据的推送协议适合于在这种情况下传输应用程序数据。由于通信是单向的,仪表可以完全关闭其射频收发器的电源,只要它没有任何数据要发送。如果计量设备能够在内存中保留一些测量值,并且如果不需要实时计量,则可以减少TinyIPFIX数据记录的推送频率,从而在射频收发器上节省更多的能量。
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
TinyIPFIX主要用于基于IEEE 802.15.4[RFC4944]的6LoWPAN网络。然而,当使用中介将TinyIPFIX数据转换为其他网络中使用的数据格式(例如IPFIX)时,该协议也可用于在其他网络中传输数据。该协议能够将6LoWPAN地址映射到其他网络中使用的地址。此操作通常包括每条消息的重新封装和/或重新编码。根据[RFC4944]的定义,IEEE 802.15.4从127个八位字节(aMaxPHYPacketSize)的最大物理层数据包大小和25个八位字节的最大帧开销(AmaxFrameOverload)开始,在媒体访问控制(MAC)层留下102个八位字节的最大帧大小。另一方面,IPv6定义了最小MTU
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.
1280个八位组。因此,为了传输如此大的数据包,必须实现分段。虽然分段允许传输大的消息,但在数据包丢失率高的网络中使用它是有问题的,因为如果只有一个片段丢失,则必须丢弃完整的消息。
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.
TinyIPFIX通过头压缩方案增强了IPFIX,这使得头大小开销显著减少。此外,TinyIPFIX消息的总大小减小,从而减少了碎片化的需要。
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.
IPFIX标准[RFC7011]为IPFIX消息的传输定义了几个传输协议绑定。任何IPFIX设备都需要流控制传输协议(SCTP)支持,以实现标准一致性[RFC7011],强烈建议使用它。但是,也可以通过UDP和TCP发送IPFIX。
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.
此传输协议建议不适用于TinyIPFIX。6LoWPAN中定义了允许将IPv6报头从40个八位字节压缩到2个八位字节的报头压缩方案。UDP也有类似的压缩方案,但TCP或SCTP头没有这种压缩。如果可以使用报头压缩,则可以为应用程序有效负载提供更多空间。
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.
因此,建议在传输层使用UDP传输TinyIPFIX消息。此外,TCP或SCTP目前在某些平台上不受支持,如TinyOS[Harvan08]。因此,UDP可能是唯一的选择。
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.
每个TinyIPFIX导出器和收集器都必须实现UDP传输层支持,以便在受限网络环境中传输数据。它还可以提供TCP或SCTP支持。在可以使用TCP或SCTP的情况下,与使用UDP相比,功耗将增加,并且应用程序有效负载的可用大小可能会减小。如果TinyIPFIX通过无约束网络传输,建议使用SCTP作为传输层协议。TinyIPFIX独立于目标环境工作,因为必须确保所有中间设备都能理解TinyIPFIX并能够提取所需的数据包信息(例如,IP目标地址)。必要时,TinyIPFIX消息可包含在有效负载中的其他传输协议中,使TinyIPFIX高度灵活,可用于不同的通信协议(例如,受限应用程序协议(CoAP)、UDP、TCP)。TinyIPFIX本身只是为要传输的收集数据指定一种消息格式。
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.
[RFC5153]第6.2节中给出的UDP使用限制也适用于TinyIPFIX。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.
TinyIPFIX源自IPFIX[RFC7011];因此,它是一个假定使用UDP的单向推送协议。这意味着使用TinyIPFIX的所有通信都是从导出进程到收集进程的单向通信。因此,TinyIPFIX仅适用于仪表向一个或多个采集器传输数据的应用场景。如果TinyIPFIX也支持拉取请求,建议不要对TinyIPFIX的代码进行太多更改,以适应可用的受限内存[Schmitt2017]。这意味着只包含一个名为type的一位字段来区分推送和拉送消息是可行的,但过滤应该由网关完成,而不是由受约束的设备完成;这意味着,如果执行拉操作,受约束设备将被触发,立即像往常一样创建TinyIPFIX消息,将类型字段设置为1而不是零(对于推送消息),并将消息发送到网关。在网关处,根据拉取请求执行过滤。
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按照建议通过UDP使用,则可能会发生数据包丢失。此外,如果初始模板消息丢失,因此收集器不知道,则无法解码引用此模板的所有TinyIPFIX数据集。因此,如果收集器没有缓存所有这些消息,它们都将丢失。应用程序开发人员应该清楚,只有在TinyIPFIX消息丢失不是问题的情况下,TinyIPFIX才能通过UDP使用。为避免此丢失,建议定期重复模板消息,请记住,受约束设备的模板在部署后不会更改。即使模板消息在网络中丢失,也可以在稍后重新发送模板消息时手动翻译数据。由于开销,不建议包括确认机制,因为这将需要在被确认之前在受约束的设备上存储任何发送的数据。在关键应用程序中,建议更频繁地重复模板消息。
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.
TinyIPFIX over UDP对于传感器数据触发无法容忍数据包丢失的策略决策或配置更新的应用程序尤其不适合。
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的使用。IPFIX的一个应用是对大型物理卷进行长期监控。在[Tolle05]中,Tolle等人建立了一个系统,用于监测“70米高的红杉树,时间间隔为5分钟,空间间隔为2米”。传感器节点基础设施用于长期测量空气温度、相对湿度和光合有效太阳辐射。
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.
TinyIPFIX非常适合这种情况。TinyIPFIX智能仪表的传感器可以在5分钟的时间间隔内测量数据;测量值可以累积到单个TinyIPFIX消息中。一旦TinyIPFIX消息中存储了足够的测量值,例如,如果TinyIPFIX消息大小填充了单个IEEE 802.15.4数据包中的可用有效负载,则可以激活无线收发器,并且可以将TinyIPFIX消息导出到TinyIPFIX采集器。
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.
已经建立了类似的传感器网络来监测动物的栖息地,例如在“大鸭岛项目”[GreatDuck][SMPC04]中。传感器网络的目的是通过在洞穴内和周围部署传感器来监测鸟类。测量的传感器数据收集并存储在数据库中,用于离线分析和可视化。同样,传感器可以定期执行测量,积累传感器数据,并将其输出到TinyIPFIX采集器。
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.
TinyIPFIX的其他应用场景可能是传感器网络用于长期结构健康监测的应用,以便调查建筑物结构上的长期天气条件。例如,已建立智能计量网络,以监测金门大桥的结构健康状况[Kim07]。如果部署传感器网络对结构完整性进行长期测量,则可以使用TinyIPFIX收集传感器测量数据。
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:
如果应用程序开发人员想要决定是否使用TinyIPFIX从智能电表传输数据,他必须考虑以下因素:
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.
1. 默认情况下,应用程序应该需要推送协议。推送数据的时间间隔应在部署前预定义。上述属性允许TinyIPFIX智能电表关闭其无线设备以节省能源,因为它不必接收任何数据。
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.
2. 如果不需要实时报告,应用程序可能会受益于将多个测量值合并到单个TinyIPFIX消息中,这会导致延迟,但会降低网络中的通信量。TinyIPFIX可以轻松地将多个测量值组合到单个TinyIPFIX消息(或单个数据包)中。这种组合可能发生在TinyIPFIX智能电表上,该电表结合了自身的多个测量值。或者,它可以发生在多跳无线网络中,其中一个IPFIX代理在转发多条TinyIPFIX消息之前将多条TinyIPFIX消息组合成一条TinyIPFIX消息。
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.
3. 应用程序必须接受潜在的数据包丢失。TinyIPFIX仅适用于存储计量数据用于记帐目的的应用,而不适用于传感器数据触发配置更改或策略决策的应用,除非由于某种原因可以接受消息丢失。
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.
4. 应用程序不得要求每个消息导出时间戳(例如,用于审核)。TinyIPFIX从IPFIX中删除导出时间戳,这通常只对模板管理操作有用,但它也不支持。这是一个小小的不便,因为每个记录的时间戳信息元素在IPFIX中也可用。
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.
TinyIPFIX体系结构类似于[RFC5470]中描述的IPFIX体系结构。TinyIPFIX智能电表最常见的部署如图1所示,其中每个TinyIPFIX智能电表可以有不同的传感器(例如IRIS:温度、湿度、声音;TelosB:温度、桥接度、湿度、GPS)构建传感器数据。
+------------------------+ +------------------------+ | 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]| +----------------+ +----------------+
+------------------------+ +------------------------+ | 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
图1:TinyIPFIX设备和应用程序之间的直接传输
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.
TinyIPFIX智能仪表(S.M.)从其内部传感器接收测量数据,以创建其TinyIPFIX信息。然后,它使用TinyIPFIX导出过程将结果编码为TinyIPFIX消息,并将该TinyIPFIX消息导出到一个或多个TinyIPFIX收集器。TinyIPFIX采集器运行一个或多个处理收集的传感器数据的应用程序。TinyIPFIX收集器可以部署在受约束网络边界的无约束设备上。
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.
部署TinyIPFIX智能电表的第二种方法可以在TinyIPFIX消息通过受限网络的过程中使用累积,如图2所示。这种累积可由TinyIPFIX选矿厂进行。此类设备必须有足够的资源来执行累积。
+------------------------+ +------------------------+ | 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)] | +--------------------------+
+------------------------+ +------------------------+ | 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
图2: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.
TinyIPFIX智能电表将其数据发送至TinyIPFIX集中器,该集中器需要有足够的存储空间来存储传入数据。如果TinyIPFIX集中器位于TinyIPFIX智能电表中,如果激活,它还可以从传感器收集数据。它还可以用自己的测量数据累积输入数据。然后,可以将累积的数据重新导出到一个或多个采集器。在这种情况下,可以将TinyIPFIX集中器视为从多个智能电表接收数据:一个本地,另一个远程。
The last deployment, shown in Figure 3, employs another TinyIPFIX Mediation process.
图3所示的最后一个部署使用了另一个TinyIPFIX中介过程。
+-------------------------+ +-------------------------+ | Remote Smart Meter | | Local Smart Meter | +-------------------------+ +-------------------------+ | TinyIPFIX Device | | TinyIPFIX Device | | [Exporting Process] | | [Exporting Process] | +-------------------------+ +-------------------------+ | | TinyIPFIX | | TinyIPFIX | | v v +-------------------------+ | TinyIPFIX Concentrator | | [Collecting Process] | +-------------------------+
+-------------------------+ +-------------------------+ | 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
图3:TinyIPFIX调解器
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.
在此部署中,TinyIPFIX智能电表将其TinyIPFIX消息传输到一个节点,例如基站,该节点将TinyIPFIX消息转换为IPFIX消息。然后可以将IPFIX消息导出到现有的IPFIX基础结构中。第7节描述了从TinyIPFIX到IPFIX的中介过程。
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 IPFIX消息以TinyIPFIX消息头开头,后跟一个或多个TinyIPFIX集合。TinyIPFIX集合可以是TinyIPFIX模板集合类型或TinyIPFIX数据集合类型。TinyIPFIX消息只能包含一种类型的TinyIPFIX集合。TinyIPFIX消息的格式如图4所示。
+----------------------------------------------------+ | TinyIPFIX Message Header | +----------------------------------------------------+ | TinyIPFIX Set | +----------------------------------------------------+ | TinyIPFIX Set | +----------------------------------------------------+ ... +----------------------------------------------------+ | TinyIPFIX Set | +----------------------------------------------------+
+----------------------------------------------------+ | TinyIPFIX Message Header | +----------------------------------------------------+ | TinyIPFIX Set | +----------------------------------------------------+ | TinyIPFIX Set | +----------------------------------------------------+ ... +----------------------------------------------------+ | TinyIPFIX Set | +----------------------------------------------------+
Figure 4: TinyIPFIX Message Format
图4:TinyIPFIX消息格式
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.
TinyIPFIX消息头源自IPFIX消息头,并使用字段压缩进行了一些优化。来自[RFC7011]的IPFIX消息头如图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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
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
图5:IPFIX消息头
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.
IPFIX消息头的长度为16个八位字节,每个IPFIX消息都必须以它开头。由于第3.3节中讨论的数据包大小限制,TinyIPFIX消息头需要更小。TinyIPFIX标头由三个八位字节组成的固定部分组成,如图6所示,后面是一个可变部分,如图7至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 | +-+-+-+-+-+-+-+-+
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
图6:TinyIPFIX消息头的格式,包括固定部分和可选部分
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.
固定部分的长度为3个八位字节,由“E1”字段(1位)、“E2”字段(1位)、“SetID查找”字段(4位)、“长度”字段(10位)和“序列号”字段(8位)组成。可变部分具有由固定标头中的“E1”和“E2”字段定义的可变长度。这四种变体如下图7至图10所示。
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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
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
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 | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
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
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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
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
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 | +-+-+-+-+-+-+-+-+
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
Figure 10: TinyIPFIX Message Header Format if E1 = E2 = 1
The fixed header fields are defined as follows [Kothmayr10] [Schmitt2014]:
固定标题字段定义如下[Kothmayr10][Schmitt2014]:
E1 and E2
E1和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.
标记为“E1”和“E2”的位分别控制字段“Ext.SetID”和字段“Ext.Sequence Number”的存在。
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.
在E1=E2=0的情况下,TinyIPFIX消息头的格式如图7所示。扩展序列号和扩展SetID字段不得存在。
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.
当E1=1时,扩展SetID字段必须存在。可以在扩展SetID字段中指定自定义SetID,将所有SetID查找位设置为1(参见图8)。计算时,扩展SetID字段中指定的值向左移动8位,以防止与保留SetID 0-255发生冲突。为了引用这些,可以通过将所有SetID查找位设置为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.
根据应用情况,采样率可能大于典型受限网络(例如,无线传感器网络(WSN)、网络物理系统(CPS))中的采样率;因此,每个数据包可能有大量记录。为了使TinyIPFIX适用于这些情况,设置了E2=1(参见图9)。这意味着必须存在扩展序列号字段,通常提供8位以上的序列号。根据受约束的网络设置,组合E1=E2=1也是可能的,从而产生图10所示的最大TinyIPFIX消息头,其中扩展序列号字段和扩展SetID字段必须同时存在。
SetID Lookup
SetID查找
This field acts as a lookup field for the SetIDs and provides shortcuts to often used SetIDs. Four values are defined:
此字段用作SETID的查找字段,并提供常用SETID的快捷方式。定义了四个值:
Value = 0; Look up extended SetID field, Shifting enabled.
数值=0;查找扩展SetID字段,启用换档。
Value = 1; SetID = 2 and message contains a Template definition.
数值=1;SetID=2,消息包含模板定义。
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.
数值=2;SetID=256,消息包含模板256的数据记录。这对单个模板ID特别重要,但是,由于大多数传感器节点仅在引导后直接定义单个模板,并在整个会话生命周期内继续使用该模板ID来流式传输数据,因此这种简写方式在这种情况下非常有用。
Value = 3-14; SetIDs are reserved for future extensions.
数值=3-14;SETID保留用于将来的扩展。
Value = 15; look up extended SetID field, shifting enabled.
数值=15;查找扩展SetID字段,启用换档。
Length
长
The length field has a fixed length of 10 bits.
长度字段的固定长度为10位。
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.
由于典型无线传感器网络的采样率较低,“序列号”字段只有一个字节长。但是,有些应用程序可能每个数据包都有大量记录。在这种情况下,通过将E2位设置为1,序列字段可以扩展到16位。
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.
由于TinyIPFIX数据包始终通过指定数据包来源的网络协议进行传输,“观察域”可以等同于TinyIPFIX数据包的来源。因此,此IPFIX字段已从TinyIPFIX标头中删除。如果应用程序需要明确的观测域信息,TinyIPFIX数据报文中的每个数据记录可能包含观测域ID信息元素;见[RFC7011]第3.1节。版本字段已被删除,因为SetID查找字段为将来的扩展提供了空间。以秒为单位的32位时间戳的规范将要求在无线传感器网络上进行时间同步,并产生过多开销。因此,“导出时间”字段已被删除。如果应用程序需要具体的观察时间(如时间戳),建议将其作为单独的信息元素包含在TinyIPFIX记录中。
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.
TinyIPFIX集合是一组TinyIPFIX模板或TinyIPFIX数据记录。根据TinyIPFIX记录类型,TinyIPFIX集可以是TinyIPFIX模板集或TinyIPFIX数据集。每个TinyIPFIX集合都以一个TinyIPFIX集合标题开始,后面跟着一个或多个TinyIPFIX记录。
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.
IPFIX集合头由2个八位字节的“集合ID”字段和2个八位字节的“长度”字段组成。对于TinyIPFIX集合标头,这两个字段分别压缩为1个八位字节。TinyIPFIX集合头的格式如图11所示。
0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Tiny Set ID | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
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
图11:TinyIPFIX集头
The two fields are defined as follows:
这两个字段的定义如下:
TinyIPFIX Set ID
TinyIPFIX集合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.
“微小集合ID”标识TinyIPFIX集合中传输的数据类型。TinyIPFIX模板集由TinyIPFIX集ID 2标识。这与IPFIX[RFC7011]使用的模板集ID相对应。不得使用TinyIPFIX集合ID编号3,因为不支持选项模板;TinyIPFIX收集器必须忽略并记录任何集合ID为3的集合。4到127之间的所有值都保留供将来使用。大于127的值用于TinyIPFIX数据集。
Length
长
The "Length" Field contains the total length of the TinyIPFIX Set, including the TinyIPFIX Set Header.
“长度”字段包含TinyIPFIX集合的总长度,包括TinyIPFIX集合标题。
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模板记录的格式如图12所示。TinyIPFIX模板记录以TinyIPFIX模板记录头开头,后面跟着一个或多个字段说明符。字段说明符格式的定义见第6.4节,与[RFC7011]中的字段说明符定义相同。
+--------------------------------------------------+ | TinyIPFIX Template Record Header | +--------------------------------------------------+ | Field Specifier | +--------------------------------------------------+ | Field Specifier | +--------------------------------------------------+ ... +--------------------------------------------------+ | Field Specifier | +--------------------------------------------------+
+--------------------------------------------------+ | TinyIPFIX Template Record Header | +--------------------------------------------------+ | Field Specifier | +--------------------------------------------------+ | Field Specifier | +--------------------------------------------------+ ... +--------------------------------------------------+ | Field Specifier | +--------------------------------------------------+
Figure 12: TinyIPFIX Template Format
图12:TinyIPFIX模板格式
The format of the TinyIPFIX Template Record Header is shown in Figure 13.
TinyIPFIX模板记录头的格式如图13所示。
0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Template ID | Field Count | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
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
图13:TinyIPFIX模板记录头
TinyIPFIX Template ID
TinyIPFIX模板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.
每个TinyIPFIX模板记录必须有一个介于128和255之间的唯一TinyIPFIX模板ID(公司临时ID)。对于给定的TinyIPFIX传输会话,TinyIPFIX模板ID必须是唯一的。
Field Count
字段计数
The number of fields placed in the TinyIPFIX Template Record.
TinyIPFIX模板记录中放置的字段数。
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].
传输数据的类型和长度在TinyIPFIX模板记录中的字段说明符中进行编码。字段说明符如图14所示,与为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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
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
图14:TinyIPFIX数据字段说明符
Where:
哪里:
E
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.
企业比特。这是字段说明符的第一位。如果该位为零,则信息元素标识符标识IETF指定的信息元素,且四个八位字节的企业编号字段不得存在。如果该位为1,则信息元素标识符标识特定于企业的信息元素,并且必须存在“企业编号”字段。
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.
对应编码信息元素的长度,以八位字节为单位。请参阅[RFC7012]。值65535在TinyIPFIX中是非法的,因为不支持可变长度信息元素。
Enterprise Number
企业编号
IANA Private Enterprise Number of the authority defining the Information Element identifier in this Template Record.
IANA在此模板记录中定义信息元素标识符的机构的私有企业编号。
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.
供应商可以通过向IANA注册企业ID轻松定义自己的数据模型。使用自己的企业ID,他们可以按照自己希望的方式使用任何ID。
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.
数据记录以TinyIPFIX数据集发送。数据记录的格式如图15所示,并与IPFIX中的数据记录格式相匹配。
+--------------------------------------------------+ | Field Value | +--------------------------------------------------+ | Field Value | +--------------------------------------------------+ ... +--------------------------------------------------+ | Field Value | +--------------------------------------------------+
+--------------------------------------------------+ | Field Value | +--------------------------------------------------+ | Field Value | +--------------------------------------------------+ ... +--------------------------------------------------+ | Field Value | +--------------------------------------------------+
Figure 15: Data Record Format
图15:数据记录格式
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.
TinyIPFIX中间过程有两种类型。第一种可能发生在受约束网络(例如6LoWPAN)和无约束网络之间的过渡上。此中介将网络和传输协议从6LoWPAN首选UDP更改为IP/(SCTP | TCP | UDP),如图16所示。
+-----------------------+ | 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)] | +--------------------------+
+-----------------------+ | 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)
图16:从TinyIPFIX over 6LoWPAN/UDP到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).
中介器从6LoWPAN/UDP数据包中删除TinyIPFIX消息,并将其包装到新的网络和传输协议中。在转换为IP/(SCTP | UDP | TCP)之后,必须以与在受约束环境中相同的方式管理模板(参见第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.
第二种类型的中介将TinyIPFIX转换为IPFIX。此过程必须与传输协议中介相结合,如图17所示。
+-----------------------+ | TinyIPFIX Device | | [Exporting Process] | +-----------------------+ | TinyIPFIX | | v +-------------------------+ | TinyIPFIX mediator | | [Collecting Process] | | [Exporting Process] | +-------------------------+ | IPFIX | IP/(UDP/SCTP|TCP) | v +--------------------------+ | Collector | | [Collecting Process(es)] | +--------------------------+
+-----------------------+ | 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
图17:从TinyIPFIX到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.
在解析IPFIX消息之前,IPFIX收集器也可以执行此中介,如图18所示。如果可以在现有IPFIX收集器前面使用这样的中介过程,那么就不需要从TinyIPFIX到IPFIX的解析器。
+------------------------+ +----------------------+ | TinyIPFIX Device | TinyIPFIX | IPFIX Mediator | | [Exporting Processes] |----------------->| [Collecting Process] | +------------------------+ | [Exporting Process] | | | | | |IPFIX | | | | | v | | Collector | | [Collecting Process] | +----------------------+
+------------------------+ +----------------------+ | TinyIPFIX Device | TinyIPFIX | IPFIX Mediator | | [Exporting Processes] |----------------->| [Collecting Process] | +------------------------+ | [Exporting Process] | | | | | |IPFIX | | | | | v | | Collector | | [Collecting Process] | +----------------------+
Figure 18: Transformation from TinyIPFIX to IPFIX
图18:从TinyIPFIX到IPFIX的转换
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.
TinyIPFIX中介过程必须将TinyIPFIX消息头、TinyIPFIX集合头和TinyIPFIX模板记录头转换为IPFIX中的对应项。之后,需要计算新的IPFIX消息长度并将其插入IPFIX消息头中。
The fields of the IPFIX Message Header that are shown in Figure 5 can be determined from a TinyIPFIX Message Header as follows:
图5所示的IPFIX消息头字段可以通过TinyIPFIX消息头确定,如下所示:
Version
版本
This is always 0x000a.
这始终是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.
IPFIX消息长度只能在翻译完完整的TinyIPFIX消息后计算。新的长度可以通过添加IPFIX消息头的长度(16个八位字节)和IPFIX消息中包含的所有集合的长度来计算。
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.
“导出时间”必须由中介生成,并包含自1970年1月1日UTC 00:00起IPFIX消息离开中介的时间(以秒为单位)。
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].
如果TinyIPFIX序列号的长度为4个八位字节,则IPFIX消息必须使用原始值。如果TinyIPFIX序列号的大小为一个或两个八位字节,TinyIPFIX中介器必须将TinyIPFIX序列号扩展为四个八位字节字段。如果省略了TinyIPFIX序列号,调解人需要根据[RFC7011]计算序列号。
Observation Domain ID
观察域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.
由于观察域ID用于IPFIX中的作用域模板,因此必须使用由中间进程确定的映射算法或由管理员直接配置的映射,将其设置为每个TinyIPFIX导出进程的唯一值。
Both fields in the TinyIPFIX Set Header have a size of 1 octet and need to be expanded:
TinyIPFIX集合标题中的两个字段的大小均为1个八位字节,需要扩展:
Set ID
设置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.
该字段需要从1个八位字节扩展到2个八位字节。如果设置的ID低于128,则无需重新计算。这是因为128以下的所有ID都是为特殊消息保留的,并且与IPFIX中使用的ID匹配。TinyIPFIX集合ID以128开头,用于标识TinyIPFIX数据集。因此,数字127以上的每个TinyIPFIX集合ID都需要增加数字128,因为IPFIX数据集合ID的编号高于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.
该字段需要从一个八位字节扩展到两个八位字节。它需要通过添加2个八位字节的值来重新计算,以匹配集合标头的附加大小。对于TinyIPFIX集合中包含的每个TinyIPFIX模板记录,需要在长度中再添加两个八位字节。
Both fields in the TinyIPFIX Template Record Header have a length of one octet and therefore need translation:
TinyIPFIX模板记录头中的两个字段的长度均为一个八位字节,因此需要翻译:
Template ID
模板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.
该字段需要从一个八位字节扩展到两个八位字节。模板ID的值需要增加128。
Field Count
字段计数
The field needs to be expanded from one octet to 2 octets.
该字段需要从一个八位字节扩展到两个八位字节。
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.
与IPFIX一样,TinyIPFIX模板管理取决于使用的传输协议。如果使用TCP或SCTP,则可以确保TinyIPFIX模板可靠交付。如果使用UDP,则无法保证可靠性:可能会发生模板丢失。如果模板在到达收集器的途中丢失,则无法解码以下引用此TinyIPFIX模板的TinyIPFIX数据记录。TinyIPFIX中不支持模板提取。这通常不是问题,因为大多数传感器节点仅在引导后直接定义单个静态模板。
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.
如果使用TCP或SCTP传输TinyIPFIX,则必须按照[RFC7011]中针对IPFIX的定义执行模板管理,但TinyIPFIX不支持的模板提取除外。TinyIPFIX出口商不得发送模板取款。
All specifications for Template Management from [RFC7011] apply unless specified otherwise in this document.
除非本文件另有规定,否则[RFC7011]中的所有模板管理规范均适用。
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.
在传输任何引用TinyIPFIX模板的TinyIPFIX数据集之前,TinyIPFIX导出器必须发送TinyIPFIX模板。TinyIPFIX模板在TinyIPFIX中不会随时间而改变,因此,它们应该预先共享。TinyIPFIX设备在部署时具有默认设置;启动后,他们会直接向网络发布TinyIPFIX模板,如果使用UDP,则可能会重复该模板。因此,发送一次的TinyIPFIX模板可能不会被撤回,也不能过期。如果TinyIPFIX智能电表想要使用其他TinyIPFIX模板,则必须为TinyIPFIX模板使用新的TinyIPFIX模板ID。
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.
使用UDP时,无法保证TinyIPFIX模板的可靠传输,TinyIPFIX模板可能会丢失。TinyIPFIX出口商必须预计TinyIPFIX模板丢失。因此,它必须定期重新发送其TinyIPFIX模板。在包含引用TinyIPFIX模板的TinyIPFIX数据集的固定数量的TinyIPFIX消息之后,必须重新发送TinyIPFIX模板。数字N必须由应用程序开发人员配置。如果TinyIPFIX导出器和TinyIPFIX收集器使用预共享模板,则可以避免重新传输和指定N。
The same security considerations as for the IPFIX Protocol [RFC7011] apply.
适用与IPFIX协议[RFC7011]相同的安全注意事项。
This document does not require any IANA actions.
本文件不要求IANA采取任何行动。
[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>.
[RFC2119]Bradner,S.,“RFC中用于表示需求水平的关键词”,BCP 14,RFC 2119,DOI 10.17487/RFC2119,1997年3月<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>.
[RFC4944]黑山,G.,Kushalnagar,N.,Hui,J.,和D.Culler,“通过IEEE 802.15.4网络传输IPv6数据包”,RFC 4944,DOI 10.17487/RFC4944,2007年9月<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>.
[RFC5153]Boschi,E.,Mark,L.,Quitek,J.,Stieemering,M.,和P.Aitken,“IP流信息导出(IPFIX)实施指南”,RFC 5153,DOI 10.17487/RFC5153,2008年4月<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>.
[RFC5470]Sadasivan,G.,Brownlee,N.,Claise,B.,和J.Quitek,“IP流信息导出的体系结构”,RFC 5470,DOI 10.17487/RFC5470,2009年3月<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>.
[RFC5982]Kobayashi,A.,Ed.和B.Claise,Ed.,“IP流信息导出(IPFIX)调解:问题陈述”,RFC 5982,DOI 10.17487/RFC5982,2010年8月<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>.
[RFC6183]Kobayashi,A.,Claise,B.,Muenz,G.,和K.Ishibashi,“IP流信息导出(IPFIX)中介:框架”,RFC 6183,DOI 10.17487/RFC6183,2011年4月<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>.
[RFC7011]Claise,B.,Ed.,Trammell,B.,Ed.,和P.Aitken,“流量信息交换的IP流量信息导出(IPFIX)协议规范”,STD 77,RFC 7011,DOI 10.17487/RFC7011,2013年9月<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>.
[RFC7012]Claise,B.,Ed.和B.Trammell,Ed.,“IP流信息导出(IPFIX)的信息模型”,RFC 7012,DOI 10.17487/RFC7012,2013年9月<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>.
[RFC8174]Leiba,B.,“RFC 2119关键词中大写与小写的歧义”,BCP 14,RFC 8174,DOI 10.17487/RFC8174,2017年5月<https://www.rfc-editor.org/info/rfc8174>.
[Advantic] ADVANTIC SISTEMAS Y SERVICIOS S.L., <https://www.advanticsys.com/>, 2017.
[Advantic]Advantic系统和服务有限公司<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.
[GreatDuck]Mainwaring,A.,Polastre,J.,Szewczyk,R.,Culler,D.,和J.Anderson,“用于栖息地监测的无线传感器网络”,载于第一届ACM无线传感器网络和应用ACM国际研讨会论文集,第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.
[Harvan08]Harvan,M.和J.Schoenwaeld,“互联网上的TinyOS微尘:802.15.4(6LoWPAN)上的IPv6”,DOI 10.1515/piko.2008.00422008年12月。
[IRIS] Memsic, "Data Sheet IRIS", 2017, <http://www.memsic.com/userfiles/files/Datasheets/WSN/ IRIS_Datasheet.pdf>.
[IRIS]Memsic,“IRIS数据表”,2017年<http://www.memsic.com/userfiles/files/Datasheets/WSN/ IRIS_数据表.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.
[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.translate error, please retry
[Kothmayr10] Kothmayr, T., "Data Collection in Wireless Sensor Networks for Autonomic Home Networking", Bachelor Thesis, Technical University of Munich, Munich, Germany, January 2010.
[KothMayr10] KothMayr,T.,“在自主家庭网络的无线传感器网络中的数据收集”,学士学位论文,慕尼黑工业大学,慕尼黑,德国,2010年1月。
[openMote] openMote Technologies S.L., 2017, <http://openmote.com>.
[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.
[Schmitt09]Schmitt,C.和G.Carle,“无线传感器网络的应用”,面向服务计算的P2P和网格系统研究手册:模型、方法和应用,由Antonopoulos N.,Exarchakos G.,Li M.和A.Liotta编辑,信息科学出版社,第46章,第1076-1091页,ISBN:978-1615206865,2010
[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.
[Schmitt 2014]Schmitt,C.,Kothmayr,T.,Ertl,B.,Hu,W.,Braun,L.,和G.Carle,“TinyIPFIX:网络物理系统中数据交换的有效应用协议”,计算机通信,爱思唯尔,第74卷,第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.
[Schmitt 2017]Schmitt,C.,Anliker,C.,和B.Stiller,“使用移动接入框架处理紧急情况的高效安全请求”,管理物联网:将现实世界链接到网络,由Sheng,M.,Qin,Y.,Yao,L.,和B.Benatalah,Morgen Kaufmann(爱思唯尔的印记)编辑,第8章,第229-247页,ISBN:978-0-12-809764-92017。
[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.
[SMPC04]Szewczyk,R.,Mainwaring,A.,Polastre,J.,和D.Culler,“大规模栖息地监测应用分析”,第二届嵌入式网络传感器系统国际会议论文集(SenSys 04),DOI 10.1145/1031495.10315212004年11月。
[TelosB] Memsic, "Data Sheet TelosB", 2017, <http://www.memsic.com/userfiles/files/DataSheets/WSN/ telosb_datasheet.pdf>.
[TelosB]Memsic,“TelosB数据表”,2017年<http://www.memsic.com/userfiles/files/DataSheets/WSN/ telosb_数据表.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.
[Tolle05]Tolle,G.,Polastre,J.,Szewczyk,R.,Culler,D.,Turner,N.,Tu,K.,Burgess,S.,Dawnson,T.,Buonadonna,P.,Gay,D.,和W.Hong,“红杉中的宏观镜”,第三届嵌入式网络传感器系统国际会议记录(SenSys 05),DOI 10.1145/1098918.1098925,2005年11月。
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".
非常感谢Lothar Braun、Georg Carle和Benoit Claise,他们为这项工作的早期草案做出了重要贡献,特别是对题为“受限网络中智能电表的压缩IPFIX”的文件。
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).
非常感谢Thomas Kothmayr、Michael Meister和Livio Sgier,他们为TinyOS 2.x和Contiki 2.7/3.0实现了TinyIPFIX(中介除外),用于3种不同的传感器平台(IRIS、TelosB和OpenMote)。
Authors' Addresses
作者地址
Corinna Schmitt University of Zurich Department of Informatics Communication Systems Group Binzmuehlestrasse 14 Zurich 8050 Switzerland
科林纳施密特苏黎世大学信息通信系统组BunZMeHeelStaseSE 14苏黎世8050瑞士
Email: schmitt@ifi.uzh.ch
Email: schmitt@ifi.uzh.ch
Burkhard Stiller University of Zurich Department of Informatics Communication Systems Group Binzmuehlestrasse 14 Zurich 8050 Switzerland
苏黎世大学信息系统通信系BunZMeHeelStaseSE 14苏黎世8050瑞士
Email: stiller@ifi.uzh.ch
Email: stiller@ifi.uzh.ch
Brian Trammell Swiss Federal Institute of Technology Gloriastrasse 35 Zurich 8092 Switzerland
Brian Trammell瑞士联邦理工学院Gloriastrasse 35苏黎世8092瑞士
Email: ietf@trammell.ch
Email: ietf@trammell.ch