论文部分内容阅读
随着无线传感器网络(WSNs)的发展,其应用场景越来越丰富,功能越来越完善,很多室内、室外的实际应用都需要知道节点位置,这就涉及到节点定位技术,目前使用最多的方法是基于GPS的定位,但是由于GPS设备成本较高,不适合在所有节点都安装GPS设备,只能在一部分节点上配备,通过这些本身具备定位功能的节点(锚节点)对没有GPS设备的其他节点(未知节点)进行定位,这样就需要相应定位算法的支持,无需测距定位算法是较为常见的一类算法,这类算法中最有代表性的就是距离向量-跳段(Distance Vector-Hop)算法,简称DV-Hop算法。关于DV-Hop算法,已有很多学者对其进行了研究,本文在已有研究成果的基础上,进行了如下两方面的研究:
第一,本文提出了一种提高节点定位精度的改进型Distance Vector-Hop定位算法,以解决原始算法定位误差较大、精度较低的问题。由于原始算法在计算锚节点与未知节点间距离时,用跳段距离估计节点间距离,是直线距离的一种近似代替,因此会使定位不准确。本文的改进算法计算全网的平均每跳距离和整个网络内的平均误差值,并将二者的差作为算法新的平均每跳距离,而不是直接使用原始算法的局部平均每跳距离。另外,在对未知节点进行定位时,根据未知节点与锚节点之间的跳数选择不同的每跳距离计算节点间的跳段距离,如果节点间跳数是1,那么仍然使用原始算法的平均每跳距离;如果节点间跳数大于1,那么使用改进算法的校正值。通过原始算法和已有算法进行对比实验,实验结果表明:改进算法定位时产生的误差更小,精度更高。
第二,考虑到网络安全性,虫洞攻击容易对DV-Hop算法产生较大危害,在第一个创新点的基础上,提出虫洞攻击检测方法和虫洞节点位置预测方法,以保证DV-Hop的安全性。本文的虫洞检测方法包括两个步骤,分别是基于节点邻居数的检测和基于节点半径的检测,在基于邻居数的检测中,节点对通信范围内的节点数进行估计,并与接收到的一跳信息邻居数进行比较,如果二者超过某阈值,则说明有虫洞;在基于节点半径检测法中,节点根据接收到的邻居节点坐标判断两节点间实际距离与通信半径的关系,确定网络内是否有虫洞。在确定网络内存在虫洞之后,使用基于节点投票机制的方法,对虫洞节点位置进行预测,达到定位虫洞节点的目的。实验结果表明:提出的虫洞检测方法和虫洞节点预测方法能够有效地保证定位方法的安全性。
第一,本文提出了一种提高节点定位精度的改进型Distance Vector-Hop定位算法,以解决原始算法定位误差较大、精度较低的问题。由于原始算法在计算锚节点与未知节点间距离时,用跳段距离估计节点间距离,是直线距离的一种近似代替,因此会使定位不准确。本文的改进算法计算全网的平均每跳距离和整个网络内的平均误差值,并将二者的差作为算法新的平均每跳距离,而不是直接使用原始算法的局部平均每跳距离。另外,在对未知节点进行定位时,根据未知节点与锚节点之间的跳数选择不同的每跳距离计算节点间的跳段距离,如果节点间跳数是1,那么仍然使用原始算法的平均每跳距离;如果节点间跳数大于1,那么使用改进算法的校正值。通过原始算法和已有算法进行对比实验,实验结果表明:改进算法定位时产生的误差更小,精度更高。
第二,考虑到网络安全性,虫洞攻击容易对DV-Hop算法产生较大危害,在第一个创新点的基础上,提出虫洞攻击检测方法和虫洞节点位置预测方法,以保证DV-Hop的安全性。本文的虫洞检测方法包括两个步骤,分别是基于节点邻居数的检测和基于节点半径的检测,在基于邻居数的检测中,节点对通信范围内的节点数进行估计,并与接收到的一跳信息邻居数进行比较,如果二者超过某阈值,则说明有虫洞;在基于节点半径检测法中,节点根据接收到的邻居节点坐标判断两节点间实际距离与通信半径的关系,确定网络内是否有虫洞。在确定网络内存在虫洞之后,使用基于节点投票机制的方法,对虫洞节点位置进行预测,达到定位虫洞节点的目的。实验结果表明:提出的虫洞检测方法和虫洞节点预测方法能够有效地保证定位方法的安全性。