网络问题最让人挫败的地方,不是概念多,而是现象和原因之间总隔着一层雾。页面打不开、接口变慢、HTTPS 握手失败、CDN 回源异常,这些现象都发生在真实链路里,但如果没有工具和方法,排查时就只能靠猜。

这个系列想解决的,不是“记住多少协议字段”,而是建立一套能落到现场的排障思路:看到现象,先判断可能在哪一层;拿到工具,知道先看什么;拿到抓包,知道证据在哪里;最后把结论落回真实问题。

学网络如果只停留在背 HTTP、TCP、IP 的定义,很多问题始终只能停留在“像是网络问题”的模糊判断。真正的进步,是把网络从抽象知识变成可验证的排障能力。

这一系列会怎么展开

这个专题不再按传统教材章节来写,而是按真实排障链路来组织。

第一篇先看 DNS。因为很多问题在真正发起连接之前就已经发生了,域名解析结果不对、TTL 异常、权威返回不一致,都可能让后续判断全部偏掉。

第二篇看 TCP 建连。三次握手是所有后续通信的入口,连接超时、连接拒绝、RST、重传,很多现象都要从这里开始区分。

第三篇看 HTTP 请求耗时拆解。很多人会说“接口慢”,但慢到底慢在 DNS、建连、TLS、首字节还是内容下载,不拆开就没有结论。

第四篇看 HTTPS 与 TLS。证书问题、SNI、ALPN、协商失败,这些往往是线上最容易让人卡住的一段。

第五篇把视角拉到 CDN 与回源链路。用户请求到边缘节点、缓存命中、回源到源站、再返回客户端,这条链路一长,问题也更容易被中间层放大。

这套系列想建立的能力

学完这个系列,最重要的不是记住更多命令,而是形成下面这几种判断能力。

第一,看到一个故障现象时,能先按层分解,而不是一上来就怀疑代码。

第二,知道不同工具分别解决什么问题。dig 解决解析问题,curl 解决请求观测问题,ss 解决连接状态问题,tcpdumpWireshark 解决证据问题。

第三,知道什么叫“证据链”。不是一句“我感觉像网络抖动”,而是能拿出解析结果、连接状态、请求耗时和抓包现场,说明问题发生在哪一步。

推荐先准备好的工具

真正开始之前,建议先把下面这些工具准备好。

  • curl
  • dig
  • ping
  • traceroutemtr
  • ss
  • tcpdump
  • Wireshark

其中最重要的不是把所有参数背熟,而是先知道每个工具的定位。排障时先明确问题类型,再选工具,不要上来就乱抓包。

这一系列的阅读方式

这一套文章最适合边看边做。

每一篇都建议你按同一个模板做一次自己的实验:问题现象、初步判断、使用的命令、抓到的证据、最后结论。这样做几次之后,你会明显发现网络问题开始变得“能下手”,而不是只会觉得它复杂。

如果你本身在做后端、网关、CDN、反向代理、服务治理,这一套能力会更有价值。因为这些系统看起来在应用层,真正出问题时,却常常要回到底层链路去找原因。

小结

网络排障不是高深技能,而是一种把现象拆开、把证据连起来的习惯。这个系列就从最常见、最有现场感的五类问题开始,把 DNS、TCP、HTTP、TLS 和 CDN 链路一步步串起来。只要把这几步打通,很多原本模糊的线上问题,都会开始变得可解释、可验证、可复盘。