协议图解百科

12 个核心网络协议可视化图解,让抽象的协议概念变得直观易懂

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
客户端 服务器 SYN SYN-ACK ACK

TCP 三次握手

TCP 连接建立的完整过程,理解 SYN、SYN-ACK、ACK 报文交互

TCP/IP 连接建立

工作流程

  1. 客户端发送 SYN 报文(请求建立连接)
  2. 服务器回复 SYN-ACK(确认并请求建立连接)
  3. 客户端发送 ACK(确认建立连接)
学习教程
客户端 服务器 FIN ACK FIN ACK

TCP 四次挥手

TCP 连接断开的完整过程,理解为什么需要四次而不是三次

TCP/IP 连接断开

工作流程

  1. 客户端发送 FIN 报文(请求关闭连接)
  2. 服务器回复 ACK(确认收到关闭请求)
  3. 服务器发送 FIN 报文(请求关闭连接)
  4. 客户端回复 ACK(确认关闭连接)
学习教程
浏览器 Web 服务器 HTTP Request GET /index.html HTTP Response 200 OK + HTML

HTTP 请求响应

HTTP 协议的工作流程,从请求到响应的完整时序

HTTP/HTTPS 应用层

工作流程

  1. 浏览器构建 HTTP 请求(请求行 + 请求头 + 请求体)
  2. 通过 TCP 连接发送请求到服务器
  3. 服务器处理请求并生成响应
  4. 返回 HTTP 响应(状态行 + 响应头 + 响应体)
学习教程
客户端 服务器 TLS 握手 ClientHello ServerHello+Cert 加密数据

HTTPS/TLS 握手

HTTPS 加密通道的建立过程,理解证书验证和密钥交换

HTTP/HTTPS 安全

工作流程

  1. 客户端发送 ClientHello(支持的加密套件)
  2. 服务器回复 ServerHello + 证书
  3. 客户端验证证书并生成预主密钥
  4. 双方使用预主密钥生成会话密钥
  5. 开始加密通信
学习教程
浏览器 服务器 HTTP Upgrade 101 Switching 双向通信

WebSocket 升级

从 HTTP 协议升级到 WebSocket 协议的完整过程

WebSocket 实时通信

工作流程

  1. 客户端发送 HTTP Upgrade 请求(包含 Upgrade: websocket)
  2. 服务器回复 101 Switching Protocols
  3. 协议升级完成,建立持久化连接
  4. 双方可进行全双工双向通信
学习教程
客户端 本地 DNS 根 DNS TLD DNS 权威 DNS 查询

DNS 解析过程

域名到 IP 地址的完整解析链路,理解递归和迭代查询

DNS 域名解析

工作流程

  1. 客户端向本地 DNS 发起查询请求
  2. 本地 DNS 向根 DNS 服务器查询
  3. 根 DNS 返回 TLD DNS 服务器地址
  4. TLD DNS 返回权威 DNS 服务器地址
  5. 权威 DNS 返回最终 IP 地址
学习教程
客户端 服务器 Stream 1: Request A Stream 2: Request B Stream 3: Request C 多路复用 - 并行传输

HTTP/2 多路复用

HTTP/2 的核心特性,理解如何在单个连接中并行传输多个请求

HTTP/HTTPS 性能优化

核心优势

  1. 单个 TCP 连接支持多个并行请求
  2. 每个请求分配独立的 Stream ID
  3. 帧可以交错发送,避免队头阻塞
  4. 显著提升页面加载速度
学习教程
发送方 接收方 数据包 1 数据包 2 数据包 3 ACK 确认

TCP 滑动窗口

TCP 流量控制机制,理解如何动态调整发送速率

TCP/IP 流量控制

工作原理

  1. 接收方通告窗口大小(可接收数据量)
  2. 发送方在窗口范围内发送数据
  3. 接收方确认收到的数据
  4. 窗口向前滑动,继续传输
学习教程
ARP 地址解析协议 主机 A 主机 B ARP 广播 ARP 响应

ARP 协议

IP 地址到 MAC 地址的解析过程,理解局域网通信基础

网络层 局域网

工作流程

  1. 主机 A 广播 ARP 请求(目标 IP 的 MAC 地址?)
  2. 局域网内所有主机收到请求
  3. 目标主机 B 单播回复 ARP 响应(包含 MAC 地址)
  4. 主机 A 缓存 MAC 地址用于后续通信
学习教程
源主机 目标主机 Echo Request Echo Reply ping 命令

ICMP 协议

网络诊断和控制消息协议,理解 ping 和 traceroute 原理

网络层 网络诊断

常见应用

  1. Echo Request/Reply(ping 命令)
  2. Destination Unreachable(目标不可达)
  3. Time Exceeded(超时,traceroute 使用)
  4. Redirect(路由重定向)
学习教程
客户端 服务器 Client Hello Server Hello Client Finished 加密数据 1-RTT 握手

TLS 1.3 握手

TLS 1.3 优化的握手过程,相比 TLS 1.2 减少往返次数

安全 性能优化

优化亮点

  1. 移除 RSA 密钥交换,仅支持前向保密
  2. 握手过程从 2-RTT 减少到 1-RTT
  3. 支持 0-RTT 恢复连接
  4. 简化密码套件,移除不安全算法
学习教程
客户端 服务器 QUIC 握手 加密数据 0-RTT / 1-RTT 基于 UDP 的 HTTP/3

HTTP/3 QUIC

基于 UDP 的新一代 HTTP 协议,解决 TCP 队头阻塞问题

HTTP/HTTPS 新一代

核心优势

  1. 基于 UDP,避免 TCP 队头阻塞
  2. 内置 TLS 1.3 加密
  3. 支持 0-RTT 连接建立
  4. 连接迁移(切换网络不中断)
学习教程
BGP 边界网关协议 AS 64500 AS 64501 AS 64502 自治系统间路由

BGP 路由协议

互联网的核心路由协议,理解自治系统间的路由选择

路由协议 互联网核心

工作原理

  1. 自治系统(AS)之间交换路由信息
  2. 基于路径向量选择最佳路由
  3. 支持策略路由和流量工程
  4. 确保互联网全局连通性
学习教程
← 返回首页