mqtt协议和tcp协议的区别是什么

常用知识 (45) 4个月前

本教程操作环境:windows7系统、Dell G3电脑。

MQTT与TCP的区别

诞生时间

TCP协议诞生于1974年冷战期间。

MQTT诞生于1999年互联网初期,TCP协议比MQTT协议诞生早了25年。

Ashton提出IoT概念也是在1999年,因此MQTT协议生逢其时。当时MIT Auto-ID Labs的Kevin Ashton为了把宝洁的供应链上的RFID标签和互联网连接起来,在1999年第一个提出了IoT这个概念。

协议位置

TCP是OSI第四层的传输层协议。

MQTT是基于TCP的七层应用层协议。

6.jpg

协议定位

TCP设计考虑的是面向连接的、可靠的、基于字节流的传输层通信协议。

MQTT则是在低带宽高延迟不可靠的网络下进行数据相对可靠传输的应用层协议。

设计思想

TCP的核心思想是分组交换。

MQTT的核心思想是简单并适应物联网环境。

传输单位

TCP的传输单位是packet,当应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,TCP则把数据流分割成适当长度的报文段,最大传输段大小(MSS)通常受该计算机连接的网络的数据链路层的最大传送单元(MTU)限制。

MQTT的传输单位是消息,每条消息字节上限在MQTT Broker代理服务器上进行设置,可以设置超过1M大小的消息上限。这样,就可以用一条消息就发送上千条采集的数据,或者比较大的设备阴影文件。

技术挑战

TCP需要解决的问题是在IP包传输过程中,处理异构网络环境下的网络拥塞、丢包、乱序、重复包等多种问题。

MQTT解决的问题是,在低带宽高延迟不可靠的网络下和资源有限的硬件环境内,进行相对可靠的数据传输。

服务质量

TCP是一个可靠的流传输服务,通过ACK确认和重传机制,能够保证发送的所有字节在接收时是完全一样的,并且字节顺序也是正确的。

MQTT提供三种可选的消息发布的QoS服务等级。MQTT客户端和MQTT代理服务器通过session机制保证消息的传输可靠性。开发人员可以根据业务需要选择其中一种。

应用案例

TCP用于许多互联网应用程序,如WWW、email、FTP、SSH、P2P、流媒体。MQTT也是基于TCP的。

MQTT可以用于物联网数据传输、IM聊天软件等。

更多相关知识,请访问常用知识栏目!

以上就是mqtt协议和tcp协议的区别是什么的详细内容,更多请关注兜懂趣百科其它相关文章!

发表评论