通信协议
→ 返回 计算机网络
按网络层级整理的常见协议总览。
按层级分类
应用层
| 协议 | 用途 |
|---|---|
| HTTP | Web 页面与 API 传输,明文 |
| HTTPS | HTTP over TLS,Web 与 API 加密访问 |
| TLS | 传输层安全(握手、证书、加密套件) |
| WebSocket | 全双工实时通信,基于 HTTP Upgrade |
| DNS | 域名解析为 IP 地址 |
| FTP / SFTP | 文件传输 |
| SMTP / IMAP / POP3 | 电子邮件收发(发送 / 接收) |
| SSH | 远程安全登录 |
| MQTT | 物联网轻量消息协议(发布/订阅) |
| gRPC | 基于 HTTP/2 的高性能 RPC |
传输层
网络层
| 协议 | 用途 |
|---|---|
| IPv6) | 逻辑寻址,数据包路由 |
| ICMP | 网络控制与诊断(ping、traceroute) |
| ARP | IP → MAC 地址解析 |
| OSPF / BGP / RIP | 路由协议(链路状态 / 路径向量 / 距离向量) |
数据链路层 / 物理层
| 协议 | 用途 |
|---|---|
| Ethernet | 有线局域网帧传输 |
| Wi-Fi(IEEE 802.11) | 无线局域网 |
| XGS-PON) | 家庭宽带与骨干网物理介质 |
| PPP | 点对点链路 |
HTTP 版本演进
| 版本 | 特性 | 传输层 |
|---|---|---|
| HTTP/1.0 | 每请求一个 TCP 连接,无持久化 | TCP |
| HTTP/1.1 | Keep-Alive 长连接、管线化(实际受 HOL 阻塞影响) | TCP |
| HTTP/2 | 二进制分帧、多路复用、头部压缩(HPACK)、服务端推送 | TCP |
| HTTP/3 | 基于 QUIC,0-RTT 握手,消除 TCP 层 HOL 阻塞 | UDP(QUIC) |
HTTP/2 多路复用:同一 TCP 连接上并发多个 Stream,消除 HTTP/1.x 的队头阻塞,但 TCP 丢包时仍阻塞所有 Stream。
QUIC:每条 Stream 独立丢包重传,真正消除 HOL 阻塞;内置 TLS 1.3,0-RTT 重连。
按通信模式分类
| 模式 | 协议 | 说明 |
|---|---|---|
| 请求-响应 | HTTP、DNS | 客户端发起,服务端响应 |
| 全双工持久 | WebSocket、gRPC 双向流 | 连接保持,双向推送 |
| 发布-订阅 | MQTT、AMQP | 解耦生产者与消费者 |
| 广播 | ARP、DHCP | 一对多发送 |
| P2P | WebRTC | 浏览器间直连,经 ICE/STUN/TURN 穿透 NAT |
协议安全等级对比
| 协议 | 传输是否加密 | 身份认证 | 备注 |
|---|---|---|---|
| HTTP | 否(明文) | 无 | 生产环境应升级为 HTTPS |
| HTTPS/TLS 1.2 | 是 | 证书 | 建议配置 HSTS |
| HTTPS/TLS 1.3 | 是,前向保密 | 证书,0-RTT 可选 | 当前推荐版本 |
| SSH | 是 | 公钥 / 密码 | 远程管理首选 |
| SFTP | 是(SSH 通道) | 公钥 / 密码 | 文件传输推荐 |
| FTP | 否 | 明文密码 | 避免使用 |
| MQTT(无 TLS) | 否 | 可选用户名密码 | IoT 设备应启用 TLS |
常见端口速查
| 端口 | 协议 | 说明 |
|---|---|---|
| 80 | HTTP | 明文 Web |
| 443 | HTTPS | 加密 Web |
| 22 | SSH | 安全远程登录 |
| 21 | FTP | 文件传输控制 |
| 25 / 465 / 587 | SMTP | 邮件发送(587 为 STARTTLS) |
| 110 / 995 | POP3 | 邮件接收 |
| 143 / 993 | IMAP | 邮件接收(支持多设备) |
| 53 | DNS | UDP 查询 / TCP 区域传输 |
| 67 / 68 | DHCP | 服务端 / 客户端 |
| 3306 | MySQL | 数据库 |
| 5432 | PostgreSQL | 数据库 |
| 6379 | Redis | 缓存 |
| 1883 / 8883 | MQTT | IoT 明文 / TLS |
应用层协议补充
DHCP
动态主机配置协议,UDP 广播,分配 IP / 网关 / DNS:
客户端 → DISCOVER(广播)→ 服务端
服务端 → OFFER(广播)→ 客户端
客户端 → REQUEST(广播)→ 服务端
服务端 → ACK(广播)→ 客户端 ✓ 获得 IP
WebRTC
浏览器间端对端实时通信(音视频 + 数据通道):
- ICE:收集候选地址(本地 / STUN 映射 / TURN 中继)
- STUN:获取公网 IP:Port
- TURN:无法直连时作中继服务器
- SDP:会话描述(编解码器、网络信息),通过信令服务器交换
CoAP
受限应用协议,UDP + REST 语义,专为嵌入式 IoT 设备设计,头部开销极小。