Internet Engineering Task Force (IETF)                        O. Gnawali
Request for Comments: 6719                         University of Houston
Category: Standards Track                                       P. Levis
ISSN: 2070-1721                                      Stanford University
                                                          September 2012
        
Internet Engineering Task Force (IETF)                        O. Gnawali
Request for Comments: 6719                         University of Houston
Category: Standards Track                                       P. Levis
ISSN: 2070-1721                                      Stanford University
                                                          September 2012
        

The Minimum Rank with Hysteresis Objective Function

具有滞后目标函数的最小秩

Abstract

摘要

The Routing Protocol for Low-Power and Lossy Networks (RPL) constructs routes by using Objective Functions that optimize or constrain the routes it selects and uses. This specification describes the Minimum Rank with Hysteresis Objective Function (MRHOF), an Objective Function that selects routes that minimize a metric, while using hysteresis to reduce churn in response to small metric changes. MRHOF works with additive metrics along a route, and the metrics it uses are determined by the metrics that the RPL Destination Information Object (DIO) messages advertise.

低功耗有损网络路由协议(RPL)通过使用优化或约束其选择和使用的路由的目标函数来构造路由。本规范描述了具有滞后目标函数(MRHOF)的最小秩,该目标函数选择最小化度量的路线,同时使用滞后来减少对小度量变化的响应。MRHOF使用沿路由添加的度量,它使用的度量由RPL目的地信息对象(DIO)消息公布的度量确定。

Status of This Memo

关于下段备忘

This is an Internet Standards Track document.

这是一份互联网标准跟踪文件。

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741.

本文件是互联网工程任务组(IETF)的产品。它代表了IETF社区的共识。它已经接受了公众审查,并已被互联网工程指导小组(IESG)批准出版。有关互联网标准的更多信息,请参见RFC 5741第2节。

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc6719.

有关本文件当前状态、任何勘误表以及如何提供反馈的信息,请访问http://www.rfc-editor.org/info/rfc6719.

Copyright Notice

版权公告

Copyright (c) 2012 IETF Trust and the persons identified as the document authors. All rights reserved.

版权所有(c)2012 IETF信托基金和确定为文件作者的人员。版权所有。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://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. Code Components extracted from this document must

本文件受BCP 78和IETF信托有关IETF文件的法律规定的约束(http://trustee.ietf.org/license-info)自本文件出版之日起生效。请仔细阅读这些文件,因为它们描述了您对本文件的权利和限制。从该文档中提取的代码组件必须

include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

包括信托法律条款第4.e节中所述的简化BSD许可证文本,且不提供简化BSD许可证中所述的担保。

Table of Contents

目录

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  2
   2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  3
   3.  The Minimum Rank with Hysteresis Objective Function  . . . . .  4
     3.1.  Computing the Path Cost  . . . . . . . . . . . . . . . . .  4
     3.2.  Parent Selection . . . . . . . . . . . . . . . . . . . . .  5
       3.2.1.  When Parent Selection Runs . . . . . . . . . . . . . .  6
       3.2.2.  Parent Selection Algorithm . . . . . . . . . . . . . .  6
     3.3.  Computing Rank . . . . . . . . . . . . . . . . . . . . . .  7
     3.4.  Advertising the Path Cost  . . . . . . . . . . . . . . . .  8
     3.5.  Working without Metric Containers  . . . . . . . . . . . .  8
   4.  Using MRHOF for Metric Maximization  . . . . . . . . . . . . .  9
   5.  MRHOF Variables and Parameters . . . . . . . . . . . . . . . .  9
   6.  Manageability  . . . . . . . . . . . . . . . . . . . . . . . . 10
     6.1.  Device Configuration . . . . . . . . . . . . . . . . . . . 10
     6.2.  Device Monitoring  . . . . . . . . . . . . . . . . . . . . 11
   7.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 12
   8.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 12
   9.  Security Considerations  . . . . . . . . . . . . . . . . . . . 12
   10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12
     10.1. Normative References . . . . . . . . . . . . . . . . . . . 12
     10.2. Informative References . . . . . . . . . . . . . . . . . . 13
        
   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  2
   2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  3
   3.  The Minimum Rank with Hysteresis Objective Function  . . . . .  4
     3.1.  Computing the Path Cost  . . . . . . . . . . . . . . . . .  4
     3.2.  Parent Selection . . . . . . . . . . . . . . . . . . . . .  5
       3.2.1.  When Parent Selection Runs . . . . . . . . . . . . . .  6
       3.2.2.  Parent Selection Algorithm . . . . . . . . . . . . . .  6
     3.3.  Computing Rank . . . . . . . . . . . . . . . . . . . . . .  7
     3.4.  Advertising the Path Cost  . . . . . . . . . . . . . . . .  8
     3.5.  Working without Metric Containers  . . . . . . . . . . . .  8
   4.  Using MRHOF for Metric Maximization  . . . . . . . . . . . . .  9
   5.  MRHOF Variables and Parameters . . . . . . . . . . . . . . . .  9
   6.  Manageability  . . . . . . . . . . . . . . . . . . . . . . . . 10
     6.1.  Device Configuration . . . . . . . . . . . . . . . . . . . 10
     6.2.  Device Monitoring  . . . . . . . . . . . . . . . . . . . . 11
   7.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 12
   8.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 12
   9.  Security Considerations  . . . . . . . . . . . . . . . . . . . 12
   10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12
     10.1. Normative References . . . . . . . . . . . . . . . . . . . 12
     10.2. Informative References . . . . . . . . . . . . . . . . . . 13
        
1. Introduction
1. 介绍

An Objective Function specifies how RPL [RFC6550] selects paths. For example, if an RPL instance uses an Objective Function that minimizes hop count, RPL will select paths with a minimum hop count. RPL requires that all nodes in a network use a common Objective Function; relaxing this requirement may be a subject of future study.

目标函数指定RPL[RFC6550]如何选择路径。例如,如果RPL实例使用最小化跳数的目标函数,则RPL将选择具有最小跳数的路径。RPL要求网络中的所有节点使用公共目标函数;放宽这项规定可能是今后研究的课题。

The nodes running RPL might use a number of metrics to describe a link or a node [RFC6551] and make these metrics available for route selection. RPL advertises metrics in RPL Destination Information Object (DIO) messages with a Metric Container suboption. An Objective Function can use these metrics to choose routes.

运行RPL的节点可能使用许多度量来描述链路或节点[RFC6551],并使这些度量可用于路由选择。RPL使用Metric Container子选项在RPL Destination Information Object(DIO)消息中公布度量。目标函数可以使用这些度量来选择路线。

To decouple the details of an individual metric or Objective Function from forwarding and routing, RPL describes routes through a value called Rank. Rank, roughly speaking, corresponds to the distance associated with a route. RPL defines how nodes decide on paths based

为了将单个度量或目标函数的细节与转发和路由分离,RPL通过一个名为Rank的值来描述路由。粗略地说,等级对应于与路线相关联的距离。RPL定义了节点如何基于

on Rank and advertise their Rank. An Objective Function defines how nodes calculate Rank, based on the Rank of its potential parents, metrics, and other network properties.

在军衔上,宣传他们的军衔。目标函数定义节点如何基于其潜在父节点的秩、度量和其他网络属性计算秩。

This specification describes the Minimum Rank with Hysteresis Objective Function (MRHOF), an Objective Function for RPL, which uses hysteresis while selecting the path with the smallest metric value. The metric that MRHOF uses is determined by the metrics in the DIO Metric Container. For example, the use of MRHOF with the latency metric allows RPL to find stable minimum-latency paths from the nodes to a root in the Directed Acyclic Graph (DAG) instance [RFC6550]. The use of MRHOF with the Expected Transmission Count (ETX) metric [RFC6551] allows RPL to find the stable minimum-ETX paths from the nodes to a root in the DAG instance. In the absence of a metric in the DIO Metric Container or of a DIO Metric Container, MRHOF defaults to using ETX to compute Rank, as described in Section 3.5.

本规范描述了最小秩滞后目标函数(MRHOF),这是RPL的目标函数,在选择具有最小度量值的路径时使用滞后。MRHOF使用的度量由DIO度量容器中的度量确定。例如,将MRHOF与延迟度量结合使用,允许RPL在有向无环图(DAG)实例[RFC6550]中找到从节点到根的稳定最小延迟路径。使用MRHOF和预期传输计数(ETX)度量[RFC6551]允许RPL找到从节点到DAG实例根的稳定最小ETX路径。如第3.5节所述,在透视容器或透视容器中没有度量的情况下,MRHOF默认使用ETX计算秩。

Because MRHOF seeks to minimize path costs as described by metrics, it can only be used with additive metrics. MRHOF does not support metrics that are not additive.

因为MRHOF寻求最小化度量所描述的路径成本,所以它只能与附加度量一起使用。MRHOF不支持非相加性指标。

2. Terminology
2. 术语

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 RFC 2119 [RFC2119].

本文件中的关键词“必须”、“不得”、“必需”、“应”、“不应”、“建议”、“不建议”、“可”和“可选”应按照RFC 2119[RFC2119]中的说明进行解释。

The terminologies used in this document are consistent with the terminologies described in [ROLL-TERM] and [RFC6551].

本文件中使用的术语与[ROLL-TERM]和[RFC6551]中描述的术语一致。

The terminologies used in this document are also consistent with the terminologies described in [RFC6550], except the term Rank. In this document, Rank refers to the value of the Rank field, not DAGRank as in [RFC6550].

本文件中使用的术语与[RFC6550]中描述的术语一致,但术语等级除外。在本文档中,Rank指的是Rank字段的值,而不是[RFC6550]中的DAGRank。

This document introduces three terms:

本文件介绍了三个术语:

Selected metric: The metric chosen for path selection by the network operator. MRHOF supports using a single metric for path selection. The decision to use a metric (other than ETX) as the selected metric is indicated by the presence of the chosen metric in the DIO Metric Container. The selection of the ETX metric is indicated by the absence of the Metric Container, in which case ETX is advertised as Rank.

所选度量:网络运营商为路径选择选择的度量。MRHOF支持使用单个度量进行路径选择。使用公制(ETX除外)作为所选公制的决定由DIO公制容器中所选公制的存在表示。ETX度量的选择通过缺少度量容器来表示,在这种情况下,ETX被广告为秩。

Path cost: Path cost quantifies a property of an end-to-end path. Path cost is obtained by each node summing up the selected link metric to the path cost advertised by the parent. Path cost can be used by RPL to compare different paths.

路径成本:路径成本量化端到端路径的属性。路径成本由每个节点将所选链路度量与父节点公布的路径成本相加得到。RPL可以使用路径成本来比较不同的路径。

Worst parent: The node in the parent set with the largest path cost.

最差父级:父级集中路径开销最大的节点。

3. The Minimum Rank with Hysteresis Objective Function
3. 具有滞后目标函数的最小秩

The Minimum Rank with Hysteresis Objective Function, MRHOF, is designed to find the paths with the smallest path cost while preventing excessive churn in the network. It does so by using two mechanisms. First, it finds the minimum cost path, i.e., path with the minimum Rank. Second, it switches to that minimum Rank path only if it is shorter (in terms of path cost) than the current path by at least a given threshold. This second mechanism is called "hysteresis".

设计了带滞后的最小秩目标函数MRHOF,以寻找路径代价最小的路径,同时防止网络中的过度搅动。它通过使用两种机制来实现。首先,它找到最小代价路径,即具有最小秩的路径。其次,只有当最小秩路径比当前路径至少短一个给定的阈值时(就路径成本而言),它才会切换到该最小秩路径。第二种机制称为“滞后”。

MRHOF may be used with any additive metric listed in [RFC6551] as long as the routing objective is to minimize the given routing metric. Nodes MUST support at least one of these metrics: hop count, latency, or ETX. Nodes SHOULD support the ETX metric. MRHOF does not support non-additive metrics.

MRHOF可与[RFC6551]中列出的任何相加度量一起使用,只要路由目标是最小化给定的路由度量。节点必须至少支持以下指标之一:跳数、延迟或ETX。节点应支持ETX度量。MRHOF不支持非加性度量。

3.1. Computing the Path Cost
3.1. 计算路径成本

Root nodes (Grounded or Floating) set the variable cur_min_path_cost to the metric value that computes to a Rank of MinHopRankIncrease.

根节点(固定或浮动)将变量cur_min_path_cost设置为度量值,该度量值计算为MinHopRankIncrease的秩。

If a non-root node does not have metrics to compute the path cost through any of the candidate neighbors, it MUST join one of the candidate neighbors as a RPL Leaf.

如果非根节点没有通过任何候选邻居计算路径开销的度量,则它必须将其中一个候选邻居作为RPL叶加入。

Otherwise, nodes compute the path cost for each candidate neighbor reachable on an interface. The path cost of a neighbor represents the cost of the path, in terms of the selected metric, from a node to the root of the Destination-Oriented DAG (DODAG) through that neighbor. A non-root node computes a neighbor's path cost by adding two components:

否则,节点计算接口上可到达的每个候选邻居的路径开销。邻居的路径成本表示从节点到通过该邻居的面向目标的DAG(DODAG)的根的路径成本(以所选度量为单位)。非根节点通过添加两个组件来计算邻居的路径成本:

1. If the selected metric is a link metric, the selected metric for the link to the candidate neighbor. If the selected metric is a node metric, the selected metric for the node.

1. 如果所选度量是链路度量,则为链接到候选邻居的所选度量。如果所选度量是节点度量,则为该节点选择度量。

2. The value of the selected metric in the Metric Container in the DIO sent by that neighbor. In case the Metric Container is empty, ETX is the selected metric -- use the Rank advertised by that neighbor as the second component. See Section 3.5 for details on how an ETX metric is used in MRHOF.

2. 该邻居发送的DIO中度量容器中选定度量的值。如果度量容器为空,则ETX是所选度量——使用该邻居公布的秩作为第二个组件。有关如何在MRHOF中使用ETX指标的详细信息,请参见第3.5节。

A node SHOULD compute the path cost for the path through each candidate neighbor reachable through an interface. If a node cannot compute the path cost for the path through a candidate neighbor, the node MUST NOT select the candidate neighbor as its preferred parent. However, if the node cannot compute the path cost through any neighbor, it may join the candidate neighbor as a Leaf, as described above.

节点应计算通过接口可到达的每个候选邻居的路径成本。如果节点无法计算通过候选邻居的路径的路径成本,则该节点不得选择该候选邻居作为其首选父节点。然而,如果节点不能计算通过任何邻居的路径开销,则它可以如上所述作为叶加入候选邻居。

If the selected metric is a link metric and the metric of the link to a neighbor is not available, the path cost for the path through that neighbor SHOULD be set to MAX_PATH_COST. This cost value will prevent this path from being considered for path selection.

如果所选度量是链路度量,而到邻居的链路度量不可用,则通过该邻居的路径的路径成本应设置为MAX_path_cost。此成本值将阻止在选择路径时考虑此路径。

If the selected metric is a node metric, and the metric is not available, the path cost through all the neighbors SHOULD be set to MAX_PATH_COST.

如果选定的度量是节点度量,而该度量不可用,则通过所有邻居的路径开销应设置为MAX_path_cost。

The path cost corresponding to a neighbor SHOULD be recomputed each time any of the following conditions are met:

每次满足以下任一条件时,应重新计算与邻居对应的路径成本:

1. The selected metric of the link to the candidate neighbor is updated.

1. 更新到候选邻居的链接的选定度量。

2. The selected metric is a node metric and the metric is updated.

2. 选定的度量是节点度量,并且该度量将被更新。

3. A node receives a new metric advertisement from the candidate neighbor.

3. 节点从候选邻居接收新的度量播发。

This computation SHOULD also be performed periodically. While it is harmless to delay this computation up to a minimum Trickle interval [RFC6550], longer delays in updating the path cost after the metric is updated or a new metric advertisement is received can lead to stale information.

这种计算也应定期进行。虽然将此计算延迟到最小滴流间隔[RFC6550]是无害的,但在更新度量或接收到新度量公告后更新路径成本的延迟更长可能会导致过时信息。

3.2. Parent Selection
3.2. 父选择

After computing the path cost for all the candidate neighbors reachable through an interface for the current DODAG iteration [RFC6550], a node selects the preferred parent. This process is called "parent selection". To allow hysteresis, parent selection maintains a variable, cur_min_path_cost, which is the path cost of the current preferred parent.

在计算通过当前DODAG迭代[RFC6550]的接口可到达的所有候选邻居的路径成本后,节点选择首选父节点。此过程称为“父选择”。为了允许滞后,父选择维护一个变量cur_min_path_cost,它是当前首选父项的路径成本。

3.2.1. When Parent Selection Runs
3.2.1. 当父选择运行时

A MRHOF implementation SHOULD perform Parent Selection each time:

MRHOF实施应每次执行父选择:

1. The path cost for an existing candidate neighbor, including the preferred parent, changes. This condition can be checked immediately after the path cost is computed.

1. 现有候选邻居(包括首选父级)的路径成本将更改。可在计算路径成本后立即检查此条件。

2. A new candidate neighbor is inserted into the neighbor table.

2. 将新的候选邻居插入邻居表。

If, despite the above, it is necessary to defer the parent selection until a later time (e.g., up to the Trickle minimum interval [RFC6550]), note that doing so can delay the use of better paths available in the network.

尽管如此,如果有必要将父选择推迟到稍后的时间(例如,直到涓流最小间隔[RFC6550]),请注意,这样做会延迟网络中可用的更好路径的使用。

3.2.2. Parent Selection Algorithm
3.2.2. 父选择算法

If the selected metric for a link is greater than MAX_LINK_METRIC, the node SHOULD exclude that link from consideration during parent selection.

如果为链接选择的度量值大于MAX_link_度量值,则节点应在父选择期间将该链接排除在考虑范围之外。

A node MUST select the candidate neighbor with the lowest path cost as its preferred parent, except as indicated below:

节点必须选择路径成本最低的候选邻居作为其首选父节点,以下情况除外:

1. A node MAY declare itself as a Floating root, and hence have no preferred parent, depending on system configuration.

1. 根据系统配置,节点可以声明自己为浮动根,因此没有首选父节点。

2. If cur_min_path_cost is greater than MAX_PATH_COST, the node MAY declare itself as a Floating root.

2. 如果cur_min_path_cost大于MAX_path_cost,则节点可以将自己声明为浮动根。

3. If the smallest path cost for paths through the candidate neighbors is smaller than cur_min_path_cost by less than PARENT_SWITCH_THRESHOLD, the node MAY continue to use the current preferred parent. This is the hysteresis component of MRHOF.

3. 如果通过候选邻居的路径的最小路径代价小于cur_min_path_代价小于PARENT_SWITCH_阈值,则节点可以继续使用当前首选父节点。这是MRHOF的滞后分量。

4. If ALLOW_FLOATING_ROOT is 0 and no neighbors are discovered, the node does not have a preferred parent and MUST set cur_min_path_cost to MAX_PATH_COST.

4. 如果ALLOW_FLOATING_ROOT为0且未发现邻居,则节点没有首选父节点,必须将cur_min_path_cost设置为MAX_path_cost。

If there are multiple neighbors that share the smallest path cost, a node MAY use a different selection criteria to select which of these neighbors should be considered to have the lowest cost.

如果有多个邻居共享最小的路径成本,则节点可以使用不同的选择标准来选择这些邻居中哪一个应该被认为具有最低的成本。

A node MAY include up to PARENT_SET_SIZE-1 additional candidate neighbors in its parent set. The cost of the path through the nodes in the parent set is smaller than or equal to the cost of the paths through any of the nodes that are not in the parent set. If the cost

节点在其父集合中最多可包含父集合大小为1的其他候选邻居。通过父集合中节点的路径成本小于或等于通过不在父集合中的任何节点的路径成本。如果成本

of the path through the preferred parent and the worst parent is too large, a node MAY keep a smaller parent set than PARENT_SET_SIZE.

在通过首选父节点的路径中,如果最差父节点太大,则节点可能会保留一个小于父节点集大小的父节点集。

Once the preferred parent is selected, the node sets its cur_min_path_cost variable to the path cost corresponding to the preferred parent. The value of the cur_min_path_cost is carried in the Metric Container corresponding to the selected metric when DIO messages are sent.

选择首选父节点后,节点将其cur_min_path_成本变量设置为与首选父节点对应的路径成本。当发送DIO消息时,cur_min_path_cost的值携带在与所选度量对应的度量容器中。

3.3. Computing Rank
3.3. 计算秩

DAG roots set their Rank to MinHopRankIncrease.

DAG根将它们的等级设置为MinHopRankIncrease。

Once a non-root node selects its parent set, it can use the following table to covert the path cost of a parent (written as Cost in the table) to a Rank value:

非根节点选择其父集后,可以使用下表将父节点的路径成本(在表中写为成本)转换为秩值:

                     +------------------+------------+
                     | Node/link Metric |    Rank    |
                     +------------------+------------+
                     |     Hop-Count    |    Cost    |
                     |      Latency     | Cost/65536 |
                     |        ETX       |    Cost    |
                     +------------------+------------+
        
                     +------------------+------------+
                     | Node/link Metric |    Rank    |
                     +------------------+------------+
                     |     Hop-Count    |    Cost    |
                     |      Latency     | Cost/65536 |
                     |        ETX       |    Cost    |
                     +------------------+------------+
        

Table 1: Conversion of Metric to Rank

表1:从度量到秩的转换

If MRHOF is used with other metrics, the Rank is undefined. If the Rank is undefined, the node must join one of the neighbors as a RPL Leaf node according to [RFC6550].

如果MRHOF与其他指标一起使用,则排名未定义。如果秩未定义,则节点必须根据[RFC6550]将其中一个邻居作为RPL叶节点加入。

MRHOF uses this Rank value to compute the Rank it associates with the path through each member of the parent set. The Rank associated with a path through a member of the parent set is the maximum of two values. The first is the corresponding Rank value calculated with the table above, the second is that nodes' advertised Rank plus MinHopRankIncrease.

MRHOF使用这个秩值来计算它与通过父集合的每个成员的路径关联的秩。与通过父集合成员的路径关联的秩最多为两个值。第一个是使用上表计算的相应秩值,第二个是节点的播发秩加上MinHopRankIncrease。

A node sets its Rank to the maximum of three values:

节点将其秩设置为最多三个值:

1. The Rank calculated for the path through the preferred parent.

1. 为通过首选父级的路径计算的秩。

2. The Rank of the member of the parent set with the highest advertised Rank, rounded to the next higher integral Rank, i.e., to MinHopRankIncrease * (1 + floor(Rank/MinHopRankIncrease)).

2. 具有最高播发排名的父集合成员的排名,四舍五入到下一个更高的整数排名,即MinHopRankIncrease*(1+下限(排名/MinHopRankIncrease))。

3. The largest calculated Rank among paths through the parent set, minus MaxRankIncrease.

3. 通过父集合的路径中计算出的最大秩,减去MaxRankIncrease。

The first case is the Rank associated with the path through the preferred parent. The second case covers requirement 5 of Rank advertisements in Section 8.2.1 of [RFC6550]. The third case ensures that a node does not advertise a Rank, which then precludes it from using members of its parent set.

第一种情况是与通过首选父级的路径相关联的秩。第二种情况涉及[RFC6550]第8.2.1节中排名广告的要求5。第三种情况确保节点不公布列组,从而阻止其使用其父集合的成员。

Note that the third case means that a node advertises a conservative Rank value based on members of its parent set. This conservative value might be significantly higher than the Rank calculated for the path through the preferred parent. Accordingly, picking a parent set whose paths have a large range of Ranks will likely result in subptimal routing: nodes might not choose good paths because they are advertised as much worse than they actually are. The exact selection of a parent set is an implementation decision.

注意,第三种情况意味着节点基于其父集合的成员公布保守秩值。此保守值可能显著高于为通过首选父级的路径计算的秩。因此,选择路径具有大范围列组的父集合可能会导致次临时路由:节点可能不会选择好的路径,因为它们的广告比实际情况差得多。父集合的精确选择是一个实现决策。

3.4. Advertising the Path Cost
3.4. 广告路径成本

Once the preferred parent is selected, the node sets its cur_min_path_cost variable to the path cost corresponding to its preferred parent. It then calculates the metric it will advertise in its metric container. This value is the path cost of the member of the parent set with the highest path cost. Thus, while cur_min_path_cost is the cost through the preferred parent, a node advertises the highest cost path from the node to the root through a member of the parent set. The value of the highest cost path is carried in the metric container corresponding to the selected metric when DIO messages are sent.

选择首选父节点后,节点将其cur_min_path_成本变量设置为与其首选父节点对应的路径成本。然后,它计算将在其度量容器中公布的度量。此值是路径成本最高的父集合成员的路径成本。因此,虽然cur_min_path_cost是通过首选父节点的成本,但节点通过父集合的成员播发从节点到根节点的最高成本路径。发送DIO消息时,最高成本路径的值在与所选度量对应的度量容器中携带。

If ETX is the selected metric, a node MUST NOT advertise it in a metric container. Instead, a node MUST advertise an approximation of its ETX in its advertised Rank value, following the rules described in Section 3.3. If a node receives a DIO with a Metric Container holding an ETX metric, MRHOF MUST ignore the ETX metric value in its Rank calculations.

如果ETX是选定的度量,则节点不得在度量容器中公布它。相反,节点必须按照第3.3节中描述的规则,在其公布的秩值中公布其ETX的近似值。如果节点接收到一个包含ETX度量的度量容器的DIO,MRHOF必须在其秩计算中忽略ETX度量值。

DODAG Roots advertise a metric value that computes to a Rank value of MinHopRankIncrease.

DODAG根公布一个度量值,该度量值计算为MinHopRankIncrease的秩值。

3.5. Working without Metric Containers
3.5. 无公制容器工作

In the absence of a Metric Container, MRHOF uses ETX as its metric. It locally computes the ETX of links to its neighbors and adds this value to their advertised Rank to compute the associated Rank of routes. Once parent selection and rank computation is performed using the ETX metric, the node advertises the Rank and MUST NOT include a metric container in its DIO messages. While assigning Rank in this case, use the representation of ETX described in [RFC6551], i.e., assign Rank equal to ETX * 128.

在没有公制容器的情况下,MRHOF使用ETX作为其公制。它在本地计算到其邻居的链路的ETX,并将该值添加到其公布的等级,以计算相关的路由等级。一旦使用ETX度量执行父级选择和秩计算,节点将公布秩,并且不得在其DIO消息中包含度量容器。在这种情况下分配秩时,使用[RFC6551]中描述的ETX表示法,即分配等于ETX*128的秩。

4. Using MRHOF for Metric Maximization
4. 使用MRHOF进行度量最大化

MRHOF cannot be directly used for parent selection using metrics that require finding paths with a maximum value of the selected metric, such as path reliability. It is possible to convert such a metric maximization problem to a metric minimization problem for some metrics and use MRHOF provided:

MRHOF不能直接用于父级选择,因为它使用的度量要求查找具有所选度量的最大值的路径,例如路径可靠性。对于某些度量,可以将此类度量最大化问题转换为度量最小化问题,并使用MRHOF,前提是:

There is a fixed and well-known maximum metric value corresponding to the best path. This is the path cost for the DAG root. For example, the logarithm of the best link reliability has a value of 0.

与最佳路径相对应的是一个固定且众所周知的最大度量值。这是DAG根的路径成本。例如,最佳链路可靠性的对数值为0。

The metrics in the maximization problem are all negative. The logarithm of the link reliability is always negative.

最大化问题中的指标都是负的。链路可靠性的对数始终为负。

For metrics meeting the above conditions, the problem of maximizing the metric value is equivalent to minimizing the modified metric value, e.g., logarithm of link reliability. MRHOF is not required to work with these metrics.

对于满足上述条件的度量,最大化度量值的问题等价于最小化修改的度量值,例如链路可靠性的对数。MRHOF不需要使用这些指标。

5. MRHOF Variables and Parameters
5. MRHOF变量和参数

MRHOF uses the following variable:

MRHOF使用以下变量:

cur_min_path_cost: The cost of the path from a node through its preferred parent to the root computed at the last parent selection.

cur_min_path_cost:从节点通过其首选父节点到最后一次父选择时计算的根节点的路径成本。

MRHOF uses the following parameters:

MRHOF使用以下参数:

MAX_LINK_METRIC: Maximum allowed value for the selected link metric for each link on the path.

MAX_LINK_METRIC:路径上每个链接的所选链接度量的最大允许值。

MAX_PATH_COST: Maximum allowed value for the path metric of a selected path.

最大路径成本:所选路径的路径度量允许的最大值。

PARENT_SWITCH_THRESHOLD: The difference between the cost of the path through the preferred parent and the minimum cost path in order to trigger the selection of a new preferred parent.

PARENT_SWITCH_THRESHOLD:通过首选父路径的路径成本与触发选择新首选父路径的最小成本路径之间的差异。

PARENT_SET_SIZE: The number of candidate parents, including the preferred parent, in the parent set.

PARENT_SET_SIZE:父集合中候选父集合的数量,包括首选父集合。

ALLOW_FLOATING_ROOT: If set to 1, allows a node to become a floating root.

允许浮动根:如果设置为1,则允许节点成为浮动根。

The parameter values are assigned depending on the selected metric. The best values for these parameters are determined by the requirement of the specific RPL deployment. For instance, if we use ETX as the selected metric and UDP as the transport protocol, we should use a small MAX_LINK_METRIC (e.g., ETX of 1.1) so that link-layer retransmissions are sufficient to provide a good chance of end-to-end reliability.

参数值根据选定的度量进行分配。这些参数的最佳值由特定RPL部署的要求确定。例如,如果我们使用ETX作为所选指标,使用UDP作为传输协议,我们应该使用较小的MAX_LINK_指标(例如,ETX为1.1),以便链路层重新传输足以提供端到端可靠性的良好机会。

The working group has extensive experience routing with the ETX metric [Hui08b]. Based on those experiences, the following values are RECOMMENDED when ETX is the selected metric:

工作组在ETX指标[Hui08b]的路由方面拥有丰富的经验。根据这些经验,当ETX为所选指标时,建议使用以下值:

MAX_LINK_METRIC: 512. Disallow links with greater than 4 expected transmission counts on the selected path.

最大链接度量:512。不允许所选路径上预期传输计数大于4的链路。

MAX_PATH_COST: 32768. Disallow paths with greater than 256 expected transmission counts.

最大路径成本:32768。不允许预期传输计数大于256的路径。

PARENT_SWITCH_THRESHOLD: 192. Switch to a new path only if it is expected to require at least 1.5 fewer transmissions than the current path.

父交换机阈值:192。仅当预计需要比当前路径至少少1.5次传输时,才切换到新路径。

PARENT_SET_SIZE: 3. If the preferred parent is not available, two candidate parents are still available without triggering a new round of route discovery.

父项集大小:3。如果首选父级不可用,则两个候选父级仍然可用,而不会触发新一轮路由发现。

ALLOW_FLOATING_ROOT: 0. Do not allow a node to become a floating root.

允许\u浮动\u根:0。不允许节点成为浮动根。

6. Manageability
6. 可管理性

Section 18 of [RFC6550] depicts the management of RPL. This specification inherits from that section and its subsections, with the exception that metrics as specified in [RFC6551] are not used and do not require management.

[RFC6550]第18节描述了RPL的管理。本规范继承了该部分及其子部分,但[RFC6551]中规定的指标未使用且不需要管理。

6.1. Device Configuration
6.1. 设备配置

An implementation SHOULD allow the following parameters to be configured at installation time: MAX_LINK_METRIC, MAX_PATH_COST, PARENT_SWITCH_THRESHOLD, PARENT_SET_SIZE, and ALLOW_FLOATING_ROOT. An implementation MAY allow these parameters to be configured dynamically at run time once a network has been deployed.

一个实现应该允许在安装时配置以下参数:MAX\u LINK\u METRIC、MAX\u PATH\u COST、PARENT\u SWITCH\u THRESHOLD、PARENT\u SET\u SIZE和allow\u FLOATING\u ROOT。一旦部署了网络,实现可以允许在运行时动态配置这些参数。

A MRHOF implementation MUST support the DODAG Configuration option as described in [RFC6550] and apply the parameters it specifies. Care should be taken in the relationship between the MRHOF PARENT_SWITCH_THRESHOLD parameter and the RPL MaxRankIncrease

MRHOF实现必须支持[RFC6550]中所述的DODAG配置选项,并应用其指定的参数。应注意MRHOF PARENT_SWITCH_THRESHOLD参数与RPL MaxRankIncrease之间的关系

parameter. For example, if MaxRankIncrease is smaller than PARENT_SWITCH_THRESHOLD, a RPL node using MRHOF could enter a situation in which its current preferred parent causes the node's Rank to increase more than MaxRankIncrease but MRHOF does not change preferred parents. This could cause the node to leave the routing topology even though there may be other members of the parent set that would allow the node's Rank to remain within MaxRankIncrease.

参数例如,如果MaxRankIncrease小于PARENT_SWITCH_THRESHOLD,则使用MRHOF的RPL节点可能会进入这样一种情况:其当前首选父节点导致节点的秩增加超过MaxRankIncrease,但MRHOF不会更改首选父节点。这可能导致节点离开路由拓扑,即使父集合中可能有其他成员允许节点的秩保持在MaxRankIncrease内。

Unless configured otherwise, a MRHOF implementation SHOULD use the default parameters as specified in Section 5.

除非另有配置,MRHOF实现应使用第5节中规定的默认参数。

Because of the partially coupled relationship between Rank and metric values, networks using MRHOF require care in setting MinHopRankIncrease. A large MinHopRankIncrease will cause MRHOF to be unable to select paths with different hop counts but similar metric values. If MinHopRankIncrease is large enough that its increment is greater than that caused by link cost, then metrics will be used to select a preferred parent, but the advertised Rank will be a simple hop count. This behavior might be desirable, but it also might be unintended; care is recommended.

由于秩和度量值之间的部分耦合关系,使用MRHOF的网络在设置MinHopRankIncrease时需要小心。较大的MinHopRankIncrease将导致MRHOF无法选择具有不同跃点计数但具有相似度量值的路径。如果MinHopRankIncrease足够大,其增量大于链接成本引起的增量,则将使用度量选择首选父级,但公布的排名将是一个简单的跃点计数。这种行为可能是可取的,但也可能是无意的;建议小心。

With ETX as the selected metric, RPL's Rank advertisement rules can require a DODAG Root to advertise a Rank higher than its corresponding ETX value, as a DODAG Root advertises a Rank of MinHopRankIncrease. Because all DODAG Roots within a DODAG Version advertise the same Rank, this constant value typically does not affect route selection. Nevertheless, it means that if a DODAG Version has a MinHopRankIncrease of M and a path has an advertised ETX of E, then the actual ETX of the path is likely closer to a value of E-M than a value of E.

使用ETX作为所选指标,RPL的排名公布规则可能要求DODAG根公布高于其相应ETX值的排名,因为DODAG根公布MinHopRankIncrease的排名。因为DODAG版本中的所有DODAG根都公布相同的列组,所以此常量值通常不会影响路由选择。然而,这意味着如果DODAG版本的MinHopRankIncrease为M,且路径的公布ETX为E,则路径的实际ETX可能更接近于E-M的值而不是E的值。

6.2. Device Monitoring
6.2. 设备监控

A MRHOF implementation should provide an interface for monitoring its operation. At a minimum, the information provided should include:

MRHOF实现应提供用于监控其运行的接口。提供的信息至少应包括:

DAG information as specified in Section 6.3.1 of [RFC6550], including the DODAGID, the RPLInstanceID, the Mode of Operation, the Rank of this node, the current Version Number, and the value of the Grounded flag.

[RFC6550]第6.3.1节中规定的DAG信息,包括DODAGID、RPLInstanceID、操作模式、该节点的等级、当前版本号和固定标志的值。

A list of neighbors indicating the preferred parent. The list should indicate, for each neighbor, the Rank, the current Version Number, the value of the Grounded flag, and associated metrics.

指示首选父级的邻居列表。对于每个邻居,该列表应指明排名、当前版本号、固定标志的值以及相关度量。

7. Acknowledgements
7. 致谢

Thanks to Antonio Grilo, Nicolas Tsiftes, Matteo Paris, JP Vasseur, and Phoebus Chen for their comments. Thanks to Barry Leiba, Brian Haberman, Martin Stiemerling, Ralph Droms, Robert Sparks, Russ Housley, Stephen Farrell, Wesley Eddy, Miguel A. Garcia, Mukul Goyal, and Michael Richardson for their feedback during the publication phase of this document.

感谢Antonio Grilo、Nicolas Tsiftes、Matteo Paris、JP Vasseur和Phoebus Chen的评论。感谢Barry Leiba、Brian Haberman、Martin Stieemering、Ralph Droms、Robert Sparks、Russ Housley、Stephen Farrell、Wesley Eddy、Miguel A.Garcia、Mukul Goyal和Michael Richardson在本文件出版阶段提供的反馈意见。

8. IANA Considerations
8. IANA考虑

Per this document, IANA has allocated value 1 from the "Objective Code Point (OCP)" sub-registry of the "Routing Protocol for Low Power and Lossy Networks (RPL)" registry.

根据本文件,IANA已从“低功耗和有损网络路由协议(RPL)”注册表的“目标代码点(OCP)”子注册表中分配了值1。

9. Security Considerations
9. 安全考虑

This specification makes simple extensions to RPL and so is vulnerable to and benefits from the security issues and mechanisms described in [RFC6550] and [ROLL-SEC]. This document does not introduce new flows or new messages, and thus requires no specific mitigation for new threats.

本规范对RPL进行了简单的扩展,因此容易受到[RFC6550]和[ROLL-SEC]中描述的安全问题和机制的影响,并从中获益。本文档不会引入新的流或新的消息,因此不需要针对新的威胁采取具体的缓解措施。

MRHOF depends on information exchanged in a number of RPL protocol elements. If those elements were compromised, then an implementation of MRHOF might generate the wrong path for a packet, resulting in it being misrouted. Therefore, deployments are RECOMMENDED to use RPL security mechanisms if there is a risk that routing information might be modified or spoofed.

MRHOF依赖于在许多RPL协议元素中交换的信息。如果这些元素被破坏,那么MRHOF的实现可能会为数据包生成错误的路径,从而导致数据包被错误路由。因此,如果存在路由信息可能被修改或欺骗的风险,建议部署使用RPL安全机制。

10. References
10. 工具书类
10.1. Normative References
10.1. 规范性引用文件

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC2119]Bradner,S.,“RFC中用于表示需求水平的关键词”,BCP 14,RFC 2119,1997年3月。

[RFC6550] Winter, T., Thubert, P., Brandt, A., Hui, J., Kelsey, R., Levis, P., Pister, K., Struik, R., Vasseur, JP., and R. Alexander, "RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks", RFC 6550, March 2012.

[RFC6550]温特,T.,苏伯特,P.,勃兰特,A.,许,J.,凯尔西,R.,列维斯,P.,皮斯特,K.,斯特鲁克,R.,瓦塞尔,JP.,和R.亚历山大,“RPL:低功耗和有损网络的IPv6路由协议”,RFC 65502012年3月。

[RFC6551] Vasseur, JP., Kim, M., Pister, K., Dejean, N., and D. Barthel, "Routing Metrics Used for Path Calculation in Low-Power and Lossy Networks", RFC 6551, March 2012.

[RFC6551]Vasseur,JP.,Kim,M.,Pister,K.,Dejean,N.,和D.Barthel,“低功率和有损网络中用于路径计算的路由度量”,RFC 65512012年3月。

10.2. Informative References
10.2. 资料性引用

[Hui08b] Hui, J. and D. Culler, "IP is dead, long live IP for wireless sensor networks", Proceedings of the 6th ACM Conference on Embedded Networked Systems SenSys 2008, November 2008, <http://portal.acm.org/citation.cfm?id=1460412.1460415>.

[Hui08b]Hui,J.和D.Culler,“无线传感器网络的IP是死的,IP是长寿的”,第六届ACM嵌入式网络系统会议记录,SenSys 2008,2008年11月<http://portal.acm.org/citation.cfm?id=1460412.1460415>.

[ROLL-SEC] Tsao, T., Alexander, R., Dohler, M., Daza, V., and A. Lozano, "A Security Framework for Routing over Low Power and Lossy Networks", Work in Progress, January 2012.

[ROLL-SEC]Tsao,T.,Alexander,R.,Dohler,M.,Daza,V.,和A.Lozano,“低功耗和有损网络路由的安全框架”,正在进行的工作,2012年1月。

[ROLL-TERM] Vasseur, J., "Terminology in Low power And Lossy Networks", Work in Progress, September 2011.

[ROLL-TERM]Vasseur,J.,“低功率和有损网络的术语”,正在进行的工作,2011年9月。

Authors' Addresses

作者地址

Omprakash Gnawali University of Houston PGH 577, University of Houston Houston, TX 77204 USA

OMPRAKASH GNAWALI休士顿大学PGH 577,休士顿大学休斯敦,德克萨斯州77204美国

   Phone: +1 713 743 3356
   EMail: gnawali@cs.uh.edu
        
   Phone: +1 713 743 3356
   EMail: gnawali@cs.uh.edu
        

Philip Levis Stanford University 412 Gates Hall, Stanford University Stanford, CA 94305 USA

Philip Levis斯坦福大学412盖茨厅,斯坦福大学斯坦福,加利福尼亚州94305

   EMail: pal@cs.stanford.edu
        
   EMail: pal@cs.stanford.edu