深挖物联网大数据背后的六大通信协议,DDS/MQTT/CoAP谁更强
那么物联网都有哪些通信协议?
你都了解吗?
他们适用的环境又是如何?
与互联网时代TCP/IP,HTTP一统天下的局面不同,物联网的通信环境有Ethernet, Wi-Fi, RFID, NFC(近距离无线通信), Zigbee, 6LoWPAN(IPV6低速无线版本),Bluetooth, GSM, GPRS, GPS, 3G, 4G等网络,而每一种通信应用协议都有一定适用范围。AMQP、JMS、REST/HTTP都是工作在以太网,COAP协议是专门为资源受限设备开发的协议,而DDS和MQTT的兼容性则强很多。
1.REST(松耦合服务调用)
REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。
而REST被应用于物联网主要是基于HTTP web服务的转化,因为REST模式的Web服务与复杂的SOAP和XML-RPC对比来讲明显的更加简洁,越来越多的web服务开始采用REST风格设计和实现。
特点:
1. 给一切物体一个ID
2.连接物体在一起
3.使用标准方法
4.资源多重表述
5.无状态通信
REST其实是互联网中服务调用API封装风格,物联网中数据采集到物联网应用系统中,在物联网应用系统中,可以通过开放REST API的方式,把数据服务开放出去,被互联网中其他应用所调用,所以它非常利于服务平台与物联终端的独立开发,但它的通讯数据量与API内容密切相关,且是一种无状态通信,对安全机制需要重新设计。
2.CoAP协议
由于物联网中的很多设备都是资源受限型的,即只有少量的内存空间和有限的计算能力,所以传统的HTTP协议应用在物联网上就显得过于庞大而不适用。 IETF的CoRE工作组提出了一种基于REST架构的CoAP协议。
CoAP是一种应用层协议,它运行于UDP协议之上而不是像HTTP那样运行于TCP之上。CoAP协议非常的小巧,最小的数据包仅为4字节。
CoAP协议是否可以替换HTTP协议?
CoAP并不能替代HTTP协议,但是对于那些小设备(256KB Flash 32KB RAM 20MHz主频)而言CoAP的确是一个好的解决方案。
CoAP消息类型
CoAP采用和HTTP协议相同的请求响应工作模式。CoAP协议共有4中不同的消息类型。
CON--需要被确认的请求,如果CON请求被发送,那么对方必须做出响应。
NON--不需要被确认的请求,如果NON请求被发送,那么对方不必做出回应。
ACK--应答消息,如果接受到CON消息的响应。
RST--复位消息,当接收者接受到的消息包含一个错误,接受者解析消息或者不再关心发送者发送的内容,那么复位消息将会被发送。
CoAP消息结构
一个CoAP消息最小为4个字节,以下是CoAP协议不同部分的描述。
【版本Version】:类似于IPv6和IPv6,仅仅是一个版本号。
【消息类型Message Type】:CON,NON,ACK,RST。这些消息类型相当于HTTP协议的PUTGET等
【消息ID Message ID】:每个CoAP消息都有一个ID,在一次会话中ID总是保持不变。但是在这个会话之后该ID会被回收利用。
【标记 Token】:标记是ID的另一种表现、
【选项 Options】:CoAP选项类似于HTTP请求头,它包括CoAP消息本身,例如CoAP端口号,CoAP主机和CoAP查询字符串等。
【负载Payload】:真正有用的被交互的数据。
在当前由PC机组成的世界,信息交换是通过TCP和应用层协议HTTP实现的。但是对于小型设备而言,实现TCP和HTTP协议显然是一个过分的要求。为了让小设备可以接入互联网,CoAP协议被设计出来。
3.MQTT协议(低带宽)
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。做为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。
MQTT协议运行在TCP/IP或其他网络协议,提供有序、无损、双向连接。其特点包括:
1)使用的发布/订阅消息模式,它提供了一对多消息分发,以实现与应用程序的解耦。
2)对负载内容屏蔽的消息传输机制。
3)对传输消息有三种服务质量(QoS):
最多一次,这一级别会发生消息丢失或重复,消息发布依赖于底层TCP/IP网络。即:<=1
至多一次,这一级别会确保消息到达,但消息可能会重复。即:>=1
只有一次,确保消息只有一次到达。即:=1。在一些要求比较严格的计费系统中,可以使用此级
大数据 通信 物联网 DDS MQTT CoAP协议 相关文章:
- 大数据对网络技术和产业的挑战(01-05)
- 大数据:高端安全检测的必由之路(02-27)
- 云计算时代下互联网将获得更多发展动力(06-26)
- 移动网络中的大数据(10-15)
- 大数据促进下一代高性能光网络发展(11-13)
- 大数据助力精细化网络运营(07-18)