物联网协议对比Http,socket,XMPP,COAP,MQTT,DDS
HTTP:
典型的c/s通讯模式,最早适用web浏览器。不适合物联网场景,主要三大弊端。
1。必须由设备主动向服务器发送数据,难以主动向设备推送数据。不适合数据采集,实时性,频繁操控场景
2。安全性不高。web不安全,HTTP是明文协议,不适合高安全性的物联网行业
3。资源消耗。*tcp三次握手,四次回收消耗cpu*HTTP消息头大量的数据*基于xml和json的数据格式解析。
Socket
基于HTTP协议架构物联网系统:主要解决数据推送实时性。
核心问题:比如让单片机实现HTTP+WebSocket的方式,协议开发代价太大
XMPP
互联网常用的通讯协议。基于xml的协议,由于开放性和易用性广泛使用
安全性和资源消耗硬伤无法解决。比如tcl洗衣机的黑客破解
COAP
设计目标:在低功耗低速率设备实现物联网通信。COAP和HTTP协议一样,采用URL标识需要发送的数据,在协议格式上基本参考HTTP协议。COAP协议像一个针对物联网场景的http移植品。保留http的影子,拥有web背景很容易上手
优点:
1。采用UDP而不是TCP,省去了tcp建立连接的成本和协议栈的开销
2。将数据包头都采用二进制压缩,减少数据量以适应低网络速率场景。
3。发送和接受数据可以异步执行,提升设备响应速度
缺点:
*很多物联网设备隐藏在局域网内部。coap设备作为服务器无法被外部设备寻址,ipv6没有普及之前,coap只能适用局域网内部比如wifi通信,限制了其发展
MQTT
MQTT协议由IBM开发的及时通讯协议,很好解决了coap寻址问题。MQTT协议才用发布订阅模式,所有物联网终端采用tcp连接到云端,云端通过主题的方式管理各个设备的通讯内容,负责设备之间数据转发
优点:
1。性能高效:小型传输,开销很小(固定长度的头部式2字节),协议交换最小化,降低网路流量。使用lastwill和Testament特性通知有关各方客户端异常终端机制
2。安全性好:运行再tcp协议上,同时支持TLS(TCP+SSL)协议
DDS
DDS(Data Distribution Service for Real-Time Systems),面向实时系统的数据分布服务,OMG组织提出的协议,其权威性证明改协议的应用前景
特点:
*以数据为中心
*使用无代理的发布/订阅模式,点对点,点对多,多对多
* 提供21种Qos服务质量策略
协议主要实现:
*OpenDDS是一个开源的C++实现
*OpenSplice DDS
DDS很好的支持设备分发和设备控制,设备和云端数据传输,同时DDS的数据分发的实时效率非常高,能做到秒级内同时分发百万条消息到众多设备。DDS在服务质量(Qos)赏提供很多保障途径,这也是它适用于国防军事,工业控制等高可靠性,安全性领域的原因。目前在有限网络,在无线网络,特别资源受限的情况下没有实际案例
物联网协议对比Http,socket,XMPP,COAP,MQTT,DDS相关推荐
- 物联网协议对比(HTTP、websocket、XMPP、COAP、MQTT和DDS协议)
目录 1.HTTP和websocket 2.XMPP 3.COAP 4.MQTT协议 5.DDS 对于物联网,最重要的是在互联网中设备与设备的通讯,现在物联网在internet通信中比较常见的通讯协议 ...
- 物联网协议比较 MQTT CoAP RESTful/HTTP XMPP
物联网协议 Protocol CoAP XMPP RESTful HTTP MQTT Transport UDP TCP TCP TCP Messaging Request/Response Publ ...
- 主流物联网协议选择:MQTT、CoAP 还是 LwM2M?
随着物联网技术的发展与普及,越来越多的智能设备具备了网络连接与数据传输能力.由于物联网场景复杂多样,设备端硬件条件.网络稳定性.流量限制.设备功耗以及设备连接数量等多方面因素造成物联网设备的消息传递与 ...
- 物联网协议选型-MQTT/AMQP/CoAP/HTTP/LwM2M
0 摘要 前面笔者简单谈了在实际的mqtt产品实现时,客户端和服务端分别如何实现,选择了参考文献[1]mosquitto服务端实现和[2]华为鸿蒙mqtt客户端实现,两个比较典型的项目作为例子对产品级 ...
- IoT五种常见物联网协议:TCP/IP、UDP、HTTP、MQTT、CoAP初探
对于软件公司来说,IoT模式为其硬件设计以及所提供的服务带来决定性的改变.其中影响最大的一个方面是通信协议. 通信协议可以被认为是一种语言,即两台或两台以上的设备可以相互交流.同时无规矩不成方圆,通信 ...
- EPICS数据通过MQTT物联网协议上云
一.物联网 1.1 物联网是什么 物联网(Internet of Things,简称IOT)是指通过 各种信息传感器.射频识别技术.全球定位系统.红外感应器.激光扫描器等各种装置与技术,实时采集任何需 ...
- MQTT 物联网协议
目录 MQTT 简介 MQTT 协议(上) MQTT 通信基本原理 连接MQTT 服务端 CONNECT 请求报文 CONNACK 回复报文 断开连接 发布消息.订阅主题与取消订阅主题 PUBLISH ...
- MQTT-新一代物联网协议
一.MQTT - MQ Telemetry Transport 轻量级的 machine-to-machine 通信协议. publish/subscribe模式. 基于TCP/IP. 支持QoS. ...
- 物联网协议之一:MQTT协议和kafka
物联网协议之一:MQTT协议 MQTT 入门介绍 MQTT 入门介绍 | 菜鸟教程 微消息队列MQTT与RocketMQ/Kafka/RabbitMQ区别_jack361博客 (618条消息) web ...
最新文章
- python线下培训-天津python培训,0基础学python线上还是线下好?
- 人工机器:Jetson Nano 安装Qt5
- NOIP模拟测试29「爬山·学数数·七十和十七」
- Linux命令之stty
- python实现logistic回归对样本量有要求么_logistic回归样本量多少合适?
- 用mendeley在word中插入文献_Mendeley教程-参考文献引用(论文撰写必备!)
- 频频被关注的 AI,怎样才能用着舒心?
- mac自带自动化java_java Mac自动化-java和ant环境搭建
- CentOS7.x编译安装nginx,实现HTTP2
- 大数据分析对企业管理的影响
- 选择符/选择器 深入了解 全面的选择器学习
- 关于CMOS摄像头的DVP接口的工作方式与一般使用方法
- python 批量修改文件夹和子文件夹的名称
- CVPR2017-如何在无标签数据集上训练模型
- Android常用的第三方支付(支付宝、微信、银联)
- 重载java_方法重载
- 括号匹配问题(栈应用)C++
- python负数取模_负数的取模运算
- 文件传输工具Xftp5安装图解
- platform平台驱动模型简述(linux驱动开发篇)