对于软件公司来说,IoT模式为其硬件设计以及所提供的服务带来决定性的改变。其中影响最大的一个方面是通信协议。
  
  通信协议可以被认为是一种语言,即两台或两台以上的设备可以相互交流。同时无规矩不成方圆,通信协议也遵循一组规则,两台设备会将有意义的信息传递给对方。在分布式系统中通信协议极为重要,相同的协议不同的部分在多个位置独立运行。系统在运行进程时可能是多样化的,因此在系统中需要保证一组通用的指令来通信。
  
  IoT物联网之所以可以掀起热潮,信息物理融合系统(Cyber-Physical Systems,简称CPS)功不可没。物理设备连接到互联网和传递数据及接收数据的概念基于 IoT 解决方案的真正地实现。与此同时,这也增加了现有的通信协议及互联网的复杂性。
  
  IoT物联网的发展历程中带来了很多可能性,但其中唯一可行的是机器与机器(M2M)通过互联网实现实时有效连接。一台设备被连接到互联网仅被认为是人际互动间的产物,而不是一个顺其自然的结果。因此,协议与互联网之间的通信总是在不可靠与缓慢的基础上发展。

这五种IoT物联网协议:TCP/IP、UDP、HTTP、MQTT、CoAP概述:

IoT五种常见物联网协议:TCP/IP、UDP、HTTP、MQTT、CoAP初探 

除了通信协议,互联网协议体系结构的另一个方面是 TCP / IP 堆栈。它控制两台计算机之间的数据传输。其中采用三次握手建立一个连接,其中涉及客户端确认数据的接收且发送确认消息给服务器。第二次握手是服务器端接收到客户端的数据后,返回确认回单,第三次是客户端也返回一个确认回单给服务器端,从而关闭通信通道。

这种通信方法的优点具有可靠性,可共享所有被发送的数据,但因为其过程都需要验证,所以消耗时间比较久。

用户数据报协议(User Datagram Protocol,简称UDP)是一种比较快的通信方式,因为减少了确认程序。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去。因此,与 TCP/IP 相比,UDP 的可靠性相对不高,但是比较快。对于M2M 项目的快速原型,一个非常简单的解决方案是使用 UDP,因为就 UDP 头包含很少的字节,比 TCP 负载消耗少。

IoT五种常见物联网协议:TCP/IP、UDP、HTTP、MQTT、CoAP初探

在IoT 开发中协议最大的不同是在 OSI 模型的应用程序层。这一层在通信网络中指定了接口方法。系统如何连接服务器且数据如何发送都由这一层来决定。

其实最受欢迎的通信协议莫过于超文本传输协议(Hyper Text Transfer Protocol,简称HTTP)。主要应用于 web 浏览器。它运行在一个客户/服务器模型上,服务器响应任何的客户端需求。因 web 网页可能会加载很多内容,因此该协议有必要建立在 TCP/IP 堆栈之上。

IoT五种常见物联网协议:TCP/IP、UDP、HTTP、MQTT、CoAP初探 来自:(软盟)

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。该属性允许客户端在异常中断的情况下发送通知给代理。这个快速的反馈有利于无线传感器网络自动再生,同时检测并修复缺失节点和异常值,最终确保无线传感器网络中数据流完美循环。

IoT 物联网协议

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 字节的头文件对于连续流系统如环境监测传感器网络是一个不错的选择。

IoT五种常见物联网协议:TCP/IP、UDP、HTTP、MQTT、CoAP初探相关推荐

  1. 打印服务器通常不采用tcp ip协议,TCP/IP 卷Ⅰ协议-绪论

    TCP/IP 概述 简介:本系列文章,主要对TCP/IP协议族进行概述,其实对于整个计算机网络来说,TCP/IP只是属于其中的一个或者两个层级里面的内容: 1.1 分层 网络协议通常分不同的层次进行开 ...

  2. 基础(网络知识 三)——网络系统各层协议分析总结(TCP/IP/UDP/HTTP.....)

    网络系统按照分层的思想设计了当下的网络系统结构,主要是TCP/IP四层网络结构,各层是如何工作的呢?每一层都有相关的协议,各协议具体是什么?原理与作用是什么?本节主要总结介绍网络层的相关协议规则,从而 ...

  3. 物联网(IOT)之常见物联网通信技术概览-无线篇③

    上篇:物联网(IOT)之常见物联网通信技术概览-无线篇② 无线通信技术-LPWA通信技术 LPWAN(Low Power Wide Area Network): 低功耗广域网络,专为低带宽.低功耗.远 ...

  4. 物联网(IOT)之常见物联网通信技术概览-无线篇②

    上篇:物联网(IOT)之常见物联网通信技术概览-无线篇① 无线通信技术-蜂窝移动网络 蜂窝移动网络服务,百通俗的理解就是手机服务,包括通话,流量等服务. 1.简介: 蜂窝网络或移动网络(Cellula ...

  5. 计算机网络几种常见的协议

    一 .典型协议: 传输层:         常见的协议有  TCP/UDP 协议 应用层:         常见的协议有 HTTP,FTP 协议 网络层:         常见的协议有 IP 协议,I ...

  6. 【网络】几种常见的协议

    几种常见的协议 DNS(Domain Name System):域名解析协议,端口号:53:通过域名解析获得域名所对应的IP FTP(File Transfer Protocol):文件传输协议,端口 ...

  7. 五种常见的DNS攻击类型及应对方式

    随着俄乌冲突中网络战的升级,DNS安全成为业界关注的焦点. 无论是去年3月份NSA发布的保护性DNS(PDNS)推荐指南,还是俄罗斯主权互联网的核心--DNS服务在战争期间的大规模启用,都表明DNS安 ...

  8. 简单理解TCP/IP传输层协议TCP和UDP

    TCP/IP模型中的传输层主要负责端到端通信,和数据链路层类似,数据链路层负责点到点的通信.TCP/IP模型的传输层主要协议有TCP (Transmission Control Protocol,传输 ...

  9. 五种常见的PHP设计模式

    2019独角兽企业重金招聘Python工程师标准>>> 五种常见的PHP设计模式 设计模式 一书将设计模式引入软件社区,该书的作者是 Erich Gamma.Richard Helm ...

最新文章

  1. 浮动元素会引起的问题和你的解决办法
  2. Android-Toolbar相关
  3. DropdownList绑定的两种方法
  4. F1~F12在Windows系统中的作用
  5. Tensorflow Python API 翻译(sparse_ops)
  6. java实现log4j_log4j在java中实现
  7. JavaScript在HTML中的应用2
  8. vue弹层时禁止页面滚动
  9. Seata多微服务互相调用_全局分布式事物使用案例_Storage-Module 仓储微服务说明---微服务升级_SpringCloud Alibaba工作笔记0063
  10. DXperience 9.1.3
  11. 欧专局对同族专利的详解
  12. python提示jsondecodeerror是什么意思_Python爬虫解析json遇到一类JSONDecodeError的解决方案...
  13. 5G时代能给我们带来什么?
  14. 京苍穹土地利用规划建库工具软件_北京苍穹土地利用规划建库工具软件V10使用手册.doc...
  15. 两级运算放大器设计与仿真
  16. 空指针异常 NullPointException
  17. 依托北斗的同步终极解决方案
  18. Cisco设备的启动以及交换机的介绍
  19. 基于egou论坛的新帖子提醒chrome扩展
  20. 生存指南2找不到服务器,生存指南2无法进入游戏怎么解决 无法进入游戏解决方法攻略...

热门文章

  1. 牛掰!100行Python,自动动手打造一款多国语言翻译软件,酷啊!
  2. event.target与event.currentTarget的区别
  3. div右上角的数字提示
  4. # CentOS 7 安装 NETBOX
  5. 云桌面 eyeOS发布专业版
  6. 利用.pbk来实现ADSL开机自动拨号
  7. 台达伺服b3设置_雷赛BAC332E运动控制器控制台达B3伺服电机的使用入门介绍(精)...
  8. 教你winscp使用教程
  9. win8 桌面显示计算机图标怎么删除,win8系统桌面图标显示快捷方式箭头怎么删除...
  10. python猜字游戏_python入门到实践-猜字游戏