小节点群动态转发混合路由方法及相关设备转让专利
申请号 : CN202110214165.9
文献号 : CN113014648B
文献日 : 2022-04-29
发明人 : 牛凯 , 贺志强 , 牛增君
申请人 : 北京邮电大学
摘要 :
权利要求 :
1.一种小节点群动态转发混合路由方法,包括:随机部署模拟网络结构中的若干个水下节点,使每个所述水下节点进行节点发现以建立节点组;其中,所述节点组包括主节点、副节点和普通节点;每个所述水下节点都能够产生数据包,所述数据包以所述模拟网络结构中的宿节点为目的地址;
基于所述节点组,在所有所述水下节点间进行所述数据包的接收和转发;
其中,当存在与所述宿节点的通信路径时,所述主节点能够将其产生和接收到的所述数据包以单播方式转发至所述宿节点;当不存在与所述宿节点的通信路径时,所述主节点能够将其产生和接收到的所述数据包以多播方式转发至通信范围内的其他全部非同组的所述水下节点;
所述副节点能够将其产生和接收到的所述数据包以单播方式转发至同一所述节点组内的所述主节点;
所述普通节点能够将其产生和接收到的所述数据包以单播方式转发至同一所述节点组内的所述主节点;
使每个所述水下节点进行节点发现以建立节点组之后,部分所述水下节点成为未成组节点;
当存在与所述宿节点的通信路径时,所述未成组节点能够将其产生和接收到的所述数据包以单播方式转发至所述宿节点;当不存在与所述宿节点的通信路径时,所述未成组节点能够将其产生和接收到的所述数据包以多播方式转发至通信范围内的其他全部所述水下节点;
所述每个所述水下节点进行节点发现以建立节点组,包括:根据每个所述水下节点与所述宿节点间的距离为每个所述水下节点设定延时等待时间,所述水下节点与所述宿节点间的距离越长,所述延时等待时间越长;
每个所述水下节点的所述延时等待时间结束后,该所述水下节点以所述主节点的身份向其通信范围内所有所述水下节点发送节点发现包,接收到所述节点发现包的所述水下节点向所述主节点回复节点存在包;
所述主节点根据接收到的所述节点存在包选择所述水下节点建立所述节点组,向选择出的所述水下节点发送角色通知包,接收到所述角色通知包的所述水下节点以副节点或普通节点的身份加入该所述节点组。
2.根据权利要求1所述的路由方法,其中,在所述数据包的接收和转发过程中,响应于确定定时检查发现所述节点组内的所述水下节点间的通信路径断开,由该所述节点组内的所述副节点重新进行所述节点发现并建立新的所述节点组。
3.根据权利要求2所述的路由方法,其中,所述定时检查,包括:所述主节点成功建立所述节点组后,设置分组检查等待时间,分组检查等待时间结束后,对所述节点组进行所述定时检查;
为待检查的所述节点组设定观察时间,响应于确定所述主节点在观察时间内接收到来自待检查的所述节点组内的其他所述水下节点转发的所述数据包,确认所述节点组存在;
否则由所述主节点向待检查的所述水下节点主动发送分组存在检查包并设定等待时间,在所述等待时间结束前收到待检查的所述水下节点回复的分组存在确认包则认为所述节点组存在;
否则,判断所述节点组内的所述主节点其余所述水下节点间不存在通信路径,即所述节点组不存在;此时需重新建立所述节点组,由原所述节点组的所述副节点进行所述节点发现并建立新的所述节点组。
4.根据权利要求1所述的路由方法,其中,所述每个所述水下节点进行节点发现以建立节点组,还包括:
所述宿节点接收到所述节点发现包时,回复所述水下节点所述节点存在包表明所述水下节点和所述宿节点间存在直接通信路径;
所述水下节点发送所述节点发现包时,设置成组等待时间,成组等待时间结束后还未接收到所述节点存在包,该所述水下节点返回等待进行所述节点发现的初始状态,即未成组状态;
所述水下节点在所述成组等待时间内接收到所述节点存在包,为发出所述节点存在包的所述水下节点设置角色通知时间;发出所述节点存在包的所述水下节点在所述角色通知时间结束后还未收到所述角色通知包,返回所述未成组状态,成为所述未成组节点;
进一步的,所述水下节点加入一个所述节点组后,不会回复或响应其他所述水下节点发送的所述节点发现包或角色通知包。
5.根据权利要求1所述的路由方法,其中,所述在所有所述水下节点间进行数据包的接收和转发,还包括:
任意一个所述水下节点接收到其他所述水下节点转发的所述数据包时,若已经处理过该所述数据包,丢弃该所述数据包;
所述宿节点接收到所述数据包时,向上层路由进行交付。
6.一种小节点群动态转发混合路由装置,包括:节点组建立模块,随机部署模拟网络结构中的若干个水下节点,每个所述水下节点进行节点发现以建立节点组;其中,所述节点组包括主节点、副节点和普通节点;每个所述水下节点都能够产生数据包,所述数据包以所述模拟网络结构中的宿节点为目的地址;
数据包传输模块,基于所述节点组,在所有所述水下节点间进行所述数据包的接收和转发;其中,当存在与所述宿节点的通信路径时,所述主节点能够将其产生和接收到的所述数据包以单播方式转发至所述宿节点;当不存在与所述宿节点的通信路径时,所述主节点能够将其产生和接收到的所述数据包以多播方式转发至通信范围内的其他全部非同组的所述水下节点;所述副节点能够将其产生和接收到的所述数据包以单播方式转发至同一所述节点组内的所述主节点;所述普通节点能够将其产生和接收到的所述数据包以单播方式转发至同一所述节点组内的所述主节点;
使每个所述水下节点进行节点发现以建立节点组之后,部分所述水下节点成为未成组节点;
当存在与所述宿节点的通信路径时,所述未成组节点能够将其产生和接收到的所述数据包以单播方式转发至所述宿节点;当不存在与所述宿节点的通信路径时,所述未成组节点能够将其产生和接收到的所述数据包以多播方式转发至通信范围内的其他全部所述水下节点;
所述每个所述水下节点进行节点发现以建立节点组,包括:根据每个所述水下节点与所述宿节点间的距离为每个所述水下节点设定延时等待时间,所述水下节点与所述宿节点间的距离越长,所述延时等待时间越长;
每个所述水下节点的所述延时等待时间结束后,该所述水下节点以所述主节点的身份向其通信范围内所有所述水下节点发送节点发现包,接收到所述节点发现包的所述水下节点向所述主节点回复节点存在包;
所述主节点根据接收到的所述节点存在包选择所述水下节点建立所述节点组,向选择出的所述水下节点发送角色通知包,接收到所述角色通知包的所述水下节点以副节点或普通节点的身份加入该所述节点组。
7.一种电子设备,包括存储器、处理器及存储在所述存储器上并可由所述处理器执行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现根据权利要求1至5中任意一项所述的方法。
说明书 :
小节点群动态转发混合路由方法及相关设备
技术领域
背景技术
络的特点使得极大多数现有的地面上的路由协议无发直接应用于水声网络。
能量的剩余情况;基于轨迹的路由协议根据数据包转发的历史轨迹作为新路径建立的参
考;基于地理信息的路由协议(如DFR定向泛洪协议)需要获得源节点和目的节点准确的位
置信息,从而可以选择最优的邻居节点作为下一跳。
地理位置信息的路由协议对于不能使用GPS的水下网络对节点进行精确定位是困难的。
发明内容
够产生数据包,所述数据包以所述模拟网络结构中的宿节点为目的地址;
节点能够将其产生和接收到的所述数据包以多播方式转发至通信范围内的其他全部所述
水下节点;
所述数据包以单播方式转发至所述宿节点;当不存在与所述宿节点的通信路径时,所述主
节点能够将其产生和接收到的所述数据包以多播方式转发至通信范围内的其他全部所述
水下节点;所述副节点能够将其产生和接收到的所述数据包以单播方式转发至同一所述节
点组内的所述主节点;所述普通节点能够将其产生和接收到的所述数据包以单播方式转发
至同一所述节点组内的所述主节点。
行所述计算机程序时实现小节点群动态转发混合路由方法。
及时更新;结合了单播与多播的转发策略,让不同状态下的节点基于不同的数据转发策略
进行数据传输从而减少数据包的冲突,提高数据包投递率,减少冗余数据传输能耗;而且路
由协议简单,易于实施,路由决策时依赖较少的网络拓扑结构信息;同时水下节点仅需要保
存其成组的信息无需保存过多的其他节点的信息,可以减少节点的内存消耗以及附加能
耗,延长网络寿命。
附图说明
附图仅仅是本说明书一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性
劳动的前提下,还可以根据这些附图获得其他的附图。
具体实施方式
“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件
或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限
定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
维护与更新;基于节点地理位置信息的路由协议对于不能使用GPS的水下网络对节点进行
精确定位是困难的。
组,每个节点组内包括发起节点发现的主节点、副节点和普通节点;进行数据传输时,主节
点和未成组的水下节点向除自身外的水下节点转发数据包,位于节点组内的副节点和普通
节点将接收到的数据包转发给本组的主节点;在传输过程中,还采用了隐式检查方式检查
节点组是否存在,设置观察时间如果期间收到同组内节点转发的数据包则认为分组存在;
若未收到同一组内节点转发的数据包则进行分组检查数据包的发送;收到分组存在确认数
据包则认为分组存在否则建立新的分组。
端到端延迟以及能量消耗从而延长网络寿命。
点为目的地址。
述主节点能够将其产生和接收到的所述数据包以多播方式转发至通信范围内的其他全部
所述水下节点。
点接收或转发来自邻居节点的数据包。
节点的通信路径时,所述未成组节点能够将其产生和接收到的所述数据包以单播方式转发
至所述宿节点;当不存在与所述宿节点的通信路径时,所述未成组节点能够将其产生和接
收到的所述数据包以多播方式转发至通信范围内的其他全部所述水下节点。
等待时间Tf=D/N,其中N可以设为1000。
述主节点其存在,并记录待成组的节点标识以及设定角色通知时间Tgn。宿节点收到节点发
现包回复节点存在包以通知所述主节点其存在与宿节点通信的直接路径。
点组内,节点状态变为已成组的副节点或普通节点,如果角色通知时间Tgn结束节点还未成
功收到角色通知包则节点进入等待进行节点发现的初始状态。
节点只能接收来自非同组的主节点转发的数据包R并单播转发给同组的主节点,包括:
发给其通信范围内所有的水下节点;成组的副节点或者普通节点,利用单播转发策略将不
是来自同组的主节点的数据包R定向转发到组内的主节点。
节点时将数据包R向上层交付,为水下节点时进行数据包R的转发。
组检查等待阶段,节点状态不发生改变。
节点组存在。
检查包便回复分组存在确认包,认为节点组仍然存在,节点状态不发生改变并重新进入分
组检查等待阶段。
点发现过程,触发水下节点建立新的分组。
发策略,让不同状态下的节点基于不同的数据转发策略进行数据传输从而减少数据包的冲
突,提高数据包投递率,减少冗余数据传输能耗;而且路由协议简单,易于实施,路由决策时
依赖较少的网络拓扑结构信息。其中,水下节点仅需要保存其成组的信息无需保存过多的
其他节点的信息,可以减少节点的内存消耗以及附加能耗,延长网络寿命。
来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本说明书一个
或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述
的方法。
例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求
示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并
行处理也是可以的或者可能是有利的。
的所述数据包以单播方式转发至所述宿节点;当不存在与所述宿节点的通信路径时,所述
主节点能够将其产生和接收到的所述数据包以多播方式转发至通信范围内的其他全部所
述水下节点;所述副节点能够将其产生和接收到的所述数据包以单播方式转发至同一所述
节点组内的所述主节点;所述普通节点能够将其产生和接收到的所述数据包以单播方式转
发至同一所述节点组内的所述主节点。
述未成组节点能够将其产生和接收到的所述数据包以单播方式转发至所述宿节点;当不存
在与所述宿节点的通信路径时,所述未成组节点能够将其产生和接收到的所述数据包以多
播方式转发至通信范围内的其他全部所述水下节点。
计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的一种小节点群动态转
发混合路由方法。
处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间
在设备内部的通信连接。
或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方
案。
操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案
时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、
扬声器、振动器、指示灯等。
(例如移动网络、WIFI、蓝牙等)实现通信。
行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实
现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如
上所述的本说明书一个或多个实施例的不同方面的许多其他变化,为了简明它们没有在细
节中提供。
接地连接。此外,可以以框图的形式示出装置,以便避免使本说明书一个或多个实施例难以
理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将
要实施本说明书一个或多个实施例的平台的(即,这些细节应当完全处于本领域技术人员
的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,
对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细
节有变化的情况下实施本说明书一个或多个实施例。因此,这些描述应被认为是说明性的
而不是限制性的。
如,其他存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。