对接物联⽹设备tcp协议_TCPIP、UDP、HTTP、MQTT、
CoAP这五种物联⽹协议
对于软件公司来说,IoT 模式为其硬件设计以及所提供的服务带来决定性的改变。其中影响最⼤的⼀个⽅⾯是通信协议。
通信协议可以被认为是⼀种语⾔,即两台或两台以上的设备可以相互交流。同时⽆规矩不成⽅圆,通信协议也遵循⼀组规则,两台设备会将有意义的信息传递给对⽅。在分布式系统中通信协议极为重要,相同的协议不同的部分在多个位置独⽴运⾏。系统在运⾏进程时可能是多样化的,因此在系统中需要保证⼀组通⽤的指令来通信。
IoT 之所以可以掀起热潮,信息物理融合系统(Cyber-Physical Systems,简称CPS)功不可没。物理设备连接到互联⽹和传递数据及接收数据的概念基于 IoT 解决⽅案的真正地实现。与此同时,这也增加了现有的通信协议及互联⽹的复杂性。
tcpip协议pdfIoT 的发展历程中带来了很多可能性,但其中唯⼀可⾏的是机器与机器(M2M)通过互联⽹实现实时有效连接。⼀台设备被连接到互联⽹仅被认为是⼈际互动间的产物,⽽不是⼀个顺其⾃然的结果。因此,协议与互联⽹之间的通信总是在不可靠与缓慢的基础上发展。
除了通信协议,互联⽹协议体系结构的另⼀个⽅⾯是 TCP / IP 堆栈。它控制两台计算机之间的数据传输。其中采⽤三次握⼿建⽴⼀个连接,其中涉及客户端确认数据的接收且发送确认消息给服务器。第⼆次握⼿是服务器端接收到客户端的数据后,返回确认回单,第三次是客户端也返回⼀个确认回单给服务器端,从⽽关闭通信通道。
这种通信⽅法的优点具有可靠性,可共享所有被发送的数据,但因为其过程都需要验证,所以消耗时间⽐较久。
⽤户数据报协议(User Datagram Protocol,简称UDP)是⼀种⽐较快的通信⽅式,因为减少了确认程序。它是⾯向⾮连接的协议,它不与对⽅建⽴连接,⽽是直接就把数据包发送过去。因此,与 TCP/IP 相⽐,UDP 的可靠性相对不⾼,但是⽐较快。对于M2M 项⽬的快速原型,⼀个⾮常简单的解决⽅案是使⽤ UDP,因为就 UDP 头包含很少的字节,⽐ TCP 负载消耗少。
在IoT 开发中协议最⼤的不同是在 OSI 模型的应⽤程序层。这⼀层在通信⽹络中指定了接⼝⽅法。系统如何连接服务器且数据如何发送都由这⼀层来决定。
其实最受欢迎的通信协议莫过于超⽂本传输协议(Hyper Text Transfer Protocol,简称HTTP)。主要应
⽤于 web 浏览器。它运⾏在⼀个客户/服务器模型上,服务器响应任何的客户端需求。因 web ⽹页可能会加载很多内容,因此该协议有必要建⽴在 TCP/IP 堆栈之上。
MQ 遥测传输(MQ Telemetry Transport,简称MQTT)是⼀个⾯向 IoT 应⽤程序的轻量级连接协议。它基于 TCP/IP ⽹络连接使⽤发布/订阅⽅法来传输数据。设计思想是开放、简单、轻量、易于实现,这
也使它成为 IoT 开发的理想平台。
MQTT 很多有⽤的功能适⽤⾯向 IoT 应⽤程序。简⽽⾔之,想象⼀个公告板,⽆论什么时候,你都可以在上⾯记录或招贴。同时,对你所记录的内容感兴趣的任何⼈都可以看到。
MQTT 差不多就是这样的功能。
MQTT 包括代理和客户端两个部分。客户端可以访问或修改设备的数据,代理是持有并传递数据。
MQTT 使⽤发布/订阅消息模式。客户端可以在⼀个话题(Topic)下⾯发布特定参数数据给代理。另⼀个对此话题感兴趣的客户可以订阅该话题,并定期收到更新的消息。
MQTT 提供⼀个有质量的服务,从 IoT ⾓度来看,其本质是消息的优先级。在任何情况下⼀个重要的消息可以传输到⽬的地,因此有了服务质量(QoS),虽然传输速度会变慢但是交付有了保证。⼀个动态的数据源速度优先于效率,然⽽分配⼀个较低的 QoS,更像是⼀
个“fire-and-forget”事件,如 UDP。
在⼀个主题下,MQTT 可以保留最后⼀个已收到的消息,前提是它发送给订阅者订阅链已启动。这允许订阅者在⼀个存在的客户端和代理⽹络中异步连接。这也为检查冗余及数据丢失提供了⼀个⼯具。
MQTT 客户端有⼀个属性称之为 Last Will a和 Testament。该属性允许客户端在异常中断的情况下发送通知给代理。这个快速的反馈有利于⽆线传感器⽹络⾃动再⽣,同时检测并修复缺失节点和异常值,最终确保⽆线传感器⽹络中数据流完美循环。
CoAP 是⼀个基于 REST 模型的⽹络传输协议。主要⽤于轻量级 M2M 通信。由于物联⽹中的很多设备都是资源受限型的,即只有少量的内存空间和有限的计算能⼒,所以传统的 HTTP 协议应⽤在物联⽹上就显得过于庞⼤⽽不适⽤,CoAP 应运⽽⽣。
就⽤户可见性⽽⾔,CoAP 模拟了 HTTP 协议,并从这个⾓度来看,读数传感器数据本质上是像做⼀个 HTTP 请求。
CoAP 被认为是⼀种不会过时的技术协议,根据 Grtner 预测,500 亿台设备将会连接到互联⽹,未来进⼀步发展将迫切需要低成本、低能耗的设备。CoAP协议被设计⽤于与 10 kb RAM ⼀样的系统。
CoAP 更有趣的功能之⼀是能够发现⽹络中的节点。这对于低功耗⽆线传感器⽹络的⾃治和⾃我修复设计⾮常有⽤。关于⽆线传感器⽹络的可扩展性问题,可以使⽤ CoAP 协议来发现节点常规的冗余。
CoAP 是建⽴在 UDP 栈上,这是与 HTTP 或 MQTT 相⽐最主要的区别。它可以更加快速和更好的资源优化,⽽⾮资源密集型。
然⽽,在 CoAP 协议下 QoS 因素保持不变情况下,CoAP 相⽐ HTTP/MQTT 更加不可靠。但是 4 字节的头⽂件对于连续流系统如环境监测传感器⽹络是⼀个不错的选择。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论