Computer NetworkNotes

第 35 章:大师之路

zjc 于 2026-02-04 发布

这是《计算机网络 零基础实战指南》的独立章节版。本章从概念、实操和生产排查三个视角展开,代码块保留了原书可直接运行的版本。 掌握计算机网络不是背完协议字段,而是能在真实系统中回答:流量从哪里来,路径上有哪里会失败,容量如何评估,延迟如何优化,故障如何止血,安全边界如何设计,并能把证据链讲清楚。

35.1 五个成长阶段

Level 1 使用者
  会 ping、curl、访问服务
      |
      v
Level 2 排障者
  能分层定位 DNS、TCP、TLS、HTTP 问题
      |
      v
Level 3 原理掌握者
  理解 TCP、UDP、TLS、HTTP、DNS 内部机制
      |
      v
Level 4 架构治理者
  能设计 LB、CDN、VPC、安全、容量和监控
      |
      v
Level 5 专家
  能读 RFC 和内核实现,优化协议栈和大规模架构

每个阶段的核心问题不同。初级问“为什么连不上”,中级问“为什么慢”,高级问“如何设计成不轻易断、断了能恢复、恢复可验证”。

35.2 能力矩阵

能力 初级 中级 高级
分层 知道模型 能定位层次 能设计协议边界
TCP 知道握手 会看状态和重传 能治理吞吐与长尾
HTTP 会发请求 懂缓存和幂等 能优化全链路
TLS 会用 HTTPS 能排查证书 能治理 mTLS 和轮换
云网络 会用安全组 能排查 VPC 能设计多地域架构
安全 知道防火墙 能配置策略 能落地零信任
观测 会看日志 会抓包和监控 能建立证据链平台

35.3 必做实验

实验一:完整请求拆解

dig www.example.com
curl -v https://www.example.com
curl -w 'dns=%{time_namelookup} connect=%{time_connect} tls=%{time_appconnect} ttfb=%{time_starttransfer} total=%{time_total}\n' \
  -o /dev/null -s https://www.example.com

产出:一张请求阶段耗时表。

实验二:TCP 状态观察

ss -ant
ss -i
tcpdump -i any 'tcp[tcpflags] & tcp-syn != 0' -nn

产出:三次握手、四次挥手、重传和 RST 的抓包分析。

实验三:弱网模拟

sudo tc qdisc add dev eth0 root netem delay 100ms 20ms loss 1%
sudo tc qdisc del dev eth0 root

观察 HTTP 耗时、TCP 窗口、重试和熔断。

实验四:搭建入口架构

Nginx
  -> 多后端
     -> 健康检查
        -> draining
           -> 限流

验证发布、摘除、超时和回滚。

35.4 项目训练

项目一:企业 API 入口

功能:

  1. HTTPS 和 HTTP/2;
  2. 多后端负载均衡;
  3. 健康检查;
  4. 访问日志;
  5. 限流;
  6. 灰度路由;
  7. 优雅发布。

验收:发布期间错误率不上升,真实 IP 可信,P99 有监控。

项目二:跨地域网络诊断平台

功能:

  1. 多地域拨测;
  2. DNS 解析;
  3. TCP / TLS / HTTP 分阶段耗时;
  4. mtr 路径;
  5. 证书监控;
  6. 告警。

产出:可用性视图和故障定位视图。

项目三:长连接推送系统

功能:

  1. WebSocket 服务;
  2. 心跳;
  3. 断线重连;
  4. 连接路由表;
  5. Kafka 或 Redis 广播;
  6. 慢消费者治理;
  7. 集群 draining。

验收:单机 10 万连接、广播延迟和内存稳定可测量。

35.5 RFC 与文档阅读

推荐阅读:

文档 主题
RFC 791 / 2460 / 8200 IPv4 / IPv6
RFC 792 / 4443 ICMP / ICMPv6
RFC 793 / 9293 TCP
RFC 768 UDP
RFC 1034 / 1035 DNS
RFC 7230-7235 或 9110 系列 HTTP 语义
RFC 7540 / 9113 HTTP/2
RFC 9114 HTTP/3
RFC 9000 QUIC
RFC 8446 TLS 1.3

阅读方法:

  1. 带问题读;
  2. 先看 overview 和术语;
  3. 手画报文和状态机;
  4. 用抓包验证;
  5. 记录版本差异;
  6. 不假设所有实现完全符合规范。

35.6 90 天进阶计划

第 1 到 14 天:基础

1. 分层模型
2. IP / 路由 / ARP / ICMP
3. UDP / TCP 基础
4. DNS 基础
5. curl / ping / mtr / ss

产出:命令手册和请求拆解实验。

第 15 到 30 天:传输层

1. 握手挥手
2. 状态机
3. 滑动窗口
4. 拥塞控制
5. 重传和调优

产出:TCP 抓包分析报告。

第 31 到 50 天:应用层

1. HTTP 语义
2. HTTPS / TLS
3. HTTP/2 / HTTP/3
4. WebSocket
5. 代理与网关

产出:入口网关配置和证书轮换流程。

第 51 到 70 天:生产架构

1. LB / CDN / NAT / VPC
2. 网络安全
3. 云原生网络
4. 容量和延迟优化

产出:架构评审模板。

第 71 到 90 天:进阶

1. 内核网络栈
2. IO 模型
3. 服务网格
4. 压测和混沌
5. RFC 阅读

产出:压测报告和故障演练记录。

35.7 长期习惯

  1. 每次问题画出路径;
  2. 每个结论给证据;
  3. 每个优化给前后指标;
  4. 每个变更加回滚;
  5. 每个故障沉淀监控;
  6. 每季度演练入口切换;
  7. 持续跟踪协议演进;
  8. 把常用排障命令产品化。

35.8 职业方向

后端工程师

重点:连接池、超时、幂等、HTTP 语义、RPC、长连接。

SRE / 运维工程师

重点:DNS、LB、证书、VPC、监控、抓包、容量和故障演练。

平台工程师

重点:网关、服务网格、CNI、网络策略、自动化诊断。

性能工程师

重点:内核网络栈、epoll、io_uring、零拷贝、拥塞控制和压测。

安全工程师

重点:TLS、mTLS、零信任、WAF、DDoS、审计和策略治理。

本章小结

从 0 到大师的路径是:会使用、会排障、懂协议、能治理架构、能读 RFC 和内核实现。持续成长来自实验、项目、压测、故障复盘和文档阅读。最终目标是形成自己的网络方法论:分层定位、证据优先、路径可视化、容量有预算、故障可演练、安全有边界。

思考题

  1. 评估你当前处于哪个阶段,列出三个短板。
  2. 用抓包解释一次 TCP 连接的完整生命周期。
  3. 设计一个多地域网络拨测平台。
  4. 为团队制定网络故障复盘模板。
  5. 写下未来 90 天的实验计划和可验证产出。