一、按网络分层来看(最经典)
1️⃣ 物理层(Physical Layer)
👉 只管 比特流 0/1
- Ethernet(以太网)
- Wi-Fi(802.11)
- Bluetooth(蓝牙)
- 光纤
- 4G / 5G
几乎不直接接触,除非做硬件/嵌入式
2️⃣ 数据链路层(Data Link Layer)
👉 负责 帧、MAC 地址
- Ethernet(802.3)
- Wi-Fi(802.11)
- ARP(地址解析)
- VLAN(802.1Q)
3️⃣ 网络层(Network Layer)
👉 负责 路由、IP 寻址
- IP / IPv6
- ICMP(ping)
- IPSec
- GRE
4️⃣ 传输层(Transport Layer)⭐重点
👉 负责 端到端传输
| 协议 | 特点 | 适合场景 |
|---|---|---|
| TCP | 可靠、有序、面向连接 | Web、接口、数据库 |
| UDP | 不可靠、无连接、低延迟 | 音视频、游戏 |
| QUIC | 基于 UDP + TLS | HTTP/3 |
| SCTP | 多流多宿 | 通信系统 |
二、应用层协议(你最常用)
1️⃣ HTTP / HTTPS
- HTTP/1.1
- HTTP/2(多路复用)
- HTTP/3(QUIC)
👉 最常用接口协议
前端 ↔ 后端
微服务 ↔ 微服务
2️⃣ WebSocket ⭐
- 全双工
- 长连接
- 基于 TCP
适合:
- 即时通知
- 审批流状态推送
- 在线聊天
3️⃣ gRPC
- 基于 HTTP/2
- Protobuf
- 高性能
适合:
- 微服务内部调用
- 高并发、低延迟
4️⃣ FTP / SFTP
- FTP(不安全)
- SFTP(SSH)
适合:
- 文件传输
- 批量导入导出
5️⃣ SMTP / POP3 / IMAP
- 邮件发送 / 接收协议
三、消息 / 实时 / IoT 协议(你用过的)
1️⃣ MQTT ⭐⭐⭐
你做过 MQTT 压测工具
- 发布 / 订阅
- 超轻量
- 基于 TCP
适合:
- 物联网
- 实时状态上报
- 设备通信
2️⃣ AMQP
- RabbitMQ
- 消息可靠性高
3️⃣ Kafka 协议
- 高吞吐
- 日志流
4️⃣ CoAP
- 基于 UDP
- 类 HTTP
- 物联网低功耗设备
四、实时音视频 / 流媒体协议(你接触过)
1️⃣ WebRTC ⭐⭐⭐
你做过 小程序 WebRTC + 声网
- UDP
- 点对点
- 极低延迟
配套协议:
- ICE
- STUN / TURN
- DTLS / SRTP
2️⃣ RTMP
- 基于 TCP
- 直播推流(延迟高)
3️⃣ RTSP / RTP
- 安防监控
- 实时流
4️⃣ HLS / DASH
- 基于 HTTP
- 延迟高
- 点播 / 直播回放
五、工业 / 物联网协议(扩展)
- Modbus
- OPC UA
- CAN
- BACnet
- ZigBee
六、安全 / 加密相关协议
- TLS / SSL
- OAuth2
- OpenID Connect
- JWT
- Kerberos
七、开发中常见「选型对照表」(实战)
| 需求 | 推荐协议 |
|---|---|
| REST 接口 | HTTP / HTTPS |
| 实时推送 | WebSocket |
| 微服务高性能 | gRPC |
| IoT 设备 | MQTT |
| 文件传输 | SFTP |
| 视频通话 | WebRTC |
| 高吞吐日志 | Kafka |
| 内网服务发现 | TCP / HTTP |
八、给你一个「一句话记忆法」
- HTTP:请求响应
- WebSocket:实时双向
- TCP:可靠
- UDP:快
- MQTT:轻
- gRPC:快 + 规范
- WebRTC:音视频
- QUIC:未来 HTTP