掌桥专利:专业的专利平台
掌桥专利
首页

改进的batman-adv路由协议实现方法

文献发布时间:2023-06-19 18:56:39


改进的batman-adv路由协议实现方法

技术领域

本发明涉及移动自组网通信技术领域,具体涉及一种改进的batman-adv路由协议实现方法。

背景技术

MANET(Mobile Ad-Hoc Network,移动自组网)是一种特殊的无线移动网络,有着无中心性、自组织性、分布式、多跳性、动态拓扑、拓展性等特点。随着MANET技术的日益发展,其广泛应用于各类场景,如:办公楼内的局域网、大型会议、物联网和车联网、无人机集群系统、自然灾害后的营救工作和各类军事用途。在节点规模较小时,MANET表现出良好的性能;但当大规模节点加入MANET时,数据包成功交付率、平均端到端时延、路由开销等性能则出现问题。

UCDS(Unifying Connected DominatingSet,统一连通支配集)算法实现简单、执行速度快、反应灵敏,当网络的拓扑发生变化时,只有局部的节点需要进行计算更新,收敛速度快,因此UCDS算法非常适应于拓扑变化较快的网络。在UCDS算法中虚拟骨干节点由支配集和连通集的成员担任,支配集成员负责普通节点的路由分发和中继转发,连通集成员负责将所有的支配集成员进行连通。UCDS算法是一种分布算法,每个节点只需要获取两跳邻居拓扑信息,并不需要获得全网拓扑结构就可正确执行该算法。

batman-adv(better approach to mobile ad-hoc networking-advanced)协议是一种工作在数据链路层的路由协议,通过MAC地址进行通信,在batman-adv协议中每个节点仅感知和维护通向每个其他节点的最好下一跳信息,不必关心全局的拓扑结构变化。这使得协议整体架构小,能很快适应网络拓扑的变化。

针对UCDS算法和batman-adv路由协议已经进行了很多研究,主要的专利有:

中国专利201910008079.5中公开了一种OLSR路由协议中基于UCDS算法构建虚拟骨干网的实现方法,该方法包括如下步骤:(1)通过“DS规则”选出DS节点;(2)通过“CS规则”、“CS例外规则”和“非CS规则”选出CS候选节点(CS’)和CS节点;(3)通过Hello消息和TC消息进行信息的交互和维护。本发明将UCDS算法应用于OLSR协议中,通过OLSR协议的控制消息洪泛来维护DS和CS成员节点,从而构建出一个虚拟骨干网。该虚拟骨干网在能量消耗、功率控制、链路重建、控制消息洪泛等方面都会带来性能优化。但是,其缺点在于:MANET在数据包成功交付率、平均端到端时延、路由开销等性能不符合要求。

中国专利202011136302.3中公开了一种基于batman-adv协议的mesh自组网拓扑图设计方法,包括以下步骤:batman-adv协议的链路层获取邻居节点的信息;应用层获取邻居节点的邻居表信息,并根据邻居表信息获取根节点;非根节点将自身的邻居表信息发送至根节点;根节点接收非根节点发送的邻居表信息,并对非根节点的邻居表信息进行汇总,得到完整的邻居节点关系图,并发送至非根节点;非根节点接收根节点发送的完整的邻居节点关系图,并绘制各邻居节点之间的拓扑图。但是其并不能够在mesh设备迅速增加时,快速而准确的绘制出设备拓扑图。

发明内容

本发明的目的在于克服现有技术中的不足,提供一种改进的batman-adv路由协议实现方法。该方法使得MANET在数据包成功交付率、平均端到端时延、路由开销性能都会有明显的提升。

为达到上述目的,本发明是采用下述技术方案实现的:

第一方面,本发明提供了一种改进的batman-adv路由协议实现方法,包括以下步骤:

步骤一、在MANET中利用改进的UCDS算法构建虚拟骨干网;

步骤二:在骨干节点上部署和运行改进的batman-adv路由协议。

进一步的,步骤一所述的在MANET中利用改进的UCDS算法构建虚拟骨干网,包括以下步骤:

步骤①,利用DS规则选取支配集合成员;

步骤②,利用非CS规则和CS规则选取连通集合成员;

步骤③,支配集和连通集共同组成连通支配集;

步骤④,连通支配集成员构成虚拟骨干网。

进一步的,步骤二所述的在骨干节点上部署和运行改进的batman-adv路由协议,包括以下步骤:

步骤①,在OGM包中添加邻居节点信息;

步骤②,在DS成员节点上定期向外发送OGM包;

步骤③,DS成员节点和CS成员节点接收到的OGM包后进行更新本节点路由表项;

步骤④,DS成员节点和CS成员节点接收到的OGM包后按照转发规则进行转发OGM包。

进一步的,DS规则:节点i指派节点i与其所有邻居节点j中具有最高d

进一步的,非CS规则:如果节点i是非DS成员,且任意两个邻居j和k都能相互连接,则节点i为普通节点。

进一步的,CS规则:对于DS成员节点j,将邻居节点为邻居候选连通集CS’成员的节点i根据支配因子d

如果节点k为DS成员,节点j与k的共同邻居中有一个CS成员,则对下一个节点k进行判断;

如果节点k为非DS成员,节点i与该节点k有一个共同的DS邻居节点,则对下一个节点k进行判断;

如果j和k的DS邻居集不相交,则j指定节点i为CS成员,并对节点k进行记录,然后对下一个节点k进行判断。

与现有技术相比,本发明所达到的有益效果:

本方法使得MANET在数据包成功交付率、平均端到端时延、路由开销等方面,性能都会有明显的提升

附图说明

图1是一种改进的UCDS算法构建虚拟骨干网的流程图;

图2为一种改进的UCDS算法维护虚拟骨干网的流程图;

图3为网络拓扑结构示意图;

图4为实现改进的batman-adv路由协议后网络拓扑结构与信息交互示意图。

具体实施方式

下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

实施例一:

首先对改进的UCDS算法的三个规则进行详细叙述。

(1)DS规则:节点i指派节点i与其所有邻居节点j中具有最高d

(2)非CS规则:如果节点i是非DS成员,且任意两个邻居j和k都能相互连接,则节点i为普通节点。

(3)CS规则:对于DS成员节点j,将邻居节点为CS’(邻居候选连通集)成员的节点i根据支配因子d

Case1.如果节点k为DS成员,节点j与k的共同邻居中有一个CS成员,则对下一个节点k进行判断;

Case2.如果节点k为非DS成员,节点i与该节点k有一个共同的DS邻居节点,则对下一个节点k进行判断;

如果j和k的DS邻居集不相交,则j指定节点i为CS成员,并对节点k进行记录,然后对下一个节点k进行判断。

本实施例所涉及的一种改进的batman-adv路由协议实现方法,包括以下步骤:

步骤S1:在MANET中利用改进的UCDS算法构建虚拟骨干网;

步骤S2:在骨干节点上部署和运行改进的batman-adv路由协议。

其中,步骤S1所述的在MANET中利用改进的UCDS算法构建虚拟骨干网,包括以下步骤:

步骤S101,如图1所示,按照流程图构建虚拟骨干网;

步骤S102,如图2所示,按照流程图维护虚拟骨干网;

其中,在骨干节点上部署和运行改进的batman-adv路由协议,包括以下步骤:

步骤S201,在OGM包中添加邻居节点信息,数据包格式如表1所示;

表1

表中:Packet Type表示数据包类型;

Version表示OGM包的版本;

TTL表示生存时间;

Sequence Number表示OGM包的序列号;

Originator Address表示始发者地址;

Previous Sender Address表示上一个发送者地址;

TQ表示传输质量,是路由度量的重要参数;

TTVN表示OGM包头后的邻居信息的长度;

TVLVdata中存放邻居信息。

步骤S202,在DS成员节点上定期向外发送OGM包;

步骤S203,DS成员节点和CS成员节点接收到的OGM包后进行更新本节点路由表项的信息;

更新的内容主要有:节点可达源节点列表、与邻居节点的链路质量、TTL、OGM包序号。

步骤S204,DS成员节点和CS成员节点接收到的OGM包后按照转发规则进行转发OGM包;

对于由本节点发出的、始发者是自身节点的、以及接收过的OGM包直接丢弃。对于其他OGM包进行转发,需要对以下信息进行修改:

Previous Sender Address改为自身地址、TTL减1、对TQ值进行更新。

图3为网络拓扑结构示意图,图4为实现改进的batman-adv路由协议后网络拓扑结构与信息交互示意图,其中黑色节点为DS成员,灰色节点为CS成员。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

技术分类

06120115742345