鲜明亚 - Fotolia.

评估 衡量您正在考虑的技术,产品和项目的优缺点。

物联网消息:MQTT协议踩到了盘子

MQTT协议超过15岁,但它的流行现在正在增加随着物联网持有的。

根据MQTT协议的创建者之一的说法,MQTT协议并没有失去它的用处,即使它在早期就已经存在了物联网

开放发布/订阅消息传递协议是由IBM的安迪·斯坦福-克拉克阿伦尼普斯目前的Cirrus Link解决方案。上世纪90年代中期,他们两人在帮助油气公司找到一种有效的数据传输协议时,对MQTT的需求就出现了。而大量的其他协议,大多数都需要一个switch语句来处理数据,虽然在静态数量的设备上是可行的,但随着越来越多的设备出现,这将变得越来越具有挑战性。

为了解决这个问题,Stanford-Clark和Nipper在1999年发布了与数据无关的MQTT协议。当时,MQTT是MQ遥测传输的简称,MQ指的是IBM的MQ系列;首字母缩写后下降了它的拼写版本。

MQTT不可否认花了一段时间才能抓住。虽然自1998年以来,虽然是公共领域的一部分,但它通常被视为所有权,因为只有IBM正在使用它。在罗杰·光线问斯坦福克拉克关于MQTT在2009年的地位,发现它不是专有的,他回家了创建了开源MQTT经纪人Mosquitto这部电影在几周后发布。

各种MQTT实现很快推广了该协议,并在公开发布后三年被宣布,MQTT将是标准化的。MQTT正式批准为OASIS标准2015年10月28日,进一步推动了它在大型组织中的使用。2016年1月底,MQTT被接受为ISO标准;IEC 20922预计在2017年发布。

MQTT协议到底是什么?

发布/订阅协议在M2M环境中得到了广泛的应用,现在由于物联网的出现,它又获得了新的生命。MQTT优于其他协议(如HTTP)和传统的客户机/服务器交换,因为它的包开销最小。

就像邮政服务一样,MQTT并不关心您发送的内容。无论你放在字母盒中,它为您提供运输它,将其传送到目的地,另一方面推出该人知道如何阅读它。
安迪·斯坦福-克拉克IBM杰出工程师,

Stanford-Clark将MQTT的成功归功于其简单性。与其他协议不同,MQTT不需要标准格式,例如温度或时间邮票等数据;组织可以设计有效载荷,以便为自己的需求定制它。

“就像邮政服务一样,”斯坦福-克拉克说,“(MQTT)不关心你寄什么。不管你在信箱里放了什么,它都会替你把它送到目的地,并且假定信箱另一头的人知道怎么读。”

MQTT也很流行,因为它的客户端和订阅者可以是运行MQTT库并连接到MQTT代理的任何设备或系统数组。客户端图书馆可用在许多编程语言中,包括Android、Arduino、C、c++、iOS和JavaScript,或组织可以编写自己的MQTT库。

MQTT的低带宽使它成为受限设备和不可靠网络的理想选择,尽管它也经常用于可靠的网络以保留带宽。MQTT支持双向通信,即使是在NAT路由器之后。它使用由客户端发起的TCP连接连接客户端和代理;维护这个连接会产生2字节的开销。

目前,MQTT协议在各种行业和物联网环境中使用,包括智能家居,制造和能量。之后推出Facebook Messenger,它利用MQTT不仅节省电池寿命,而且还以“几百毫秒”的速度传递消息,许多其他应用程序也效仿了这一做法。Karma Mobility的移动热点连接到它的后端基础设施用MQTTAmazon Web Services成为继IBM和微软之后的第三大平台提供商宣布MQTT作为它的主要传输协议。

MQTT代理的角色

“MQTT代理是每个MQTT部署的核心,”dc-square GmbH的首席执行官Christian Götz解释道霍维姆公司。“它是物理设备或应用程序和企业系统之间的连接链路。”

MQTT使用代理以促进基于消息的主题的发送消息(客户端)和接收消息(订阅者)之间的消息。MQTT经纪人从客户端收集邮件并使用分层字符串过滤并将其路由到相应的订阅者。一些经纪服务提供商还提供基于内容的过滤,分离和路由消息,而不是主题。

代理负责订阅、持久会话、错过消息和整体安全性,包括身份验证和授权。寻求MQTT代理的企业应该评估代理的可伸缩性、集成和监视功能以及抗故障能力。

MQTT缺点

根据Stanford-Clark的说法,安全最初被有意识地排除在协议之外,因为他和Nipper知道可以将安全机制封装在MQTT中以提高安全性。同时,斯坦福-克拉克说,通过MQTT发送的信息,比如来自气象站的风速数据,并不是特别需要保护。

迈克尔·科布CISSP-ISSAP警告说,时代已经改变,使用MQTT的组织必须考虑到这一点。

Cobb说:“我主要担心的是,历史会重演,供应商/开发者会争先夺后地进入市场,这通常意味着没有注意到安全问题。”“对于物联网和MQTT,安全需求会因用例的不同而有很大差异,但这对每个人来说都是一个新原则,除了那些可以应用于一般网络安全的最佳实践之外,没有明确的最佳实践。”

“正如我们所知道的,同样的旧缺陷/错误即使在最好的保护网络中也会继续调高,”Cobb说。“所以我的建议是,项目经理应该看看如何在开发开始之前解决其IoT产品的安全问题,因此安全被烘焙,而不是以后作为糖涂层涂抹,以安抚受害者遭受黑客攻击的用户。”

经纪商也可以促成或破坏MQTT的交易。

“MQTT的体系结构是基于可用的代理的,”Götz说。“因此,任何MQTT代理都必须是高可用的。”

Götz也指出了安全问题,但也提到了其他措施,如将MQTT与先进的安全标准(如TLS和using)相结合证书对于客户端身份验证——可以帮助提高安全性。此类措施通常是中介的责任,因此企业应该适当审查选择。

基于主题的过滤是MQTT的另一个具有挑战性的方面,它必须事先进行适当的安排。发布者和订阅者都必须知道主题以确保传递,但即便如此,如果没有设备订阅特定的主题,消息也可能没有收件人。

MQTT协议在未来领导的地方

“独特的特性集主要是MQTT成为事实上的物联网协议之一的原因,”Götz说。除了低带宽消耗、双向通信和易用性之外,MQTT还具有“内置的QoS级别,这使得重新发送的应用程序级逻辑过时,并节省了应用程序开发的时间。”

“这是一段时间的考验,”斯坦福克拉克说。“在我们考虑对MQTT的任何变化进行任何变化之前,我们在1998年发表的任何改变之前是10年的,这是一个良好的10年或更长时间的宗旨。”

然而,预计将于2017年发布的MQTT第5版将包括一些更新。

“委员会决定为已提议的一些功能(至5号版本)增加效率,“斯坦福·克拉克说。”但有一些东西是我们预期在不久的将来需求中的大规模高吞吐量,数百百万美元的设备类型。MQTT有一些部分,1998年我们甚至没有考虑过,我们仍在考虑数万个连接到经纪人的设备,而不是连接到经纪人的数百万种设备;一些设计含义MQTT投入您已经受到挑战。“

例如,斯坦福-克拉克说,“信息过期。目前在MQTT消息没有到期,如果你把一个消息代理然后忘记收集或没有人把它捡起来,它会永远存在,而政策到期,如果你有一个消息说,三个星期;三周后,它就消失了,这样你就不会慢慢地用一堆没人想过会收到的旧信息堵塞你的经纪人。”

那么,MQTT的复兴能否经受住时间的考验?

“这只是一开始,”哥茨说。“我们将在未来几年内看到更多的MQTT系统。此外,许多依赖于MQTT的公司或过去的公司都在长期运行;他们选择了MQTT,至少会使用它接下来五到十年。“

“我很确定MQTT不会很快消失,”斯坦福-克拉克说。“第5版将使它适用于未来20年或30年。”

下一个步骤

准备的企业IOT浪潮进来

那么什么是物联网就是这样

不要让掠夺性的行为阻碍物联网

深入挖掘物联网(IoT)标准和认证

搜索CIO.

搜索安全

搜索网络

搜索数据中心

搜索数据管理

关闭