TCP、TLS、HTTP、HTTPS、MQTT、MQTTS几种网络协议的对比与解释

目录

核心层级逻辑

  • TCP 是传输层的 "可靠运输通道",负责把数据从 A 点稳定送到 B 点;
  • TLS 是给 "运输通道" 加的 "安全锁",负责加密数据、验证身份;
  • HTTP/HTTPS/MQTT 是应用层的 "数据封装格式",定义了数据如何组织、如何交互。

嵌入式开发选型建议

  • 简单调试、小数据量交互 → HTTP + TCP;
  • 敏感数据传输、对接公网云平台 → HTTPS;
  • 海量物联网设备并发通信、低功耗场景 → MQTT/MQTT-S。

一、TCP

全称 Transmission Control Protocol
定义 传输控制协议,一种面向连接、可靠的字节流协议
层级 传输层
特点 三次握手建立连接,四次挥手断开连接;保证数据有序、无丢失、无重复; 拥塞控制、流量控制;开销相对较大
适用场景 1. 需要可靠数据传输的场景(如 OTA 固件升级、文件传输)2. HTTP、HTTPS、MQTT 的底层传输协议
与其它协议的关系 1. 是 HTTP、HTTPS、MQTT 的传输基础 2. 与 UDP 并列,同为传输层核心协议

二、HTTP

全称 HyperText Transfer Protocol
定义 超文本传输协议,一种基于 TCP 的应用层协议
层级 应用层
特点 1. 明文传输,无加密,安全性低 2. 基于请求 - 响应模型 3. 无状态(每次请求独立)4. 端口默认 80
适用场景 1. 设备与服务器的轻量级数据交互(如上报传感器数据) 2. 调试阶段的简单通信
与其它协议的关系 1. 底层基于 TCP 传输 2. HTTPS 是 HTTP 的安全升级版

三、TLS

全称 Transport Layer Security
定义 传输层安全协议,一种提供加密、身份认证的安全协议
层级 会话层 / 表示层
特点 1. 提供数据加密、完整性校验、身份验证2. 前身是 SSL 协议3. 支持双向认证(服务端 + 客户端)4. 可与多种传输层协议结合
适用场景 1. 为 HTTP、TCP 等协议提供安全加密 2. ESP32 设备与云端的安全通信
与其它协议的关系 1. 是 HTTPS、MQTT-S 的安全基础 2. 不独立传输数据,需依附于 TCP 等协议

四、HTTPS

全称 HyperText Transfer Protocol Secure
定义 超文本传输安全协议
层级 应用层
特点 1. = HTTP + TLS/SSL ,HTTP 的安全版本 2. 数据全程加密传输 ,防止窃听、篡改 3. 端口默认 443 4. 需配置证书(自签名 / CA 证书)
适用场景 1. 设备与云端的敏感数据传输(如设备配网、用户信息上报) 2. 对接主流云平台(阿里云、腾讯云)
与其它协议的关系 1. 底层基于 TCP 传输2. 用 TLS 协议对 HTTP 数据加密

五、MQTT

全称 Message Queuing Telemetry Transport
定义 消息队列遥测传输协议,一种基于 TCP 的轻量级发布 - 订阅协议
层级 应用层
特点 1. 基于发布 - 订阅模型(一对多通信) 2. 报文头极小(最小 2 字节),开销极低 3. 支持 QoS 等级(0/1/2),保证不同可靠性需求 4. 支持断线重连、遗嘱消息 5. 端口默认 1883(明文)
适用场景 1. 物联网设备海量并发通信(如传感器网络、智能家居集群)2. 低带宽、高延迟、不稳定网络场景 3. ESP32 作为终端节点接入物联网平台
与其它协议的关系 1. 底层基于 TCP 传输 2. 可与 TLS 结合,升级为MQTT-S(安全版,端口 8883)

六、MQTTS

全称 Message Queuing Telemetry Transport Secure
定义 安全版消息队列遥测传输协议
层级 应用层
特点 1. = MQTT + TLS/SSL 的安全组合 2. 继承 MQTT 的轻量、发布 - 订阅特性 3. 数据加密传输,支持设备证书认证 4. 端口默认 8883
适用场景 1. ESP32 对接 AWS IoT、Azure IoT 等公有云平台 2. 公网环境下的物联网设备海量并发通信 3. 需保障数据安全的场景(如传感器数据上报、远程控制)
与其它协议的关系 底层基于 TCP+TLS,是 MQTT 的安全版本
相关推荐
国强_dev2 小时前
技术探讨:使用 stunnel 加密转发数据库连接时,如何获取客户端真实 IP?
数据库·网络协议·tcp/ip
大侠锅锅4 小时前
第 2 篇:MQTT 协议深度解析——物联网通信为什么选它
物联网·mqtt
会周易的程序员5 小时前
microLog 的本地日志读取接口 log_reader — 本地日志文件读取工具开发指南
linux·物联网·架构·嵌入式·日志·iot·aiot
☆cwlulu7 小时前
调试排查工具介绍(gdb、strace、Valgrind等)
开发语言·c++·嵌入式硬件·ubuntu
RFID科技的魅力8 小时前
RFID资产管理系统选型避坑指南:从需求梳理到落地验证
大数据·人工智能·物联网·rfid
lzqrzpt8 小时前
LED驱动电源选型标准与工程应用技术要点解析
python·单片机·嵌入式硬件·物联网
AlfredZhao9 小时前
Linux 主机防火墙如何同时开启 80 和 443?
http·https·firewall
木子单片机9 小时前
基于51单片机的音乐彩灯设计
单片机·嵌入式硬件·51单片机·keil
hongmai6668889 小时前
ESP32-S2-MINI-2U-N4R2:一款为灵活部署而生的Wi-Fi MCU模组
人工智能·单片机·嵌入式硬件·物联网·智能家居
电子工程师成长日记-C519 小时前
51单片机录音笔(带闹钟)
单片机·嵌入式硬件·51单片机