OLSR路由协议学习

news2025/1/16 3:47:21

OLSR路由协议

  • 概述
    • 两种分组
    • 路由发现与维护
  • 算法步骤
    • 链路感知
    • 邻居侦听
    • MPR选择
    • 拓扑建立
    • 路由表的建立与维护
  • 总结

概述

  • 优化链路状态路由(Optimized Link State Routing)协议,即 OLSR 路由协议是一种平面拓扑的先验式路由协议(主动式路由协议)。
  • 节点通过周期性地与自己的邻居节点交换分组信息来完成链路感知邻居侦测过程,进而建立起自己的拓扑结构。并通过接收拓扑控制分组获知全网的拓扑信息,以此为依据计算出一张从自身节点到达全网各个节点传输路径的路由表
  • 当节点有通信需求时可以通过查询路由表获得所需的路由信息。
  1. 通过HELLO分组的周期性交互,执行链路检测邻居发现的功能;
  2. 通过拓扑控制(TC)分组的周期性交互执行多点中继节点(MPR)信息声明功能;
  3. 最终以这些分组所建立起来的拓扑结构为基础,进行基于 MPR 的路由计算

两种分组

OLSR 协议中主要用到两种分组格式,为 HELLO 消息和 TC 分组。

  • HELLO 消息主要用于链路感知、邻居侦听过程,节点之间通过交换 HELLO 消息建立自己的本地连接库、邻居信息库;
  • TC 分组为拓扑控制分组,用于节点建立拓扑信息库,然后据此计算节点到网络中每个目的节点的路由。

路由发现与维护

算法步骤

链路感知

每个节点都要探测与其邻节点间的链路,由于无线传播的不确定性,某些链路可能会被认为是单向的。因此,所有链路必须双向验证才被认为是可用的。可以双向交互的链路是对称链路,可以双向交互的两个节点是对称节点

链路感知是通过 HELLO 分组的周期性交互实现的。本地链路信息表存储了该节点到邻居节点的链路信息。节点发送 HELLO 分组时,本地链路信息表作为消息的内容。节点收到 HELLO 分组,更新本地链路信息表。

邻居侦听

每个节点必须检测它与哪些邻节点间具有双向链路。HELLO 分组中携带了节点的邻节点信息和链路状态。HELLO 分组只在一跳范围内传输。通过 HELLO 分组的周期性交互,节点生成了邻居信息库。

邻居侦听的过程如下图 所示,在初始化阶段,当节点 A 收到一个来自于邻居节点 B 的 HELLO分组,A 将 B 放入自己的邻居集中,并将到 B 的链路标记为非对称状态,然后,在 A 向 B 发送 HELLO 分组时,在 HELLO 分组中就包含有 B 是 A 的非对称状态的邻居节点的信息,当 B 收到该 HELLO 分组时,B 将在邻居集中将 A 的状态更新为对称状态。同理,在 B 再次向 A 发送 HELLO 分组时,HELLO 分组中就包含了 A 是 B 的对称状态的邻居节点的信息,当 A 收到该 HELLO 分组时,A 就在邻居集中将 B 的状态更新为对称状态。之后,A、B 再分别计算自己的 MPR,在后面的 HELLO 分组交互中会包含各自的 MPR 信息。

从一个对称邻居中接收到一个 HELLO 分组,节点应更新其两跳邻居集。

MPR选择

多点广播中继即 MPR 技术作为 OLSR 路由协议中的一个重要组成部分,可以有效地减少网络中控制分组的发送数量,其基本思想就是网络中的每个节点都要选出本地节点的部分 1 跳邻居节点加入 MPR 集,只有 MPR 节点才能参与拓扑控制消息(即 TC 分组)的转发,相较于传统协议中所有邻居节点参与转发的洪泛机制,MPR 技术在很大程度上减小了网络开销。

每个节点都会从自己的 1 跳对称邻居节点内进行 MPR 节点的选择,在优先考虑节点的转发意愿的基础上,把严格对称 2 跳邻居集内节点连接度高的节点选作MPR 节点,MPR 集的详细计算过程将在后文进行细致的介绍与分析。 仅有MPR 中的节点有权利将收到的节点信息进行转发,而其他邻节点仅处理信息而不转发。

节点A的——
1跳邻居集合: N N N
2跳邻居集合:   N 2 \ N_2  N2
MPR集合: M M M
D ( y ) D(y) D(y):N中节点y的连接度(除N中节点和A外,y的对称邻居数量)

  N 2 \ N_2  N2中不包括:
(1)只通过集合 N 中转发意愿为 WILL_NEVER 的节点才可达的节点;
(2)执行 MPR 集计算的 A 节点本身;
(3)节点 A 的所有对称邻居,即与节点 A 之间存在直接的对称链路的节点。

选择算法:

  1. 把 N 中的所有转发意愿为 WILL_ALWAYS 的节点加入M;
  2. 计算集合 N 中的所有节点 y 的连接度 D(y);
  3. 将 N 中对 N2 中的某个节点 b 提供唯一可达性的节点添加进 M 中,移除N2中可通过M中节点到达的节点;
  4. 如果在N2 中存在某节点通过M不可达,则计算 N 中节点的可达性(即通过此节点可达的现在 N2 中节点的数目),对比 N 中节点的可达性,在所有可达性非 0 的节点中,将转发意愿 N_willingness 最高的节点加入 M 。如果多个节点的转发意愿相同,则选择可达性最高的节点;如果可达性相同,则选择连接度 D(y) 最高的节点。然后,移除N2中可通过M中节点到达的节点;
  5. 若 N2 集不为空,则回退到步骤(3);N2 集为空,则集合 M 为节点 A 最终的 MPR 集。

拓扑建立

OLSR 协议通过MPR节点在全网范围内周期性地发送和转发拓扑控制(TC)分组来获取拓扑信息,并形成一个拓扑信息表。其中,TC只能由MPR节点产生和转发,且其分组内容至少包括其MPR选择集的所有节点。通过这个表,节点可以知道网络中各个MPR节点以及它的选择方的拓扑信息。节点接收到MPR的TC分组时的处理过程如图所示。

路由表的建立与维护

OLSR 协议中每个节点都需要计算并维持一张不断更新的路由表。节点依据本地链路信息库拓扑信息表中储存的信息,根据 Djisktra 算法以最小跳数为依据建立路由表。由于路由表是基于本地链路信息库和拓扑信息表中的信息建立的,所以每当网络中拓扑发生链路断裂、拓扑变更、链路到期等变化时,节点的本地链路信息库或拓扑信息表中的内容也会发生相应变化,此时节点会自发的进行路由表的重新计算

总结

OLSR 协议特别适用于大型和密集的网络,因为 MPR 机制的引入使得OLSR 协议的路由开销相对固定,只与网络规模成正相关,与网络负载的关系较小。此外,由于 OLSR 协议采用主动路由的方式建立与维护路由表,不需要临时发起路由发现过程,因此 OLSR 协议的数据传输的平均端到端时延往往很低,所以 OLSR 协议在网络流量分布随机且节点位置分布稀疏的网络条件下通常有较好的传输性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/109895.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用mosquitto部署MQTT服务

本次实验使用版本:mosquitto-1.6.7 查看版本命令:mosquitto -v 1安装 make && make install,安装mosquitto。 安装完毕后放开防火墙 查看防火墙某个端口是否开放 firewall-cmd --query-port1883/tcp 开放防火墙端口80 firewall-…

BHG Mall超级宠粉节攻略收藏,商业IP化出圈新玩法

购物中心作为人们生活的第三空间,除了满足物质需求外,是人们精神消费的最主要空间之一。中国连锁经营协会发布《中国购物中心对经济社会发展贡献力报告》,报告中显示,购物中心不断转变,发展成为城市能够识别时代精神符…

关于我转行嵌入式的那些事

文章目录**为什么想转行了?****一、工作环境问题****二、无休止的出差加班和混乱的作息时间****三、工作压力大****四、薪资上限低,行业前景差****为什么选择嵌入式****转行前的学习****一、单片机开发****二、Linux应用开发****三、Linux驱动开发和Andr…

高校GIS系统有何作用?

根据高校信息化管理平台的基本建设,全方位提高数据服务团体的管理服务质量。根据综合性平台全方位地服务项目出示,更为全方位地掌握老师学生的主题活动特性,并根据云计算技术对老师学生的个人行为数据信息开展发掘剖析,进而精确掌…

VSCode远程连接Linux服务器上的项目,并连接GitHub

一、Linux中创建ssh密钥 以centos为例,创建ssh密钥 ssh-keygen -t rsa -C "your_emailexample.com" 后面连续点击回车即可。 如此便会在 ~/.ssh 目录下生成身份验证所需的公钥和私钥两个文件. 上文中使用的 RSA 算法, 所以得到的文件默认应为 id_rsa…

基于FPGA的 TMDS 编码 及 HDMI 显示

目录 引言 TMDS 编码 原理简介 TMDS编码实现 HDMI差分数据串行 实现方法 源码 HDMI显示方法 思路 实现 工程结构 源代码分享 板级调试视频 引言 最近在开发板上倒腾了一下 TMDS 视频编码的原理以及实现。特在此做一个记录。文附 全部设计源码、MATLAB源码&#xf…

【IE】信息抽取任务简述

1 信息抽取任务 信息抽取(Information extraction,IE)任务指从非结构化或半结构化的文本中抽取出结构化信息。根据被抽取的对象,信息抽取可以分为以下4个任务: (1) 实体抽取(Entity…

单商户商城系统功能拆解51—应用中心—评价助手

单商户商城系统,也称为B2C自营电商模式单店商城系统。可以快速帮助个人、机构和企业搭建自己的私域交易线上商城。 单商户商城系统完美契合私域流量变现闭环交易使用。通常拥有丰富的营销玩法,例如拼团,秒杀,砍价,包邮…

用维度概念来定义初级、中级、高级程序员

网络上众说纷纭,大都站立在对某一技术的知识掌握量上来界定,或者有些人说着说着,发现无法自圆其说,然后就说这三种人就是一种叫法,你觉得你是高级你就高级了,从概念上讲,这三者之间必然有质的区…

Apache Karaf 存在远程代码执行漏洞

漏洞描述 Apache Karaf 是一个用于部署业务代码或应用程​​序的 modulith 运行时环境。 Apache Karaf 的受影响版本中由于 jaas.modules.src.main.java.porg.apache.karaf.jass.modules.jdbc.JDBCUtils#doCreateDatasourceuse 中的 lookup 方法没有对 jndiName 有效过滤从而…

疫情感染开始,大多居家办公

健康无价,有人卖掉了

docker 安装 mysql

一、下载安装MySQL镜像 sudo docker pull mysql:5.7 【注】docker pull mysql 如果不指定版本,默认安装最新版本。 sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具。不想用sudo,使用命令su root&…

一款强大的免费开源的基于流量分析的扫描器结合不同场景的实际使用与漏-洞及木-马发现实践

一款强大的免费开源的基于流量分析的扫描器结合不同场景的实际使用与漏-洞及木-马发现实践。 关于安全领域内漏-洞的发现,技术手段非常多,工具也非常多,大致阶段可分为事前、事中、事后来处理。事前大多采用SDL、白盒扫描等;事中、事后有NIDS及漏-洞感知,甚至还有WAF来拦…

借力 StarRocks,“陆战之王“ 大润发如何在零售业数字化转型中抢占先机?

作者:大润发大数据团队 自 1998 年在上海开设第一家大型超市以来,大润发已在中国大陆地区成功开设近 500 家综合性大型超市,覆盖全国 29 个省市及自治区达 230 多个城市,年销售额过千亿。大润发优鲜、淘鲜达、饿了么、天猫超市线…

四、网络层(二)路由算法与路由选择协议

目录 2.1 静态路由与动态路由 2.2 层次路由与自治系统 2.3 距离-向量路由算法之路由信息协议(RIP) 2.3.1 RIP的基本特点 2.3.2 距离向量算法 2.4 链路状态路由算法之开放最短路径优先(OSPF)协议 2.4.1 OSPF协议的基本特点…

DELL Precison 7670 不能加载系统固态硬盘

xiaokcehui: 电脑无法开机 戴尔技术支持: 诸葛小戴检测到您这是台笔记本电脑,小戴会带着您做4个操作尝试帮您解决问题: 戴尔技术支持: [1/4] 请您参考小戴发给您的图片做一下重置RTC的操作 ✅RTC是集成电路,通常称为时钟芯片,如…

React基础知识(事件处理、受控组件与非受控组件、高阶函数、组件的生命周期)(三)

系列文章目录 第一章:React基础知识(React基本使用、JSX语法、React模块化与组件化)(一) 第二章:React基础知识(组件实例三大核心属性state、props、refs)(二&#xff0…

使用 Pygame Zero 构建一个捕捉游戏(详细步骤含源码)

Pygame zero 是一个用于教育的工具,适合任何开始学习使用 Python 创建游戏的人。那么让我们从制作一个小的捕捉游戏开始吧:) 您可以使用 pip 安装 pygame 零,如图所示 pip install pgzero你好 Pygamezero! 要开始使用 pygamezero,请将以下代码复制到文件catching_game.py…

Word处理控件Aspose.Words功能演示:在 Java 中将 DOC 或 DOCX 转换为 JPG

Aspose.Words是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。此外, Aspose API支持流行文件格式处…

GEO芯片数据基本分析

GEO数据挖掘,表达芯片分析 举例:王同学近期拟通过生物信息学相关软件与数据库来探讨女性非抽烟者的非小细胞肺癌预后相关的显著性基因及潜在的治疗靶点,他在NCBI上查询到了1套芯片数据GSE19804。请帮助他完成该项目的设计与分析。 一、一般…