一种基于定位信息的无线传感器网络地址配置方法
技术领域
本发明涉及一种无线传感器网络中地址配置方法,尤其涉及的是一种基于定位信息的无线传感器网络地址配置方法。
背景技术
随着下一代网络(IPv6网络)的不断成熟和发展,无线传感器网络与下一代网络实现全IP通信互联已成为未来发展的必然趋势,实现无线传感器网络与下一代互联网全IP通信需要解决的关键技术之一就是传感器网络的IPv6地址自动配置问题。
IPv6地址自动配置是IPv6的一个重要技术特色,它可以在无人干预的情况下为每个接口配置具有唯一性的IPv6地址,这一特性与无线传感器网络自组织、自配置的设计目标十分一致。但与此同时,在资源有限的无线传感器网络中实施现有的IPv6地址自动配置方式还存在一些问题,例如现有的有状态地址配置方案采用服务器/客户端的通信方式分配IPv6地址,即节点向DHCP服务器提出申请地址的请求,然后由DHCP服务器统一为网络内的节点分配IPv6地址,显而易见,这种地址配置方案带来大量的控制包开销,同时也消耗了大量的存储资源;在现有的基于邻居发现协议的无状态地址配置方案中,每个被分配的IPv6地址都需要在整个无线传感器网络中进行重复地址检测以确保它的唯一性,同样导致了大量的控制包开销,消耗了大量的网络资源。
因此针对资源有限的无线传感器网络需要建立一种低开销的IPv6地址自动配置方案。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种基于定位信息的无线传感器网络地址配置方法。
技术方案:本发明公开了一种基于定位信息的无线传感器网络地址配置方法,所述6LoWPAN无线传感器网络包括一个以上二维的且面积为S的正方形逻辑区域,每个逻辑区域由坐标(x,y)标识,其中S为正整数,x、y为非负整数;每个传感器节点包括一个定位坐标(Lx,Ly),传感器节点通过定位坐标计算出自己所在逻辑区域的坐标,计算方法如公式(1)和公式(2)所示:
6LoWPAN无线传感器网络包括两类传感器节点:新节点和普通节点,其中,新节点为没有获取IPv6地址的节点,普通节点为获取IPv6地址的节点。
传感器节点的IPv6地址由四部分组成,第一部分是全局路由前缀,一个6LoWPAN无线传感器网络中所有传感器节点的全局路由前缀都相同;第二部分和第三部分分别代表传感器节点所在逻辑区域的横坐标和纵坐标,第四部分为节点ID,节点ID在一个逻辑区域内部具有唯一性;其中,第二部分、第三部分和第四部分组成传感器节点的链路地址。
本方明的最大创新点就是传感器节点的IPv6地址结构包含了定位信息,因此根据传感器节点的IPv6地址就能判断传感器节点所在地理位置。
传感器节点通过接入路由器接入IPv6互联网,接入路由器定期向6LoWPAN无线传感器网络广播全局路由前缀,传感器节点由此获取所在6LoWPAN无线传感器网络的全局路由前缀。
6LoWPAN无线传感器网络启动时,执行以下初始化操作,所有传感器节点获取具有全球唯一性的IPv6地址。
6LoWPAN无线传感器网络启动后,传感器节点首先获取所在逻辑区域坐标,然后将MAC地址或者出厂的原始ID作为节点ID,并与全局路由前缀相结合形成临时IPv6地址;在传感器节点配置IPv6地址之前,传感器节点由临时IPv6地址来标识。
6LoWPAN无线传感器网络中,传感器节点在一跳范围内定期广播信标帧,源地址为节点的临时链路地址;传感器节点通过接收同一个逻辑区域内的邻居传感器节点广播的信标帧来获取与邻居传感器节点之间的相对位置(α,d),其中α为传感器节点与邻居传感器节点之间的相对角度,0≤α<360;d为传感器节点与邻居传感器节点之间的距离,
传感器节点A通过下述算法来计算它与邻居传感器节点B的权重关系:
如果传感器节点A与邻居传感器节点B的相对角度αA-B满足270<αA-B<360或者0≤αA-B≤90,那么A的权重大于B;
如果传感器节点A与邻居传感器节点B的角度90<αA-B≤270,那么节点B的权重大于节点A的权重;
如果传感器节点A的权重值既大于邻居传感器节点B的权重值也大于邻居传感器节点C的权重值,那么传感器节点A通过下述算法来判断邻居传感器节点B和邻居传感器节点C的权重关系:
如果dA-B·cosαA-B<dA-C·cosαA-C,则传感器节点A判断邻居传感器节点B的权值大于邻居传感器节点C的权重;
如果dA-B·cosαA-B>dA-C·cosαA-C,则传感器节点A判断邻居传感器节点C的权值大于邻居传感器节点B的权重;
如果dA-B·cosαA-B=dA-C·cosαA-C并且dA-B·sinαA-B<dA-C·sinαA-C,则传感器节点A判断邻居传感器节点B的权值大于邻居传感器节点C的权重;
如果dA-B·cosαA-B=dA-C·cosαA-C并且dA-B·sinαA-B>dA-C·sinαA-C,则传感器节点A判断邻居传感器节点C的权值大于邻居传感器节点B的权重;
如果dA-B·cosαA-B=dA-C·cosαA-C并且dA-B·sinαA-B=dA-C·cosαA-C,则传感器节点A判断邻居传感器节点C的权值等于邻居传感器节点B的权重,其中邻居传感器节点B或者邻居传感器节点C进入休眠状态;
其中,dA-B为传感器节点A和邻居传感器节点B之间的距离,αA-B为传感器节点A和邻居传感器节点B之间的角度,dA-C为传感器节点A和邻居传感器节点C之间的距离,αA-C为传感器节点A和邻居传感器节点C之间的角度,传感器节点A、邻居传感器节点B和邻居传感器节点C都为新节点。
在一个逻辑区域内,新节点首先计算自己与邻居新节点的权值,如果新节点检测到自己的权值最大,那么它发起如下初始化操作:
步骤101:开始。
步骤102:新节点将自己的权值w设置为1,同时将(w-1)×L+1作为自己的节点ID,其中,L为每个节点初始化时保存的地址长度,其值为预先设置,同时新节点将地址空间设置为[(w-1)×L+2,w×L],并将自己标记为普通节点;新节点获取节点ID之后,将节点ID与全局路由前缀以及所在逻辑区域的横坐标和纵坐标相结合组成自己的IPv6地址。
步骤103:新节点比较所有邻居新节点的权值,向权值最大的邻居新节点发送初始化消息,消息负载为自己的权值。
步骤104:邻居新节点收到初始化消息后,将消息负载中的权值加1并设置为自己的权值w1,同时将(w1-1)×L+1作为自己的节点ID,同时将地址空间设置为[(w1-1)×L+2,w1×L],邻居新节点将自己标记为普通节点,邻居新节点获取节点ID之后,将节点ID与全局路由前缀以及所在逻辑区域的横坐标和纵坐标相结合组成自己的IPv6地址。
步骤105:邻居新节点判断自己是否有邻居新节点,如果是,进行步骤106,否则进行步骤107。
步骤106:邻居新节点比较所有邻居新节点的权值,向权值最大的邻居新节点发送初始化消息,消息负载为自己的权值,返回步骤104。
步骤107:结束。
上述初始化过程中,每个逻辑区域的地址初始化过程独立完成且无需地址重复检测,因此每个逻辑区域中的节点地址初始化过程能够并行执行,从而缩短了地址配置代价和延迟。
本发明所述方法中,初始化结束后,普通节点在一跳范围内广播信标帧,信标帧负载为自己的IPv6地址空间的下限和上限。
普通节点从当前逻辑区域移动到新的逻辑区域时,如果它正在与IPv6节点进行通信,那么普通节点将自己标记为新节点,同时在新的逻辑区域获取新的IPv6地址并向通信节点发送地址绑定消息,消息负载为原来的IPv6地址,然后普通节点放弃原来的IPv6地址。
在网络初始化之后,如果新节点加入6LoWPAN无线传感器网络,新节点首先获取所在逻辑区域的坐标,然后查看在同一个逻辑区域内的邻居普通节点广播的信标帧,从地址空间最大的邻居普通节点获取IPv6地址;如果有两个以上邻居普通节点的地址空间相同且最大,那么从所述邻居普通节点中选择信号强度最大(如果信号强度相同,则随机选取一个邻居普通根节点)的邻居普通节点,并从该邻居普通节点获取IPv6地址。
如果新节点的邻居普通节点具有最大地址空间且地址空间为[L,U],L和U为正整数且L<U,那么新节点从邻居普通节点获取IPv6地址的过程为:
步骤201:开始。
步骤202:新节点向邻居普通节点发送地址请求消息,消息源地址为新节点的临时地址。
步骤203:邻居普通节点收到地址请求消息后,将自己的地址空间更新为 同时向新节点返回地址响应消息,消息负载为分配给新节点的地址下限和上限U。
步骤204:新节点收到地址响应消息后,将地址下限作为节点ID,同时与邻居普通节点的全局路由前缀以及所在逻辑区域的横坐标和纵坐标组合成IPv6地址,同时获得地址空间最后将自己标记为普通节点。
步骤205:结束。
上述地址配置过程中,新节点从邻居节点获取具有唯一性的地址,从而实现了分布式地址配置,从而缩短了地址配置代价和延迟。
本发明所述方法中,新节点加入6LoWPAN无线传感器网络或者进入一个新的逻辑区域后,如果它所在逻辑区域的所有邻居普通节点的地址空间均为空或者邻居传感器节点都为新节点,那么它执行地址回收操作,然后再获得IPv6地址,地址回收操作在新节点所在逻辑区域内进行。
普通节点收到邻居普通节点广播的地址空间下限和上限后,将收到的信标帧中的信息以三元组<普通节点地址,地址空间下限,地址空间上限>的形式进行并集操作,同时将所述并集作为信标帧的负载;新节点通过侦听邻居普通节点广播的信标帧获取所在逻辑区域内所有普通节点已经占用的地址空间,然后将未占用的地址空间进行二次分配。
如果新节点所在逻辑区域的普通节点数为n,普通节点Cn的节点ID Vn按照大小递增排序,1≤n≤N,N为正整数,它的地址空间下限和上限分别为[Ln,Un],那么针对普通节点Cn,新节点进行如下地址资源再分配操作,包括四种状态:
状态1:Ln>Un并且1≤n<N,如果Ln<V(n+1),那么新节点向普通节点Cn发送二次分配消息,消息源地址为新节点的临时地址,消息负载为地址空间下限Ln和地址空间上限V(n+1)-1;普通节点Cn收到二次分配消息后,将地址空间设置为[Ln,V(n+1)-1]。
状态2:Ln≤Un并且1≤n<N,如果Un<V(n+1)-1,那么新节点向普通节点发送二次分配消息,消息源地址为新节点的临时地址,消息负载为地址空间下限Ln和地址空间上限V(n+1)-1;普通节点Cn收到二次分配消息后,将地址空间设置为[Ln,V(n+1)-1]。
状态3:Ln>Un并且n=N,如果Ln<2k-2,那么新节点向普通节点Cn发送二次分配消息,消息源地址为新节点的临时地址,消息负载为地址空间下限Ln和地址空间上限2k-2;普通节点Cn收到二次分配消息后,将地址空间设置为[Ln,2k-2]。
状态4:Ln≤Un并且n=N,如果Un<2k-2,那么新节点向普通节点Cn发送二次分配消息,消息源地址为新节点的临时地址,消息负载为地址空间下限Ln和地址空间上限2k-2;普通节点Cn收到二次分配消息后,将地址空间设置为[Ln,2k-2]。
如果多个新节点同时发起地址资源再分配操作,那么普通节点只对处理第一个接收到的二次分配消息;如果普通节点Cn正在为其他新节点分配地址空间,它则丢弃二次分配消息而保持原来的地址空间以免重复分配;如果普通节点Cn在上一个信标帧发送之后为新节点进行了地址配置操作,:那么说明普通节点Cn的一部分地址空间已经分配,普通节点Cn丢弃二次分配消息而保持原来的地址空间以免重复分配。
新节点进行地址再分配之后,然后从邻居普通节点获取IPv6地址。
通过上述过程,可以确保新节点从邻居节点获取具有唯一性的地址,从而提高了地址配置成功率。
有益效果:本发明提供了一种基于定位信息的无线传感器网络地址配置方法,本方法可以应用于煤矿安全、农业现代化、军事国防等诸多领域。例如,在煤矿安全领域,可将基于地理位置信息的无线传感器网络IPv6地址自动配置技术应用于煤矿环境监测控制,可将煤矿分割为多个正方形区域,传感器节点随机散布在煤矿中并根据所在正方形区域的地址位置信息自动实现IPv6地址配置。因为本发明中的每个传感器节点的IPv6地址包括其所在区域的坐标信息,因此每个传感器节点可以很好地传递其所在的地理位置信息,这样煤矿环境监测人员通过传感器节点的IPv6地址可判断出此传感器节点所在的地理位置,从而访问位于特定煤矿区域内的传感器节点,获取温度、湿度、瓦斯等参数,及时掌握煤矿环境,确保煤矿工人的安全,这是目前传统的无线传感器网络无法做到的。由于传感器节点具有体积小、价格低廉、易于布置、易于维护等特点,而互联网具有地理位置覆盖广泛,使用方便,界面友好、费用低廉等特点,因此,本方法具有很高的推广价值。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为本发明所述的无线传感器网络结构示意图。
图2为本发明所述的传感器节点的IPv6地址结构示意图。
图3为本发明所述的初始化流程示意图。
图4为本发明所述的新节点从邻居普通节点获取IPv6地址的流程示意图。
具体实施方式:
本发明提供了一种基于定位信息的无线传感器网络地址配置方法,本方法可以应用于煤矿安全、农业现代化、军事国防等诸多领域。例如,在煤矿安全领域,可将基于地理位置信息的无线传感器网络IPv6地址自动配置技术应用于煤矿环境监测控制,可将煤矿分割为多个正方形区域,传感器节点随机散布在煤矿中并根据所在正方形区域的地址位置信息自动实现IPv6地址配置。因为本发明中的每个传感器节点的IPv6地址包括其所在区域的坐标信息,因此每个传感器节点可以很好地传递其所在的地理位置信息,这样煤矿环境监测人员通过传感器节点的IPv6地址可判断出此传感器节点所在的地理位置,从而访问位于特定煤矿区域内的传感器节点,获取温度、湿度、瓦斯等参数,及时掌握煤矿环境,确保煤矿工人的安全,这是目前传统的无线传感器网络无法做到的。由于传感器节点具有体积小、价格低廉、易于布置、易于维护等特点,而互联网具有地理位置覆盖广泛,使用方便,界面友好、费用低廉等特点,因此,本方法具有很高的推广价值。
图1为本发明所述的无线传感器网络结构示意图。假设无线传感器网络在一个大的正方形区域内,该大的正方形位于一个坐标系内且被分割成16个小的正方形,(x,y)代表的就是这个坐标系的坐标值,如图1所示,例如,第四行第一列的正方形坐标为(0,0),第三行第二列的正方形坐标为(1,2),也就是说,每个小的正方形代表了坐标系中的一个点,最右下方的小正方形坐标为(0,3)。
所述6LoWPAN无线传感器网络包括16个二维的且面积为S的正方形逻辑区域1,每个逻辑区域1由坐标(x,y)标识,其中S为正整数,x、y为非负整数;每个传感器节点包括一个定位坐标(Lx,Ly),传感器节点通过定位坐标计算出自己所在逻辑区域的坐标,计算方法如公式(1)和公式(2)所示:
6LoWPAN无线传感器网络包括两类传感器节点:新节点2和普通节点3,其中,新节点2为没有获取IPv6地址的节点,普通节点3为获取IPv6地址的节点。
图2为本发明所述的传感器节点的IPv6地址结构示意图。传感器节点的IPv6地址由四部分组成,第一部分是全局路由前缀,一个6LoWPAN无线传感器网络中所有传感器节点的全局路由前缀都相同;第二部分和第三部分分别代表传感器节点所在逻辑区域的横坐标和纵坐标,第四部分为节点ID,节点ID在一个逻辑区域内部具有唯一性;其中,第二部分、第三部分和第四部分组成传感器节点的链路地址;
本方明的最大创新点就是传感器节点的IPv6地址结构包含了定位信息,因此根据传感器节点的IPv6地址就能判断传感器节点所在地理位置。
图3为本发明所述的初始化流程示意图。传感器节点通过接入路由器接入IPv6互联网,接入路由器定期向6LoWPAN无线传感器网络广播全局路由前缀,传感器节点由此获取所在6LoWPAN无线传感器网络的全局路由前缀。
6LoWPAN无线传感器网络启动时,执行以下初始化操作,所有传感器节点获取具有全球唯一性的IPv6地址。
6LoWPAN无线传感器网络启动后,传感器节点首先获取所在逻辑区域坐标,然后将MAC地址或者出厂的原始ID作为节点ID,并与全局路由前缀相结合形成临时IPv6地址;在传感器节点配置IPv6地址之前,传感器节点由临时IPv6地址来标识。
6LoWPAN无线传感器网络中,传感器节点在一跳范围内定期广播信标帧,源地址为节点的临时链路地址;传感器节点通过接收同一个逻辑区域内的邻居传感器节点广播的信标帧来获取与邻居传感器节点之间的相对位置(α,d),其中α为传感器节点与邻居传感器节点之间的相对角度,0≤α<360;d为传感器节点与邻居传感器节点之间的距离,
传感器节点A通过下述算法来计算它与邻居传感器节点B的权重关系:
如果传感器节点A与邻居传感器节点B的相对角度αA-B满足270<αA-B<360或者0≤αA-B≤90,那么A的权重大于B;
如果传感器节点A与邻居传感器节点B的角度90<αA-B≤270,那么节点B的权重大于节点A的权重;
如果传感器节点A的权重值既大于邻居传感器节点B的权重值也大于邻居传感器节点C的权重值,那么传感器节点A通过下述算法来判断邻居传感器节点B和邻居传感器节点C的权重关系:
如果dA-B·cosαA-B<dA-C·cosαA-C,则传感器节点A判断邻居传感器节点B的权值大于邻居传感器节点C的权重;
如果dA-B·cosαA-B>dA-C·cosαA-C,则传感器节点A判断邻居传感器节点C的权值大于邻居传感器节点B的权重;
如果dA-B·cosαA-B=dA-C·cosαA-C并且dA-B·sinαA-B<dA-C·sinαA-C,则传感器节点A判断邻居传感器节点B的权值大于邻居传感器节点C的权重;
如果dA-B·cosαA-B=dA-C·cosαA-C并且dA-B·sinαA-B>dA-C·sinαA-C,则传感器节点A判断邻居传感器节点C的权值大于邻居传感器节点B的权重;
如果dA-B·cosαA-B=dA-C·cosαA-C并且dA-B·sinαA-B=dA-C·cosαA-C,则传感器节点A判断邻居传感器节点C的权值等于邻居传感器节点B的权重,其中邻居传感器节点B或者邻居传感器节点C进入休眠状态。
其中,dA-B为传感器节点A和邻居传感器节点B之间的距离,αA-B为传感器节点A和邻居传感器节点B之间的角度,dA-C为传感器节点A和邻居传感器节点C之间的距离,αA-C为传感器节点A和邻居传感器节点C之间的角度,传感器节点A、邻居传感器节点B和邻居传感器节点C都为新节点。
在一个逻辑区域内,新节点首先计算自己与邻居新节点的权值,如果新节点检测到自己的权值最大,那么它发起如下初始化操作:
步骤101:开始。
步骤102:新节点将自己的权值w设置为1,同时将(w-1)×L+1作为自己的节点ID,其中,L为每个节点初始化时保存的地址长度,其值为预先设置,同时新节点将地址空间设置为[(w-1)×L+2,w×L],并将自己标记为普通节点;新节点获取节点ID之后,将节点ID与全局路由前缀以及所在逻辑区域的横坐标和纵坐标相结合组成自己的IPv6地址。
步骤103:新节点比较所有邻居新节点的权值,向权值最大的邻居新节点发送初始化消息,消息负载为自己的权值。
步骤104:邻居新节点收到初始化消息后,将消息负载中的权值加1并设置为自己的权值w1,同时将(w1-1)×L+1作为自己的节点ID,同时将地址空间设置为[(w1-1)×L+2,w1×L],邻居新节点将自己标记为普通节点,邻居新节点获取节点ID之后,将节点ID与全局路由前缀以及所在逻辑区域的横坐标和纵坐标相结合组成自己的IPv6地址。
步骤105:邻居新节点判断自己是否有邻居新节点,如果是,进行步骤106,否则进行步骤107。
步骤106:邻居新节点比较所有邻居新节点的权值,向权值最大的邻居新节点发送初始化消息,消息负载为自己的权值,返回步骤104。
步骤107:结束。
上述初始化过程中,每个逻辑区域的地址初始化过程独立完成且无需地址重复检测,因此每个逻辑区域中的节点地址初始化过程能够并行执行,从而缩短了地址配置代价和延迟。
图4为本发明所述的新节点从邻居普通节点获取IPv6地址的流程示意图。初始化结束后,普通节点在一跳范围内广播信标帧,信标帧负载为自己的IPv6地址空间的下限和上限。
普通节点从当前逻辑区域移动到新的逻辑区域时,如果它正在与IPv6节点进行通信,那么普通节点将自己标记为新节点,同时在新的逻辑区域获取新的IPv6地址并向通信节点发送地址绑定消息,消息负载为原来的IPv6地址,然后普通节点放弃原来的IPv6地址。
在网络初始化之后,如果新节点加入6LoWPAN无线传感器网络,新节点首先获取所在逻辑区域的坐标,然后查看在同一个逻辑区域内的邻居普通节点广播的信标帧,从地址空间最大的邻居普通节点获取IPv6地址;如果有两个以上邻居普通节点的地址空间相同且最大,那么从所述邻居普通节点中选择信号强度最大(如果信号强度相同,则随机选取一个邻居普通根节点)的邻居普通节点,并从该邻居普通节点获取IPv6地址。
如果新节点的邻居普通节点具有最大地址空间且地址空间为[L,U],L和U为正整数且L<U,那么新节点从邻居普通节点获取IPv6地址的过程为:
步骤201:开始;
步骤202:新节点向邻居普通节点发送地址请求消息,消息源地址为新节点的临时地址;
步骤203:邻居普通节点收到地址请求消息后,将自己的地址空间更新为 同时向新节点返回地址响应消息,消息负载为分配给新节点的地址下限和上限U;
步骤204:新节点收到地址响应消息后,将地址下限作为节点ID,同时与邻居普通节点的全局路由前缀以及所在逻辑区域的横坐标和纵坐标组合成IPv6地址,同时获得地址空间最后将自己标记为普通节点;
步骤205:结束。
上述地址配置过程中,新节点从邻居节点获取具有唯一性的地址,从而实现了分布式地址配置,从而缩短了地址配置代价和延迟。
新节点加入6LoWPAN无线传感器网络或者进入一个新的逻辑区域后,如果它所在逻辑区域的所有邻居普通节点的地址空间均为空或者邻居传感器节点都为新节点,那么它执行地址回收操作,然后再获得IPv6地址,地址回收操作在新节点所在逻辑区域内进行;
普通节点收到邻居普通节点广播的地址空间下限和上限后,将收到的信标帧中的信息以三元组<普通节点地址,地址空间下限,地址空间上限>的形式进行并集操作,同时将所述并集作为信标帧的负载;新节点通过侦听邻居普通节点广播的信标帧获取所在逻辑区域内所有普通节点已经占用的地址空间,然后将未占用的地址空间进行二次分配;
如果新节点所在逻辑区域的普通节点数为n,普通节点Cn的节点ID Vn按照大小递增排序,1≤n≤N,N为正整数,它的地址空间下限和上限分别为[Ln,Un],那么针对普通节点Cn,新节点进行如下地址资源再分配操作,包括四种状态:
状态1:Ln>Un并且1≤n<N,如果Ln<V(n+1),那么新节点向普通节点Cn发送二次分配消息,消息源地址为新节点的临时地址,消息负载为地址空间下限Ln和地址空间上限V(n+1)-1;普通节点Cn收到二次分配消息后,将地址空间设置为[Ln,V(n+1)-1];
状态2:Ln≤Un并且1≤n<N,如果Un<V(n+1)-1,那么新节点向普通节点发送二次分配消息,消息源地址为新节点的临时地址,消息负载为地址空间下限Ln和地址空间上限V(n+1)-1;普通节点Cn收到二次分配消息后,将地址空间设置为[Ln,V(n+1)-1];
状态3:Ln>Un并且n=N,如果Ln<2k-2,那么新节点向普通节点Cn发送二次分配消息,消息源地址为新节点的临时地址,消息负载为地址空间下限Ln和地址空间上限2k-2;普通节点Cn收到二次分配消息后,将地址空间设置为[Ln,2k-2];
状态4:Ln≤Un并且n=N,如果Un<2k-2,那么新节点向普通节点Cn发送二次分配消息,消息源地址为新节点的临时地址,消息负载为地址空间下限Ln和地址空间上限2k-2;普通节点Cn收到二次分配消息后,将地址空间设置为[Ln,2k-2];
如果多个新节点同时发起地址资源再分配操作,那么普通节点只对处理第一个接收到的二次分配消息;如果普通节点Cn正在为其他新节点分配地址空间,它则丢弃二次分配消息而保持原来的地址空间以免重复分配;如果普通节点Cn在上一个信标帧发送之后为新节点进行了地址配置操作,:那么说明普通节点Cn的一部分地址空间已经分配,普通节点Cn丢弃二次分配消息而保持原来的地址空间以免重复分配;
新节点进行地址再分配之后,然后从邻居普通节点获取IPv6地址。
通过上述过程,可以确保新节点从邻居节点获取具有唯一性的地址,从而提高了地址配置成功率。
综上所述,本发明提供了一种基于定位信息的无线传感器网络地址配置方法,本方法可以应用于煤矿安全、农业现代化、军事国防等诸多领域。例如,在煤矿安全领域,可将基于地理位置信息的无线传感器网络IPv6地址自动配置技术应用于煤矿环境监测控制,可将煤矿分割为多个正方形区域,传感器节点随机散布在煤矿中并根据所在正方形区域的地址位置信息自动实现IPv6地址配置。因为本发明中的每个传感器节点的IPv6地址包括其所在区域的坐标信息,因此每个传感器节点可以很好地传递其所在的地理位置信息,这样煤矿环境监测人员通过传感器节点的IPv6地址可判断出此传感器节点所在的地理位置,从而访问位于特定煤矿区域内的传感器节点,获取温度、湿度、瓦斯等参数,及时掌握煤矿环境,确保煤矿工人的安全,这是目前传统的无线传感器网络无法做到的。由于传感器节点具有体积小、价格低廉、易于布置、易于维护等特点,而互联网具有地理位置覆盖广泛,使用方便,界面友好、费用低廉等特点,因此,本方法具有很高的推广价值。
本发明提供了一种基于定位信息的无线传感器网络地址配置方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。