一种基于组件的无线传感器网络网关的建设策略

时间:2020-11-08 16:34:42 论文范文 我要投稿

一种基于组件的无线传感器网络网关的建设策略

  摘要:针对无线传感器网关设计的适应性和重用性问题,我们提出了一个基于构件的WSN网关设计方法。该设计具有下列优点:服务和协议可以被配置和远程更新;网关可以连接异构网络并且网关两侧的协议可以灵活组合并提供服务解释转换。该网关设计用XML描述模块和配置接口,允许不同的协议栈组合和网络层相结合,以满足特定的WSN应用要求。为了证明模块化设计的可行性,我们首先实现了一个原型,并给出网关的一些实施细节,并给出了基于ZIGBEE的无线传感器网络实验步骤.最终实现了一个基于构件的无线传感器网络,验证该设计模型的有效性和可用性。

  关键词:组件;传感器网关, 协议栈组合;高效查询

  无线传感器网络(WSN)是一组无线连接的传感器节点,用于执行分布式传感检测任务。主要应用包括环境与健康监测,工业自动化和监视检测。无线传感器网络和传统网络之间的主要区别是节点通常具有非常有限的能量和计算能力。通信协议的设计应适应于该特点。显然直接在WSN使用HTTP协议将引进高开销,因此,无线传感器网络通常使用专有协议和无线接口,需要通过访问网关获得无线传感器网络的服务。

  在本文中,我们假设无线传感器网络通过网关连接到广域网,如广域网,互联网和蜂窝移动网络。通常配有一个WSN网关,至少有两个网络接口:一个用于在广域网络端,另一个用于无线传感器网络一端。我们的网关设计基于应用级网关[1]概念,网关包含了所有发生在应用层的网络协议和协议转换。该情况是典型的数据交换模式,从广域主机收到请求,发送请求消息到无线传感器网络中,无线传感器网络接收数据,将回复数据消息回送给请求主机。

  关于无线传感器网络中的网关的研究都大多集中在网关的基本功能:分布查询和数据聚合[2-3]。这些建议提供了高效节能的传感器网络的通信方案。在文献中,介绍了基于Web技术的WSN网关架构[4]。在这个设计中,所有的查询和管理,可以通过基于Web的方法来处理。WSN网关的研究往往假设WSN一端和广域网一端几乎同构的网络环境。因此,目前的无线传感器网络网关通常是预定义的网络协议的某种组合。

  在实践中,不同的无线传感器网络可能使用不同的协议进行数据采集、路由,并且各种不同的应用程序可能运行在无线传感器网络中。经常还可能有几种不同的广域网中,需要无线传感器网络的相同服务。伴随着完美的WSN网关设计,维护和升级可能会相当复杂。我们的研究动机是解决该问题,给出在各种网络环境中部署相同的网关的设计方案。

  1 WSN网关模块化架构

  图1中给出了模块化WSN网关的体系结构。网关的功能可以分为控制功能集和数据功能集。数据功能集实体处理用户接入到无线传感器网络[5]。它可以为用户提供不同的接口来访问WSN服务。通过控制功能集的功能,具有管理权限的用户可以维护和更新数据功能集实体。此外,在数据功能集的状态,可以由控制功能集实体监视。

  在功能分配到控制功能集和数据功能集有几个优势。由于在数据功能集处理用户请求和数据答复,其数据流量远远高于在控制功能集中。为了实现高效率,如果平台的操作系统具有这样的两层体系结构,数据功能集和控制功能集实体可以在内核空间与用户空间分别实施。划分成不同的功能集合的另一个原因是,对于不同的功能集可以是不同的安全性和认证要求。很显然,该配置功能集需要比无线传感器网络的用户访问更高的安全级别。

  1) 控制功能集实体:控制功能集包含配置界面、注册表配置和控制和监视实体。配置接口发送和接收控制消息。解析传入的控制消息后配置被存储到网关配置注册表中。控制和监视实体提供一个界面,用于管理和更新数据功能集实体,监测数据功能集实体的状态。例如,在数据功能集可以为控制功能集生成网络两侧上的流量负载信息。如果有多个网关连接到无线传感器网络,交通信息可以在交换网关之间进行负载均衡。

  2) 数据功能集实体:数据功能集包含了TCP/IP协议包,WSN协议包,协议转换单元。基于WSN网关协议栈应包括几种不同的协议栈,它们可以灵活组合,建立广域网和无线传感器网络之间的网关功能。协议栈应包含几层的因特网协议,即网络层、传输层和应用层的分层结构。每层包含对应的协议元素和其内建的协议支持。协议模块化结构的详细信息将在第三部分描述。

  显然用于描述服务中的协议转换器需要一个共同的格式。统一格式将简化解释、记录和匹配服务。应该定义一个统一的数据回复格式,简化数据应答消息的解释并转化为不同的WSN服务。这种格式可以是标准的,例如文献定义的UPNP [6],或一种特有的XML的服务描述。适配器作为一个典型的协议转换工作,即他们的主要任务是以预定义的格式翻译到达和离开协议栈的特定消息。无线传感器网络服务在服务注册表中记录的信息可能包含的服务类型(如定期测量或事件触发服务),传感器地址,单位和精度。此外,服务描述应在底层协议中给出,供 WSN的应用程序所使用详细协议,即定义消息是如何穿越WSN协议栈。通过配置接口描述可配置的服务。

  2 WSN网关模块化架构的实现

  在本节中,我们首先解释WSN网关使用的模块化概念。然后描述目前的内部和外部接口以及消息。最后,给出数据功能集实体协议包和协议转换的实现细节。

  如果假设操作系统支持一个两层的架构(不同的内核和用户空间),例如Linux,实现模块化WSN网关可以使用多线程的用户空间,或内核/用户空间结构。在第一种方法中,所有的功能集实体编译成一个多进程程序。在第二种方法中,在不同的功能集中的实体作为独立的进程在用户空间中运行。第三个选项是将一些实体移动到内核空间中,以提高性能。但该方案开发和调试代码难度都较大。我们采用了多进程的用户空间结构原型,因为它与内核空间的方法相比,更容易地开发,它允许为每个功能集实体的进行隔离测试。

  2.1 模块化概念

  WSN网关具有模块化结构使其可配置。模块代表协议和服务的描述,可以通过配置接口进行维护和更新。当网关部署在不同的环境中,网络环境经常发生变化,模块化结构位于数据功能集实体:

  在协议栈每一层协议包中的协议元素,协议转换器中的适配器,以及无线传感器网络的服务描述。在我们的网关设计方案中,模块被表示为XML格式。协议信息,如数据包格式,也通过XML描述。传感器节点的帧结构中以 XML格式表示。引入了新的数据类型到XML描述中,解析处理相同的约定处理消息的协议元素。通过XML模式文件验证数据类型和其他规则的有效性。WSN 网关协议的描述可以建立在一个内存中的数据结构用于解析和封装消息的协议元素。