无线传感器网络路由协议与仿真环境研究
立即解锁
发布时间: 2025-08-22 01:55:47 阅读量: 1 订阅数: 4 


自组织网络与无线技术会议论文集2017
# 无线传感器网络路由协议与仿真环境研究
## 1. 无线传感器网络路由协议概述
无线传感器网络(WSNs)在众多新兴应用中愈发重要,其由大量低成本但资源受限的传感器节点组成,如电池电量有限、通信范围小、吞吐量低、计算能力弱、内存和存储容量小等。为应对这些技术挑战,研究人员提出了多种通信协议。
### 1.1 RREQ选择与转发算法
RREQ选择与转发算法(全聚合)如下:
```plaintext
Algorithm 3. RREQ selection and forwarding algorithm: full aggregation
1: n: number of received RREQ with minimal hop count;
2: RcvRREQList=RREQ[i]/i ≤n: List of all received RREQ with minimal hop count;
3: validRREQList=∅; aggRREQ=∅;RejectedFH=∅;aggFH=∅;nAgg=0;
4: for (i=0;i<n; i++) do
5:
aggFH=aggFH ∪ RREQ[i].FHlist
6:
for (k=0;k<n;k++) do
7:
for fh in RREQ[i].FHlist do
8:
if ∪fh ∈RREQ[k].FHlist then
9:
RejectedFH=RejectedFH ∪{fh; ∪fh}
10:
end if
11:
end for
12:
end for
13: end for
14: aggFH=aggFH \ RejectedFH
15: aggRREQ.FHlist=aggFH
16: aggRREQ.hopcount=minHopcount+1
17: aggRREQ.originalSrc=RREQ[0].originalSrc
18: aggRREQ.src= node ID
19: Forward aggRREQ
```
该算法主要用于选择和转发RREQ消息,通过全聚合的方式减少控制开销。
### 1.2 路径建立阶段
路径建立阶段由汇聚节点发起。汇聚节点收到所有来自前驱节点的RREQ消息后,根据本地视图为每个选定的前驱节点分配一个不同的第一跳节点。为避免相关路径,选定的前驱节点及其对应的第一跳节点不能是直接相邻节点。
汇聚节点会优先选择能形成对的两个第一跳节点。若无法形成对,可通过RREQ消息中包含的每个第一跳节点的邻居列表来检查两个第一跳节点是否为直接邻居。
选定合适的(前驱节点,对应第一跳节点)对后,汇聚节点向每个选定的邻居发送RREP消息,其中包含引导中间节点选择下一跳以到达源节点的必要信息。RREP消息包含以下字段:选定的对、发送者ID、选定的下一跳ID、原始源ID、跳数和序列号。
每个节点收到RREP消息后,会选择一个从其收到过具有相同原始源的RREQ消息的前驱节点作为下一跳,并通过RREP消息中指定的第一跳节点。
路径建立阶段在源节点收到与两条选定路径相关的RREP消息后结束。每个节点收到RREP消息后,会在其路由表中存储与每个源相关的下一跳ID信息。在数据传输期间,每个节点会参考路由表将数据转发到与收到数据的原始源相关的相应下一跳。
例如,在图1所示的示例中,发现阶段结束后,汇聚节点从邻居Q、R、S和T收到来自不同第一跳节点A、B、C和D的RREQ消息,其中(A,C)和(B,D)形成两对第一跳节点。汇聚节点尝试将每对第一跳节点与两个非直接相邻的前驱节点关联,如将(A,C)与Q和S关联。假设汇聚节点选择了这种组合,它会将第一跳节点A分配给节点Q,将第一跳节点C分配给节点S。发送给节点Q的第一个RREP消息将构建第一条路由,如(Q,K,F,A,SRC);发送给节点S的第二个RREP消息将构建第二条路由,如(S,N,I,C,SRC)。
### 1.3 维护阶段
选定路径的有效性受节点剩余能量的限制。为在路径故障前提前重新计算路径,需要估计当前路径的寿命。路径R的寿命RouteLife(R)等于该路径上节点的最小寿命。
每个节点N根据流量负载和生成率,计算每个周期k的能量消耗ECk(N),周期应足够长,以便节点能够接收和转发数据包。然后,节点Ni可以按以下公式计算其寿命估计值:
\[
lifetime(Ni) = \frac{RE(Ni)}{Moy(ECj(Ni) ; 0 < j ≤k)}
\]
其中,RE(Ni)是节点Ni的剩余能量,Moy(ECj(Ni) ; 0 < j ≤k)表示一个周期内的平均能量消耗,通过将所有过去周期内消耗的能量总和除以这些周期的数量来计算。
当节点的寿命超过预定义的阈值T > 1时,它会通过发送ALERT帧通知源节点。当lifetime(Ni)低于1时,表示节点故障。因此,阈值应允许节点在能量耗尽前发送ALERT消息。源节点收到ALERT帧后,将触发新的发现阶段。
### 1.4 仿真参数
仿真使用的参数如下表所示:
| 参数 | 值 | 参数 | 值 |
| ---- | ---- | ---- | ---- |
| 网络大小 | 50; 100; 150; 200 | PAmax | 0.00445 s |
| 平均度 | 7 | PImin | 0.0017 s |
| 带宽 | 1 M
0
0
复制全文
相关推荐









