网络基础原理可视化
这个专题把 DNS、TCP、TLS、HTTP/2、HTTP/3、代理、缓存和 CDN 这些常见网络概念放到可观察的实验中。目标不是背诵协议名词,而是理解一次请求从浏览器发出后,经过解析、连接、握手、转发、缓存和响应的具体路径。
网络问题常常表现为“偶发慢、偶发失败、某地可访问某地不可访问”。要分析这类问题,需要把协议层次、信任边界、缓存状态和时延组成拆开。本站文章会尽量提供命令、字段、时间线和可复现实验,让读者能把抽象概念对应到实际请求。
推荐顺序
可以先从 DNS TTL 缓存和 CIDR/MTU 开始,理解名字解析和路由的基础。随后阅读 TCP 可靠性与拥塞窗口、TLS 1.3 握手和 HTTP CONNECT 代理隧道,逐步建立连接层和加密边界的直觉。最后再看反向代理、缓存重新验证、HTTP/3 和 CDN 瀑布图,把单个请求扩展到真实网站性能分析。
读这些文章时,建议边看边记录请求头、状态码、缓存命中、证书信息和 RTT。网络调试最怕只看最终结论,忽略中间层。只有把每一层的输入输出拆开,才能判断问题来自 DNS、链路、TLS、代理、缓存还是应用本身。
实验边界
本站的网络实验默认在本地环境、公开测试资源或自有服务器上复现。不要把代理、扫描、缓存、TLS 或流量分析材料用于未授权目标。真实网络环境还会受到运营商、Cloudflare、Nginx、浏览器版本、防火墙和缓存策略影响,因此文章输出应作为学习参考,而不是对所有网络环境的保证。
调试证据应该怎么记录
一个网络问题如果只记录“能访问”或“不能访问”,通常没有排查价值。更有用的记录包括 DNS 解析结果、TTL、目标 IP、TLS 证书链、HTTP 状态码、缓存头、重定向链路、首字节时间、响应大小和客户端所在网络。把这些信息按时间顺序保存下来,才能判断问题发生在解析、路由、握手、代理、缓存还是应用层。
本站网络文章会尽量把这些证据放到正文里,而不是只给最终结论。例如缓存重新验证不只看页面是否刷新,还要看 ETag、Last-Modified、Cache-Control、Age、cf-cache-status 和源站响应;代理隧道不只看连接是否建立,还要区分 CONNECT 隧道、TLS 握手和应用层请求分别由谁处理。
从实验到真实故障排查
教学实验通常只控制一两个变量,真实网站会同时受到浏览器缓存、CDN 边缘节点、Nginx FastCGI 缓存、PHP 应用、数据库、证书、DNS 和网络路径影响。读者在迁移文章方法时,应先把系统画成链路图,再逐段确认每一层的输入输出。这样可以避免把 Cloudflare 缓存问题误判为应用问题,也可以避免把客户端 DNS 缓存误判为服务器变更未生效。
这个专题后续会继续补充“故障现象到证据链”的写法:先描述用户看到的症状,再列出可观察指标,随后逐层排除,最后给出修复和验证结果。这样的结构比单独罗列命令更有学习价值,也更接近真实工程排查。
专题路线
网络基础原理可视化
从 DNS、TCP、TLS、HTTP/3 到代理隧道、负载均衡和共享缓存,用可复现实验拆解请求链路。
面向需要理解协议时延、HTTPS 代理边界、SOCKS DNS、反向代理队列与缓存正确性的工程读者。
专题说明
为什么这些文章放在同一条路线里
网络文章最容易变成配置摘抄,所以这个专题把每一层协议都拆成可以复现的观察点:DNS 缓存命中、CIDR 匹配、TCP 拥塞窗口、TLS 密钥阶段、HTTP 缓存再验证和代理边界。
每篇文章都尽量回答一个工程问题:延迟来自哪里,哪些字段影响路由或缓存,代理看到的是明文、域名还是加密流量,以及哪些优化只是移动了瓶颈。
这些实验默认使用本地模型或确定性脚本,不提供绕过访问控制的外部代理服务。重点是理解协议行为、安全边界和运维观测,而不是复制不可控配置。
你会完成什么
你会手算协议与代理边界,运行 Python/C 实验,查看结果图与动画,并区分性能收益和信任风险。
推荐阅读顺序
先建立概念,再进入可运行项目
DNS 解析过程详解:从域名查询到 TTL 缓存的 Python 实验
从 RFC DNS 报文与递归查询出发,用 Python 和 C 实验计算 TTL 缓存命中对解析延迟的影响。
CIDR、子网掩码与最长前缀匹配:用代码算清 IP 路由和 MTU
手算 CIDR 网段、最长前缀匹配与 MTU/MSS 分段,并用 Python/C 输出固定路由结果。
TCP 三次握手、重传与拥塞窗口:可运行的序列号实验
从 TCP sequence/ACK 和慢启动出发,用确定性丢包曲线与 localhost C socket 实验理解可靠传输。
HTTPS 与 TLS 1.3 握手原理:密钥交换、证书和 RTT 实验
解释 TLS 1.3 消息 flight、证书与临时密钥交换,用安全的教学模型计算一次 RTT 握手。
HTTP/2、HTTP/3 与 CDN 缓存:从网络瀑布图理解网页加载速度
用确定性 waterfall 模型拆解 HTTP/2、HTTP/3、QUIC stream 和 CDN HIT/MISS 对网页等待时间的影响。
正向代理与反向代理原理:连接路径、信任边界和时延计算
从连接方向和 TLS 终止点解释正向代理、反向代理与隧道代理,并用 Python 模型分段计算代理 hop 与缓存收益。
HTTP CONNECT 与 HTTPS 代理隧道:TLS 边界和握手时延
以 RFC CONNECT 状态机解释 HTTPS 代理隧道、TLS 可见性和首次加密请求时延。
SOCKS5 代理原理:协议字节、DNS 解析边界与泄漏风险
按 RFC 1928 拆解 SOCKS5 CONNECT 字节,通过安全编码实验比较本地 DNS 与代理侧域名解析。
反向代理负载均衡原理:队列、健康检查和可复现调度实验
用固定请求队列比较 round robin 与负载感知调度,并解释反向代理健康检查和重试边界。
代理缓存与重新验证:Cache-Control、ETag 和可观测性实验
依据 RFC 9111 计算共享缓存 MISS、HIT 与 304 revalidation 的时延,并解释缓存 key 和隐私边界。
资源与分发素材
代码、数据、图示和可分享摘要集中管理
网络基础原理 / GUIDE
Network Fundamentals Lab 说明
安装、无权限安全边界、十个 Python 实验和三个 C 示例的运行说明。
网络基础原理 / ARCHIVE
网络基础原理完整实验包
打包 Python/C 源码、固定场景、十份结果 CSV 与协议/代理图。
网络基础原理 / DATASET
DNS TTL 结果 CSV
四次固定查询的 HIT/MISS、过期时间和解析延迟。
网络基础原理 / DATASET
CIDR 与 MTU 结果 CSV
最长前缀路由和 3600 B payload 分段计算结果。
网络基础原理 / DATASET
TCP cwnd 事件 CSV
逐轮记录 ACK、窗口和固定重传事件。
网络基础原理 / DATASET
TLS 1.3 flight 结果 CSV
固定 RTT 模型中的消息方向、时间点和教学共享值。
网络基础原理 / DATASET
HTTP/CDN waterfall 结果 CSV
HTTP/2 与 HTTP/3 在冷暖缓存模型中的分阶段耗时。
网络基础原理 / DATASET
代理路径时延结果 CSV
直接访问、正向代理隧道与反向代理缓存路径的分阶段等待。
网络基础原理 / DATASET
CONNECT/TLS 时间线 CSV
记录 CONNECT authority、隧道建立与加密 HTTPS 请求的状态边界。
网络基础原理 / DATASET
SOCKS5 DNS 边界 CSV
保存 ATYP、目标字节、请求长度和本机 DNS 解析计数。
网络基础原理 / DATASET
代理负载均衡队列 CSV
比较 round robin 与 least queue 的 backend 选择和排队等待。
网络基础原理 / DATASET
代理缓存重新验证 CSV
记录 MISS、HIT、304 重新验证、对象年龄和响应时延。
网络基础原理 / TOOL
网络请求链路交互演示
在浏览器里调整 TTL、前缀、丢包、握手 RTT 与缓存路径。
网络基础原理 / SOCIAL
网络基础原理专题分享图
用于分享 DNS、TLS、HTTP/3、代理隧道和缓存专题的 1200x630 SVG 图。
常见问题
把搜索问题直接回答清楚
实验是否需要抓包或管理员权限?
不需要。实验使用固定场景和 localhost,线上命令只作为可选观察。
这些模型能否直接代表真实网络性能?
不能。模型用于隔离协议因素;实际部署仍应结合真实用户指标、缓存响应头和网络观测。
代理实验会建立可用于绕过访问控制的代理吗?
不会。新实验只编码协议字节或运行确定性本地模型,不配置外部代理、不转发真实目标流量。
