2. 常熟理工学院 计算机科学与工程学院, 江苏 常熟 215500
2. School of Computer Science and Engineering, Changshu Institute of Technology, Changshu, Jiangsu 215500, China
随着无线传感器网络(Wireless Sensor Network, WSN)应用的急剧增加以及IPv6互联网的不断成熟和发展, 无线传感器网络与IPv6互联网实现全IP通信已成为未来发展的趋势[1]。
全IP无线传感器网络的网络体系结构是IPv6地址配置的重要前提和保证。全IP无线传感器网络是多跳网络, 因此提高全IP无线传感器网络体系结构的稳定性从而降低IPv6地址配置的代价和延迟显得尤为重要[2-4]。目前, 国内外研究人员提出了多种无线传感器网络体系结构构建方案。基于树状结构的无线传感器网络构建方案[5]利用路由参数来构建网络, 从而提高网络稳定性。基于邻居节点的无线传感网构建方案[6-7]通过邻居节点信息来构建网络, 传感器节点利用邻居节点的参数计算其权值, 然后选择权值最高的邻居节点作为父节点, 从而将网络构建成树状结构[8-9]。上述构建方案为研究全IP无线传感网络体系结构奠定了良好的基础, 但是其未考虑通过全IP无线传感器网络体系结构与IPv6地址配置之间的关联性来降低地址配置代价和延迟。
IPv6地址自动配置可以在无人干预的情况下为每个接口配置具有全球唯一性的IPv6地址, 这一特性与无线传感器网络自组织、自配置的设计目标相吻合。但与此同时, 在资源有限的无线传感器网络中实施现有的IPv6地址自动配置协议还存在一些问题。例如, 有状态IPv6地址自动配置协议采用服务器/客户端的通信模式配置IPv6地址[10], 由于资
源有限的传感器节点很难承担服务器的角色, 因此有状态IPv6地址自动配置协议不适合全IP无线传感器网络; 无状态IPv6地址自动配置协议[11]采用多播方式通过邻居发现协议[12]对配置的IPv6地址进行重复地址检测以确保其在网络中的唯一性, 从而产生大量的控制包开销, 因此很难应用于资源有限的全IP无线传感器网络。为此, 国内外研究人员提出了多种IP地址自动配置方案。分布式的IP地址配置方案, 主要思想是在配置代理之间动态分配寻址空间, 为网络中的每个节点提供唯一的地址分配[13-14]。6LoWPAN无线传感器网络分层地址配置方案, 包括地址初始化和地址维护算法, 网络启动时执行地址初始化算法。通过地址初始化过程, 每个节点可以配置一个全球唯一的地址, 不需要重复地址检测[15]。上述地址配置方案为研究全IP无线传感器网络IPv6地址配置理论奠定了基础, 但是上述方案没有提出适合传感器节点使用的IPv6地址结构, 也没有考虑全IP无线传感器网络体系结构与IPv6地址配置之间的关联性。为此, 本文提出一种全IP无线传感器网络层次体系结构, 在该层次体系结构的基础上给出IPv6地址结构并实现IPv6地址自动配置方案。
1 全IP无线传感器网络层次体系结构为使全IP无线传感器网络与IPv6网络体系结构充分融合, 将传感器节点划分为4类:与IPv6网络连接的接入节点, 固定簇首节点, 移动簇首节点及簇成员节点。接入节点与簇首节点具有路由转发功能, 相当于IPv6网络中的路由器; 簇成员节点不具有路由转发功能, 主要负责采集数据, 相当于IPv6网络中的主机。
全IP无线传感器网络划分为2个层次, 由接入节点与固定簇首节点组成的骨干网以及由簇首节点与簇成员节点组成的簇。骨干网由多个树状结构组成, 此树状结构称为接入节点动态树, 一个接入节点动态树包括一个接入节点和多个固定簇首节点, 其中, 根节点为接入节点, 中间节点和叶子节点为固定簇首节点, 接入节点为固定节点。由固定簇首节点构建的簇称为固定簇, 不能移动。由移动簇首节点构建的簇称为移动簇, 移动簇作为一个移动单元进行移动, 即移动簇簇首节点与簇内簇成员节点作为一个整体进行移动。全IP无线传感器网络层次体系结构如图 1所示。
![]() |
Download:
|
图 1 全IP无线传感器网络层次体系结构 |
传感器节点的IPv6地址由4个部分组成:1)全局路由前缀, 一个全IP无线传感器网络中所有节点的全局路由前缀都相同; 2)接入节点ID, 由i bit组成, 接入节点ID唯一标识一个接入节点动态树, 一个接入节点动态树中所有固定簇首节点的接入节点ID都相同, 其值等于相同接入节点动态树中接入节点的接入节点ID; 3)簇ID, 由n bit组成, 簇ID唯一标识一个簇, 一个簇中所有簇成员节点的簇ID都相同, 其值等于相同簇簇首节点的簇ID; 4)簇成员ID, 由(64-i-n)bit组成, 簇成员ID唯一标识一个簇的簇成员节点。簇成员ID由2个部分组成:簇成员ID前缀与簇成员ID有效值, 其中, 簇成员ID前缀由i bit组成, 其值为0, 簇成员ID有效值由(64-n-i)bit组成, 其值不能为0。传感器节点的IPv6地址结构如表 1所示。
![]() |
下载CSV 表 1 传感器节点的IPv6地址结构 |
接入节点IPv6地址的簇ID与簇成员ID为0, 簇首节点IPv6地址的簇成员ID为0。簇ID划分为多个等级, i bit为一个等级, 接入节点的子节点的等级为1, 此子节点的等级为2, 以此类推。假设一个簇ID所处的等级为l, 那么簇ID的比特长度n如式(1)所示。
$ n=i×l $ | (1) |
其中, i值根据实际应用中传感器节点分布密度及传感器网络规模大小确定。当i值为4时, 一个全IP无线传感器网络区域内最多可包含15个接入节点动态树, 接入节点动态树的深度最多可达16, 接入节点动态树中每个节点最多可有15个子节点。
3 IPv6地址自动配置方案基于IPv6地址分层结构, 本文方案将有状态地址分配方式与无状态地址分配方式相结合, 簇首节点通过有状态地址分配方式获取IPv6地址, 簇成员节点通过无状态地址分配方式获取IPv6地址, 且地址重复检测仅在本簇内完成。
接入节点的IPv6地址预先设置。固定簇首节点加入接入节点动态树, 并通过有状态地址分配方式从父节点获取IPv6地址。移动簇首节点选择一跳范围内且IPv6地址的簇ID等级最低(即IPv6地址有效位最短)的簇首节点为其分配IPv6地址, 从而达到有效压缩IPv6地址的目的。移动簇首节点不加入接入节点动态树。簇首节点可供分配的地址资源较多且存储资源有限, 因此采用无状态地址分配方式为所在簇簇成员节点配置IPv6地址, 且地址重复检测仅在本簇内完成。
3.1 固定簇首节点地址配置过程固定簇首节点F1通过侦听一跳范围内已配置地址的固定簇首节点或者接入节点的信标消息获知全局路由前缀、接入节点ID和簇ID, 选择一个簇ID有效长度最短的固定簇首节点或者接入节点A1获取IPv6地址:
1) 固定簇首节点F1发送请求消息给固定簇首节点或者接入节点A1。
2) 固定簇首节点或者接入节点A1接收到请求消息后, 将未分配的簇IDx封装到响应消息中, 并将该簇IDx状态设置为已分配, 然后将响应消息发送给固定簇首节点F1。
3) 固定簇首节点F1接收到响应消息后, 将固定簇首节点或者接入节点A1标记为父节点, 获取响应消息负载中的簇IDx, 构建一个簇ID, 该簇ID的初始值为父节点的簇ID, 然后将该簇ID的有效位扩展i bit, 将扩展的i bit值设置为x, 并将构建的簇ID与父节点的全局路由前缀和接入节点ID相结合生成IPv6地址, 其中簇成员ID为0, 具体过程如图 2所示。
![]() |
Download:
|
图 2 固定簇首节点地址配置过程 |
移动簇首节点M1通过侦听一跳范围内且IPv6地址的簇ID等级最低的簇首节点或者接入节点的信标消息获知全局路由前缀、接入节点ID和簇ID, 然后执行以下过程从簇首节点或者接入节点A1处获取IPv6地址:
1) 移动簇首节点M1发送请求消息给簇首节点或者接入节点A1。
2) 簇首节点或者接入节点A1接收到请求消息后, 将未分配的簇IDx封装到响应消息中, 将该簇IDx状态设置为已分配, 然后将响应消息发送给移动簇首节点M1。
3) 移动簇首节点M1接收到响应消息后, 获取响应消息负载中的簇IDx, 构建一个簇ID, 该簇ID的初始值为簇首节点或者接入节点A1的簇ID, 然后将该簇ID的有效位扩展i bit, 将扩展的i bit值设置为x, 并将构建的簇ID与簇首节点或者接入节点A1的全局路由前缀和接入节点ID相结合生成IPv6地址, 其中簇成员ID为0, 具体过程如图 3所示。
![]() |
Download:
|
图 3 移动簇首节点地址配置过程 |
簇成员节点C1通过簇首节点M1广播的信标消息获知全局路由前缀、接入节点ID和簇ID, 并通过以下过程获取IPv6地址:
1) 簇成员节点C1随机生成自己的簇成员ID。
2) 簇成员节点C1在该簇范围内发送检测消息以验证生成的簇成员ID的唯一性。
3) 同一个簇内的其他簇成员节点接收到检测消息后, 如果使用该簇成员ID, 则返回一个重复地址消息。
4) 簇成员节点C1在规定时间内如果没有收到重复地址消息, 说明该簇成员ID是全簇唯一的, 则将全局路由前缀、接入节点ID、簇ID和该簇成员ID相结合生成IPv6地址; 否则簇成员节点C1再随机生成一个簇成员ID, 执行步骤2), 具体过程如图 4所示。
![]() |
Download:
|
图 4 簇成员节点地址配置过程 |
全IP无线传感器网络IPv6地址自动配置过程如图 5所示。在该过程中, 将全IP无线传感器网络划分为2个层次, 由接入节点与固定簇首节点组成的骨干网以及由簇首节点与簇成员节点组成的簇。簇首节点采取有状态地址分配方式, 簇成员节点采取无状态地址分配方式, 从而将有状态地址分配方式和无状态地址分配方式有机结合。簇首节点采用有状态地址分配方式从一跳范围内的父节点处获取IPv6地址, 从而降低簇首节点地址配置代价和延迟。簇成员节点通过无状态地址分配方式从一跳范围内的簇首节点处获取IPv6地址且地址重复检测在本簇内进行, 从而降低簇成员节点地址配置代价和延迟。
![]() |
Download:
|
图 5 全IP WSN IPv6地址自动配置过程 |
在NS-2仿真环境下, 对现有的6LoWPAN无线传感器网络分层地址配置方案[15]和本文方案进行分析比较, 仿真参数如表 2所示。节点的地址配置代价由用于地址配置的消息数量来衡量, 地址配置延迟由地址配置所耗费的时间来评估。
![]() |
下载CSV 表 2 仿真参数设置 |
当节点通信半径为30 m时, 基于节点数量的地址配置代价和延迟如图 6、图 7所示。从图 6可以看出, 随着节点数量的增加, 簇成员节点的数量及地址配置代价也会增加, 但本文方案的代价整体比现有方案小。从图 7可以看出, 随着节点数量的增加, 簇成员节点的数量及地址配置延迟也会增加, 但本文方案的增长速度比现有方案小, 并且整体延迟也小于现有方案。
![]() |
Download:
|
图 6 基于节点数量的地址配置代价 |
![]() |
Download:
|
图 7 基于节点数量的地址配置延迟 |
当节点数量为50时, 基于节点通信半径的地址配置代价和延迟如图 8、图 9所示。从图 8可以看出, 现有方案的地址配置代价比本文方案高, 并随着节点通信半径的增加而增加, 本文方案的地址配置代价受节点通信半径的影响较小。从图 9可以看出, 现有方案的地址配置延迟比本文方案高, 并随着节点通信半径的增加而增加, 但是本文方案的地址配置延迟几乎不受节点通信半径的影响。
![]() |
Download:
|
图 8 基于节点通信半径的地址配置代价 |
![]() |
Download:
|
图 9 基于节点通信半径的地址配置延迟 |
由此可见, 本文方案的整体性能优于现有方案, 其原因为是本文方案做了以下改进:
1) 提出基于簇的全IP无线传感器网络层次体系结构以增强网络稳定性。
2) 提出基于分层机制的IPv6地址结构, 针对簇首节点和簇成员节点分别设计IPv6地址结构, 从而实现簇首节点为簇成员节点分配地址以及多个簇并行执行配置地址的目标。
3) 提出基于分布式的IPv6地址配置方案, 将有状态地址分配方式与无状态地址分配方式有机结合, 簇首节点采用有状态地址分配方式加入接入节点动态树获取IPv6地址, 从而降低簇首节点地址配置代价和延迟。簇成员节点通过无状态地址分配方式从一跳范围内的簇首节点获取IPv6地址且地址重复检测在本簇内进行, 从而降低簇成员节点地址配置代价和延迟。
5 结束语本文提出一种基于簇的全IP无线传感器网络地址配置方案。根据全IP无线传感器网络层次体系结构和IPv6地址结构, 设计分布式的IPv6地址配置方案, 将有状态地址分配方式和无状态地址分配方式有机结合。仿真结果表明, 本文方案的地址配置代价和地址配置延迟均低于现有的6LoWPAN无线传感器网络分层地址配置方案。下一步将在Z-Stack 3.0.0 +cc2538 Contiki 6LoWPAN开发板上实现本文地址配置方案, 并基于地址配置代价和延迟等数据, 进一步提高地址配置效率。
[1] |
李建辉, 张永棠. 一种基于偏移编码特里树的高效IP寻址算法[J]. 计算机工程, 2017, 43(4): 84-89. ( ![]() |
[2] |
WU Yan, FAHMY S, SHROFF N B.On the construction of a maximum-lifetime data gathering tree in sensor networks: NP-completeness and approximation algorithm[C]//Proceedings of the 27th Conference on Computer Communications.Washington D.C., USA: IEEE Press, 2008: 1-7. https://ieeexplore.ieee.org/document/4509675/
( ![]() |
[3] |
DJIROUN F Z, DJENOURI D. MAC protocols with wake-up radio for wireless sensor networks:a review[J]. IEEE Communications Surveys and Tutorials, 2016, 19(1): 587-618. ( ![]() |
[4] |
ABDUL-SALAAM G, ABDULLAH A H, ANISI M H. Energy-efficient data reporting for navigation in position-free hybrid wireless sensor networks[J]. IEEE Sensors Journal, 2017, 17(7): 2289-2297. DOI:10.1109/JSEN.2017.2665663 ( ![]() |
[5] |
DELANEY D T, HIGGS R, O'HARE G M P. A stable routing framework for tree-based routing structures in WSNs[J]. IEEE Sensors Journal, 2014, 14(10): 3533-3547. DOI:10.1109/JSEN.2014.2329391 ( ![]() |
[6] |
WANG Xiaonan, CHENG Hongbin, YAO Yufeng. Addressing-based routing optimization for 6LoWPAN WSN in vehicular scenario[J]. IEEE Sensors Journal, 2016, 16(10): 3939-3947. DOI:10.1109/JSEN.2016.2535480 ( ![]() |
[7] |
WANG Xiaonan, ZHONG Shan. All-IP communication between wireless sensor networks and IPv6 networks based on location information[J]. Computer Standards and Interfaces, 2013, 35(1): 65-77. DOI:10.1016/j.csi.2012.05.005 ( ![]() |
[8] |
WANG Xiaonan, QIAN Huanyan. Hierarchical and low-power IPv6 address configuration for wireless sensor networks[J]. International Journal of Communication Systems, 2012, 25(12): 1513-1529. DOI:10.1002/dac.1318 ( ![]() |
[9] |
WENIGER K. PACMAN:passive autoconfiguration for mobile ad hoc networks[J]. IEEE Journal on Selected Areas in Communications, 2005, 23(3): 507-519. DOI:10.1109/JSAC.2004.842539 ( ![]() |
[10] |
DROMS R, BOUND J, VOLZ B, et al.Dynamic Host Configuration Protocol for IPv6(DHCPv6): RFC 1541[S].Fremont, USA: IETF, 2003: 777-791.
( ![]() |
[11] |
THOMSON S.IPv6 stateless address autoconfiguration: RFC 4862[S].Fremont, USA: IETF, 2007: 1-27. https://tools.ietf.org/html/rfc4862
( ![]() |
[12] |
NARTEN T.Neighbor discovery for IP version 6(IPv6): RFC 4861[S].Fremont, USA: IETF, 2007: 1-57. https://tools.ietf.org/html/rfc4861
( ![]() |
[13] |
陈慧杰, 韩江洪, 刘磊. 无线传感器网络中自然能收集分簇路由算法研究[J]. 计算机工程, 2016, 42(3): 143-147. DOI:10.3969/j.issn.1000-3428.2016.03.026 ( ![]() |
[14] |
GAMMAR S M, AMINE E, KAMOUN F. Distributed address auto configuration protocol for MANET networks[J]. Telecommunication Systems, 2010, 44(1/2): 39-48. ( ![]() |
[15] |
WANG Xiaonan, LE Deguang, CHENG Hongbin. Hierarchical addressing scheme for 6LoWPAN WSN[J]. Wireless Networks, 2018, 24(4): 1119-1137. DOI:10.1007/s11276-016-1394-9 ( ![]() |