水声网络框架

水声通信网络协议主要划分为网络层、数据链路层和物理层

水声传感器网络特点

与水声传感器网络相比的通常是无线传感网络

水声通信具有传播延迟大,频带窄,能量有限,多径效应,多普勒效应,误码率高,低带宽,连通性差等问题

这些问题促使通信协议设计过程中,能够提升能力效率,延长网络的生存期

水声网络存在的问题

水声信道传输慢,速率低,在信道使用时需要同时考虑时间、位置、信道的征用及使用问题

可能发生冲突情况如下:

时空不确定性

水下传感器节点通常处于移动状态,即水声信道具有时空不确定性

由于水下环境复杂,节点难以更换,能量问题需要考虑

空间不确定性

水下网络具有空间不确定性,节点的位置对网络信道的接入影响大,在传统的电磁波通信中,传播时延很小,位置的影响对于接入时间的影响可以忽略

节点A先于节点B向节点C发送RTS(request to send)报文

节点B的报文先于节点B到达

导致通信节点之间的公平性

水声网络MAC算法

路由协议

路由协议主要负责建立源节点和目的节点之间的消息传输路径

功能:

  • 寻找源节点到目的节点之间的最优路径
  • 将数据分组沿该路径正确转发

路由算法:可扩展、节能、高容错和鲁棒性、快速收敛

基于能量的路由协议

LEACH

LEACH算法,引入轮的概念,每个轮次都从网络中重新选举部分节点成为簇首。

该算法保证了每个节点成为簇首的公平性,从而平衡了所有节点的能量消耗。

该算法分为簇首选取阶段和数据传输阶段。

在簇的建立阶段,每个节点通过比较产生的随机数与给定的阈值来决定自己是否成为簇头,

随后每个节点会收到簇头的广播消息来根据该信号的强弱来进行簇头的分配

在数据传输的阶段,簇内节点根据TDMA向簇头发送数据

基于位置的路由

VBF

引入虚拟管道和矢量的概念,

协议在源节点和目的节点之间定义一个虚拟管道,采用定向洪泛来发送消息

DBR

基于深度路由(DBR)是一种基于贪婪的路由协议,该路由协议每次都将信息尽可能发送到靠近水面的地方

这个算法容易受到路由空洞的影响

路由空调:在无线网络中,当某个节点在其传播到目标节点的路径上,有时候数据会被传输到一个没有比该节点更接近的目的点的节点,则该节点的前向区域被称为路由空洞

基于数据路由

AODV算法

AODV(Ad hoc On-Demand Distance Vector)是一种用于自组网的距离向量路由算法。它是一种基于需求的路由协议,仅在需要发送数据时才会触发路由发现过程。

AODV算法的基本原理是建立一个动态的路由表,以便在源节点和目标节点之间建立和维护一条最短路径。下面是AODV算法的核心步骤:

  1. 路由发现(Route Discovery):

    • 源节点想要发送数据到目标节点时,它广播一个路由请求(RREQ)消息到网络中。
    • RREQ消息包含源节点的地址和目标节点的地址。还包括一个序列号(Sequence Number),用于维护路径的新鲜度。
    • 邻居节点接收到RREQ消息后,会判断是否可以为源节点提供路由支持。如果能提供路由支持,则继续广播RREQ消息;否则,节点可以选择向源节点发送一个路由响应(RREP)消息。
  2. 路由响应(Route Reply):

    • 当目标节点或中间节点收到RREQ消息后,如果它有路由到目标节点的信息,它可以向源节点发送RREP消息。
    • RREP消息携带源节点到目标节点的路径信息,包括序列号和跳数等信息。
    • 如果多个RREP消息到达源节点,则源节点根据信息选择最短的路径作为路由。
  3. 路由维护(Route Maintenance):

    • 一旦源节点接收到一个或多个RREP消息,就可以开始将数据发送到目标节点。
    • 在数据传输过程中,源节点会定期发送路由维护(RREQ)消息来维护路径的有效性。
    • 如果路径中的某个节点不再可达或失效,源节点将重新启动路由发现过程。

AODV算法具有以下特点:

  • 省时省能:只有在需要发送数据时才会触发路由发现过程,减少了路由广播的开销。
  • 支持自适应路由:能够适应节点的移动和网络拓扑的变化。
  • 基于距离向量:使用距离向量路由算法,选择最短路径。
  • 使用序列号:通过序列号来维护路径的新鲜度,并避免环路的产生。
相关推荐
梦到啥说啥2 小时前
Linux网络编程:TCP网络协议
网络·网络协议·tcp/ip
Shanks.6 小时前
2026 远程控制软件实测:ToDesk / 向日葵 / RustDesk / TeamViewer 在跨城与弱网下的真实差距
网络·远程工作·软件需求
Jeremy_WW6 小时前
802.3协议解读 06:117章节 RS 和 200GMII / 400GMII I
网络·网络协议·信息与通信·光模块·802.3协议
坤坤子吖7 小时前
Linux网络编程:自定义应用层协议与 JSON 序列化
linux·服务器·网络·c++·笔记·json
顧棟7 小时前
INFINI Gateway 服务器端口重用(SO_REUSEPORT)实现与分析
网络·gateway
沫璃染墨8 小时前
从零入门计算机网络系列(十八):TCP连接管理详解——从三次握手与四次挥手到TIME_WAIT机制
运维·服务器·网络·c++·网络协议·tcp/ip·tcp
LabVIEW开发9 小时前
Omron PLC:接 LabVIEW 常踩的 5 个坑
服务器·网络·labview·labview知识·labview功能·labview程序
南京码讯光电技术有限公司9 小时前
工业5G/4G路由器怎么选?核心参数解析与工业级网关选购指南
网络·智能路由器
爱和冰阔落9 小时前
【Linux网络】JsonCpp 怎么实现序列化?从 Request/Response 到网络计算器消息设计
linux·运维·网络·php
feng_you_ying_li1 天前
linux之数据链路层
linux·网络·智能路由器