[TCCS]OpenHarmony啃论文计划--一文遍历主要的物联网通信协议(MQTT、XMPP、AMQP、DDS、HTTP、CoAP)

本文深入浅出地介绍了物联网领域的六种主要通信协议——MQTT、XMPP、AMQP、DDS、HTTP和CoAP,分析了它们的适用场景、优缺点以及在物联网中的角色。文章详细探讨了请求-响应和发布-订阅两种通信模型,强调了在资源受限和低延迟要求下协议的选择。同时,文章指出,HTTP和CoAP适用于Web和受限设备,而MQTT、AMQP和DDS则提供更高级别的QoS和发布-订阅功能。安全机制方面,MQTT和CoAP依赖DTLS,HTTP使用TLS,DDS有多种安全解决方案。
摘要由CSDN通过智能技术生成


万字长文预警!一文了解主要的物联网通信协议(MQTT、XMPP、AMQP、DDS、HTTP、CoAP)

虽然我看不懂,但我大受震撼。

我来自OpenHarmony开发者成长计划:啃论文小队,我们在欧建深教练的带领下啃论文。我们是TCCS团队,全意为The Child Collecting Shells。本篇绪论主要作者为TCCS团队的张君豪,欢迎大家对文章提出建设性的意见或者批评!

“我并不知道我在世人眼中是什么模样,对我来说,我似乎只像是一个在海边玩耍的男孩,不时找一颗平滑的卵石,或是比较美丽的贝壳来取悦自己,而真理的大海则横陈在我面前,一无发现。”——牛顿

本文一万多字,这主要归功于原文献作者的综述论文质量非常高,在这里也分享给大家,只凭一篇文章想搞懂这么多协议其实是远远不够的,但是能让大家对协议有一个初步的框架了解

上一篇文章中分布式软总线关键技术普适计算初探,我挖了一个关于物联网通信协议的坑,现在终于自己来把这个坑填上了。我这次参考的论文是《A Survey of Communication Protocols for Internet of Things and Related Challenges of Fog and Cloud Computing Integration》,翻译过来就是物联网通信协议综述及雾云计算融合相关挑战,我将读完整篇文章并从一个小白提炼的角度来带着大家搞懂这篇论文,也希望通过这篇论文能让大家(包括我)对物联网通信协议有一个更清楚、更宏观的了解,从知道是什么,到为什么,至于怎么用我想在这里看到这篇文章的读者老爷们肯定都比我更会,怎么用我就不卖弄了。好下面进入正题

1.全文综述

由于原文献质量非常高,包括各个协议都写得很清楚,我只是将其初步的加工理解了一下,也带着大家一起学习,本文带着大家首先构建对物联网通信协议的一个基础框架的了解,知道为什么和是什么,至于怎么样,我们下篇再说(毕竟这一篇已经破万字了),在下一篇我带着大家继续解读文献来从几个方面对比这几个协议,着急的老爷也可以先行下载文献自行阅读,文末有我已经上传的文献资源可供大家下载,如果大家喜欢记得点赞哦!当然如果有批评指正也欢迎大家提出来!我也会虚心接受并且积极改正!


以下是文章中经常出现的缩写:

IETF:互联网工程任务组,成立于1985年底,是全球互联网最具权威的技术标准化组织,主要任务是负责互联网相关技术规范的研发和制定,当前绝大多数国际互联网技术标准出自IETF。

2.为什么?

2.1为什么需要这么多协议?

首先我们应该都知道协议是什么东西,啊?这都不知道?叉出去

网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合。

举个栗子,你可以把网络协议理解为计算机之间相互交流的语言,只有两台通信的主机在使用相同的协议时他们才能有效通信,假如协议不同就好比下图。。。。
在这里插入图片描述

而互联网中的主机大部分都使用的是TCP/IP协议(使用TCP/IP相互交流),那这个TCP/IP和我们常常听到的什么HTTP是什么关系呢?
在这里插入图片描述

他们分别属于网络不同的层次,如上图可以简单的理解为HTTP是建立在TCP协议的基础之上的。当浏览器需要从服务器获取网页数据的时候,会发出一次http请求。Http通过TCP建立起一个到服务器的通道。可以先简单的这么大致了解一下,因为如果展开说那么。。。。你懂


那我们都知道,任何事物既然存在,那么就必然有其存在的道理,那为什么HTTP协议已经应用这么流行和广泛了,还要搞出来这么多不同的协议?

因为物联网需要涵盖不同要求和领域,并且将传感器、执行器和计算能力的功能与安全性、连接性和无数其他功能相结合(总之就是要求很多很复杂),因此对于参考架构或采用的通信协议没有统一的标准协议,因此系统工程师的一大挑战之一就是为其特定的物联网系统要求选择合适的协议。

(也欢迎各位老爷在评论区以开发的视角分享为什么还需要这么多通信)


2.2协议的大致如何分类?

一般来说,根据通信协议交互模型的不同,我们可以把通信协议分为request-reply(请求-应答) 和 publish-subscribe(发布-订阅)模型。请求-应答通信模型是最基本的通信模型之一。它代表了一种在客户端/服务器架构中特别常见的消息交换模式。它允许客户端向服务器请求信息,服务器接收请求消息,对其进行处理并返回响应消息。这种信息通常是集中管理和交换的。基于请求/回复模型的两个最知名的协议是 REST HTTPCoAP。图一显示了HTTP三个不同版本(v.1.0、v.1.1、v.2.0)以及CoAP的不同客户端/服务器交互的例子。
在这里插入图片描述

(图中:SYN:同步标志,FIN:结束标志,即一次会话的建立与结束的标志)

在这里插入图片描述

在 HTTP 1.0 中,TCP 连接在单个 HTTP 请求/回复对之后关闭。在 HTTP 1.1 中,引入了 keep-alive 机制,可以重用 TCP 连接来向服务器发送多个请求,而无需等待响应(流水线)。一旦请求全部发送完毕,浏览器就会开始监听响应,

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值