2 介绍

因无线传感网络简单、成本低、易于部署,最近,从商业和技术角度对无线传感网络的研究兴趣正在增强。无线传感网络可用于不同的领域,从测绘侦察到自动化过程控制。典型的无线传感网络由大量电池供电的传感器和制动器组成,这些传感器和制动器通常配备了有限的存储和处理能力。重要的是这些设备使用无线通信,因为节点数通常非常巨大,采用有线基建部署的成本过于昂贵。自然的,这种网络是非常动态的:无线链接随时可能临时断开,节点可能经常损坏和替换。在这种情况下,传统的使用地址进行独立节点间通信的方法将会变成恶梦。固定网络下的应用和需要扩展无线传感器的设备将需要管理、维持同大量节点的通信。大多数情况下,它们不想了解信息的目标设备的地址或标识,而是更感兴趣数据的内容。比如,一个资产跟踪应用更感兴趣某一资产的当前位置,而不是信息的GPS接收机的网络地址。此外,多个应用可能对相同的传感数据感兴趣,但用途不同。在这种情况下,节点必须平行地管理、维持同多个应用的通信。这可能超出这些简单、低成本的传感器设备的有限能力。
  另一个问题是使用的网络寻址方案的不同。比如,TCP/IP网络下的应用如何寻址一个运行于ZigBee无线网络中的传感设备。
  上述问题可以采用数据中心通信方案来克服,在这种方案中,信息被分发到接收者不是基于网络地址,而是基于内容、兴趣的用途。一个广为人知的数据中心通信方案就是“发布/订阅”消息系统,该系统已经被广泛应用于企业网络,主要得益于其可扩展性和对动态网络拓扑的支持。向无线传感网络扩展企业发布/订阅系统同时将实现无线传感网络与企业网络的无缝集成,传感器收集的数据将像其他企业信息一样可以被所有应用使用,能够从任何的企业应用控制传感器。这可以通过例如使用MQTT协议来实现,MQTT协议是一个开源、轻量级发布/订阅协议,被设计专用于机器到机器、移动应用。它对在带宽有限的网络或可间断的网络中进行的通信进行了优化。但是,MQTT要求一个类似TCP/IP的网络,能够提供有序、低丢包率的连接,但这对于无线传感等简单、低成本的设备来说太过于复杂。
  本文的目的是详细说明MQTT-SN,一个应于无线传感网络的发布/订阅协议。MQTT-SN可以认为是MQTT适配无线通信环境特性的版本。由于对衰弱和干涉干扰的敏感性,无线广播链接一般比有线链接有更高的失败率,同时有更低的传输效率。例如,基于IEEE 802.15.4标准的无线传感网络提供了在2.4GHz基带上最高250kbit/s的带宽。而且,为了应对传输错误,它们的数据包非常小,在IEEE 802.15.4标准中,物理层的数据包的长度被限制在128字节以下,128字节的半数还可能被MAC层、网络层、安全层等头信息占用掉。
  MQTT-SN同样为在低成本、电池供电、处理和存储资源有限的设备上的实现提供了优化。
  起初,MQTT-SN被开发用于运行在ZigBee APS层之上。ZigBee是一个旨在为无线传感网络定义开放、全球性的通信标准的开放工业联盟。为了实现全球化,ZigBee选择了IEEE 802.15.4标准做为物理层和MAC层的协议,然后在此标准之上增加要求的网络层、安全层和应用层,这些层为不同供应商的产品间提供互操作性。
  MQTT-SN设计时以底层网络服务透明化为原则。任何网络只要能够提供任意节点和特殊节点(如网关)间双向数据传输服务的都应该能够支持MQTT-SN。例如一个简单的允许从源端向指定目标端发送数据消息的数据报服务就能满足要求。如果采用了网关发现流程,则还需要广播数据传输服务。为了减少这种发现流程所产生的广播流量,一个适合的方法是让MQTT-SN向底层指明广播半径。

你可能感兴趣的:(2 介绍)