EEA‐LEACH—可信增强算法在无线传感器网络中的能量优化
摘要
由于传感器节点的多功能性,节点间的能耗逐渐增加。针对这一问题,本文提出了一种新的增强型算法EEA‐LEACH,该算法结合了高效节能的 LEACH算法的基本概念以及适用于大规模和小规模网络场景的可信簇路由算法。所提出的算法是一种最优解,能够满足与能量节约和安全性相关的各种约束条件,并有效平衡网络中簇头的过载问题。分析与仿真结果表明,所建议的协议能够最小化传感器节点之间的能耗,并提高数据传输过程中的网络性能。本研究采用MATLAB仿真器对所提出的算法EEA‐LEACH进行性能评估,并与现有的LEACH协议进行对比仿真结果分析。
关键词 路由协议 LEACH协议 Energy消耗 安全性 MATLAB simulator
1 引言
传感器网络由多个称为传感器节点的小型设备组成,这些设备独立分布在各种不同的位置,通过无线方式通信,并检测物理或环境条件(如气象参数)。电磁波和噪声水平。这些节点收集的数据随后被传输到基站,用户从基站提取数据[1–5]。该技术的发明目的是将大量传感器节点嵌入物理世界,以执行更高级别的识别和任务。它在医疗部门、农业领域、军事和环境监测等方面具有广泛的应用[6, 7]。传感器网络中的每个节点都包含一种被称为传感器的传感材料、收发器、内存、微控制器和电源。由于使用电池作为电源,任何传感器节点运行所需的能量都非常有限。最终,电池能量耗尽,节点死亡,可能导致网络故障。因此,能量在传感器网络的部署中具有重要意义。
为了实现预期结果,平衡传感器节点的能耗至关重要。实现这一目标的一种方法是找到一种从节点到基站传输数据包的可靠路由方法。为此,已提出并发现了许多适用于传感器网络应用的路由协议,这些协议能够节约节点消耗的能量并提升系统性能[8]。
网络中消耗能量最多的因素:
- 网络通信的能耗远高于数据处理与计算。传输一位数据所消耗的能量可能相当于执行数百条指令所需的能量。
- 根据不同应用的需求,感知真实数据需要消耗能量。
- 网络中的数据聚合也会消耗能量。
通过采用不同的优化技术,可以延长传感器网络正常运行的时间。其中一种技术是节能型路由协议,该技术在数据传输过程中有效降低了能量消耗 [9–11]。此外,即使传感器节点未执行任何任务,也会消耗大量能量。通过应用一些电源管理方案,可以关闭未使用的节点组件。基于上述因素,必须采取多种方法来降低传感器网络中的功耗。路由协议的研究已成为传感器网络中的一个重要领域。
LEACH 是一种非常流行的路由协议,它采用聚类作为优化技术,通过减少能量消耗来延长网络寿命。本文中,第2节进行文献综述。接着,第3节介绍了我们算法的详细信息。因此,第4节通过仿真展示EEA‐LEACH的性能,并将其结果与LEACH进行比较,最后,第5节对全文进行总结。
2 文献综述
在无线传感器网络[12–14],路由协议中,主要分为八类:(i)基于位置的路由(ii)基于数据中心的路由(iii)分层路由(iv)基于移动性的路由 (v)基于多路径的路由(vi)基于异构性的路由(vii)基于服务质量的路由以及(viii)基于协商的路由协议。刘旭勋[15]在其研究中回顾了无线传感器网络中的聚类路由协议。本文中,作者调研了聚类路由协议及其在无线传感器网络中的优势和目标。此外,还详细讨论了对比分析以及簇属性。
在[16],中,作者通过引入MAC方案提出了S‐SPIN(安全SPIN)协议,以确保消息的可靠性和正确性。该方案仅在抵御存在性伪造攻击时是安全的。
克里斯蒂娜 [17]提出了一种基于动态密钥加密的算法WBAODV。该方法中,路由由三个因素决定:节点的速度、电池电量水平和带宽。通信采用三个层级:(i) 传感器到簇,(ii) 簇到簇头,以及(iii) 簇头到汇聚节点。然而,该协议可能不适用于大规模网络场景。
本文提出了一种[18],基于源的安全松 loose 同步(SOBAS)协议,该协议采用途中过滤机制,可将恶意数据从网络中过滤掉。在此方法中,节点使用其本地时间值作为一次性动态密钥来加密每条消息。由于引入了松散同步,SOBAS减少了控制消息的数量,从而降低了能耗,并减少了恶意节点数量,提高了网络安全性。雷扎等人[19]提出了一种安全聚类方案以及一种基于公钥密码学的确定性成对密钥管理方案。该机制保证了位于同一簇中的任意两个节点可以通过生成成对密钥直接建立路由路径,而无需向其他节点泄露任何信息。然而,在簇网关广播以及频繁断开连接的网络情况下,开销可能会增加。
阿布‐扎哈德等人 [20] 着重研究了能量空洞问题。通过提出一种基于移动汇聚节点的自适应免疫高效能量聚类协议(MSIEEP)这一新算法,结合自适应免疫算法(AIA),克服了上述问题。该方法提供了寻找簇头的最优方法,从而提高了网络的生命周期和网络稳定性。
R. 威尔玛尼和卡尔提克 [21]提出了一种用于无线传感器网络中数据收集的速度高效且链路感知的簇树(VELCT)方案。该方案根据簇头的位置构建数据收集树(DCT)。数据收集节点直接从簇头收集数据并将其传输至汇聚节点。所提出的方案能够最小化能量消耗,降低端到端延迟和簇头中的流量,并避免频繁的簇形成。
塔吉卡基,Z. 提出了一种名为 REC+ 的可靠且高效的链式簇路由,该方法通过定义簇的合适形状和大小以及簇头的合适位置,从而在多跳网络中提供最大可靠性。综合考虑参数能效、传输可靠性、簇内延迟和簇头选择。
3 LEACH的改进
3.1 初步概念
(i) 熵:假设X是一个随机变量,取有限值集合x1, x2, x3…xn,其概率为 P(x = xj) = pi,其中 0 ≤ p ≤ 1且1 ≤i ≤ n,且∑pi = 1
熵X是通过对X的观测所提供的信息量,X可以被定义为
H(X) = -∑ni pi log(1/pi)
(ii) 交叉熵:该蒙特卡洛方法包含两个阶段(i)随机生成数据(ii)更新随机机制参数
D = Eu[H(X)] = ∫H(X)f(x;u)dx
D = 1/N ∑Ni H(Xi)f(Xi;u)/g(Xi) ≈ -1/N ∑n yn log yn’ + (1 - yn) log(1 - yn’)
发送方(s)与接收方(r)在相同事件集上的交叉熵计算平均比特数= H(s,r) = Es[−log r] = H(s) + DKL(s||r)
其中 H(S) = -∑i log(si)
(iii) 信任:它表示为主节点与簇头CH之间二元关系相关的概率。
3.2 问题陈述
低能耗自适应聚类分层(LEACH)是一种路由协议,被公认为传感器网络中最主流的基于TDMA的高效能协议。该协议以聚类为基础来执行其任务,旨在降低维护簇所需的功耗,从而延长网络功能持续时间 [22–27]。
LEACH协议面临许多困难,其中之一是簇头工作负载过重。在该协议中,任何节点都可以被选为簇头轮次。簇头的工作是从其簇内的所有节点收集数据,压缩这些数据,并将其转发到基站。即使经过压缩与聚合,数据量仍然相当大。将这些数据发送到基站的通信需要消耗大量能量。这种能耗高于数据处理和压缩所消耗的能量。由于簇头在执行这些功能后能量水平急剧下降,因此会迅速死亡。在进行传感器网络应用时,如果簇头过早失效,则将导致应用失败而无法获益[26, 28]。
3.3 EEA‐LEACH 设计
EEA‐LEACH方案包括建立阶段和稳态阶段。在建立阶段,启动簇头的选取和簇的形成,其选择标准基于重要参数,即传输范围、距离计算、节点度计算、主节点选择标准以及能量节约。每个簇头从其簇内所有节点中指定一个主节点。主节点在此阶段保持活跃状态。此外,在稳定阶段,主节点负责将其附近邻居节点的信息共享给簇头,并将信息传输至目标节点(图1、2和3)。
上图解释了收集数据并将其转发以进行进一步分析的过程。
1. 传感器节点通过传感器监测环境并收集数据。
2. 它们将这些数据转发给主节点。
3. 主节点随后汇集该簇中所有节点的数据,进行聚合和压缩,然后将数据转发给簇头。
4. 簇头从主节点接收数据,并将其发送到基站(图4a, b)。
PN 主节点 CH 簇头
基站
CH
CH CH
CH PN
PN PN
PN
3.4 使用的术语
3.4.1 计算簇头与主节点的传输范围和距离
我们使用欧几里得距离公式来计算网络中选定的簇头CH与主节点之间的距离。
p1, q1 是一条线一侧的 p、q 坐标,p2, q2 是另一侧的坐标,距离d 是两点之间的距离。
d(p,q) = √[(p1 - q1)^2 + (p2 - q2)^2 + … + (pn - qn)^2] = √[∑ni (pi - qi)^2]
节点度是指连接节点的数量。相邻节点的深度为= 1,与相邻节点相连的节点其深度为= 2。
3.5 能量高效的先进LEACH算法(EEA‐LEACH)
为了解决此类问题,可信的高效节能高级LEACH算法(EEA‐LEACH)对簇头的工作负载进行了均衡。该改进算法的核心思想是在每个簇中引入一个主节点,由其分担簇头的工作负载。簇头的选取及簇的形成方法如算法1所述。在此基础上,当簇形成并选举出簇头后,每个簇的簇头将从其所属簇中指定一个节点作为主节点。主节点的选择依据以下两个标准:
(i) 所有节点和选定的簇头必须处于相同的传输范围内。
(ii) 在簇头中,具有最小距离和最大出入度的节点。
(iii) 计算每个主节点的信标响应时间作为信任节点。
(iv) 节点的剩余能量。
每个簇头从其簇内的所有节点中指定一个主节点。距离最近且能量最大、距离最短的节点被选为主节点。所有遇到的节点都将被列入活跃节点。主节点向簇内所有其他节点广播其为主节点的消息,并建立用于接收和传输数据的TDMA调度。
主节点的工作是收集簇内所有节点的数据,然后对这些数据进行聚合,并发送给簇头。随后,簇头将该数据传输至基站。通过这种方式,工作负载将在主节点和簇头之间进行分配。在每一轮中,此过程将重复进行,即重新选举簇头和主节点[28]。
当存在经济优势时,新技术将取代现有技术。在新改进算法中,较低开销也将提供成本优势。因此,该算法可以取代旧算法,并可用于各种传感器网络应用。它可用于医疗部门以监测疾病,也可用于军事上对敌军进行战术监控。此外,还可应用于工业和商业部门以及其它传感器网络应用。图1展示了改进算法的架构。
该协议被划分为多个轮次,每个轮次由两个不同的阶段组成:
建立阶段
在此阶段,网络中的每个节点均可在每轮次中随机被选为簇头。网络中的每个节点都可以自主决定是否要成为簇头。在根据算法1选出簇头后,该簇头通过发送广告包通知邻近节点,以形成一个簇。网络中的其他节点接收到该广告包后,利用CSMA机制向簇头发送加入包,告知其希望加入该簇。通过这种方式,结合TDMA调度的特性形成一个簇,在此调度期间,节点将与簇头进行通信。每个节点都有不同的时隙来发送数据包。该调度由簇头向所属簇内的所有节点进行广播。
簇头选择算法:
1. 扫描网络中位于Tr范围内的所有节点。
2. 广播信标消息。
3. 若节点在Tr和 Tp条件下,在时间间隔T内发送回复。
4. 若成立,则:
◦a. 计算节点出入度
◦b. 计算传输功率
◦c. 计算节点覆盖能力
◦若满足条件,则初始化nocn=0;Cluster=1;
◦若( nocn<=50)成立,则 // 簇内节点数
◦◦执行 cluster= nocn+1
◦结束 If
◦否则:
◦◦在时间间隔T内发送消息
◦◦检查是否收到响应
◦◦调用步骤4
◦否则:
◦◦会话时间超时
◦◦调用步骤2
◦结束 If
结束 If
稳定阶段
此阶段开始进行数据传输。簇内的节点从现实世界中收集感知数据,并在预定时隙将数据转发给簇头。数据传输所需的能量最少。簇头在接收到来自所有节点的数据后对其进行数据聚合。通过压缩与聚合来消除可能出现的冗余。然后,该数据被转发至基站。
4 仿真
本文使用MATLAB对LEACH协议和新算法EEA‐LEACH进行仿真。所提出算法的目标是克服LEACH协议面临的困难和问题,通过均衡簇头的工作负载并降低传感器网络的总能量消耗来实现。当网络具有能量高效性时,其网络寿命会增加。网络寿命是指网络正常运行的时间长度。当网络中最后一个节点死亡时,网络即宣告死亡。为了衡量算法的性能,将节点的能量消耗作为指标。能耗越低,网络寿命越长[29, 30]。
4.1 仿真实验所采用的参数
- 传感器节点在任意位置或区域的分布是随机的。
- 节点具有相似的属性,本质上是同质的。
- 它们能量有限,且在field中的位置是固定的。
- 基站的位置在该区域内是固定的。
- 节点能够独立地与基站通信(表1)。
| 参数 | 值 |
|---|---|
| Area | 100 * 100 |
| 节点数量 | 100 |
| 初始能量 | 0.5 焦耳 |
| 基站位置 | (10, 50) |
| 簇头概率 | 0.1 |
| 数据包大小 | 4000 比特 |
| 电子电路能耗 | 50 纳焦/比特 |
| Efs | 10 pJ/比特/m² |
| Emp | 0.0013 pJ/比特/m⁴ |
| Eda | 5 纳焦/比特 |
4.2 仿真结果
100 个节点随机部署在 100 * 100 米的区域内。基站位于 (10, 50) 处的一个固定点。图5显示了传感器网络的节点分布。可以明显看出,节点是随机部署的。
网络中的总剩余能量
网络消耗的能量如以下图所示。从图6中可以看出,EEA‐LEACH算法的性能更优,因为其能量耗尽速率低于LEACH协议。通过合理设置主节点,降低了网络的能耗。引入主节点后,减轻了簇头的负载,有助于平衡节点的能量使用,提升网络性能。在图6中,节点数量为100,通过分析该图可以证明,LEACH协议中的网络因总剩余能量耗尽速度更快而更早死亡。
上述 figure 展示了当节点数量为 100 时,LEACH 与 EEA‐LEACH 在网络能耗方面的对比。当节点数量减少至 50 时,可以观察到网络的能量水平也随之下降,尽管能量是在相同的轮次数下逐渐耗尽的。图 7展示了当节点数量减少至 50 时网络的能耗情况。
簇头能量耗尽
图 8和 9显示了在仿真过程中,随着轮次的增加,网络中所有簇头的能量耗尽情况。对于LEACH协议而言,簇头的能量在第18轮后被完全消耗,它们因此死亡。这是由于簇头工作负载过重,导致其能量被耗尽。
图9展示了EEA‐LEACH算法中的簇头。两幅图之间的差异虽小但明显。在 EEA‐LEACH中,簇头能够延长其生命周期,因为其工作负载通过与其它节点共享而降低。主节点。因此,簇头的能耗降低,从而使其存活时间更长。
剩余节点数量
网络中的节点数量为100。当一个节点的能量被完全消耗后,它将无法执行任务并被视为死亡。当网络中的所有节点都死亡时,网络将不再运行。如果节点在网络功能完成之前死亡,则该网络所部署的应用程序将会失败。因此,节点的耐用性是判断网络性能的重要指标。仿真结束后仍能保持能量的节点数量被称为网络中的剩余节点。图10显示了LEACH协议中的剩余节点数量,结果仅为1。
图11显示了EEA‐LEACH算法中的剩余节点数量多于LEACH。这表明在EEA‐LEACH中,节点能够更长时间地保持其能量,从而提高了网络性能,延长了网络的生命周期。
5 结论
传感器网络在军事和医疗领域等各种应用中的日益普及,推动了无线传感器网络中路由协议的研究。设计此类协议的目的是延长节点的功能性,直到特定应用获得预期结果为止。如果节点失效在节点完成任务之前,如果能量耗尽,将导致整个网络系统性能下降。节点的耐用性和生命周期取决于其在数据传输过程中消耗的能量,由于能量资源有限,节点和网络的生命周期受到限制。因此,路由协议应具备能量高效性,以提高网络的可扩展性并延长其生命周期。
本文提出了一种EEA‐LEACH算法,旨在减轻簇头的过载并延长传感器网络寿命。该算法以LEACH协议为基础,通过引入主节点并将簇头的工作分摊给主节点来实现目标。因此,簇头的能量得以在更长时间内保留,避免了簇头频繁重新选举。由于簇头的工作负载减少,其电池电量也会增加。新提出的EEA‐LEACH算法通过在MATLAB环境中进行仿真来评估。仿真结果表明,该新算法具有更高的能效,并证明其功能优于传统的LEACH协议。

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



