全景地图
| 段落 | 篇目 | 一句话内核 |
|---|---|---|
| 寻址与连接 | 开篇 / IP / ARP / 握手 / 挥手 | 找到对方、建立连接、体面告别 |
| 传输的精髓 | 滑动窗口 / 拥塞控制 / Nagle | 不丢不重不乱序,还要跑得快 |
| 应用层演进 | HTTP1.1 / 队头阻塞 / HTTP2 / TLS / 证书 / DNS / CDN | 每代协议都在还上一代的债 |
| 实战排错 | 长连接 / tcpdump / Wireshark / 故障手册 | 用证据说话,用流程兜底 |
第二十篇本来要讲 QUIC 与 HTTP/3,这里把它并进收官一段带过:QUIC 用 UDP 重造传输层——流间独立的可靠传输(治了 TCP 队头阻塞)、传输与加密合一握手(1 RTT 建连)、连接迁移(换网不断连)。它不是推翻 TCP,而是把 TCP 三十年间被内核固化、无法进化的教训,在用户态重新实现了一遍——理解了本系列前十九篇,QUIC 每个设计动机都能对号入座。
一个请求的旅程:主线复盘
把开篇那张旅程图补上每一站的篇号:DNS 解析(第 14 篇递归迭代、TTL)→ CDN 命中判断(第 15 篇边缘节点)→ TCP 握手(第 4 篇三次握手、半连接队列)→ TLS 握手(第 12 篇 RTT、第 13 篇证书链)→ HTTP/2 传输(第 11 篇分帧复用)→ 链路传输(第 6、7 篇窗口与拥塞,第 8 篇 Nagle)→ 长连接保活(第 16 篇)→ 出问题就进第 17~19 篇的排错流程。每一站都有明确的机制和工具,这就是网络知识的骨架。
生产环境检查清单
[ ] keepalive 全链路:浏览器→Nginx→upstream→应用 三段都开
[ ] 连接池:idleTimeout < 链路上最短空闲超时;maxWait 有限值
[ ] TLS:1.3 优先、会话复用开启、证书自动续期 + 过期监控
[ ] 拥塞控制:跨地域传输场景评估 BBR
[ ] 内核参数:somaxconn、tcp_max_syn_backlog 与应用 backlog 匹配
[ ] 监控三件套:重传率、握手失败率、连接状态分布(ss -s 采集)
[ ] 静态资源:CDN + 文件名 hash + 合理 Cache-Control
[ ] 事故预案:抓包命令模板提前写进运维手册,别现场想语法与其他系列的连接
网络是所有已写系列的底座:限流与熔断挡的洪峰,本质是 TCP 连接和 HTTP 请求的洪峰;微服务网关是 HTTP 语义在架构层的延伸;缓存与 Redis 的连接池、空闲回收,正是第十六篇的规则;JVM 排查 GC 引发的超时假象,要靠第十九篇的分层流程排除网络嫌疑。七大专栏在此汇合:从进程内(JVM)到进程间(网络),到服务间(微服务),再到系统间(分布式)。
最后一句话
网络知识最大的特点是背了就忘、抓包就懂。这二十篇反复在做的只有一件事:把每个协议还原成“它在解决什么问题”,把每个工具落到“下一条命令是什么”。下次线上再遇到玄学超时,别猜——分层剥洋葱,抓包见真章。愿你永远用不上第十九篇,但用得上时,它就在那里。
评论 (0)