12
核心协议图解
6
协议分类
60+
详细步骤说明
SVG
高清可下载
📡 协议分类体系
flowchart TB
subgraph 应用层[#2563eb]
HTTP[HTTP/HTTPS]
WS[WebSocket]
DNS[DNS]
SSH[SSH/FTP]
MQTT[MQTT]
end
subgraph 传输层[#7c3aed]
TCP[TCP]
UDP[UDP]
QUIC[QUIC]
end
subgraph 网络层[#059669]
IP[IPv4/IPv6]
ICMP[ICMP]
BGP[BGP]
end
subgraph 数据链路层[#dc2626]
ETH[以太网]
ARP[ARP]
WIFI[Wi-Fi]
end
HTTP & WS & DNS & SSH & MQTT --> TCP & UDP
TCP & UDP --> IP
IP --> ETH & ARP & WIFI
style HTTP fill:#2563eb,color:#fff
style TCP fill:#7c3aed,color:#fff
style IP fill:#059669,color:#fff
style ETH fill:#dc2626,color:#fff
TCP 三次握手
TCP 连接建立的完整过程,理解 SYN、SYN-ACK、ACK 报文交互
工作流程
- 客户端发送 SYN 报文(请求建立连接)
- 服务器回复 SYN-ACK(确认并请求建立连接)
- 客户端发送 ACK(确认建立连接)
TCP 四次挥手
TCP 连接断开的完整过程,理解为什么需要四次而不是三次
工作流程
- 客户端发送 FIN 报文(请求关闭连接)
- 服务器回复 ACK(确认收到关闭请求)
- 服务器发送 FIN 报文(请求关闭连接)
- 客户端回复 ACK(确认关闭连接)
HTTP 请求响应
HTTP 协议的工作流程,从请求到响应的完整时序
工作流程
- 浏览器构建 HTTP 请求(请求行 + 请求头 + 请求体)
- 通过 TCP 连接发送请求到服务器
- 服务器处理请求并生成响应
- 返回 HTTP 响应(状态行 + 响应头 + 响应体)
HTTPS/TLS 握手
HTTPS 加密通道的建立过程,理解证书验证和密钥交换
工作流程
- 客户端发送 ClientHello(支持的加密套件)
- 服务器回复 ServerHello + 证书
- 客户端验证证书并生成预主密钥
- 双方使用预主密钥生成会话密钥
- 开始加密通信
WebSocket 升级
从 HTTP 协议升级到 WebSocket 协议的完整过程
工作流程
- 客户端发送 HTTP Upgrade 请求(包含 Upgrade: websocket)
- 服务器回复 101 Switching Protocols
- 协议升级完成,建立持久化连接
- 双方可进行全双工双向通信
DNS 解析过程
域名到 IP 地址的完整解析链路,理解递归和迭代查询
工作流程
- 客户端向本地 DNS 发起查询请求
- 本地 DNS 向根 DNS 服务器查询
- 根 DNS 返回 TLD DNS 服务器地址
- TLD DNS 返回权威 DNS 服务器地址
- 权威 DNS 返回最终 IP 地址
HTTP/2 多路复用
HTTP/2 的核心特性,理解如何在单个连接中并行传输多个请求
核心优势
- 单个 TCP 连接支持多个并行请求
- 每个请求分配独立的 Stream ID
- 帧可以交错发送,避免队头阻塞
- 显著提升页面加载速度
ARP 协议
IP 地址到 MAC 地址的解析过程,理解局域网通信基础
工作流程
- 主机 A 广播 ARP 请求(目标 IP 的 MAC 地址?)
- 局域网内所有主机收到请求
- 目标主机 B 单播回复 ARP 响应(包含 MAC 地址)
- 主机 A 缓存 MAC 地址用于后续通信
ICMP 协议
网络诊断和控制消息协议,理解 ping 和 traceroute 原理
常见应用
- Echo Request/Reply(ping 命令)
- Destination Unreachable(目标不可达)
- Time Exceeded(超时,traceroute 使用)
- Redirect(路由重定向)
TLS 1.3 握手
TLS 1.3 优化的握手过程,相比 TLS 1.2 减少往返次数
优化亮点
- 移除 RSA 密钥交换,仅支持前向保密
- 握手过程从 2-RTT 减少到 1-RTT
- 支持 0-RTT 恢复连接
- 简化密码套件,移除不安全算法
HTTP/3 QUIC
基于 UDP 的新一代 HTTP 协议,解决 TCP 队头阻塞问题
核心优势
- 基于 UDP,避免 TCP 队头阻塞
- 内置 TLS 1.3 加密
- 支持 0-RTT 连接建立
- 连接迁移(切换网络不中断)