### Translation from RTF performed by UnRTF, version 0.20.2
### document uses ANSI character set
### document uses default ANSI codepage character set
### font table contains 17 fonts total
TITLE: RPL协议的研究草案
### creation date: 9 October 2010 09:48
### revision date: 30 December 2411
-----------------
RPL???????
低功耗和有损网络(LLNs)是一种网络,在其中路由器都和他们的互连都要受到约束;
LLN路由器在受限制的情况下运作,处理能力(processing power?,内存和能源(电池),它们之间的互连的特点:高损失率,低数据速率和不稳定。
LLNs是由几十人以及多达数千个路由器组成的,支持:
点至点的通信(LLN网的内部设备),
点对多点通信(由一个中央控制点,对一个LLN内部的子集内的设备)
多点对点通信(从LLN网内的设备对中央控制点)。
本文件指定的IPv6在LLN中的路由协议(RPL),它提供了一种机制实现以上三种通信:
1.?????
LLNs:包括很多受约束的节点(有限的处理能力,内存,有时能源 当他们的能量电池操作或清除)。这些路由器?由有损耗链路相互联接,通常只能支持低速数据率,通常在相对较低的数据包传递过程中,仍然不稳定。
1.1设计原则
???   
一个网络可以运行RPL的多个实例同时进行。
每一个这样的实例都有各自的潜在的制约因素或性能标准。
???   
为了在LLN广泛的应用领域成为一个有用的协议,RPL把路由数据包处理和转发从路由的优化目标中分离出来。这些优化目标包括:尽量减少能源,减少延迟,或满足约束。
1.2期望链路层类型
???   
按照IP的分层架构,RPL不依赖一个特定的链路层的技术和功能。
RPL 的设计能够工作在各种不同的链路层,包括那些受到限制,有损耗,或通常使用的极为有限的主机或结合路由器设备。
2.术语:
DAG:有向无环图。没有环存在。
???DAG根:节点没有传出边缘。由于图是无圈,所有结点都要有一个根节点,
???DODAG:目的地为源的有向无环图。
???DODAG根:就是DAG的根;
???虚拟DODAG根:一个虚拟DODAG的根是由于有两个或?更多RPL路由器,最典型LBRs,协调同步DODAG状态和行动,好像他们是一个DODAG根(具有多个接口);
???UP:指由叶节点向DODAG根方向;?????????
???down:指从DODAG根的方向向叶节点,沿着DODAG边缘方向。
???优先级:节点的等级定义了节点的个别位置相对到其他节点就某一DODAG根的级别。在向下的方向增加
???目标函数(OF):定义如何路由度量,优化目标,以及相关的函数用来计算名次。 此外,在如何支配父母的DODAG选定的形成,从而使DODAG本身。
???目标代码点(OCP
)的:一个标识符,指示哪些目标函数的DODAG用途。
?
??RPLInstanceID:一个网络内的唯一标识符。 DODAGs有相同的RPLInstanceID共享相同的目标函数。
???RPL实例:一个或多个DODAGs共享一套 RPLInstanceID。1 DODAG在一
???DODAGID:一个DODAG根标识符。在RPL的一个实例范围内,有唯一的DODAGID;
????????? (RPLInstanceID,DODAGID)唯一标识一个DODAG。
???目标:目标是一个应用程序的具体目标,是指?RPL范围以外的。任何节点根系DODAG会要知道这个目标的目标,以决定是否可满意或不满意。一个典型的目标是要构建DODAG根据一个具体的目标函数,并随时连接到一个主机的设置(例如,使用一个客观功能,最大限度地减少一公吨,并连接到特定的数据库主机到存储所收集的数据)。
Grounded:基本是一个DODAG当DODAG根能满足?目标。
Floating?一个DODAG是浮动的,如果它不基本。浮动?DODAG预计不会有足够的属性满足的目标。然而可能,提供连接在DODAG其他节点。
?DODAG父节点:一个节点在DODAG父母是一节点的直接继承上,以DODAG路径
根。DODAG父母的优先权低于节点的。小组DODAG的子节点DODAG,是其他节点的设置
?到DODAG根路径通过该节点。在节点分DODAG一个节点有一个更大的优先权比该节点本身。
???本地DODAG:本地DODAGs包含一个且只有一个根节点,允许以单一根节点分配和管理RPL例如,由本地RPLInstanceID,确定无协调与其他节点。这通常是为了优化航线目的地在LLN。
?全球DODAG:全球DODAG使用全球RPLInstanceID可能其他几个节点之间的协调。
???当他们组成网络,LLN设备通常混合'的角主机'和
???'路由器'相比,传统的IP网络。在这份文件中,
???'主人'是指一LLN设备,可以生成,但不转发
???RPL的传输,'路由器'是指一LLN设备,可以向前迈进
???RPL以及产生的流量,和'节点'是指任何RPL的设备,?无论是主机或路由器。
3.协议概述
3.1拓扑
3.1.1RPL标识符
???RPL使用四个值,以确定和维持一个拓扑:
RPLInstanceID。
RPLInstanceID确定了一系列一个或多个DODAGs。一个网络可能有多个RPLInstanceIDs,每一个独立的定义一个DODAGs,这可能是不同的优化目标功能(OFs的)和/或应用程序。由RPLInstanceID确认的DODAGs称为RPL实例。
DODAGID。
一个DODAGID范围是RPL实例。该RPLInstanceID和DODAGID的组合?标识网络中的唯一DODAG。一个实例可能有RPL多DODAGs,各自有一个独特的DODAGID。
DODAGVersionNumber。
一个范围DODAGVersionNumber是DODAG。DODAG有时重建,从DODAG根,由递增DODAGVersionNumber。该结合RPLInstanceID,DODAGID和DODAGVersionNumber?唯一标识一个DODAG版本。
Rack。
该优先权的范围是1 DODAG版本。秩建立了一个DODAG版本偏序,确定对于个别节点的DOD
AG根位置。
3.2实例,DODAGs和DODAG版本
???RPL实例包含一个或多个DODAG根。一个实例可能提供某些目的地前缀,通过?DODAG根或在DODAG转换路径。这些根可能独立运作,或相互协调。
???RPL一个实例可能包括:
????一个带有单一根的DODAG;
?多不协调DODAGs独立根不同(?DODAGIDs)
?一个带虚拟根的DODAG坐标(与同一DODAGID)对骨干网络。
???图1描述了一个实例RPL的例子,??DOBAGs,????R1, R2, and R3????????RPLInstanceID????????????????????????????????????????????????????????????
图2描述如何DODAG版本号的增长会产生新的DODAG版本。这说明了一个描述DODAG版本号增加会导致不同的DODAG拓扑。请注意新DODAG版本并不总是意味着一个不同的DODAG拓扑。为了适应某些拓扑结构的变化需要新的DODAG版本,在后面规范说明。
3.3。上行路线与DODAG结构:
???RPL规定路线的实现DODAG根,形成了DODAG根据优化目标函数(OF)。RPL节点通过建造和维护这些DODAGs DODAG信息对象消息。
3.3.1。目标函数()
???   
目标函数定义了在RPL实例中,一个RPL结点如何选择和优化路线。该OF由一个目的代码点(OCP)的来识别。OF定义了结点如何转换一个或多个指标和的限制;
OF还定义了一个节点如何选择父结点。
3.3.2 DODAG修复
?
??DODAG根建立了一个全体性的修复操作-增大DODAG版本号。这将启动一个新的DODAG版本。节点在新DODAG版本可以选择一个新的位置,其优先权不受限制于原DODAG版本。
???RPL还支持在DODAG版本中进行本地修复。
3.3.3安全
???RPL支持消息的保密性和完整性。这样的设计保证了在可用和合适情况下链路层机制是可用的,但在RPL的情况下可以使用他们自己的机制。
???RPL有三个基本的安全模式。
???第一,被称为?无抵押,?RPL控制信息发送?没有任何附加的安全机制。无担保的模式不暗示RPL网络是不安全的:它可以使用其他目前的安全原语(如链路层安全性),以满足应用安全性的要求。
???第二,所谓的?预先设置?节点加入一个实例RPL?已预先设置的密钥,使他们能够处理和生成RPL的信息安全。
???第三种模式被称为?验证?。在认证模式,节点在预装模式预先设置密钥,但预 安装的密钥只能作为叶子结点加入一RPL实例。
3.3.4固定的和浮动DODAGs
???DODAGs可以固定或浮动:DODAG根决定它们的状态。
基本DODAG能够提供连接到主机的需要满足应用程序定义的目标。
浮动DODAG不会有目标,在大多数情况下只为结点提供路由。
可浮动DODAGs是?用来维护维修期间内部的连通性。
3.3.5。本地DODAGs
???RPL节点可以在一个LLN内优化到目的地的路由,通过形成本地DODAG,它的根就是是理想的目的地。
???
不同于全局DAG(其中可以包含多个DODAGs)本地DAG有一个且只有一个DODAG,一DODAG根。本地?DODAGs可以满足构造上的需求。
3.3.6。管理偏好
???一个实施/部署可以指定一些DODAG根应用比别人通过行政偏好。
???行政偏好提供了一个方法来控制路由和DODAG工程XI,以便更好地支持应用DODAG形成要求或需要。
3.3.7。数据通路和回路检测
???每个数据包包括传送者的优先级。数据包发送决策之间(向上或路由决定?向下)的不一致和两个节点之间的优先级关系表明可能的循环。在收到这样的包,一个节点一个本地机构修复操作。
3.3.8分布式算法运行
???有些节点配置为向DODAG根,以及相关DODAG配置。
???节点发布存在信息及与其他DODAG从属关系,路由成本,以及相关的指标通过向所有的RPL结点发送链路向全RPL,节点的信息。
???节点侦听DIO和使用他们的信息加入一个新的DODAG,或维持现有DODAG,根据指定的目标函数和他们的邻结点秩。
?
??节点的路由表项的规定,为目的地通过在其DODAG父母DODAG版本。节点决定加入DODAG必须提供一个DODAG?父节点作为关联实例的默认路由。这是最多到最终的端到端应用程序选择RPL的实例是其传输关联(如果有多个实例)因此向上的默认路由时不再匹配存在。
3.4下行路线和目的地公告
???RPL使用目的地对象公告(DAO)信息来建立向下路线。
DAO的消息是一个可选功能为应用程序需要点对多点或点对点通信。
RPL支持两种向下传输方式:
存储(全状态)或非储存(全源路由)。
在这两种情况下,P2P的数据包上行传到DODAG根又下行到最终目的地(除非目标是向上的路线)。在非贮存情况下,数据包发送到所有的方式,然后前往下一个DODAG根。在存储条件的下数据包,可对下一个目的地共同的祖先的来源和目的地之前达成DODAG根。
3.5。本地DODAGs路由发现
?
??RPL可以选择一个支持网络,以发现需求DODAGs在一个LLN具体目的地。这种本地DODAGs行为全球DODAGs略有不同:它们是独一无二的定义。该RPLInstanceID表示是否DODAG是本地DODAG。
3.6优先权
???节点的优先权是一个梯形的图案,在DODAG版本之中该位置的标量的代表性节点。该优先权是用来避免和检测环路的,因此必须表现出某些特权。确切的优先权计算是目标函数来计算的,并可能取决于父结点,链路的定制,节点的定制,和节点配置和策略。
??? 优先权是不是路径的成本,虽然其价值要受到路径指标的影响。该优先权有其自己的属性未必是所有指标的:
类型:优先权是一个抽象的数字值。
?     
功能:在DODAG版本中,优先权是一个相对位置的表达;
稳定性:稳定
的优先权决定了稳定?路由拓扑。
tabletotal函数
?     
性能:等级是在严格单调递增的方式,并可以用来验证从进展或对根。度量,如带宽或抖动,不必然出现此属性。
?     
抽象性:优先权没有一个物理单元,而是每跳增长一次;而每个增量分配由目标函数确定。
3.6.1。优先权比较(DAGRank())
???优先权被认为是一个固定数,整数部分和小数部分的分界点取决于MinHopRankIncrease函数。 MinHopRankIncrease是节点和其DODAG父结点之间的最低优先级增长。DODAG根创建MinHopRankIncrease。 MinHopRankIncrease创建?一跳精度,成本,网络上可以支持的最大数量的跳数。例如,一个非常大的MinHopRankIncrease,可以精确地描述某一跳对网络中优先权的影响,但不能支持多跳。
???当目标函数计算优先级,目标函数在计算整个(即16位)优先权数量。当优先权相比较,例如对父母的关系或循环的检测时,该级别的整数部分是被使用。该整数部分计算的优先权由DAGRank()来计算
如下:
其中楼(x)是函数的计算结果
???最大整数小于或等于x:
??????????????DAGRank(rank)=floor(rank/ MinHopRankIncrease)
???例如,如果一个16位十进制27数量级,并MinHopRankIncrease是十进制16,然后DAGRank(27)=floor(1.6875)= 1。该级别的整数部分是1,小数部分 11/16。
3.6.2。优先权的关系 
?DAGRank(M)小于DAGRank(N):在这种情况下,M的地位比n更靠近DODAG根;M结点作为N结点的父节点会更安全一些,不会产生环路。此外,对于节点N,在所有的父结点?DODAG父节点设置必须是比DAGRank(N)的低。 换言之,基层的一个节点n必须有比其父结点更高的优先级。
???DAGRank(M)等于DAGRank(N):在这种情况下的M和N在DODAG以及有关的DODAG根中,类似(相同)。在同等级别的节点之中路由可能会导致路由循环。
???DAGRank(M)大于DAGRank(N):在这种情况下,M是比n的到DODAG根具有更远的距离;
???????????但是,M点可能是在N点的下方子集,如果n选择m作为其父亲结点,会导致回路的形成。
3.7。路由度量和约束
???所使用的路由度量来计算最短路由协议路径。内部网关协议使用静态链接的指标。
这种连结的数据仅仅反映带宽或根据多项式函数的几个指标确定不同的链接特征。一些路由协议的支持超出这种度量机制:在绝大多数情况下,每一个指标都有一种子拓扑。较少,第二个指标可作为一搭 断路器在平等成本多路径(ECMP技术)的存在。
??
相比之下,LLNs需要同时支持静态和动态度量。在RPL的情况下,定义一个度量或一个复合度量几乎是不可能的满足所有的用例。
?RPL支持有约束的路由,连接和节点都要满足一定的限制。如果一个链接

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。