一种6LoWPAN无线传感器网络地址配置方法
技术领域
本发明涉及一种无线传感器网络中地址配置方法,尤其涉及的是一种6LoWPAN无线传感器网络地址配置方法。
背景技术
随着下一代网络(IPv6网络)的不断成熟和发展,无线传感器网络与下一代网络实现全IP通信互联已成为未来发展的必然趋势,实现无线传感器网络与下一代互联网全IP通信需要解决的关键技术之一就是传感器网络的IPv6地址自动配置问题。
IPv6地址自动配置是IPv6的一个重要技术特色,它可以在无人干预的情况下为每个接口配置具有唯一性的IPv6地址,这一特性与无线传感器网络自组织、自配置的设计目标十分一致。但与此同时,在资源有限的无线传感器网络中实施现有的IPv6地址自动配置方式还存在一些问题,例如现有的有状态地址配置方案采用服务器/客户端的通信方式分配IPv6地址,即节点向DHCP服务器提出申请地址的请求,然后由DHCP服务器统一为网络内的节点分配IPv6地址,显而易见,这种地址配置方案带来大量的控制包开销,同时也消耗了大量的存储资源;在现有的基于邻居发现协议的无状态地址配置方案中,每个被分配的IPv6地址都需要在整个无线传感器网络中进行重复地址检测以确保它的唯一性,同样导致了大量的控制包开销,消耗了大量的网络资源。
因此针对资源有限的无线传感器网络需要建立一种低开销的IPv6地址配置方案。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种6LoWPAN无线传感器网络地址配置方法。
技术方案:本发明公开了一种6LoWPAN无线传感器网络地址配置方法,所述6LoWPAN无线传感器网络包括一个以上的二维的正方形的逻辑区域,每个逻辑区域由坐标(x,y)标识,x,y为非负整数;每个逻辑区域内包括一个以上的传感器节点,传感器节点通过自己的定位坐标(Lx,Ly)计算自己所在逻辑区域的坐标(x,y),如公式(1)和公式(2)所示,其中,l为正方形逻辑区域的边长。
所述6LoWPAN无线传感器网络包括两类传感器节点:新节点和配置节点,其中,新节点为没有获取IPv6地址的节点,配置节点为已经配置IPv6地址的节点。
外部接入节点与IPv6互联网的接入路由器相连,所述6LoWPAN无线传感器网络通过外部接入节点与IPv6互联网相连,接入节点定期向所述6LoWPAN无线传感器网络广播网络前缀。
所述6LoWPAN无线传感器网络的传感器节点的IPv6地址包括六个部分:第一部分是全局路由前缀,一个6LoWPAN无线传感器网络中所有传感器节点的全局路由前缀都相同;第二部分和第三部分分别为传感器节点所在逻辑区域的横坐标和纵坐标,第四部分和第五部分为传感器节点定位坐标的横坐标和纵坐标;第六部分为内部ID,新节点的内部ID为0,配置节点的内部ID为正整数;第二部分、第三部分、第四部分、第五部分和第六部分组成了传感器节点的链路地址。
在6LoWPAN无线传感器网络中,节点定期广播信标帧;当6LoWPAN无线传感器网络启动时,网络执行初始化操作,通过网络初始化,所有节点获取具有全球唯一性的IPv6地址;传感器节点首先通过定位算法获取其定位坐标(Lx,Ly),并计算出其所在逻辑区域的坐标(x,y),定位算法可以采用Global Positioning System(GPS),time ofarrival(TOA),time difference of arrival(TDOA),然后传感器节点将全局路由前缀、逻辑区域坐标和定位坐标相结合形成自己的临时IPv6地址,其中内部ID为0。
如果传感器节点在发送信标帧的一个周期内没有收到具有相同IPv6地址广播的信标帧,那么传感器节点将内部ID设置为1,同时将自己标记为配置节点。
如果有两个以上的节点具有相同的定位坐标,那么这些节点链路地址相同;如果新节点接收到两个以上具有相同链路地址的信标帧,那么所述新节点将自己发送的信标帧以及接收到的所有信标帧按照时间顺序进行排序,然后将自己发送的信标帧所在位置的序号作为内部ID,同时与自己的定位坐标、所在逻辑区域的坐标以及全局路由前缀相结合获得具有全球唯一性的IPv6地址,同时将自己标记为配置节点。
本发明中,传感器节点根据定位坐标实现地址初始化操作,该操作在网络启动时执行,由于地址初始化过程通过信标帧实现,无需额外代价,因此大幅度降低了地址配置代价和延迟。
本发明所述方法中,配置节点从一个逻辑区域移动到一个新的逻辑区域后,将自己标记为新节点,同时在新的逻辑区域获取新的IPv6地址;如果在移动过程中,配置节点正在与IPv6节点进行通信,那么配置节点向IPv6节点发送地址绑定消息,地址绑定消息源地址为配置节点原来的IPv6地址,消息负载为新获取的IPv6地址,同时配置节点放弃在原来逻辑区域的IPv6地址;IPv6节点收到地址绑定消息后,将配置节点的IPv6地址更新为新的IPv6地址并继续通信。
网络初始化结束后,新节点加入6LoWPAN无线传感器网络并配置IPv6地址;新节点加入6LoWPAN无线传感器网络后,通过以下步骤获取IPv6地址:
步骤101:开始。
步骤102:新节点通过定位算法获取其定位坐标,并计算其所在逻辑区域坐标,然后将全局路由前缀、逻辑区域坐标和定位坐标相结合形成自己的临时IPv6地址,其中内部ID为0;然后新节点广播信标帧,信标帧负载为新节点的定位坐标,信标帧的源地址为临时链路地址。
步骤103:邻居配置节点收到负载为新节点定位坐标的信标帧后,判断自己IPv6地址的定位坐标的横坐标和纵坐标是否与新节点的定位坐标相同,如果是,进行步骤104,否则进行步骤105。
步骤104:邻居配置节点向新节点发送信标帧,信标帧负载为自己的内部ID。
步骤105:步骤104中的邻居配置节点判断自己的的邻居配置节点是否都已经收到了新节点的定位坐标,即判断它是否收到了它的邻居配置节点广播的负载为新节点定位坐标的信标帧,如果是,进行步骤107,否则进行步骤106。
步骤106:邻居配置节点广播信标帧,信标帧负载为新节点的定位坐标,返回步骤103。
步骤107:判断新节点是否收到具有相同链路地址广播的信标帧,如果是,进行步骤109,否则进行步骤108。
步骤108:新节点选择最小未占用的内部ID(除0以外)作为自己的内部ID,并与临时地址的全局路由前缀,逻辑区域坐标以及定位坐标相结合构成自己的IPv6地址,进行步骤113。
步骤109:具有相同链路地址的新节点收到目标地址为自己的链路地址的信标帧后,将信标帧中的内部ID作为下一次广播的信标帧的负载;使所有具有相同链路地址的新节点获取本逻辑区域内已占用的内部ID集合。
步骤110:新节点将本逻辑区域内已占用的内部ID集合作为下一次广播的信标帧的负载。
步骤111:新节点收到其他所有具有相同链路地址的新节点第一次广播的负载为已占用内部ID集合的信标帧后,将所述信标帧与自己发送的信标帧按照时间进行排序,信标帧序号为1的源新节点将自己的内部ID设置为第一个最小未占用的内部ID,信标帧序号第2的源新节点将自己的内部ID设置为第二个最小未占用的内部ID,直到信标帧序号N的源新节点将自己的内部ID设置为第N个最小未占用的内部ID,N为新节点的总数。
步骤112:新节点获取内部ID后,与临时地址的全局路由前缀,逻辑区域坐标以及定位坐标相结合构成自己的IPv6地址。
步骤113:新节点获取具有全球唯一性的IPv6地址后,将自己标记为配置节点。
步骤114:结束。
本发明中,新节点加入网络后,通过上述算法获取具有全球唯一性的地址。由于上述算法通过信标帧实现,无需额外的代价,因此大幅度降低了地址配置代价和延迟。
本发明所述方法中,配置节点从一个逻辑区域移动到一个新的逻辑区域后,将自己标记为新节点并在新的逻辑区域获取新的IPv6地址,同时放弃在原来的IPv6地址,放弃的地址无需进行地址回收操作。
本发明无需进行地址回收操作即可确保有足够的地址资源进行分配,从而避免了由于地址申请失败而引起的额外代价和延迟。从而降低了地址配置代价和延迟。
有益效果:本发明提供了一种6LoWPAN无线传感器网络地址配置方法,本方法可以应用于煤矿安全、农业现代化、军事国防等诸多领域。例如,在煤矿安全领域,可将基于地理位置信息的无线传感器网络IPv6地址自动配置技术应用于煤矿环境监测控制,可将煤矿分割为多个正方形区域,传感器节点随机散布在煤矿中并根据所在正方形区域的地址位置信息自动实现IPv6地址配置。因为本发明中的每个传感器节点的IPv6地址包括其所在区域的坐标信息,因此每个传感器节点可以很好地传递其所在的地理位置信息,这样煤矿环境监测人员通过传感器节点的IPv6地址可判断出此传感器节点所在的地理位置,从而访问位于特定煤矿区域内的传感器节点,获取温度、湿度、瓦斯等参数,及时掌握煤矿环境,确保煤矿工人的安全,这是目前传统的无线传感器网络无法做到的。由于传感器节点具有体积小、价格低廉、易于布置、易于维护等特点,而互联网具有地理位置覆盖广泛,使用方便,界面友好、费用低廉等特点,因此,本方法具有很高的推广价值。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为本发明所述的无线传感器网络结构示意图。
图2为本发明所述的传感器节点的IPv6地址结构示意图。
图3为本发明所述的新节点获取IPv6地址的流程示意图。
具体实施方式:
本发明提供了一种6LoWPAN无线传感器网络地址配置方法,本方法可以应用于煤矿安全、农业现代化、军事国防等诸多领域。例如,在煤矿安全领域,可将基于地理位置信息的无线传感器网络IPv6地址自动配置技术应用于煤矿环境监测控制,可将煤矿分割为多个正方形区域,传感器节点随机散布在煤矿中并根据所在正方形区域的地址位置信息自动实现IPv6地址配置。因为本发明中的每个传感器节点的IPv6地址包括其所在区域的坐标信息,因此每个传感器节点可以很好地传递其所在的地理位置信息,这样煤矿环境监测人员通过传感器节点的IPv6地址可判断出此传感器节点所在的地理位置,从而访问位于特定煤矿区域内的传感器节点,获取温度、湿度、瓦斯等参数,及时掌握煤矿环境,确保煤矿工人的安全,这是目前传统的无线传感器网络无法做到的。由于传感器节点具有体积小、价格低廉、易于布置、易于维护等特点,而互联网具有地理位置覆盖广泛,使用方便,界面友好、费用低廉等特点,因此,本方法具有很高的推广价值。
图1为本发明所述的无线传感器网络结构示意图。所述6LoWPAN无线传感器网络包括一个以上的二维的正方形的逻辑区域1,每个逻辑区域1由坐标(x,y)标识,x,y为非负整数;每个逻辑区域1内包括一个以上的传感器节点,传感器节点通过自己的定位坐标(Lx,Ly)计算自己所在逻辑区域1的坐标(x,y),如公式(1)和公式(2)所示,其中,l为正方形逻辑区域1的边长。
所述6LoWPAN无线传感器网络包括两类传感器节点:新节点2和配置节点3,其中,新节点2为没有获取IPv6地址的节点,配置节点3为已经配置IPv6地址的节点。
外部接入节点4与IPv6互联网的接入路由器相连,所述6LoWPAN无线传感器网络通过外部接入节点4与IPv6互联网相连,接入节点4定期向所述6LoWPAN无线传感器网络广播网络前缀。
图2为本发明所述的传感器节点的IPv6地址结构示意图。所述6LoWPAN无线传感器网络的传感器节点的IPv6地址包括六个部分:第一部分是全局路由前缀,一个6LoWPAN无线传感器网络中所有传感器节点的全局路由前缀都相同;第二部分和第三部分分别为传感器节点所在逻辑区域的横坐标和纵坐标,第四部分和第五部分为传感器节点定位坐标的横坐标和纵坐标;第六部分为内部ID,新节点的内部ID为0,配置节点的内部ID为正整数;第二部分、第三部分、第四部分、第五部分和第六部分组成了传感器节点的链路地址;
在6LoWPAN无线传感器网络中,节点定期广播信标帧;当6LoWPAN无线传感器网络启动时,网络执行初始化操作,通过网络初始化,所有节点获取具有全球唯一性的IPv6地址;传感器节点首先通过定位算法获取其定位坐标(Lx,Ly),并计算出其所在逻辑区域的坐标(x,y),定位算法可以采用Global Positioning System(GPS),time ofarrival(TOA),time difference of arrival(TDOA),然后传感器节点将全局路由前缀、逻辑区域坐标和定位坐标相结合形成自己的临时IPv6地址,其中内部ID为0;
如果传感器节点在发送信标帧的一个周期内没有收到具有相同IPv6地址广播的信标帧,那么传感器节点将内部ID设置为1,同时将自己标记为配置节点;
如果有两个以上的节点具有相同的定位坐标,那么这些节点链路地址相同;如果新节点接收到两个以上具有相同链路地址的信标帧,那么所述新节点将自己发送的信标帧以及接收到的所有信标帧按照时间顺序进行排序,然后将自己发送的信标帧所在位置的序号作为内部ID,同时与自己的定位坐标、所在逻辑区域的坐标以及全局路由前缀相结合获得具有全球唯一性的IPv6地址,同时将自己标记为配置节点。
本发明中,传感器节点根据定位坐标实现地址初始化操作,该操作在网络启动时执行,由于地址初始化过程通过信标帧实现,无需额外代价,因此大幅度降低了地址配置代价和延迟。
图3为本发明所述的新节点获取IPv6地址的流程示意图。本发明所述方法中,配置节点从一个逻辑区域移动到一个新的逻辑区域后,将自己标记为新节点,同时在新的逻辑区域获取新的IPv6地址;如果在移动过程中,配置节点正在与IPv6节点进行通信,那么配置节点向IPv6节点发送地址绑定消息,地址绑定消息源地址为配置节点原来的IPv6地址,消息负载为新获取的IPv6地址,同时配置节点放弃在原来逻辑区域的IPv6地址;IPv6节点收到地址绑定消息后,将配置节点的IPv6地址更新为新的IPv6地址并继续通信。
网络初始化结束后,新节点加入6LoWPAN无线传感器网络并配置IPv6地址;新节点加入6LoWPAN无线传感器网络后,通过以下步骤获取IPv6地址:
步骤101:开始。
步骤102:新节点通过定位算法获取其定位坐标,并计算其所在逻辑区域坐标,然后将全局路由前缀、逻辑区域坐标和定位坐标相结合形成自己的临时IPv6地址,其中内部ID为0;然后新节点广播信标帧,信标帧负载为新节点的定位坐标,信标帧的源地址为临时链路地址。
步骤103:邻居配置节点收到负载为新节点定位坐标的信标帧后,判断自己IPv6地址的定位坐标的横坐标和纵坐标是否与新节点的定位坐标相同,如果是,进行步骤104,否则进行步骤105。
步骤104:邻居配置节点向新节点发送信标帧,信标帧负载为自己的内部ID。
步骤105:步骤104中的邻居配置节点判断自己的的邻居配置节点是否都已经收到了新节点的定位坐标,即判断它是否收到了它的邻居配置节点广播的负载为新节点定位坐标的信标帧,如果是,进行步骤107,否则进行步骤106。
步骤106:邻居配置节点广播信标帧,信标帧负载为新节点的定位坐标,返回步骤103。
步骤107:判断新节点是否收到具有相同链路地址广播的信标帧,如果是,进行步骤109,否则进行步骤108。
步骤108:新节点选择最小未占用的内部ID(除0以外)作为自己的内部ID,并与临时地址的全局路由前缀,逻辑区域坐标以及定位坐标相结合构成自己的IPv6地址,进行步骤113。
步骤109:具有相同链路地址的新节点收到目标地址为自己的链路地址的信标帧后,将信标帧中的内部ID作为下一次广播的信标帧的负载;使所有具有相同链路地址的新节点获取本逻辑区域内已占用的内部ID集合。
步骤110:新节点将本逻辑区域内已占用的内部ID集合作为下一次广播的信标帧的负载。
步骤111:新节点收到其他所有具有相同链路地址的新节点第一次广播的负载为已占用内部ID集合的信标帧后,将所述信标帧与自己发送的信标帧按照时间进行排序,信标帧序号为1的源新节点将自己的内部ID设置为第一个最小未占用的内部ID,信标帧序号第2的源新节点将自己的内部ID设置为第二个最小未占用的内部ID,直到信标帧序号N的源新节点将自己的内部ID设置为第N个最小未占用的内部ID,N为新节点的总数。
步骤112:新节点获取内部ID后,与临时地址的全局路由前缀,逻辑区域坐标以及定位坐标相结合构成自己的IPv6地址。
步骤113:新节点获取具有全球唯一性的IPv6地址后,将自己标记为配置节点。
步骤114:结束。
本发明中,新节点加入网络后,通过上述算法获取具有全球唯一性的地址。由于上述算法通过信标帧实现,无需额外的代价,因此大幅度降低了地址配置代价和延迟。
配置节点从一个逻辑区域移动到一个新的逻辑区域后,将自己标记为新节点并在新的逻辑区域获取新的IPv6地址,同时放弃在原来的IPv6地址,放弃的地址无需进行地址回收操作。
本发明无需进行地址回收操作即可确保有足够的地址资源进行分配,从而避免了由于地址申请失败而引起的额外代价和延迟。从而降低了地址配置代价和延迟。
综上所述,本发明提供了一种6LoWPAN无线传感器网络地址配置方法,本方法可以应用于煤矿安全、农业现代化、军事国防等诸多领域。例如,在煤矿安全领域,可将基于地理位置信息的无线传感器网络IPv6地址自动配置技术应用于煤矿环境监测控制,可将煤矿分割为多个正方形区域,传感器节点随机散布在煤矿中并根据所在正方形区域的地址位置信息自动实现IPv6地址配置。因为本发明中的每个传感器节点的IPv6地址包括其所在区域的坐标信息,因此每个传感器节点可以很好地传递其所在的地理位置信息,这样煤矿环境监测人员通过传感器节点的IPv6地址可判断出此传感器节点所在的地理位置,从而访问位于特定煤矿区域内的传感器节点,获取温度、湿度、瓦斯等参数,及时掌握煤矿环境,确保煤矿工人的安全,这是目前传统的无线传感器网络无法做到的。由于传感器节点具有体积小、价格低廉、易于布置、易于维护等特点,而互联网具有地理位置覆盖广泛,使用方便,界面友好、费用低廉等特点,因此,本方法具有很高的推广价值。
本发明提供了一种6LoWPAN无线传感器网络地址配置方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。