无线传感器网络中EEDR路由协议的功能实现
摘要
无线传感器网络(WSN)由于在军事和环境应用中的巨大发展和广泛应用而受到广泛关注。本文讨论了在MATLAB平台上实现的能量高效分布式接收器(EEDR)协议的软件实现。所提出的机制利用了信道信息、传感器节点的传输范围以及最小跳数等相关信息。本研究的主要目标包括:1)减少延迟;2)降低控制包开销;3)提高吞吐量;4)提升网络中所有节点的剩余能量。本文将EEDR的性能与相关研究工作(如基于流量估计的接收端触发MAC(TERI‐MAC)和接收端触发分组列(RIPT)协议)进行了比较,并评估了传播条件波动引起的性能变化。结果部分讨论了控制开销降低、延迟减少、吞吐量提高以及网络中所有节点剩余能量较高的实现情况。
关键词 :信道质量;能量;路径损耗;接收器;发送方;吞吐量。
1 引言
无线传感器网络(WSNs)在涉及低功耗操作的设计方面面临挑战。节点的电池电量有限,链路带宽受限。节点可根据应用需求为静态或移动,并且在内存和处理功耗方面受到限制。部署在恶劣环境中的无线传感器节点,由于环境变化剧烈,其节点状态和链路质量会遭受突发性变化(赖等人,2017)。无线传感器网络的主要目的是收集周围环境或目标对象的信息,并将必要信息发送至通常称为汇聚节点的基站(贝赫基特等人,2012)。
无线传感器网络中出现了多项持续的成果。在所有机制中,路由协议设计起着至关重要的作用,其涉及数据包传输过程中的大量能量消耗(林和王,2017;阿尔‐胡米迪等人,2018;巴特等人,2019)。无线传感器网络可用于多种应用,以监测区域监控、环境/地球感知、工业监测、结构健康监测、森林火灾探测、空气污染监测等因素(阿比迪等人,2016;比拉尔和康,2017)。当数据在网络中传输时,每个传感器节点在发送和接收数据及控制包时都会消耗一定能量。网络寿命取决于每次传输所消耗的能量。当通信路径遭遇节点故障或路径故障时,问题便会出现(考尔和夏尔马,2017)。由于存在严重的能量限制,在路由设计中需要重点考虑控制包交换所带来的功耗增加问题,而这些设备通常采用小型、不可充电且难以更换的电池。无线传感器网络通信仍是一个处于发展阶段的概念,在通信能力和能量节约方面仍存在广泛的研究空间。
在现有的反应式和主动式路由协议中,路由从发送端发起,发送方将开始寻找通往目的地的路径。现有最先进的路由方法主要关注的是在发送方需要发送数据时才开始寻找通往目的地的路径。本文提出的协议考虑了接收节点从其他任意节点(发送节点)接收数据的需求。接收节点将主动发起路由过程,并以最小能耗和降低的路由开销找到发送节点。降低的能耗有利于延长网络寿命。在能量高效分布式接收器(EEDR)协议中,我们的路由过程会发现多条具有最高信道质量的路径,并将其存储在发送节点的缓冲区中;当发生路由故障时,系统将使用备用路径,从而也减少了路由维护问题。
2 文献综述
无线传感器网络正被用于各种服务,每天服务的数量都在增加,可以使用大量用户群体。当前无线传感器网络面临的主要挑战是网络带宽的减少、性能下降以及碰撞的发生。混合模式路由方案是一种结合了以数据为中心和基于地址的路由模式的技术。在控制分组中添加了一个称为目标字段的附加字段,该字段增加了关于节点必须广播的范围的信息,从而减少了交换的大量控制包(梁等人,2007;李等人,2017)。
跨层优化的地理节点不相交多路径路由算法(韩等人,2015)包含两个阶段。在第一阶段,物理层传输根据节点的剩余能量调整传输范围。在第二阶段执行睡眠调度,通过使节点定期进入睡眠状态来提高网络寿命。在赵等人(2015)中提出了一种由三层组成的框架。不同的层包括移动簇头层、传感器层和簇头层。该算法利用负载均衡聚类,其中传感器将自身组织成不同的簇。对于每个簇选择多个簇头以平衡工作负载。簇头还执行协同通信以保持节能。
非均匀分组中继节点的静态数据收集(李等人,2015)过程存在较高的能耗率。可以通过使用移动节点来收集数据以克服这一缺点,但这将导致更长的延迟。本文讨论了一种异构架构,该架构将节点划分为使用太阳能电池板的传感器节点和普通的、具有移动性的簇头。可以通过使用发射机来改善簇头的能量。董等人(2014)提出了一种名为移动代理移动服务器的数据收集方案,其中移动代理收集数据,然后将数据发送到移动服务器。同时还描述了一种良好的数据搜索算法,以及一种在路由过程中将最少信息存储在节点内存中的技术。
无线能量补充和基于锚点的移动数据收集在郭等人(2014)中被提出,该方法描述了选择锚点的选择策略,然后设计从锚点收集数据的序列。所提方法的影响通过链路容量、网络性能、充电速率和效用权重进行衡量。
3 EEDR协议方法论
EEDR协议通过接收端发起的中继节点呼叫(CRN)数据包广播来启动路由。中间节点将判断链路质量,然后重新广播CRN,直到其到达发送节点。所提出的 EEDR路由协议的框图如图1所示。该过程包括随机节点分布、能量初始化、邻居节点发现和路由管理过程。
3.1 节点部署算法
算法
- 输入:节点数量, 最小x坐标, 最大x坐标, 最小y坐标 和 最大y坐标。
- 生成节点ID,起始节点ID为‘1’。
- 在Xmin和Xmax之间随机生成节点的x坐标。
- 在Ymin和Ymax之间随机生成节点的y坐标。
- 将信息以集合形式 {i, Xpos, Ypos} 存储。
- 递增节点 ID。
- 重复该过程直到所有节点都被放置在网络中。
节点随机分布,并考虑源节点、目的节点以及所有节点的传输范围。所有节点在其传输范围内找到其邻居节点(N)。路由发现从目的节点侧发起,各节点使用 EEDR算法在目的节点和源节点之间进行独立的路由发现。所发现的路由存储在源节点的缓存内存中。
节点部署算法负责在网络边界{Xmin, Xmax, Ymin, Ymax}范围内随机布置节点。Xmin 是x端点的最小值,Xmax是x端点的最大值。Ymin是y端点的最小值,Ymax是y端点的最大值。节点部署将节点放置在网络中,并生成一个称为节点部署矩阵的矩阵,其阶数为N × 3,其中N表示网络中的节点数量。第一列为节点ID,第二列为节点的x坐标,第三列为节点的y坐标。
3.2 EEDR路由
EEDR中的路由采用基于接收者的策略。最初,所有节点在某一区域内随机分布,并选定源节点和目的节点。
算法
- 接收节点通过广播CRN数据包发起路由发现。
- 接收节点的邻居节点将根据接收到的链路计算信道质量指示(CQI)。
- 如果CQI大于阈值,邻居节点将重新广播CRN数据包。
- 该过程持续进行,直到到达源节点。
- CRN数据包通过不同路径到达源节点,因此源节点拥有到目的节点的多条路径。
- 源节点根据CQI值将多条路径存储在缓存内存中。
- 源节点选择具有最大CQI的路径,并向目的节点传输数据。
- 如果在数据传输过程中发生链路故障或节点故障,则向发送方发送路由错误(RERR)消息。
- 发送方根据缓存内存中存储的最佳CQI值,从另一条路径重新发送数据包。
- 目的节点在接收到数据包后,向源节点发送确认(ACK)数据包。
节点部署后,EEDR会查找所有位于传输范围内的邻近节点。接收节点通过向其邻居广播CRN数据包来启动路由发现。邻近节点将根据接收到的链路计算CQI的值。
信道质量指示通过(1)计算,SNIR通过 (2)
$$
CQI =
\begin{cases}
0 & \text{if } SNIR \leq 0 \
16 + 16.62 \times \log_{10}(SNIR) - 14 & \text{if } 0 < SNIR < 1.02 \
14 & \text{if } SNIR \geq 1.02
\end{cases}
\quad (1)
$$
$$
SNIR = \frac{P_T \times G_t}{P_L \times W \times F \times N_0} \quad (2)
$$
其中
$P_T$:发射功率
$P_L$:路径损耗
$W$:信号带宽
$F$:噪声系数
$N_0 = 1.38 \times 10^{-23} \times 290$
如果计算出的CQI值大于阈值,则邻近节点认为该链路为稳定链路,并继续广播 CRN,直到找到源节点。源节点根据CQI值识别出稳定路径,并开始向接收器传输数据。尽管源节点已开始数据传输,但它仍会通过其他路由接收到CRN数据包,并将多条稳定路径存储在其缓存内存中。如果由于节点故障或链路故障导致数据传输失败,发送节点将接收到路由错误消息。发送方将从缓存内存中选择下一条最佳路由,重新向接收器传输数据。这样可以节省路由建立时间。接收节点在接收到数据包后,会向发送方发送确认数据包。
安全方面也至关重要,因此该协议在这一方面也考虑到了网络中的中断问题。在本研究中,网络攻击和中断主要指网络中的洪泛攻击和大量流量冲击情况。所提出的系统通过负载均衡来分配网络中的流量。网络通过避免瓶颈和单点故障来维持连通性。
3.3 数学分析
在给定操作区域内描述精确路由概率的统计元素如下。
设 $p_{n,i}$ 为发往用户i的数据包在第n次传输中丢失的概率。那么,第n次传输失败的概率可按如下方式计算
$$
p_n = 1 - \prod_{i=1}^{n} (1 - p_{n,i}) \quad (3)
$$
新节点在时间 $t$ 以概率连接到现有节点 $i$
$$
p_i(t) = \frac{d_i(t)}{\sum d_i(t)} \quad (4)
$$
其中,$d_i(t)$ 表示节点 $i$ 在时间 $t$ 的度,求和范围是拓扑结构中所有已存在的节点。
因此,新节点在时间 $t$ 连接到一个度为 $d$ 的节点的概率为
$$
P(d,t) = \frac{N(d,t)}{\sum d(t)} \quad (5)
$$
其中 $N(d, t)$ 表示在时间t时度为d的现有节点数量。节点也会离开网络,由于任意旧节点离开网络而导致的预期连接数为
$$
e_v = \frac{D}{K} \times \sum_{u \in D} Number\ of\ connections(v,u) \quad (6)
$$
其中 $D$ 是网络中随机节点的数量,$K$ 是时间 $t$ 时缓存中的节点数量,$v$ 是连接到缓存的节点,而 $u$ 是离开网络的节点。
从源节点到目的节点成功传递数据包所需的传输次数是一个服从几何分布的随机变量 $X$,满足
$$
Prob(X = b) = \prod_{i=1}^{b} Prob(p_i) \times (1 - Prob(p_i)) \quad (7)
$$
其中 $b$ 是在可靠通信中数据包被成功接收前的独立传输次数。
通过包含 $h$ 个中间节点的路径从源节点向汇聚节点传输一个数据包所需的能量由以下表达式给出:
$$
E_{Total}(u,v) = \sum_{i=1}^{h} \frac{E_{link}(u,v)}{prob_i} \quad (8)
$$
其中 $v$ 是加入缓存的节点,$u$ 是离开网络的节点。
3.4 传播条件波动
考虑了由于传播条件波动引起的性能变化。通过采用不同的路径损耗模型(Kurt和 Tavli,2017;Devarajan和Gupta,2019),改变了传播条件和环境。在不同场景下,对能耗、端到端延迟等一些重要指标进行了性能分析。讨论了传播建模所需 的背景信息,并辅以数学表达式。
传播模型涉及发送方与接收方之间的距离处的信号变化。由于中间物体/障碍物的存在,信号强度会发生变化。本文研究了传播过程中链路质量估计的各个方面。根据发射机与接收器之间的空间距离,关注的传播状态可以分为大尺度和小尺度。
3.4.1 自由空间传播模型
重要的传播模型之一是自由空间传播模型,该模型在发射机和接收器之间没有大型障碍物。距离的计算方法如下
$$
D = \frac{2 \lambda}{d} \quad (9)
$$
其中 $D$ 是发射机的尺寸,$\lambda$ 是波长。
目的地的功率密度可以计算为,
$$
P_r = \frac{P_{tot}}{4 \pi d^2 A} \quad (10)
$$
其中 $P_{tot} = P_t \times G_t$,$P_t =$ 为发射功率,$G_t =$ 为发射增益,$d =$ 为发射机与接收器之间的距离,$A =$ 为接收器覆盖的面积计算如下
$$
A = \frac{\lambda^2}{4 \pi G_r} \quad (11)
$$
其中 $G_r$ 是接收增益。
因此,自由空间传播模型的接收功率为
$$
P_r = \frac{P_t G_t G_r \lambda^2}{8 \pi^2 d^2} \quad (12)
$$
自由空间模型中的路径损耗可以计算为
$$
PL(dB) = 20\log(d) + 20\log(f) - 147.55 \quad (13)
$$
其中 $d$ 是发射机与接收器之间的距离,$f$ 是信号频率。
3.4.2 双射线模型
该模型将地面视为平坦。在计算接收机功率时,考虑了通过直射路径获得的信号和通过反射获得的信号。接收功率可按如下方式计算
$$
P_r = \frac{P_t G_t G_r h_t^2 h_r^2}{d^4} \quad (14)
$$
其中,$h_t$ 是发射机高度,$h_r$ 是接收机高度。
双射线模型中的路径损耗可以计算为
$$
PL(dB) = -10\log(d) + 20\log(G_t) + 20\log(G_r) + 20\log(h_t) + 20\log(h_r) \quad (15)
$$
3.4.3 哈塔模型
哈塔模型是著名的路径损耗模型之一。它使用的频率范围为0.5 GHz至2 GHz。该模型考虑了区域内树木和建筑物的影响,适用于远距离通信(大于1公里)。哈塔模型的路径损耗计算如下
对于城区:
$$
PL(dB) = 69.55 + 26.16\log(f) - 13.82\log(h_b) + (44.9 - 6.55\log(h_b))\log(d) - (11.7554 - 4.97)\log(\log(h_m)) \quad (16)
$$
对于郊区:
$$
PL(dB) = 69.55 + 26.16\log(f) - 13.82\log(h_b) + (44.9 - 6.55\log(h_b))\log(d) - 2\log(f/28) + 5.4 \quad (17)
$$
对于开阔区域:
$$
PL(dB) = 69.55 + 26.16\log(f) - 13.82\log(h_b) + (44.9 - 6.55\log(h_b))\log(d) - 4.78(\log(f))^2 + 18.33\log(f) - 40.94 \quad (18)
$$
其中 $h_b =$ 节点 $b$ 天线高度,$h_m =$ 节点 $m$ 天线高度。
3.5 使用MATLAB实现EEDR
表1 提供了使用MATLAB对EEDR协议进行不同功能实现的详细说明。
| 函数名 | 函数描述 |
|---|---|
| EEDR_ALGORITHM_MAIN | 主函数,负责接收输入参数(发送节点、接收节点、传输范围、数据包生成和传输所需能量、衰减因子、节点初始能量)。调用内部函数执行节点部署、路由表生成、EEDR路由查找、电池能量更新、路线绘制及其他参数设置。可执行函数。 |
| CALCULATE_DISTANCE | 用于计算节点间的距离 |
| CHANNEL_STATE_CLASSIFICATION | 用于根据CQI将信道分类为不同类型。若CQI为0,信道分类为POOR;若CQI在1至14之间,分类为BAD;若CQI在15至21之间,分类为FAIR;若CQI在22至30之间,分类为GOOD |
| CHECK_IF_EXISTS_IN_PREVIOUS_HOP | 检查当前选取的邻居节点是否存在于路由的前一跳中 |
| CHECK_NEIGBOURS_CONTAIN_DESTINATION | 检查邻居节点是否包含目的节点。若是,返回1,否则返回0 |
| COMPUTE_CQI | 基于SNIR计算CQI |
| COMPUTE_PATH_LOSS | 基于波长和两通信节点间距离计算路径损耗 |
| COMPUTE_SINR | 基于发射功率、路径损耗、信号带宽、噪声系数和处理增益(PG)计算SINR |
| COMPUTE_DISTANCE | 计算网络中节点间的距离 |
| COMPUTE_ENERGY_CONSUMED_ON_ROUTE | 包含路由能量消耗的实现公式 |
| COMPUTE_NO_OF_ALIVE_NODES | 通过节点剩余电池能量水平计算网络中存活节点数量 |
| COMPUTE_NO_OF_DEAD_NODES | 通过节点剩余电池能量水平计算网络中死亡节点数量 |
| CORRECT_ROUTE_LAST_INDEX | 用于在控制包中追加目的节点 |
| EEDR_ALGO | 执行从源节点到目的节点的独立路由发现。首先获取路由表,其次找出邻居节点。若邻居包含目的节点则停止,否则计算所有邻居节点的CQI,选取CQI最大的节点作为下一跳。递减TTL并重复过程,直至到达目的节点或TTL超时。TTL超时后执行最小跳数路由。 |
(未完待续)
|
函数名
|
函数描述
|
|------------|-------------|
| EEDR_ALGO_GLOBAL | 首先查找目的节点的邻居。从每个邻居调用EEDR_ALGO进行独立路由发现。对整个路由通过调用OBTAIN_INDIVIDUAL_CQI_VALUES计算CQI。对参与路由的所有节点,通过调用UPDATE_BATTERY_ENERGY更新电池电量。该函数内部还调用FIND_BEST_ROUTE以基于最大CQI获取最佳路由 |
| FIND_BEST_ROUTE | 用于获取具有最大CQI的最佳路由 |
| GET_NEIGBOURS | 用于从路由表中获取邻居列表 |
| GET_ROUTING_TABLE | 用于查找网络中特定节点的路由表 |
| GET_TOPOLOGY_INFO_RANDOM | 负责为网络中所有节点生成路由表 |
| NODE_DEPLOYMENT | 负责基于端点和节点数量生成网络中节点的位置 |
| OBTAIN_CQI_VALUES | 遍历每个邻居,计算路径损耗、SNIR和CQI |
| OBTAIN_NEIGBOURS_BASED_ON_NIR | 从邻居列表中移除已遍历的节点 |
| PICK_MIN_HOP | 用于选取距离目的节点最近的节点。基于最小跳数算法工作 |
| PICK_NODE_WITH_MAXCQI | 用于选取具有最大CQI的节点 |
| PLOT_ROUTE | 负责绘制已发现的路由 |
| REMOVE_NODES_ALREADY_GONE_THROUGH | 用于移除已被遍历的节点 |
| UPDATE_BATTERY_ENERGY | 用于更新参与网络的节点的能量水平 |
4 结果
执行仿真的参数如表2所示。节点数量选择为50个节点,所有节点随机分布在500米 × 500米的面积内。部署的节点如图2所示。程序执行25次迭代,期间节点具有移动性。节点的传输范围设定为100米,衰减因子为0.5。节点48被选为发送节点/源节点,节点49被选为接收节点/目的节点。EEDR协议的性能与现有的自组织按需距离向量(AODV)路由和目的序列距离向量(DSDV)路由协议进行了比较(Pandey和Thalore,2017;Singh和Mandal,2018;董等人,2018)。
4.1 存活节点数量
节点在建立路由和传输数据包时会消耗一定的能量。节点在数据包的发送和接收过程中也会消耗能量。随着迭代次数的增加,存活节点数量减少。存活节点数量的减少是由于节点能量水平降低所致。图3显示了网络中迭代次数与存活节点数量的关系图。仿真结果表明,EEDR协议中的存活节点数量多于AODV和DSDV路由协议。
4.2 网络的剩余能量
由于节点参与路由建立和数据包传输,节点会消耗能量。随着迭代次数增加,网络的能量水平逐渐减少。为了延长网络寿命,应保持网络的剩余能量较高。图4显示了迭代次数与网络的剩余能量的关系图。仿真结果表明,EEDR协议中的剩余能量高于AODV和DSDV路由协议。
4.3 吞吐量
单位时间内接收的数据包被称为网络的吞吐量。随着迭代次数增加,大量节点因能量不足而无法传输数据包,导致吞吐量减少。图5显示了迭代次数与网络吞吐量的关系图。仿真结果表明,EEDR协议的吞吐量高于AODV和DSDV路由协议。
4.4 类似工作的性能比较
与所提出的EEDR路由类似的新工作包括基于流量估计的接收端触发式MAC(TERI‐MAC)和接收端触发分组列(RIPT)协议。TERI‐MAC和RIPT是接收端触发式协议(董等人,2018年)。TERI‐MAC从邻近节点接收数据,旨在通过维持资源分配来保持更高的能量效率和更好的信道利用率。该协议包含多个阶段,其中执行三向握手。RIPT是一种旨在减少无线传感器网络中延迟的新协议。图6显示了控制包开销随网络流量负载的比较性能分析。控制开销定义为一次完整握手期间数据传输所消耗的能量。所提出的EEDR路由协议中的控制开销比TERI‐MAC和RIPT‐MAC协议更低。
图7显示了在网络流量负载下平均延迟的性能比较分析。控制开销定义为数据包在传输过程中所涉及的延迟。与TERI‐MAC和RIP‐MAC协议相比,所提出的EEDR路由协议中的平均延迟保持得非常低。
控制包开销随网络流量负载变化的值如表3所示。
| 网络流量负载 | TERI MAC | RIPT MAC | EEDR |
|---|---|---|---|
| 0.05 | 1 | 0.44 | 0.24 |
| 0.1 | 0.85 | 0.38 | 0.18 |
| 0.15 | 0.7 | 0.35 | 0.15 |
| 0.20 | 0.6 | 0.3 | 0.11 |
| 0.25 | 0.55 | 0.29 | 0.10 |
| 0.30 | 0.50 | 0.28 | 0.09 |
| 0.35 | 0.45 | 0.27 | 0.08 |
| 0.40 | 0.40 | 0.25 | 0.06 |
| 0.45 | 0.38 | 0.23 | 0.04 |
| 0.50 | 0.37 | 0.2 | 0.01 |
平均延迟随网络流量负载变化的值如表4所示。
| 网络流量负载 | TERI MAC | RIPT MAC | EEDR |
|---|---|---|---|
| 0.05 | 6.5 | 5.1 | 3.1 |
| 0.1 | 3.2 | 2.4 | 2.0 |
| 0.15 | 2.2 | 1.9 | 1.4 |
| 0.20 | 1.7 | 1.3 | 1.0 |
| 0.25 | 1.5 | 1 | 0.8 |
| 0.30 | 1.2 | 0.9 | 0.7 |
| 0.35 | 1 | 0.8 | 0.65 |
| 0.40 | 0.9 | 0.7 | 0.5 |
| 0.45 | 0.8 | 0.6 | 0.3 |
| 0.50 | 0.7 | 0.5 | 0.2 |
4.5 不同传播条件下的性能比较
所提出的EEDR路由协议的性能在不同路径损耗环境下进行了评估,以检验其由于传播条件波动而导致的性能变化。图8显示了EEDR在各种环境中的消耗的能量。路径损耗条件下,EEDR‐HATA 消耗的能量高于 EEDR‐双射线模型 和 EEDR‐自由空间模型。
图9展示了在各种路径损耗条件下EEDR中的存活节点数量,其中存活节点数量随迭代次数的增加而减少。这是因为节点在参与通信时其能量水平会降低。图10展示了在各种路径损耗条件下EEDR所用的时间,其中节点在初始时间由于路径查找过程所用时间较长,之后节点仅需维护路由,因此所消耗的时间减少。
5 结论
无线传感器网络(WSN)由分布式传感器组成,这些传感器能够自主可靠地监测各种环境,并被用于军事和医疗应用。现有的多种路由协议在无线传感器网络中的能耗较高。由于在数据传输前需要交换控制包,导致无线传感器网络中的能量消耗增加,从而使节点能量耗尽。因此,设计了一种新的能量高效的路由协议,以降低传感器网络的能耗。所提出的EEDR路由协议降低了能耗,并延长了网络寿命。本文阐述了EEDR路由在不同波动环境下的能耗分析及其性能表现。同时进行了对比分析,突出了EEDR协议性能的提升。
2529

被折叠的 条评论
为什么被折叠?



