在线刊号(2278-8875)印刷版(2320-3765)
Saravana。年代 巴拉特大学助理教授,印度金奈- 600073 |
有关文章载于Pubmed,谷歌学者 |
更多相关文章请访问国际电气、电子和仪器工程高级研究杂志
无线传感器网络正在寻找多种应用,并越来越多地部署在现实世界的各种应用中,包括军事、工业应用、遥感等。无线传感器网络由多个传感器节点组成,用于实时感知数据。每个节点通过无线链路直接或通过其他节点相互通信。传感器节点由电池供电,与网络寿命直接相关的能量守恒被认为相对比发送数据的质量更重要。传感器网络的寿命取决于其节点的能量。在大多数传感器网络中,没有办法为节点电池充电,因此有效利用可用能源是至关重要的。为了有效地利用能量,提出了一种能量感知路由协议,该路由协议能在两个节点之间找到最优的最小代价,并能找到实时数据传输的最短路径,该路由协议不仅具有最优的能量消耗,而且具有最小的端到端延迟。
关键字 |
能量感知路由协议;实时流量;服务质素;无线传感器网络 |
介绍 |
无线传感器网络(WSNs)近年来得到了全世界的关注,特别是随着微机电系统(MEMS)技术的发展,促进了智能传感器的发展[1]。这些传感器体积小,处理和计算资源有限,与传统传感器相比价格便宜。这些传感器节点可以感知、测量并从环境中收集信息,并基于一些本地决策过程,将感知到的数据传输给用户。 |
由于电池容量有限,传感器节点受到能量资源的限制[2],即使是单个节点发生故障,整个网络拓扑都会发生变化,需要重新启动网络设置。这意味着网络的寿命在很大程度上取决于传感器节点网络中单个节点的寿命。由于部署传感器节点是为了监视特定区域中发生的事件,因此总有一个汇聚节点或基站,传感节点必须将感知到的数据路由到该节点进行处理。汇聚节点的主要优势是它的长期能量供应,因为它总是可访问的,因此它总是保证,如果感知数据到达汇聚节点,那么丢失感知数据的概率就会降低,而源节点则不是这样。由于传感器节点的电池电源为固定电源[3],所以节点故障可能是由于电池故障造成的。影响无线传感器网络能耗的一个重要因素是,每个传感器节点不仅在感知过程中消耗能量,而且在处理感知到的数据以及向邻近节点发送或接收数据时也会消耗能量。因此,在设计无线传感器网络路由协议时,功率的有效利用是首要的,也许是最重要的考虑因素。 |
无线传感器网络中的路由协议[4]被设计成以最经济的方式高效利用可用资源,使网络的生存时间保持较长时间,路由协议还应使用合适的算法来寻找能够满足应用QoS要求的路由。传感器网络中的传感器节点具有许多有限的能量来源和计算能力。这些网络的主要限制是能源消耗的数量。传感器网络的寿命取决于其节点的能量。在大多数传感器网络中,节点电池无法充电;因此,有效利用现有能源是至关重要的。基于以上几点,无线传感器网络中的协议应考虑网络各层的能量约束。此外,路由协议应该使用高效的算法,以最佳地消耗能量。 |
无线传感器网络路由协议的设计受到许多因素的影响。它们是节点部署、能耗、可伸缩性、数据聚合、覆盖率和连通性。根据网络结构的不同,存在多种路由协议。它们是分层路由协议、扁平路由协议和基于位置的路由协议[7]。在平面路由协议中,传感器网络中的所有节点在信息收集中具有同等的作用。它们都有关于网络状态的相同信息。一些已经被提出的平面路由协议包括:定向扩散、旋转、谣言路由、最小代价转发算法、基于梯度的、Cougar和Acquire[8]。本文提出了一种平面路由协议。 |
针对无线传感器网络中的实时流量,提出了一种高效的能量分配路由协议。所提出的路由协议是能量感知的,因此它的主要目标是最优地消耗能量。提出的路由协议能够找到既具有最优能耗又具有最小端到端延迟的最佳路由。该协议中的路由算法考虑了一个代价函数,帮助算法为每条路由分配一个代价。这个成本函数可以根据应用程序需求来确定。该算法根据路径的开销来选择最佳路径。该算法利用代价函数选择代价最小的最优路由。成本函数基于能量消耗和端到端延迟。端到端时延包括传输时延和排队时延[9]。在提出的算法中,试图通过最小化传输延迟来最小化端到端延迟。 As transmission delay is directly related to the route length, the minimum transmission delay can be achieved by minimizing route length between source and sink nodes. The proposed routing protocol uses a neighbor discovery algorithm to find its neighbors uniquely. As most of routing algorithms need to send data to a specific neighbor, neighbor discovery is very important. The proposed neighbor discovery algorithm uses three input parameters includes: node identifier (ID), received signal strength and a random number. Simulation results show that it can discover the neighbor uniquely. |
本文的其余部分组织如下:第二节对相关工作进行概述。第三节详细描述了所提出的能量感知路由协议。第四节讨论了实现细节和性能分析。第五节给出了仿真结果,最后第六节对本文进行了总结。 |
相关的工作 |
到目前为止,针对无线传感器网络已经开发了许多路由协议。能量是无线传感器网络的一个重要约束条件,因此能量感知路由算法显得尤为重要。在本节的其余部分中,我们将回顾为无线传感器网络提出的一些通用路由协议。定向扩散[10]是一种著名的无线传感器网络路由算法。该算法不复杂,直接对传感器节点相关数据进行扩散。该程序保证了高的数据传输速率和低的通信延迟。定向扩散在转发和接收冗余数据时消耗更多的能量。Sink向每个网络节点发送兴趣,并确定它们的任务。当节点检测到事件时,它将适当的事件相关信息发送到接收器。 |
低能量自适应聚类层次(LEACH)[11]协议也是传感器网络中非常常用的传感器网络协议。LEACH采用分层结构和聚类路由方法,将传感器节点划分为许多不同的簇,每个簇有一个头节点,收集同一簇中其他节点的数据,并将收集到的数据发送到其他簇的头或sink,但不同簇之间的非头节点之间无法相互通信。在集群中随机选择头节点,导致头节点的能量消耗较大。LEACH利用数据聚合的优势,随机选择头部节点,可以分散节点的能量耗散,提高传感器网络的寿命,但头部节点或sink之间的通信时间较长,相比之下会增加能量损耗。 |
传感器信息系统(PEGASIS)[12]协议是传感器网络中常见的无功路由协议。与LEACH类似,PEGASIS有一个领导节点将数据传输到接收器。但是传感器节点不会通过PEGASIS周期报告数据。当检测到任何事件时,贪心算法将路由创建为一条链,选择其中一个节点作为领导节点,收集链上其他节点传输的数据。这种无功模型可以通过轮流关闭领导节点和传感器节点来减少能量损耗,并降低传感器节点的通信频率。但是PEGASIS需要位置感知设备来创建数据传输链,这也会增加节点的开销。 |
实时功率感知框架(RPTAW)同时考虑能量[13]和QoS指标。这个算法是分层的。通过改变集群结构,创建新的节点,称为中继节点,其任务是将信息从集群转发到sink,从而实现其目标。该算法通过使用数据聚合功能,降低了能耗。此外,它还可以根据所使用的路由协议的效率来管理服务质量。 |
无功能量决策路由协议(REDRP)[14]是无线传感器网络的另一种路由算法,其主要目标是优化能量消耗。该算法试图在整个网络中公平分配流量。使用该机制,可以降低网络总能耗。REDRP是响应式路由,在路由过程中利用节点剩余能量。它使用本地信息进行路由,但节点有一个全局ID,对整个网络来说是唯一的。该算法分为4步。在第一步中,sink向所有网络节点发送一个控制包。节点利用该数据包估计其相对下沉的距离。下一步是路由发现。在REDRP中按需执行路由。 This means that the routes are established reactively. After route establishment in route discovery step, data are forwarded to sink by using those routes. In route recovery step if a route is damaged, it will be recovered or a new route will be established. |
提出了协议 |
该协议采用扁平路由算法[15],在传输流量之前先建立路由。该算法用于寻找源和接收器之间开销最小的路由。本文提出的路由算法分为三个阶段:路由发现阶段、数据传输阶段和路由恢复阶段。最后一个阶段只在拓扑发生更改时进行。每个节点都有一个唯一的标识符(ID),这是在路由发现阶段确定的。节点还有一个路由表,包含ID、信号强度和路由开销3个字段。在路由表中有一个节点的每个邻居的记录。路由表在路由发现阶段创建。该表用于数据传输阶段,将流量从源端发送到接收端。下面将介绍路由协议的三个阶段 |
A.路由发现阶段 |
Sink是这个阶段的发起者,它将一个报文广播给它的整个邻居,这个报文被称为路由发现报文。路由发现报文如图1所示 |
每个路由发现报文由三个字段组成:消息类型、发送方ID和最佳路由开销。消息类型字段决定了数据包的类型。发件人ID字段决定发件人ID的值。最佳路由开销字段决定了发送节点到接收器[16]的最佳路由开销。通常情况下,sink节点发送的所有Route Discover报文的sender ID字段值为0。由于汇聚节点与自身之间的最优路由代价始终为零,因此最佳路由代价字段的值也等于零。 |
每个节点收到路由发现报文后,会按照以下步骤进行操作: |
1.节点将收到的数据包中的发送方ID字段的值递增,并将结果与其ID进行比较。如果结果大于节点ID,则丢弃收到的报文。否则,节点的ID将被结果的值替换。当节点没有ID时,节点ID等于:发件人ID +1。如果数据包被接受,则继续执行以下步骤: |
2.节点在路由表中为新收到的包创建一条新记录。将路由表ID字段设置为接收报文的发送方ID字段值。 |
3.从节点i直接发送到节点j的报文的转发开销使用如下开销函数计算: |
在哪里 |
Distanceij -节点I和j之间的距离。 |
energyj -节点j的剩余能量 |
ETXp的定义:路径ETX[17]是路由中任意连续三跳ETX之和的最大值。这可以计算瓶颈的数量。N是跳数。ETXj为第j跳的ETX值。网络密度不同,瓶颈链路的数量也不同。 |
延迟的定义:网络中数据包的端到端延迟是指数据包从离开源端到到达接收器的时间。 |
在哪里 |
链路(3)中表示的ETX是在该链路上发送数据包所需的预测数据传输数 |
在哪里 |
df -前送比 |
dr -反向投送比 |
N -跳数 |
ETX -期望传输计数 |
网络中每个链路分配的开销如(1)所示,每个节点向sink传输数据时,选择开销最小的最优路由。如果新发现的路由开销低于现有的最小开销路由,则节点将新发现的路由替换为其到sink的最佳路由。此时选择报文的发送方作为下一跳节点。由于路由策略是逐跳的,所以每个节点只存储下一跳的信息。 |
4.发送方和接收方之间的距离由收到的数据包的信号强度决定,然后在路由表的信号强度字段中更新该值。通过距离可以确定传输延迟。为了获得更好的吞吐量,添加了预期的传输计数。 |
5.如果在步骤2、3和4中发生了任何节点属性值的变化,节点应该向其邻居发送包含新参数值的路由发现报文。 |
在该算法中,每个节点接收来自所有邻居的路由发现报文。它选择最低的邻居ID作为自己的ID。当所有节点发送Route Discover报文时,将其路由表中best cost Route字段的值设置为least cost Route字段的值。在路由发现阶段结束时,每个节点都知道从自身向汇聚节点发送数据的开销。 |
B.数据传输阶段 |
当节点检测到一个事件时,它应该将与该事件相关的数据发送到接收器。如前所述,路由是在路由发现阶段建立的。所有节点都知道通往汇聚的最小开销路径。因此,使用最优路径,节点将能够将其数据发送到接收器。每个节点都知道它在开销最小的路由中的下一跳。当节点检测到事件或接收到任何数据时,它将通过其下一跳节点将这些数据发送给汇聚节点。 |
C.路由恢复阶段 |
该阶段定期执行。时间段的长度取决于节点的可移动性。如果一个节点死亡,它将永远不会参与下一个时间段的路由过程。因此,死节点不属于任何已建立的路由。如果下一跳节点故障,则通过备份节点发送数据。网络中的所有节点都知道通过它们的邻居转发信息的代价。当代价最小的路由失败时,节点将使用代价第二低的路由转发数据。由于从一个节点到sink的所有可能路由的信息都存储在节点路由表中,因此很容易找到开销第1和第2最小的路由。 |
当一个节点的提醒能量小于一个预定的阈值时,它会通知它的所有邻居。如果一个节点意识到它的下一个希望节点没有足够的能量,它就会使用成本第二低的路径来发送数据。 |
提议的邻居发现阶段 |
本节将解释提议的邻居发现阶段的操作。所有能量感知路由协议都需要邻居发现机制。该方法采用一跳一跳的路由算法;每个节点通过选择下一跳来选择到sink的路由,同时考虑不同的下一跳节点来选择不同的路由。大多数路由算法采用一跳一跳的策略,效率更高。采用逐跳路由算法的节点只需要自己的下一跳信息,即只需要本地信息。当一个算法需要拥有整个网络的全局视图时,它绝对必须比只有局部视图的情况付出更多的代价。邻居发现算法收集节点邻居的本地信息。为了区分节点,我们可以为每个节点分配一个唯一的标识符。这个标识符允许其他节点唯一地选择一个节点。 By considering this deployment, all the node's neighbors will receive the data, but only one node that is identified by the packet destination identifier field will process it. The node's identifier could be local or global. When a node's identifier is global, the node could be identified by the other nodes uniquely. But as we mentioned before, this type of identifying is too expensive. When a node uses local identifier, it can only distinguish its neighbors. As the proposed algorithm needs network's nodes to distinguish their neighbors uniquely, so it doesn't need global identifier and the local identifier is sufficient. In the following, we propose a new neighbor discovery mechanism for distinguishing node's neighbors. |
在提出的邻居发现机制中,每个节点使用接收到的信号强度估计其与发送方的距离。该参数用于区分节点的邻居。在路由发现阶段,许多数据包在节点之间传输。利用这些包的信号强度,接收端可以估计它到发送端节点的距离。因此,在路由发现阶段结束时,所有节点都知道它们与相邻节点的距离。在路由发现阶段,为每个节点分配一个ID。该ID在整个网络中不是唯一的。ID相同的节点到sink的跳数相同。本文提出的邻居发现算法同时利用节点ID和接收信号强度来区分邻居,并具有合适的准确率。我们认为,通过两个节点之间的距离和节点ID,我们可以以较高的精度区分邻居。 If by using these two parameters, the node couldn't distinguish all its neighbors, this means that some of its neighbors have the same distance and ID. In this case, the proposed mechanism uses a random number to discern them. |
当一个节点检测到冲突时,这意味着它有多个具有相同距离和ID的邻居。它向邻居发送一个碰撞恢复报文。在这个包中,发送节点通告只有检测到任何冲突的节点应该处理它,其他邻居应该忽略它。当检测到碰撞的节点收到这个报文时,它们会创建一个0到MAX之间的随机数(通常MAX是一个很大的数字,例如100000),并使用碰撞恢复应答报文将其发送给发送碰撞恢复报文的节点。发送方和接收方都将这个随机数存储在相应记录的路由表中。这个随机数使区分动作完成。通过使用距离(信号强度),ID和(如果需要)随机数,可以将邻居彼此区分开来。当一个节点想要向它的一个邻居发送一个包时,它应该使用包中所有提到的3个参数。所有的邻居都收到了这个报文,但是只有找到匹配且具有相同属性的邻居才会处理这个报文,其他节点将忽略它。为了评估所提出的邻居发现阶段的性能,我们在模拟器中实现了它。 Table 1, shows the simulations results. As mentioned before, the collision is only occurred when a node has more than one neighbor with the same distance and ID. |
仿真结果 |
在本节中,使用GloMoSim网络模拟器软件对能量感知路由协议的性能与AODV协议进行了评估。 |
A.环境设置 |
表1显示了模拟能量感知路由协议的网络环境设置 |
B.结果分析 |
在图1中,绘制了所有节点的平均能量消耗与流量的关系。当流量增加时,节点的网络利用率也会因为流量的密集而增加,因此节点消耗的能量也会随着流量的增加而增加。与AODV协议相比,所提出的能量感知协议能耗更低。 |
图2通过改变数据包大小比较了提议的协议和AODV协议之间的平均能量消耗。数据包大小表示通过节点的数据包大小。当数据包大小增加时,路由时间也会增加,导致节点利用时间增加,因此网络能耗也会增加。由于所提出的路由协议采用最小代价路由主动建立路由,因此性能优于AODV协议。 |
图3通过对所提出的协议和AODV协议进行比较,分析了通过改变流量数量而导致的平均端到端延迟。该协议建立了一条开销最小的路由,使数据包到达汇聚节点的跳数更少,从而降低了数据包到达汇聚节点的端到端延迟。这个概念看起来比AODV协议路由技术更好。 |
图4分析了所提方法和AODV协议通过改变流量数量的网络吞吐量。随着网络流量的增加,各节点间的冲突也随之增加,从而导致网络吞吐量的降低。该协议在该条件下的性能优于AODV协议。 |
图5通过改变网络中的节点数量比较了能量感知协议和AODV协议的吞吐量。随着网络节点密度的增加,数据包从源节点到达汇聚节点的跳数也会增加。该协议选择了跳数最少的路由,从而减少了网络拥塞和碰撞率,从而提高了吞吐量。 |
结论 |
能量感知路由是无线传感器网络中最具挑战性的问题。目前关于传感器数据路由的研究主要集中在对能量敏感的协议上,以最大化网络的生命周期,可扩展到大量传感器节点,并能容忍传感器损坏和电池耗尽。本文提出了一种高效的能量感知路由协议。提出的路由协议有两个主要目标:低功耗和高延迟性能。我们评估了所提出的协议在不同场景下的性能。仿真结果表明,与传统的AODV协议相比,该协议在能耗方面具有更高的效率。此外,所提出的路由协议可以找到具有低端到端延迟和高吞吐量链路的最优路径。 |
参考文献 |
|