路由协议RPL概述介绍
Rank<Own_Rank? 否 基于OF计算rank 是 改变它的位置并 获取较低的rank 保持它在DODAG 中的位置
Rank2 Rank1
以多播的方式传 输DIO给其它节点
丢弃较低rank的 父节点
13
13
RPL路由协议的分析
RPL网络管理
依靠数据路径的验证 机制,在RPL路由头 部中设置相关的标志 位,通过这些标志位 容错机制 对于任何M和N节点(M、N是邻居关系)Rank的计算有下面三种情况。 来检测数据的有效性 DODAG A A A 环路避免 ①DAGRank(M)<DAGRank(N):M节点有把握成为节点 环路检测N的父节点而不 和检测 会出现环路的风险。 ②DAGRank(M)=DAGRank(N) :在这两个相同Rank节点之间路由出现 DODAG 全球修复 修复 DODAG 的概率会很大。 环路避免 ③DAGRank(M)>DAGRank(N) : M 可能会出现在 N的sub-DODAG中, 节点B和节点C保持一个Rank足够去依附在它们最佳 C A。而且不允许它们去找任何较深的(坏的) C B B 本地修复 的父节点 如果N选择M作为父节点就会出现环路。 拒绝节点 额外父节点。 贪婪 基于Rank 节点B和节点C不要处理来自更深节点的 DIO消息(因 为这样的节点可能在他们自己的子 DODAG中) C B
RPLInstanceID G 0 MOP DTSN Version Number Flags DODAGID(128bits) Options Rank Reserved
DIO信息格式
DAO信息格式
RPLInstanceID
K D
Flags
Reserved
DAOSequence
DODAGID(128bits) Options
7
7
RPL协议的概述
Internet,IPv6
Instance 1 DAG1 DODAG root1 DAG2 DODAG root2 DAG3
Instance 2
DODAG root3
Rank=0
MP2P
2
5
7
9
P2MP
12
Rank=1
15
Rank=1
3
4
6
8
10
7
Rank=3
14
Rank=2
16
Rank=1
15
Rank=1
14
Rank=3 Rank=2
16
Rank=3
13
15
15
RPL路由协议分析
RPL性能评估
ContikiRPL
16
16
后续工作安排
1、学习Reinforcement learning(RL)算法
17
17
Description DODAG Information Solicitation (DIS) DODAG Information Object (DIO) Destination Advertisement Object (DAO) Reserved
11
11
RPL协议的概述
RPL控制消息类型
DIS:用来请求一个来自RPL节点的DIO,还可用于探 索邻近DODAG中的邻居节点 DIO:在一个DODAG root创建一个新的DAG时被使用 DAO:用于传播反向路由信息从而记录上行路径上被访 问的节点
9
9
RPL协议的概述
网络模型 LBRs
LBRs(Low Power and Lossy Border Routers) 一个DODAG的根节点, 有能力构建一个DAG,也 可以作为连接因特网和 LLN间的一个网关
RPL定义的三 种类型节点 路由器
能够转发并产 生通信量的一 个设备
Host
能产生通信量 但不能转发的 一个终端设备
10
10
RPL协议的概述
RPL控制消息
RPL消息是一种新类型的ICMPv6控制消息,结构如下图所示
octets:1 Type
bits:0-2 RPL Type
1 Code
3 Security
2 Checksum
4-7 Reserved
variable Message Body
RPL Type 0x00 0x01 0x02 0x03
12
12
RPL路由协议的分析
收到一个DIO
P
DODAG构建过程
DODAG构建是基于邻居节点发现过程,包含了两个主要的操作:
是否第1次收到DIO? 满足标准? 否 否 丢弃这个包
B
1)在从根节点到客户节点的下行方向,广播传输由DODAG 是 root发起的 是 DIO控制消息来建立路由 A Rank 处理这个DIO 2)单一传播由客户节点发起的 DAO控制消息,沿着上 将发送节点增加 到父节点集中 DODAG root 行方向发送到
Rank=3
13
8
8
RPL协议的概述
RPL协议的特征:结合了mesh和分层结构的拓扑
一方面,基于RPL网络拓扑是固定分层的,它迫使底层 基于父子关系的节点自组织成一个或几个DODAGs
另一方面, RPL支持mesh拓扑,当需要的时候,允许 兄弟节点间的路由代替父子节点间的路由的路由
RPL能够使节点存储一些候选的父节点和兄弟节点,当 被选择的父节点失去了路由能力时,可以使用这些存储 节点来选择新路由。
R1
A DODAG C
B
A C
一个整数值,代表了一个节点 的相对于DODAG root的位置, Version N+1 Rank在DAG下行方向上严格地 增加,在上行方向上严格地减 小,一般DODAG root被分配 有最小的Rank
DODAG Version Number
Version N
B
Rank
制定者:IETF ROLL工
目标函数
定义了RPL节点如何将一个或多个度量翻译成Rank,以及 在DODAG中如何选择并优化路由器
目标函数利用度量和约束条件的集合计算出最优路径。
4
4
RPL协议的介绍
地址空间
网关设计难度
网络时延
网络吞吐量
RPL引入到WSNs中
5
5
RPL协议的概述
设计目标
基于采集网络,节 点周期性地发送测量信 息给一个采集节点,和 点到多点通信一样,然 后从中心节点再到LLN 中的设备节点。
14
14
RPL路由协议的分析
RPL的路由过程
MP2P:优势是支持较小状态路由,节点只需要储存能够到达 Instance2 DAG root的目的节点信息 P2MP:通常被称为外向单播通信
DAG3 DODAG root3
Rank=0
MP2P
P2P:RPL为DODAG中任何两个节点提供了 点到点通信的机制 P2MP 12
RPL路由协议
ቤተ መጻሕፍቲ ባይዱ
1
研究背景
一种基于IP技术的低功耗无线个人局域网, 结合了IEEE802.15.4和IPv6协议
现有的6LoWPAN有效路由协议:Hydro , Hilow , Dymo-low
存在的问题:现有路由是基于特定应用场景设计的,适用 性不强 人们对一种标准化的解决方法需求与日俱增 IETF ROLL工作组 RPL (Routing Protocol for Low power and lossy networks)
2
2
主要内容
1
RPL协议的介绍
RPL协议的概述
2
3
RPL路由协议的分析
后续工作安排
4
3
3
RPL协议的介绍
设计原理
RPL:IPv6 Routing Protocol for Low-Power and Loss RPL 是为 LLN 而设计的距离矢量路由协议,基于有向无环
图的拓扑概念,通过使用目标函数 ( Object Function ,OF) 和度量 制定的原因:针对 LLN(Low power and Loss IPv6路由协议 集合构建以目的节点为导向的有向无环图( Destination Oriented Direct-ed Acyclic Graph,DODAG) 。
网络结构
RPL组织了一个 基于有向无环图的网 络拓扑,DAG定义一 个类似树形的结构, 但DAG结构不仅仅是 一个典型的树,它的 节点可能与多个父节 点相关联。
6
6
RPL协议的概述
RPL用四个参数来标识和维护一个拓扑
一个RPL实例,由独一无 二的ID定义,一般由一个 或多个DODAGs组成
R1 RPLInstanceID