RPL是IPv6 Routing Protocol for Low-Power and Lossy Networks的简称。

低功耗及有损网络(LLN)是一类内部链接和路由器都受限的网络,该网络下的路由器的处理器功能、内存及系统功耗(电池供电)都可能受到较大的限制,而里面的网络连接也具有高丢包率、低数据传输率及不稳定的特性。组成该网络的节点数量也多种多样,一张网络中可能仅也几个节点,也可能有成千上万个节点。节点间通讯拓扑方式可有三种形式:

  • 点到点:网络内节点到节点的通讯;
  • 点到多点:LLN网络内一个中心节点到一个设备子网的所有节点通讯;
  • 多点到点:LLN网络内一个设备子网内的所有节点到一个中心节点的通讯;

1、重要术语

DAG

DODAG

Objective Function (OF): An OF defines how routing metrics, optimization objectives, and related functions are used to compute Rank. Furthermore, the OF dictates how parents in the DODAG are selected and, thus, the DODAG formation.目标功能OF:OF定义了路由计量标准、目标路径优化,以及计算Rank值的方式。与此同时,OF还规定了如何确定DODAG中的父节点的方式,即如何构造DODAG。

2、RPL简介

2.1、拓扑图

本小节描述RPL的基本拓扑形式,以及如何建立这些网络的规则,即建立DODAG的规则。

LLN网络不像我们平常的有线网络那样是点到点传输的,LLN一般没有预先规定好某个发送节点的目标,网络内的节点必须自己去发现其它的节点并按RPL规则建立通信。RPL路由把网络拓扑内所有节点向外的信道汇集到一个或多个指定的出入口(sink)上去,反之外部的信息也从这些出入口(sink)出来分发给网络里面的节点。所以,RPL把整张网络视为一个DAG图(Directed Acyclic Graph),然后再将这个DAG图分割为多个DODAG图,每个DODAG图含有一个根节点(出入口sink,可以接收或发送外网信息)。这些根节点通常会连接到某一主干网上去。

RPL中各元素的关系

1)NETWORK

  • 一个网络中会包含有多个RPLInstance,各个RPLInstance具有自己的RPLInstanceID;
  • 6lowpan应用的主要问题都集中在RPLInstance及以下的部分,因为RPLIntance的root是有能力连接到主干网络的(这就属于互联网时代的技术了);

2)RPLInstance

  • 一个RPLInstance中含有一个或者多个DODAG,各个DODOAG含有自己的DODAGID;
  • 同一个RPLInstance里的所有DODAG共享同一种OF;

3)DODAG

  • 每个DODOAG内含有且仅有一个root,其它的都为node;
  • 每个node还有一个属性DODAGVersion,当DODAG重构时DODAGVersion会跟着增加,比如节点发生移动、信号强度互相有变化时DODAG会重构拓扑图,从而引发DODAGVersion增加。不过DODAGVersion有的时候并不是因为拓扑图变化了才增加,有其它可能导致它增加的原因;
  • DODAG内的所有节点具有自己的Rank值,该值在越接近root的节点处越小,越远离root的节点则越大;

RPLInstance可能有下面的多种组成方式:

  • 仅有一个root的单一DODAG形式

    • 比如,某个智能家居应用中,最小化的电灯控制系统,仅需要一个DODAG就可以了;
  • 多个DODAG形式(各自有root,不同的DODAGID)
    • 比如,在某个多点数据收集应用中,节点间没有办法互相协调所以被迫分割成多个DODAG了,或者仅是为了实现其中某一部分节点能够动态地进入/离开网络而采用了多DODAG的方式;
  • 单一DODAG形式(使用一个主干网上的的一个根节点作为虚拟根节点,用它协调其它DODAG的根,这样该RPLInstance下的所有DODOAG具有相同的DODAGID了)
    • 比如,某网络中的多个边界路由器,它们都具有可靠的网络连接,在理论上它们都可以扮演网络里所有DODAG的出入口(sink)功能;
  • 上面几种情况的组合

原文如下:

A RPL Instance may comprise:
o a single DODAG with a single root
* For example, a DODAG optimized to minimize latency rooted at a single centralized lighting controller in a Home Automation application.
o multiple uncoordinated DODAGs with independent roots (differing DODAGIDs)
* For example, multiple data collection points in an urban data collection application that do not have suitable connectivity to coordinate with each other or that use the formation of multiple DODAGs as a means to dynamically and autonomously partition the network.
o a single DODAG with a virtual root that coordinates LLN sinks(with the same DODAGID) over a backbone network.
* For example, multiple border routers operating with a reliable transit link, e.g., in support of an IPv6 Low-Power Wireless Personal Area Network (6LoWPAN) application, that are capable of acting as logically equivalent interfaces to the sink of the same DODAG.
o a combination of the above as suited to some application scenario.

2.2、上行路由与构建DODAG

RPL规定从节点到DODOAG的根的路由,应该根据OF算出最优的DODAG来,节点间通过互相传递DIO(DODAG Information Object)信息数据来建立和维护DODAG图。

2.3、下行路由

RPL使用DAO(Destination Advertisement Object (DAO))信息数据来建立下行路由

RPL协议介绍的更多相关文章

  1. TCP/IP 协议介绍

    转自http://blog.jobbole.com/104886/ 一.TCP/IP 协议介绍 在介绍 HTTP 协议之前,先简单说一下TCP/IP协议的相关内容.TCP/IP协议是分层的,从底层至应 ...

  2. 第二章 ZAB协议介绍

    ZAB ( ZooKeeper Atomic Broadcast , ZooKeeper 原子消息广播协议)是zookeeper数据一致性的核心算法. ZAB 协议并不像 Paxos 算法那样,是一种 ...

  3. JSON-RPC轻量级远程调用协议介绍及使用

    这个项目能够帮助开发人员利用Java编程语言轻松实现JSON-RPC远程调用.jsonrpc4j使用Jackson类库实现Java对象与JSON对象之间的相互转换.jsonrpc4j包含一个JSON- ...

  4. [转]流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)

    [转]流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls) http://blog.csdn.net/tttyd/article/details/12032357 RTP       ...

  5. Python基础教程之udp和tcp协议介绍

    Python基础教程之udp和tcp协议介绍 UDP介绍 UDP --- 用户数据报协议,是一个无连接的简单的面向数据报的运输层协议.UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但 ...

  6. 常用音频协议介绍&&有关音频编码的知识与技术参数

    (转载)常用音频协议介绍 会议电视常用音频协议介绍及对比白皮书 一.数字化音频原理:声音其实是一种能量波,因此也有频率和振幅的特征,频率对应于时间轴线,振幅对应于电平轴线.通常人耳可以听到的频率在20 ...

  7. 各种开源协议介绍 BSD、Apache Licence、GPL V2 、GPL V3 、LGPL、MIT_转

    转自:各种开源协议介绍 BSD.Apache Licence.GPL V2 .GPL V3 .LGPL.MIT 现今存在的开源协议很多,而经过Open Source Initiative组织通过批准的 ...

  8. OSPF协议介绍及配置 (上)

    OSPF协议介绍及配置 (上) 一.OSPF概述 回顾一下距离矢量路由协议的工作原理:运行距离矢量路由协议的路由器周期性的泛洪自己的路由表,通过路由的交互,每台路由器都从相邻的路由器学习到路由,并且加 ...

  9. VRRP协议介绍--转

    http://www.cnblogs.com/jony413/articles/2697404.html VRRP协议介绍 参考资料: RFC 3768 1. 前言 VRRP(Virtual Rout ...

随机推荐

  1. Kinect开发笔记之二Kinect for Windows 2.0新功能

    这是本博客翻译文档的第一篇文章.笔者已经苦逼的竭尽全力的在翻译了.但无奈英语水平也是非常有限.不正确或者不妥当不准确的地方必定会有,还恳请大家留言或者邮件我以批评指正.我会虚心接受. 谢谢大家.   ...

  2. HDU 3788 和九度OJ 1006测试数据是不一样的

    ZOJ问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  3. 学生表sid,sname,结果表cid,cname,学生成绩表sid,cid,cscore,最高要求的分数输出候补课程专门命名

    --1.建表SQL: --学生表: -- Createtable createtable STUDENT ( SID   NUMBERnotnull, SNAME NVARCHAR2) ) table ...

  4. ANDROID PAD版本号 PHONE版本号 源代码有什么 差别?

    ANDROID PAD版本号 PHONE版本号 源代码有什么 差别? 直接把frameworks/base/core/res/res/values/config.xml里面的<bool name ...

  5. CentOS7 安装zookeeper

    本章介绍CentOS的初始配置与zookeeper的安装. www.apache.org/dist/上可以下载Hadoop整个生态环境的组件,我下的Zookeeper3.4.6版本 我一般都是在一个虚 ...

  6. 一个好用的web甘特图

      前些天一直在弄web甘特图,发现网上很多web甘特图框架,但大部分是收费的.偶尔发现了向日葵甘特图 感觉不错,特此写下来一方面当做记录,另一方面也为寻找web甘特图的同学们少走一些弯路,双赢嘛~ ...

  7. (大数据工程师学习路径)第四步 SQL基础课程----约束

    一.简介 约束是一种限制,它通过对表的行或列的数据做出限制,来确保表的数据的完整性.唯一性.本节实验就在操作中熟悉MySQL中的几种约束. 二.内容 1.约束分类 听名字就知道,约束是一种限制,它通过 ...

  8. Unity3D移动端内存优化(NGUI方面)

     Unity3D引擎技术交流QQ群:[21568554] 做3d移动端内存一直是人们头疼的问题,载入的资源释放了,还有其它的须要释放.比方ngui释放,事实上主要是NGUI的Texture和Spr ...

  9. Display Database Image using MS SQL Server 2008 Reporting Services

    原文 Display Database Image using MS SQL Server 2008 Reporting Services With the new release of MS SQL ...

  10. Apriori算法Python实现

    Apriori如果数据挖掘算法的头发模式挖掘鼻祖,从60年代开始流行,该算法非常简单朴素的思维.首先挖掘长度1频繁模式,然后k=2 这些频繁模式的长度合并k频繁模式.计算它们的频繁的数目,并确保其充分 ...