专利名称:基于分布式的无线传感器网络IPv6地址配置实现方法
技术领域:
本发明涉及一种地址自动配置的实现方法,尤其涉及的是基于分布式的无线传 感器网络IPv6地址配置实现方法。
背景技术:
随着下一代网络(IPv6网络)的不断成熟和发展,无线传感器网络与下一代网络 实现全IP通信互联已成为未来发展的必然趋势,实现WSN与下一代互联网全IP通信需 要解决的关键技术之一就是传感器网络的IPv6地址自动配置问题。IPv6地址自动配置是IPv6的一个重要技术特色,它可以在无人干预的情况下为 每个接口配置具有唯一性的IPv6地址,这一特性与WSN自组织、自配置的设计目标十 分一致。但与此同时,在资源有限的WSN中实施现有的IPv6地址自动配置方式还存在 一些问题,例如现有的有状态地址配置方案采用服务器/客户端的通信方式分配IPv6地 址,即节点向DHCP服务器提出申请地址的请求,然后由DHCP服务器统一为网络内的 节点分配IPv6地址,显而易见,这种地址配置方案带来大量的控制包开销,同时也消耗 了大量的存储资源;在现有的基于邻居发现协议的无状态地址配置方案中,每个被分配 的IPv6地址都需要在整个WSN中进行重复地址检测以确保它的唯一性,同样导致了大量 的控制包开销,消耗了大量的网络资源。因此针对资源有限的WSN需要建立一种低开销的IPv6地址自动配置方案。
发明内容
发明目的本发明所要解决的技术问题是针对现有技术的不足,提供一种基于 分布式的无线传感器网络IPv6地址配置实现方法。技术方案本发明公开了一种基于分布式的无线传感器网络IPv6地址配置实现 方法,所述无线传感器网络包括四类节点新节点、接入节点、分配节点及普通节点;所述新节点是新加入无线传感器网络且没有获取IPv6地址的可移动传感器节 点,新节点不为其它节点分配IPv6地址;所述接入节点是连接无线传感器网络与IPv6互联网的传感器节点,它与IPv6互 联网的接入路由器相连,其IPv6地址预设定,能为新节点分配IPv6地址,不能移动;所述分配节点为已获取IPv6地址且能够为新节点分配IPv6地址的可移动传感器 节占.
I— /、、、 所述普通节点为已获取IPv6地址且不能为新节点分配IPv6地址的可移动传感器 节占.
I— /、、、 新节点、分配节点及普通节点的状态可互相转换;所述无线传感器网络通过一个接入路由器与IPv6互联网连接,接入路由器与多 个预设置的接入节点连接,接入节点能移动;所述新节点从接入节点获取IPv6地址并完成节点转换,同时与其构成父子关系;接入路由器、接入节点、分配节点及普通节点构成一个树状结构,树状结构的根节 点为接入路由器,中间节点及叶子节点为接入节点、分配节点或普通节点;树状结构中 的节点最多包含k个子节点,k为正整数;所述新节点从分配节点获取IPv6地址并完成节点转换,同时与其构成父子关 系;接入路由器、接入节点、分配节点及普通节点构成一个树状结构,树状结构的根节 点为接入路由器,中间节点及叶子节点为接入节点、分配节点或普通节点;树状结构中 的节点最多可包含k个子节点,k为正整数;传感器节点的IPv6地址包括两部分,第一部分是全局网络路由前缀,它唯一标 识一个无线传感器网络,全局网络路由前缀长度为64+n比特,其中η为正整数,一个无 线传感器网络中所有传感器节点的IPv6地址的全局路由前缀都相同;第二部分为传感器 节点ID,它唯一标识无线传感器网络中的一个传感器节点,传感器节点ID的长度为64-η 比特,接入路由器的传感器节点ID为0,无线传感器网络中最多容纳k个接入节点,接 入节点IPv6地址的传感器节点ID设置区间为[1,k];一个传感器节点ID为χ的节点,其分配给子节点的地址空间区间为[k · x+1, k · x+k],其第i个子传感器节点· x+i,其中,i为正整数且kSM。本发明中,所述接入节点、分配节点及普通节点保存一个地址分配表,用于记 录其可分配地址资源的分配状况,地址分配表项包括子节点ID、分配状态以及生存时间 三个域子节点ID值区间为[1,k];分配状态记录已分配或者未分配两个状态;生存时 间随着机器时钟自动衰减,当衰减为0时,回收相应子节点的地址资源。本发明中,所述新节点通过三次握手获取IPv6地址,具体包括以下步骤步骤301 新节点在一跳范围内广播获取IPv6地址的请求控制包;步骤302:在请求控制包一跳范围内的分配节点或接入节点收到控制包后,向 新节点返回一个响应控制包,所述响应控制包负载为已分配传感器节点ID数量以及预分 配的子节点ID ;步骤303:规定时间后新节点根据响应控制包中已分配传感器节点ID数量,向 已分配传感器节点ID数量最小的分配节点或接入节点返回一个确认控制包,确认控制包 的内容为其预分配的子节点ID,同时将已分配传感器节点ID数量最小的分配节点或接入 节点设置为自己的父节点,然后从响应控制包的源地址中抽取父节点的传感器节点ID并 计算自己的传感器节点ID,然后将其与父节点的全局网络路由前缀结合形成自己的IPv6 地址;步骤304:新节点判断其可分配地址资源区间上限是否大于264Λ如果是,进行 步骤305,否则进行步骤306;步骤305 新节点将自己标识为普通节点,进行步骤307 ;步骤306 新节点将自己标识为分配节点,进行步骤307 ;步骤307:父节点收到新节点返回的确认包后,将地址分配表中预分配给新节 点的子节点ID对应表项中的分配状态设置为已分配,生存时间设置为最大生存时间;步骤308:父节点检测地址分配表中的k个表项是否均为已分配状态,如果是, 进行步骤309,否则进行步骤310 ;步骤309 父节点将自己标识为普通节点;
步骤310 新节点 成功获取IPv6地址。本发明中,新节点在广播请求控制包后,如果在规定时间内没有收到响应控制 包,它将定期发送请求控制包直到收到响应控制包为止,新节点获取IPv6地址后,与其 父节点采用多跳路由协议进行通信。本发明中,所述普通节点或分配节点定期向其父节点发送刷新控制包,父节点 收到刷新控制包后,将对应地址分配表项的生存时间设置为最大生存时间,同时父节点 向子节点返回刷新响应控制包以表示其在正常工作。本发明中,所述父节点检测到子节点对应地址分配表项的生存时间衰减到0 时,进行地址资源回收操作,具体包括以下步骤步骤601:父节点为子节点建立一个地址分配表,地址分配表包括k个表项,每 个表项的分配状态设置为未分配,生存时间设置为0,父节点接收目的地址为自己或者为 子节点的刷新控制包;步骤602:在规定时间内,父节点是否收到子节点的子节点发送的刷新数据 包,如果是,进行步骤603,否则进行步骤604;步骤603:父节点收到子节点的子节点的刷新控制包后,将子节点的地址分配 表中对应表项的分配状态设置为已分配,生存时间设置为最大生存时间,并向发送刷新 控制包的子节点的子节点返回刷新响应控制包,进行步骤605 ;步骤604:父节点删除子节点的地址分配表,同时将子节点对应的地址分配表 项的分配状态设置为未分配,进行步骤608;步骤605:判断是否有新节点选择父节点作为父节点,如果是,进行步骤606, 否则进行步骤608 ;步骤606 父节点将失效子节点的IPv6地址分配给新节点同时将失效子节点的 地址分配表发送给新节点;步骤607 新节点替代失效子节点进行工作;步骤608 地址资源回收过程结束。本发明中,如果所述子节点在规定时间内没有收到其父节点返回的刷新响应控 制包,则判定父节点失效,并将自己标识为新节点重新获取IPv6地址。有益效果本发明提供了一种基于分布式的无线传感器网络IPv6地址配置实现 方法,所述无线传感器网络中的每个传感器节点通过本发明所提供的IPv6地址自动配置 的实现方法,可拥有全球唯一的IPv6地址,IPv6网络节点通过无线传感器节点的IPv6地 址实现彼此的通信,获取传感器节点采集的数据信息。本发明可应用于农业设施现代化 及家电智能化等诸多领域,具有广泛的应用前景。本发明采用分布式的IPv6地址分配方 法,即每个接入节点或者分配节点都可以为一跳范围内的新节点分配IPv6地址,实现了 负载均衡,降低了网络功耗,同时,新节点获取IPv6地址的控制信息传送范围在一跳范 围内,降低了网络功耗,缩短了配置时间。此外,当一个节点失效时,其父节点临时代 替失效节点维护树状结构,节省了处理失效节点所消耗的能量,增强了系统健壮性,避 免了由于节点失效而引起的通信错误,增加了网络寿命。
下面结合附图和具体实施方式
对本发明做更进一步的具体说明,本发明的上述 和/或其他方面的优点将会变得更加清楚。图1为本发明所述的无线传感器网络树状拓扑结构示意图。图2为本发明所述的接入节点/分配节点/简单节点的IPv6地址结构示意图。图3为本发明所述的地址分配表项结构示意图。图4为本发明所述的新节点获取IPv6地址的流程示意图。图5为本发明所述的地址回收流程示意图。
具体实施例方式本发明提供了一种基于分布式的无线传感器网络IPv6地址配置实现方法,在所 述方法中,无线传感器网络中的每个传感器节点可获取全球唯一的IPv6地址,IPv6网络节 点通过无线传感器节点的IPv6地址实现彼此的通信,获取传感器节点采集的数据信息。图1所示的是本发明所述的无线传感器网络树状拓扑结构示意图,所述无线传 感器网络包括四类节点新节点、接入节点、分配节点及普通节点;其中,新节点是新 加入无线传感器网络且没有获取IPv6地址的可移动传感器节点,不为其它节点分配IPv6 地址;接入节点是连接无线传感器网络与IPv6互联网的传感器节点,它与IPv6互联网 的接入路由器相连,其IPv6地址预先设定,能为新节点分配IPv6地址,不具有移动性; 分配节点为已获取IPv6地址且能够为新节点分配IPv6地址的可移动传感器节点;普通节 点为已获取IPv6地址且不能为新节点分配IPv6地址的可移动传感器节点;新节点、分配 节点及普通节点的状态可互相转换;无线传感器网络通过一个接入路由器与IPv6互联网 连接,接入路由器与多个预先设置的接入节点连接,接入节点不具有移动性;新节点从 接入节点获取IPv6地址并完成节点转换,同时与其构成父子关系;接入路由器、接入节 点、分配节点及普通节点构成一个树状结构,树状结构的根节点为接入路由器,中间节 点及叶子节点为接入节点、分配节点或普通节点;树状结构中的节点最多包含k个子节 点,k为正整数;新节点从分配节点获取IPv6地址并完成节点转换,同时与其构成父子 关系;接入路由器、接入节点、分配节点及普通节点构成一个树状结构,树状结构的根 节点为接入路由器,中间节点及叶子节点为接入节点、分配节点或普通节点;树状结构 中的节点最多可包含k个子节点,k为正整数。图2所示的是本发明所述的接入节点/分配节点/简单节点的IPv6地址结构示意 图,传感器节点的IPv6地址由两部分组成,第一部分是全局网络路由前缀,长度为64+n 比特,η为正整数,它唯一标识一个无线传感器网络,一个6LoWPAN无线传感器网络中 所有传感器节点的IPv6地址的全局路由前缀都相同;第二部分为传感器节点ID,长度为 64-η比特,它唯一标识无线传感器网络中的一个传感器节点,接入路由器的传感器节点 ID为0,无线传感器网络中最多容纳k个接入节点,接入节点IPv6地址的传感器节点ID 设置区间为[1,k]。一个传感器节点ID为χ的节点,其分配给子节点的地址空间区间为 [k · x+1, k · x+k],其第i(k^M)个子传感器节点· x+i,其中,i为正整数。 图3所示的是本发明所述的地址分配表项结构示意图,接入节点、分配节点及 普通节点保存一个地址分配表,用于记录其可分配地址资源的分配状况,地址分配表项由子节点ID、分配状态以及生存时间三个域组成子节点ID值区间为[1,k];生存时间随着机器时钟自动衰减,当衰减为O时,回收相应子节点的地址资源。图4所示的是本发明所述的新节点获取IPv6地址的流程示意图,所述新节点通 过三次握手获取IPv6地址,具体包括以下步骤步骤301 新节点在一跳范围内广播获取IPv6地址的请求控制包;步骤302:在请求控制包一跳范围内的分配节点或接入节点收到控制包后,向 新节点返回一个响应控制包,所述响应控制包负载为已分配传感器节点ID数量以及预分 配的子节点ID ;步骤303:规定时间后新节点根据响应控制包中已分配传感器节点ID数量,向 已分配传感器节点ID数量最小的分配节点或接入节点返回一个确认控制包,确认控制包 的内容为其预分配的子节点ID,同时将已分配传感器节点ID数量最小的分配节点或接入 节点设置为自己的父节点,然后从响应控制包的源地址中抽取父节点的传感器节点ID并 计算自己的传感器节点ID,然后将其与父节点的全局网络路由前缀结合形成自己的IPv6 地址;步骤304:新节点判断其可分配地址资源区间上限是否大于264Λ如果是,进行 步骤305,否则进行步骤306;步骤305 新节点将自己标识为普通节点,进行步骤307 ;步骤306 新节点将自己标识为分配节点,进行步骤307 ;步骤307:父节点收到新节点返回的确认包后,将地址分配表中预分配给新节 点的子节点ID对应表项中的分配状态设置为已分配,生存时间设置为最大生存时间;步骤308:父节点检测地址分配表中的k个表项是否均为已分配状态,如果是, 进行步骤309,否则进行步骤310 ;步骤309 父节点将自己标识为普通节点;步骤310 新节点成功获取IPv6地址。新节点在广播请求控制包后,如果在规定时间内后没有收到响应控制包,它将 定期发送请求控制包直到收到响应控制包为止,新节点获取IPv6地址后,与其父节点采 用多跳路由协议进行通信。图5所示的是本发明所述的地址回收流程示意图,所述普通节点或分配节点定 期向其父节点发送刷新控制包,父节点收到刷新控制包后,将对应地址分配表项的生存 时间设置为最大生存时间,同时父节点向子节点返回刷新响应控制包以表示其在正常工 作。如果所述子节点在规定时间内没有收到其父节点返回的刷新响应控制包,则判定父 节点失效,并将自己标识为新节点重新获取IPv6地址。所述父节点检测到子节点对应地 址分配表项的生存时间衰减到0时,它进行地址资源回收操作,具体包括以下步骤步骤601:父节点为子节点建立一个地址分配表,地址分配表包括k个表项,每 个表项的分配状态设置为未分配,生存时间设置为0,父节点接收目的地址为自己或者为 子节点的刷新控制包;步骤602:在规定时间内,父节点是否收到子节点的子节点发送的刷新数据 包,如果是,进行步骤603,否则进行步骤604;步骤603:父节点收到子节点的子节点的刷新控制包后,将子节点的地址分配表中对应表项的分配状态设置为已分配,生存时间设置为最大生存时间,并向发送刷新 控制包的子节点的子节点返回刷新响应控制包,进行步骤605 ;步骤604:父节点删除子节点的地址分配表,同时将子节点对应的地址分配表 项的分配状态设置为未分配,进行步骤608;步骤605:是否有新节点选择父节点作为父节点,如果是,进行步骤606,否则 进行步骤608 ;步骤606 父节点将失效子节点的IPv6地址分配给新节点同时将失效子节点的 地址分配表发送给新节点;步骤607 新节点替代失效子节点进行工作;步骤608 地址资源回收过程结束。
综上所述,本发明提供了基于分布式的无线传感器网络IPv6地址配置实现方 法,此项技术可以应用于农业现代化、医疗健康、军事国防等诸多领域,例如,在农业 现代化领域,可将无线传感器网络IPv6地址自动配置技术应用于现代设施农业环境监测 控制,传感器节点随机散布在农田中并自动实现IPv6地址配置,这样农业劳动者不受地 理位置限制,通过互联网可随时访问农田中的传感器节点,获取农田温度、湿度、光强 度等环境参数,及时掌握农作物的生长环境,确保农作物健康成长。由于传感器节点具 有体积小、价格低廉、易于布置、易于维护等特点,而互联网具有地理位置覆盖广泛, 使用方便,界面友好、费用低廉等特点,因此,本技术具有很高的推广价值。本发明提供了一种基于分布式的无线传感器网络IPv6地址配置实现方法的思 路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应 当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以 做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确 的各组成部份均可用现有技术加以实现。
权利要求
1.一种基于分布式的无线传感器网络IPv6地址配置实现方法,其特征在于,所述无 线传感器网络包括四类节点新节点、接入节点、分配节点及普通节点;所述新节点是新加入无线传感器网络且没有获取IPv6地址的可移动传感器节点,新 节点不为其它节点分配IPv6地址;所述接入节点是连接无线传感器网络与IPv6互联网的传感器节点,它与IPv6互联网 的接入路由器相连,其IPv6地址预设定,能为新节点分配IPv6地址,不能移动;所述分配节点为已获取IPv6地址且能够为新节点分配IPv6地址的可移动传感器节占.所述普通节点为已获取IPv6地址且不能为新节点分配IPv6地址的可移动传感器节占.^ w\ 新节点、分配节点及普通节点的状态可互相转换;所述无线传感器网络通过一个接入路由器与IPv6互联网连接,接入路由器与多个预 设置的接入节点连接,接入节点能移动;所述新节点从接入节点获取IPv6地址并完成节点转换,同时与其构成父子关系;接 入路由器、接入节点、分配节点及普通节点构成一个树状结构,树状结构的根节点为接 入路由器,中间节点及叶子节点为接入节点、分配节点或普通节点;树状结构中的节点 最多包含k个子节点,k为正整数;所述新节点从分配节点获取IPv6地址并完成节点转换,同时与其构成父子关系;接 入路由器、接入节点、分配节点及普通节点构成一个树状结构,树状结构的根节点为接 入路由器,中间节点及叶子节点为接入节点、分配节点或普通节点;树状结构中的节点 最多可包含k个子节点,k为正整数;传感器节点的IPv6地址包括两部分,第一部分是全局网络路由前缀,它唯一标识一 个无线传感器网络,全局网络路由前缀长度为64+n比特,其中η为正整数,一个无线传 感器网络中所有传感器节点的IPv6地址的全局路由前缀都相同;第二部分为传感器节点 ID,它唯一标识无线传感器网络中的一个传感器节点,传感器节点ID的长度为64-n比 特,接入路由器的传感器节点ID为0,无线传感器网络中最多容纳k个接入节点,接入 节点IPv6地址的传感器节点ID设置区间为[1,k];一个传感器节点ID为χ的节点,其分配给子节点的地址空间区间为[k · x+1, k · x+k],其第i个子传感器节点IDSk · x+i,其中,i为正整数且k^hl。
2.根据权利要求1所述的基于分布式的无线传感器网络IPv6地址配置实现方法,其 特征在于,所述接入节点、分配节点及普通节点保存一个地址分配表,用于记录其可分 配地址资源的分配状况,地址分配表项包括子节点ID、分配状态以及生存时间三个域 子节点ID值区间为[1,k];分配状态记录已分配或者未分配两个状态;生存时间随着机 器时钟自动衰减,当衰减为0时,回收相应子节点的地址资源。
3.根据权利要求1所述的基于分布式的无线传感器网络IPv6地址配置实现方法,其 特征在于,所述新节点通过三次握手获取IPv6地址,具体包括以下步骤步骤301 新节点在一跳范围内广播获取IPv6地址的请求控制包; 步骤302:在请求控制包一跳范围内的分配节点或接入节点收到控制包后,向新节 点返回一个响应控制包,所述响应控制包负载为已分配传感器节点ID数量以及预分配的子节点ID ;步骤303:规定时间后新节点根据响应控制包中已分配传感器节点ID数量,向已分 配传感器节点ID数量最小的分配节点或接入节点返回一个确认控制包,确认控制包的内 容为其预分配的子节点ID,同时将已分配传感器节点ID数量最小的分配节点或接入节 点设置为自己的父节点,然后从响应控制包的源地址中抽取父节点的传感器节点ID并计 算自己的传感器节点ID,然后将其与父节点的全局网络路由前缀结合形成自己的IPv6地 址;步骤304:新节点判断其可分配地址资源区间上限是否大于264Λ如果是,进行步骤 305,否则进行步骤306;步骤305 新节点将自己标识为普通节点,进行步骤307 ;步骤306 新节点将自己标识为分配节点,进行步骤307 ;步骤307:父节点收到新节点返回的确认包后,将地址分配表中预分配给新节点的 子节点ID对应表项中的分配状态设置为已分配,生存时间设置为最大生存时间;步骤308:父节点检测地址分配表中的k个表项是否均为已分配状态,如果是,进行 步骤309,否则进行步骤310;步骤309 父节点将自己标识为普通节点;步骤310 新节点成功获取IPv6地址。
4.根据权利要求3所述的基于分布式的无线传感器网络IPv6地址配置实现方法,其 特征在于,新节点在广播请求控制包后,如果在规定时间内没有收到响应控制包,它将 定期发送请求控制包直到收到响应控制包为止,新节点获取IPv6地址后,与其父节点采 用多跳路由协议进行通信。
5.根据权利要求1所述的基于分布式的无线传感器网络IPv6地址配置实现方法,其 特征在于,所述普通节点或分配节点定期向其父节点发送刷新控制包,父节点收到刷新 控制包后,将对应地址分配表项的生存时间设置为最大生存时间,同时父节点向子节点 返回刷新响应控制包以表示其在正常工作。
6.根据权利要求3所述的基于分布式的无线传感器网络IPv6地址配置实现方法,其 特征在于,所述父节点检测到子节点对应地址分配表项的生存时间衰减到0时,进行地 址资源回收操作,具体包括以下步骤步骤601:父节点为子节点建立一个地址分配表,地址分配表包括k个表项,每个表 项的分配状态设置为未分配,生存时间设置为0,父节点接收目的地址为自己或者为子节 点的刷新控制包;步骤602:在规定时间内,父节点是否收到子节点的子节点发送的刷新数据包,如 果是,进行步骤603,否则进行步骤604;步骤603:父节点收到子节点的子节点的刷新控制包后,将子节点的地址分配表中 对应表项的分配状态设置为已分配,生存时间设置为最大生存时间,并向发送刷新控制 包的子节点的子节点返回刷新响应控制包,进行步骤605 ;步骤604:父节点删除子节点的地址分配表,同时将子节点对应的地址分配表项的 分配状态设置为未分配,进行步骤608;步骤605:判断是否有新节点选择父节点作为父节点,如果是,进行步骤606,否则进行步骤608 ;步骤606 父节点将失效子节点的IPv6地址分配给新节点同时将失效子节点的地址 分配表发送给新节点;步骤607:新节点替代失效子节点进行工作; 步骤608:地址资源回收过程结束。
7.根据权利要求6所述的基于分布式的无线传感器网络IPv6地址配置实现方法,其 特征在于,如果所述子节点在规定时间内没有收到其父节点返回的刷新响应控制包,则 判定父节点失效,并将自己标识为新节点重新获取IPv6地址。
全文摘要
本发明提供了一种基于分布式的无线传感器网络IPv6地址配置实现方法,无线传感器网络包括四类节点新节点、接入节点、分配节点及普通节点,新节点是没有获取IPv6地址的可移动传感器节点;接入节点和分配节点为已获取IPv6地址且能为其它节点分配IPv6地址的节点,普通节点为已获取IPv6地址且不能为新节点分配IPv6地址的节点。接入路由器、接入节点、分配节点及普通节点构成一个树状结构,树状结构的根节点为接入路由器;树状结构中的节点最多包含k个子节点,k为正整数;新节点从分配节点或接入节点获取IPv6地址并完成节点转换,同时与其构成父子关系。
文档编号H04W8/26GK102014377SQ20111000171
公开日2011年4月13日 申请日期2011年1月6日 优先权日2011年1月6日
发明者王晓喃 申请人:常熟理工学院