【从洪泛路由到 WSN 路由协议】
洪泛路由是最简单、最基本、最健壮的路由协议,其无需知道局部拓扑、地理信息等,也虚无维护路由,但其资源浪费严重,很少使用,常用于小规模的共享信道,此外,其常作为衡量标准来评价其他路由协议
其基本思想是:当网络中的节点在任何时刻收到其它节点传输过来的数据时,它将向它的所有邻居进行转发。
但洪泛路由具有以下缺陷:
- 资源的盲目使用:不考虑节点可用能量、位置等
- 信息爆炸:一个节点可能得到一个数据的多个副本
- 重叠现象:处于同一观测环境的两个相邻同类传感器节点同时对一个事件作出反应,二者采集的数据性质相同,数值相近,这两个节点的邻居节点将收到双份数据副本
在 WSN 中,基于应用的不同,存在以下四种路由协议:
- 能量感知路由协议:从数据传输的能量消耗出发,讨论最优的能量消耗路径、最长的网络生存期等问题
- 基于查询的路由协议:环境检测应用,sink 节点发出查询命令,传感器节点不断报告采集的数据
- 地理位置路由协议:跟踪应用,已知节点的位置,并作为路由选择的依据
- 可靠的路由协议:对通信的服务质量要求较高的应用
【能量感知路由协议】
能量感知路由协议考虑了通信路径上的能量消耗以及剩余能量,路径的选择概率与能量相关,并维护保持多条活动的冗余路径,增加了可靠性,同时实现整个网络能量的平稳降级,最大限度的延长了网络的生存期
能量感知路由协议
能量感知路由协议是最早的路由机制之一,其主要思想是:根据节点的可用能量(Power Available,PA)或者传输路径上的能量需求,选择数据的转发路径
如下图所示,大写字母表示节点,括号内表示可用能量,双向线表示通信链路,链路上数字表示数据发送所需的能量消耗
常见的能力路由策略:
- 最大 PA 路由:选择 PA 之和最大的高效路径
- 最小能耗路由:选择节点能耗最小的路径
- 最小跳数路径:选择跳数最小的路径
- 最大最小 PA 节点路由:用路径上 PA 最小的节点表示这条路径的 PA,选择路径 PA 最大的路径
能量多径路由
能量多径路由在源节点和目的节点之间建立多条路径,根据路径上节点的通信能耗及剩余能量,依概率选路
主要过程:
- 路径建立阶段:建立从源节点到目的节点的多条路径,并确定能量代价
- 数据传播阶段:根据上一阶段建立的路由信息,实现数据分组从源节点到目的节点的传送,中间节点按照与能量代价相关的转发概率进行转发
- 路由维护阶段:目的节点发起源-目的洪泛查询,以维持路径畅通
【基于查询的路由协议】
定向扩散
定向扩散(Directed Diffusion,DD)以数据为中心,可以定义多任务与多区域,其采用多路径,且不需要全局的地址机制,节点不需要维护网络的拓扑结构,每个节点都可以进行数据融合,大幅减少通信量,同时,汇聚点根据实际情况周期性的调整路由,能量的消耗均衡、高效
其主要思想是:Sink 节点(汇聚节点)周期地通过洪泛方式广播一种被称为兴趣的消息,告诉网络中的节点需要搜集何种信息
兴趣在网络中扩散的同时建立从源节点到汇聚节点的路由路径(梯度),通过兴趣扩散阶段建立的路径,源节点将数据消息传送到汇聚节点
汇聚节点选择一条最优的路径进行强化,后续的数据沿着这条路径传输
定向扩散梯度的建立依靠洪泛传播,维护兴趣消息列表在多应用支持下代价极大,此外,数据融合过程需要用到时间同步技术,会带来较大的开销和时延
谣传路由
谣传路由(Rumor Routing,RR)与 DD 相比,可以有效的减少路由建立的开销,但其路径为随机生成,不是最优路径
在某些应用中,只有少量的数据需要从源节点传递到 Sink 节点,在这种情况下,没有必要向整个网络以洪泛的方式广播兴趣
当一个节点发现网络中某种事件的发生的时候,它把事件洪泛发送到整个网络,其他的节点就可以形成一个指向事件源节点的梯度表:
- 假设网络中的节点数量是 $N$,事件的数量是 $E$
- 通过事件洪泛,需要消耗的网络的能量为 $E*N$
- 该能量消耗与关心该事件的节点的数量无关
- 如果事件报告的数量相对于查询的数量而言很少,则该策略有效
当 Sink 节点对网络中某种事件的发生感兴趣的时候,它把兴趣洪泛发送到整个网络,其他的节点就可以形成一个指向 Sink 节点的梯度表:
- 对于 $N$ 节点的网络,每次查询会执行 $N$ 次传输
- 执行 $Q$ 次查询,需要进行的传输数量是 $N*Q$
- 能量消耗与网络跟踪的事件的数量无关
- 当事件的数量相对于查询的数量非常高时,本策略可以节省很多能量
【地理位置路由协议】
地理位置路由协议要求每个节点知道自己在网络中的位置,而确定节点位置的方法是 GPS(Global Positioning System)
该路由协议常作为其他路由算法的辅助,或直接用于路由计算
【可靠的路由协议】
某些 WSN 应用对数据传输的可靠性(数据包抵达的概率)要求很高,这就要求使用可靠的路由协议
造成数据包丢失的可能方面:
- 节点能量有限、失效
- 无线信道的不稳定性和更高的误码率
- 高密度部署造成信道竞争冲突
- 网络拥塞发生时,拥塞节点缓冲区溢出
- 接收节点处理不及时