MQTT与TCP通信协议的对比

1 篇文章 0 订阅

一、背景

在物联网场景开发中,大多数通信模组都支持TCP、UDP、MQTT、CoAP、HTTP、LwM2M等网络通信协议,其中既有负责传输层协议,也有应用层协议,不同协议适用的场景也不尽相同。

二、协议分层

上图中举例了网络分层中最常见的几种协议:

  • 应用层:应用程序负责将数据以相应规则(协议)进行包装,发给传输层
    • MQTT:消息队列遥测传输
    • CoAP:受限应用协议
    • HTTP:超文本传输协议
  • 传输层:负责将应用层传输过来的数组进行分组,为确保终端接收数据的顺序和完整性,会对每个分组进行标记,交给网络层
    • TCP:传输控制协议
    • UDP:用户数据协议
  • 网络层:负责将传输层发过来的数据分组发送到目标终端
    • IP:网际协议
  • 链路层:为网络层发送和接收数据单元
    • Ethernet:以太网传输协议

三、MQTT vs TCP

 

 传输层协议负责传输数据,好比一辆物流配送的火车。但我们想让货物去完好运到目的地,就需要做打包、装车、验货、入库、签回单等工作。这些工作也就是应用层协议要做的工作。所以物联网终端设备想要对数据进行稳定、可靠、高效的交互,就需要使用应用层协议,而不是直接使用传输层协议。

四、MQTT vs CoAp

特性MQTTCoAp
传输层TCPUDP
协议头部可变,最小2字节固定4字节
资源开销非常低
消息模型发布/订阅(Pub、Sub)请求/响应(RESTful)
消息可靠性较低

  • 21
    点赞
  • 93
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.Qubb

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值