RPL协议介绍

article/2025/10/9 5:08:32

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))信息数据来建立下行路由


http://chatgpt.dhexx.cn/article/Nu473Vbc.shtml

相关文章

RIPv2协议

RIPv2协议 RIPv2是增强了的RIP协议,定义在RFC 1721和RFC 1722(1994)中。RIPv2基本上还是一个距离矢量路由一协议,但是有三方面的改进。 1、使用组播而不是广播来传播路由更新报文,并且采用了触发更新(triggered upda…

RIP协议包括V1、V2版本

R2已经完成了RIPv2配置并在其GE0/0/0接口上激活了RIPv2,如果R1采用如下配置,那么R2路由表中存在多少条RIP路由,分别是什么? R1配置: [R1]rip 1 [R1-rip-1]version 2 [R1-rip-1]network 172.16.0.0 在RIP V2 版本中 V…

HRP协议详解

今天继续给大家介绍HCIE安全系列相关内容。本文给大家介绍HRP协议的相关理论知识,包括概述、数据备份范围、数据备份方式、备份通道状态和备份通道选择五个方面。 阅读本文,您需要有一定的防火墙基础知识,如果您对此存在困惑,欢迎…

RSVP协议介绍

Internet是一种互连网络,网络中存在着大量的中间节点(即路由器)。如果用户使用无连接协议来传输数据流,则该数据流的各个数据报在通过中间节点转发时可能会产生两个问题,一是各个数据报的转发路径不同,并非顺序到达目的端&#xf…

VRRP协议的作用

文章目录 一、VRRP概述1.1 VRRP概述1.2 应用1.3VRP工作原理1.4选举依据 二、VRRP术语2.1虚拟路由器 三、虚拟MAC地址3.1虚拟MAC地址3.2选举出master、backup 选举的依据3.3PC怎么找到虚拟的IP地址3.4master3.5backup 四、VRRP协议的状态共有三种五、Master/Backup路由器六、VRR…

VRRP协议概述

目录 一.作用 二.优点 三.工作原理 总结 一.作用 出口网关的备份,保证出口网关的高可用性 二.优点 1.主路由器失效后,备份路由器立即顶替主路由器的工作,保证数据的不丢失 2.两个不同的路由器成为不同组的主路由器,相互备…

VRRP协议

目录 一.基本概述: 二.VRRP实验 三.VRRP实现主备切换和负载分担 实现主备切换 端口跟踪 抢占时延 实现负载分担 就是为了防止三层设备出现单点故障,做备用网关的 一.基本概述: 1.VRRP能在不改变组网的情况下,将路由器虚拟…

VRRP协议详解

1 概述 1.1 产生背景 随着Internet的发展,人们对网络可靠性的要求越来越高。特别是对于终端用户来说,能够实时与网络其他部分保持联系是非常重要的。一般来说,主机通过设置默认网关来与外部网络联系,如图1所示: 图…

RRPP协议

RRPP协议 产生背景 在网络规划和实际组网应用中,大多采用环网来提供高可靠性。环网技术简单来说,就是将一些网络设备通过环的形状连接到一起,实现相互通信的一种技术。 为了避免环网中产生广播风暴,最初采用了已被普遍应用的STP协…

VRRP协议介绍

目录 一.VRRP协议 1.1 VRRP协议介绍 1.2 VRRP的功能 二.VRRP术语 2.1 VRRP路由器 2.2 VRRP组 2.3 虚拟路由器 2.4 虚拟IP地址、MAC地址: 2.5 Master、 Backup路由器: 2.6 Backup路由器: 2.7 虚拟MAC地址 三.VRRP状态机 四.Master/Backup路由器 4.1 …

小程序分享(转发)功能

小程序官方文档: 页面内发起转发 https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html#%E9%A1%B5%E9%9D%A2%E5%86%85%E5%8F%91%E8%B5%B7%E8%BD%AC%E5%8F%91 1,页面内发起转发 通过给 button 组件设置属性 open-type…

WeChat小程序如何实现转发功能?

官网文档:链接: https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html. 一、点击小程序转发 1. 不加参数 //转发onShareAppMessage: function() {let users wx.getStorageSync(user);if (res.from button) {}return {title: …

微信小程序开发中怎么设置转发(分享)的信息

如果什么都不设置,转发时默认名称是小程序的名称,转发的图片显示的是当前页面的截图,如图一 如何在自定义转发信息呢? 在进行转发的页面中: Page({onShareAppMessage: function () {return {title: 做任务赢积分,image…

实现微信小程序的分享转发功能(可以从分享页返回小程序首页)

先附上官方文档&#xff1a;微信小程序转发文档 最简单是做法就是在转发按钮上添加上这句open-type“share” <button open-type"share">转发按钮</button>这样点击这个按钮的时候就已经有转发功能了&#xff0c;但是这种转发是只能查看转发页&#xff…

微信小程序之短连接 分享转发 点击短连接就可以直接打开小程序某个页面

微信小程序之短连接 分享转发 点击短连接就可以直接打开小程序某个页面 首先&#xff0c;小程序官网地址&#xff1a;https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/qrcode-link/short-link/generateShortLink.html#%E8%B0%83%E7%94%A8%E6%96%B9%E5%BC%8F 官…

uniapp小程序分享转发功能

1、当前页面使用转发按钮 官网的介绍 <button type"default" open-type"share" ShareAppMessage"onShareAppMessage()" class"share-btn">转发</button>data(){ return{//设置默认的分享参数share:{title:活动分享,path:…

小程序携带参数转发

小程序携带参数转发 在项目中有做一个需求&#xff0c;老师转发一张图片&#xff0c;学生登录的时候要获取老师转发图片中的信息&#xff0c;这个信息就要在转发的路径path中定义。 需要转发的图片&#xff1a; 上图绿色部分的文字需要发送一个request才能获取到&#xff0c;前…

微信小程序 转发分享功能

转发 获取更多转发信息 通常开发者希望转发出去的小程序被二次打开的时候能够获取到一些信息&#xff0c;例如群的标识。现在通过调用 wx.showShareMenu 并且设置 withShareTicket 为 true &#xff0c;当用户将小程序转发到任一群聊之后&#xff0c;此转发卡片在群聊中被其他…

小程序之 实现转发/分享功能

1.点击右上角转发菜单实现转发/分享 点击右上角胶囊按钮的转发菜单 2.点击’转发’ 3. 最终效果如图所示: wxml部分代码如下: <text>hello world!</text>js部分代码如下: onShareAppMessage: function (res) {console.log(res.from)return {title: 标题标题标…

微信小程序如何实现转发/分享功能

在微信小程序的开发中&#xff0c;我们经常遇到把当前页面转发给好友的需求。并且大部分时候&#xff0c;转发的页面都是带参数的。这里面坑还是比较多的。 <button open-type"share" type"primary">分享给好友</button>首先我们先写一个butto…