基于地理位置的无线传感器网络IPv6地址配置
2013-08-13黄颖,包杰
黄 颖,包 杰
(重庆邮电大学通信与信息工程学院,重庆 400065)
就应用而言,无线传感器网络(Wireless Sensor Network,WSN)需要连接其他外部网络,以便通过外部网络上的设备对其进行访问、监测与控制,使之具有更实际的意义。采用全IP方式实现WSN与IPv6网络的互连,具有很多潜在的优势,已成为未来发展的必然趋势。而在此方式下,需要解决的一个关键技术就是IPv6地址自动配置问题[1-2]。有状态地址配置方案的通信方式会产生大量的控制包开销,同时需要安装DHCP服务器,通常WSN应用中,其无线网络部分的规模也较小,所以无状态地址配置方案更适合WSN。
本文针对全IP互联通信,对WSN的网络组织进行研究,提出了以数据为中心的WSN接入IPv6方式下的地址自动配置方案。
1 IPv6地址配置
本方案基于WSN以数据为中心的特点,将WSN监测的区域栅格化,每个网格中产生一个头节点,网格中其余节点将数据直接传送给头节点聚合。节点重复地址检测仅在本网格进行,且各网格可同时进行地址配置过程,缩短了IPv6地址配置的延迟时间。
1.1 基于网格的树结构
划分网格的网络结构具有降低网络开销、易实现IP地址自动配置和管理、便于大规模网络管理等优点。
本方案的WSN存在以下4种节点:1)IPv6接入节点,连接WSN与IPv6网络,负责向WSN其他节点提供网络前缀;2)头节点,能够为本网格内普通节点分配IPv6地址的节点;3)普通节点,从本网格头节点获取IPv6地址,不能为其他节点分配IPv6地址的节点;4)孤立节点,没有被标记为头节点、普通节点以及IPv6接入节点的节点。
本方案将WSN网络栅格化,每一个网格中具有一个头节点和多个普通节点,头节点与IPv6节点构建成树结构,头节点通过加入树结构获得全球路由前缀。IPv6接人节点、头节点及普通节点的拓扑结构如图1所示。
图1 基于网格的树结构拓扑图
1.2 地址格式
传感器节点的IPv6地址的全球路由前缀,来源于传感器节点所属树结构中树根节点,即IPv6接入节点的IPv6地址的全球路由前缀。为便于描述各网格的位置,以IPv6接入节点作为原点(0,0)引入平面坐标系,各网格的坐标如图2所示,由图可见网格A的坐标为(2,2)。
图2 WSN栅格化
IPv6地址由3分组成:1)64 bit全球路由前缀,在一个WSN中所有传感器节点的IPv6地址的全球路由前缀均相同;2)网格坐标,由8 bit横坐标和8 bit纵坐标组成,同一网格内所有节点的横、纵坐标都相同;3)节点ID,当节点ID为0时,表示该网格,当节点ID=1时,表示本网格中的头节点。
采用该地址格式的配置方案,既可以查询某一个区域内的数据,也可以单独寻址某一个传感器节点。如IPv6地址的节点ID为0时,表示查询该网格区域的数据。
1.3 头节点产生并获取IPv6地址
假设每个孤立传感器节点都知道自己所属的网格,同时知道自己的剩余能量,网格内的头节点采用如下的适应值函数竞争产生
式中:n为网格内节点能量大于0的节点数;Rij为节点i到节点j的距离;Ei,Ej为节点i,j的剩余能量;η,λ分别为网格内距离影响因子和能量影响因子,同时η+λ=1 且 η,λ ∈[0,1]。
该函数由两部分组成,第一部分为某网格内部的通信代价;第二部分为该网格内节点i的剩余能量占整个网格平均剩余能量的比重。f(i)越小,说明i节点的位置越靠近于网格中心,能量相对较大。当i节点的能量小于0,即节点死亡时,定义f(i)=∞[3]。
每一个节点向同一网格内的邻居节点广播其适应值。当每一个节点都知道其邻居节点的适应值后,则适应值f(i)最小的节点为本网格的头节点。由于网格的坐标在整个WSN中具有唯一性,因此头节点的IPv6地址不需进行重复地址检测。
当某节点X成为头节点后,设置自己的节点ID为1,并向IPv6接入节点发送加入树数据包,其中包含所在网格的横、纵坐标;IPv6接入节点收到该数据包时,向节点X返回一个应答控制包,内容为该WSN的全球路由前缀。头节点X接收到该数据包后,将全局路由前缀与所在网格的坐标以及节点ID组合构建成IPv6地址。
1.4 普通节点获取IPv6地址
孤立节点X向所在网格的头节点Y发送获取IPv6地址的数据包,头节点Y收到该数据包后,首先查看已分配的节点ID总数,如果节点ID已经全部分配完,则向节点X返回一个无效请求数据包,节点X进入休眠状态;否则,节点Y采用哈希函数除留余数法为节点X分配一个节点ID(0和1除外),并在本网格内广播此节点ID。
如果在规定时间内节点Y收到网格内具有相同节点ID的普通节点返回的响应包,那么节点Y采用线性探测法再产生一个节点ID,并再次广播此节点ID。若广播了预定次数后,节点Y都没有收到网格内具有相同节点ID的普通节点返回的响应包,那么节点Y获取了在本网格中具有唯一性的节点ID,然后将此节点ID封装成一个控制包,将此控制包返回给节点 X[5-7]。
孤立节点X收到控制包后,向头节点Y发送相应的确认包,同时标记自己为普通节点,并将控制包中的全球路由前缀、节点ID与所在网格的坐标组合构建成自己的IPv6地址。
2 仿真分析
文献[5]的方案中,其簇首节点和簇内节点的IPv6地址均采用哈希函数除留余数法产生,同时该方案经过仿真验证其性能优于Strong DAD。所以本文只需在对文献[5]的方案以及本文方案进行仿真分析,从地址配置总开销、地址配置总延迟时间两个方面进行比较。
本文仿真环境为100 m×100 m的正方形区域,节点增量为50个。假设传感器节点在整个活动区域内随机分布,并且都是静止的,各节点的传输半径为20 m。仿真结果如图3、图4所示。图3示意了两种方案中所有节点获得唯一性地址需要发送的控制包的比较。图4是对两种方案中所有节点获得唯一性地址的总时延的比较。
文献[5]方案中的簇首节点采用哈希函数产生,其IPv6地址的获取过程需要进行重复地址检测。所以,当传感器节点数量增加时,簇首节点待分配的地址发生冲突的概率也相应增加,则整个网络的地址配置总开销与总延迟时间成幂次增加。而本文方案的头节点的IPv6地址获取不需进行重复地址检测,从而本文所提出的方案优于文献[5]的方案。
3 结论
本文考虑了无线传感器网络以数据为中心的特点,提出一种基于地理位置的IPv6地址配置方案,既可以对某一个区域的数据进行查询,也可以单独寻址某一个传感器节点。该方案将无线传感器网络划分为网格,头节点采用适应值函数竞争产生,普通节点的IPv6地址由头节点采用无状态地址配置方式产生。从地址配置总开销以及地址配置总延迟时间两个方面对方案进行仿真验证,结果证明该方案可降低地址配置开销,减少地址配置总延迟时间。
[1]IETF RFC 4919,6LoWPAN:overview,assumptions,problem statement,and goals[S].2007.
[2]AKKAYA K,YOUNIS M.A survey on routing protocols for wireless sensor networks[J].Ad hoc Networks,2005,3(3):325-349.
[3]吉云,徐玉斌.基于地理位置划分的无线传感器网络分簇算法[J].太原科技大学学报,2010,31(1):6-9.
[4]罗娟,刘德翔,李仁发.一种融合IPv6网络的无线传感器网络接入体系[J].中国科技论文在线,2008,1(12):1359-1364.
[5]王晓喃,高德民,钱焕延.无线传感器网络IPv6地址自动配置方案[J].电子科技大学学报,2011,40(3):424-428.
[6]王晓喃,高德民,钱焕延.无线传感器网络与IPv6网络的互联通信[J].计算机工程,2009,35(24):124-126.
[7]王晓喃.基于定位信息的无限传感器网络IPv6地址配置方案[J].计算机应用研究,2011,28(12):4681-4683.
[8]刘湘雯,候惠峰,于宏毅,等.基于群树结构的IPv6无线传感器网络的组网及路由协议[J].计算机科学,2007,34(5):28-31.
[9]朱向庆,陈志雄,洪晖.分级簇树结构无线传感器网络设计[J].计算机工程,2010,36(16):219-221.