物联网应用层协议选择和分析--MQTT、CoAP 、HTTP、XMPP、SoAP.doc

物联网应用层协议选择和分析--MQTT、CoAP 、HTTP、XMPP、SoAP.doc

ID:28109851

大小:180.50 KB

页数:10页

时间:2018-12-08

物联网应用层协议选择和分析--MQTT、CoAP 、HTTP、XMPP、SoAP.doc_第1页
物联网应用层协议选择和分析--MQTT、CoAP 、HTTP、XMPP、SoAP.doc_第2页
物联网应用层协议选择和分析--MQTT、CoAP 、HTTP、XMPP、SoAP.doc_第3页
物联网应用层协议选择和分析--MQTT、CoAP 、HTTP、XMPP、SoAP.doc_第4页
物联网应用层协议选择和分析--MQTT、CoAP 、HTTP、XMPP、SoAP.doc_第5页
资源描述:

《物联网应用层协议选择和分析--MQTT、CoAP 、HTTP、XMPP、SoAP.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、物联网应用层协议选择和分析--MQTT、CoAP、HTTP、XMPP、SoAP  MQTT协议  MQTT(MessageQueuingTelemetryTransport,消息队列遥测传输)最早是IBM开发的一个即时通讯协议,MQTT协议是为大量计算能力有限且工作在低带宽、不可靠网络的远程传感器和控制设备通讯而设计的一种协议。  MQTT协议的优势是可以支持所有平台,它几乎可以把所有的联网物品和互联网连接起来。  它具有以下主要的几项特性:  1、使用发布/订阅消息模式,提供一对多的消息发布和应用程序之间的解耦;  2、消息传输不需要知道负载内容;  3、使用TCP

2、/IP提供网络连接;  4、有三种消息发布的服务质量:  QoS0:“最多一次”,消息发布完全依赖底层TCP/IP网络。分发的消息可能丢失或重复。例如,这个等级可用于环境传感器数据,单次的数据丢失没关系,因为不久后还会有第二次发送。  QoS1:“至少一次”,确保消息可以到达,但消息可能会重复。  QoS2:“只有一次”,确保消息只到达一次。例如,这个等级可用在一个计费系统中,这里如果消息重复或丢失会导致不正确的收费。  5、小型传输,开销很小(固定长度的头部是2字节),协议交换最小化,以降低网络流量;  6、使用LastWill和Testament特性通知有关各方客

3、户端异常中断的机制;  在MQTT协议中,一个MQTT数据包由:固定头(Fixedheader)、可变头(Variableheader)、消息体(payload)三部分构成。MQTT的传输格式非常精小,最小的数据包只有2个bit,且无应用消息头。  下图是MQTT为可靠传递消息的三种消息发布服务质量    发布/订阅模型允许MQTT客户端以一对一、一对多和多对一方式进行通讯。  下图是MQTT的发布/订阅消息模式    CoAP协议  CoAP是受限制的应用协议(ConstrainedApplicationProtocol)的代名词。由于目前物联网中的很多设备都是资源

4、受限型的,所以只有少量的内存空间和有限的计算能力,传统的HTTP协议在物联网应用中就会显得过于庞大而不适用。因此,IETF的CoRE工作组提出了一种基于REST架构、传输层为UDP、网络层为6LowPAN(面向低功耗无线局域网的IPv6)的CoAP协议。  CoAP采用与HTTP协议相同的请求响应工作模式。CoAP协议共有4中不同的消息类型。  CON——需要被确认的请求,如果CON请求被发送,那么对方必须做出响应。NON——不需要被确认的请求,如果NON请求被发送,那么对方不必做出回应。ACK——应答消息,接受到CON消息的响应。RST——复位消息,当接收者接受到的

5、消息包含一个错误,接受者解析消息或者不再关心发送者发送的内容,那么复位消息将会被发送。  CoAP消息格式使用简单的二进制格式,最小为4个字节。  一个消息=固定长度的头部header+可选个数的option+负载payload。Payload的长度根据数据报长度来计算。  主要是一对一的协议  举个例子:  比如某个设备需要从服务器端查询当前温度信息。  a.请求消息(CON):GET/temperature,请求内容会被包在CON消息里面  b.响应消息(ACK):2.05Content“22.5C”,响应内容会被放在ACK消息里面    CoAP与MQTT的区别

6、  MQTT和CoAP都是行之有效的物联网协议,但两者还是有很大区别的,比如MQTT协议是基于TCP,而CoAP协议是基于UDP。从应用方向来分析,主要区别有以下几点:  1、MQTT协议不支持带有类型或者其它帮助Clients理解的标签信息,也就是说所有MQTTClients必须要知道消息格式。而CoAP协议则相反,因为CoAP内置发现支持和内容协商,这样便能允许设备相互窥测以找到数据交换的方式。  2、MQTT是长连接而CoAP是无连接。MQTTClients与Broker之间保持TCP长连接,这种情形在NAT环境中也不会产生问题。如果在NAT环境下使用CoAP的

7、话,那就需要采取一些NAT穿透性手段。  3、MQTT是多个客户端通过中央代理进行消息传递的多对多协议。它主要通过让客户端发布消息、代理决定消息路由和复制来解耦消费者和生产者。MQTT就是相当于消息传递的实时通讯总线。CoAP基本上就是一个在Server和Client之间传递状态信息的单对单协议。  HTTP协议  http的全称是HyperTextTransferProtocol,超文本传输协议,这个协议的提出就是为了提供和接收HTML界面,通过这个协议在互联网上面传出web的界面信息。    HTTP协议的两个过程,Request和Respons

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。