传输 / 通信协议

44 阅读2分钟

一、按网络分层来看(最经典)

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 + TLSHTTP/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