本文是《计算机网络学习笔记》系列的第十五篇,也是本系列的收尾篇。从第一篇 TCP 报文格式到第十四篇 SMTP 邮件协议,这个系列走完了计算机网络五层模型的绝大部分核心内容。本文做一次整体梳理,帮助读者建立全局视野,并给出几条不同目的的推荐阅读路径。

一、五层模型全景图

┌─────────────────────────────────────────────────────────┐
│  应用层                                                   │
│  HTTP(6) · TLS(5) · DNS(7) · SMTP(14) · DHCP(13)        │
├─────────────────────────────────────────────────────────┤
│  传输层                                                   │
│  TCP(1)(2)(3)(4) · UDP(10)                               │
├─────────────────────────────────────────────────────────┤
│  网络层                                                   │
│  IPv4/IPv6(8) · NAT(9) · ICMP(11)                        │
├─────────────────────────────────────────────────────────┤
│  链路层                                                   │
│  以太网 · ARP(12)                                        │
├─────────────────────────────────────────────────────────┤
│  物理层                                                   │
│  (双绞线、光纤、无线电波,本系列未涉及)                  │
└─────────────────────────────────────────────────────────┘
括号内数字为对应篇号,第13篇为跨层串讲

二、各层核心结论

传输层

TCP 是互联网可靠传输的基石。它用三次握手建立连接、四次挥手终止连接;用序列号 + 确认号 + 超时重传保证数据不丢失;用滑动窗口(GBN/SR)和 SACK 提升效率;用 rwnd 做流量控制、用 cwnd(慢启动 + 拥塞避免 + 快速恢复)做拥塞控制。头部最少 20 字节。

UDP 是对 TCP 的另一种取舍:头部仅 8 字节,无连接、不可靠、无拥塞控制。适合一问一答(DNS)、广播(DHCP)、实时音视频通话,以及 QUIC/HTTP/3 这种在应用层自己管可靠性的场景。

网络层

IP 是尽力而为的,不保证送达,不保证顺序。IPv4 地址 32 位,已基本耗尽;IPv6 地址 128 位,正在逐步普及,消灭了 NAT 的必要性。

NAT 是 IPv4 地址不足时的打补丁方案,路由器用映射表在公网 IP 和内网 IP 之间做翻译。它破坏了互联网端对端通信的原则,催生了 UDP 打洞和 UPnP 等穿透技术。

ICMP 是 IP 的配套错误报告机制,ping 用 Echo Request/Reply(Type 8/0),traceroute 利用 TTL 耗尽触发 Time Exceeded(Type 11)逐跳追踪路径。

链路层

以太网帧 是数据在局域网内传输的基本单位,MTU 1500 字节是 IP 分片的根源。ARP 负责将 IP 地址翻译成 MAC 地址;跨网段通信时,ARP 的目标是网关路由器,而不是最终目的地。

应用层

HTTP 经历了三次演进:1.1 是文本协议,2.0 引入二进制帧和多路复用,3.0 基于 QUIC/UDP 彻底告别了 TCP 队头阻塞。

TLS 架在 TCP 之上,提供加密、认证、完整性三重保障。握手阶段交换随机数和证书,协商出会话密钥,后续通信全程加密。

DNS 是分布式的全球域名解析系统,根服务器 → TLD 服务器 → 权威服务器三级层级,运行在 UDP 53 端口。

SMTP 是基于文本的邮件发送协议,信封(MAIL FROM/RCPT TO)和邮件头(From:/To:)是两回事。现代 SMTP 全程套 TLS,IMAP 取代 POP3 成为收件主流。


三、推荐阅读路径

路径 A:后端开发 / 网络编程入门

重点理解传输层,以及应用层如何在传输层之上构建协议。

第1篇(TCP格式)→ 第2篇(握手挥手)→ 第3篇(可靠传输)→ 第4篇(流量/拥塞控制)
→ 第10篇(UDP)→ 第5篇(TLS)→ 第6篇(HTTP)→ 第13篇(全流程串讲)

路径 B:备战面试

覆盖高频考点,先广后深。

第13篇(全流程串讲,建立整体认知)
→ 第2篇(三次握手/四次挥手)→ 第4篇(拥塞控制)→ 第7篇(DNS)
→ 第9篇(NAT)→ 第5篇(TLS)→ 第11篇(ICMP/ping/traceroute)

路径 C:从零开始,按五层模型自顶向下

跟随本系列的发布顺序,从应用层向下逐层理解。

第6篇(HTTP)→ 第7篇(DNS)→ 第5篇(TLS)→ 第14篇(SMTP)
→ 第1-4篇(TCP)→ 第10篇(UDP)
→ 第8篇(IP)→ 第9篇(NAT)→ 第11篇(ICMP)
→ 第12篇(链路层/ARP)→ 第13篇(全流程串讲)

四、本系列全部文章

篇号标题所在层次
第1篇TCP 协议格式详解传输层
第2篇TCP 三次握手与四次挥手传输层
第3篇TCP 可靠数据传输传输层
第4篇TCP 流量控制与拥塞控制传输层
第5篇TLS:HTTPS 背后的加密握手应用层
第6篇HTTP 协议进化史应用层
第7篇DNS:互联网的电话簿应用层
第8篇IPv4 与 IPv6:网络层的寻址与路由网络层
第9篇NAT:家里的路由器如何帮你"上网"网络层
第10篇UDP 协议详解传输层
第11篇ICMP:ping 和 traceroute 背后的协议网络层
第12篇链路层:以太网帧与 ARP 协议链路层
第13篇从输入 URL 到页面显示:全流程串讲跨层串讲
第14篇SMTP:电子邮件是如何发出去的应用层

五、还可以继续深入的方向

本系列覆盖了五层模型中最核心的部分,但计算机网络是一个极深的领域,以下方向值得进一步探索:

方向关键词
路由协议OSPF(链路状态算法)、BGP(互联网骨干协议)、AS 自治系统
无线网络WiFi(802.11)、4G/5G 蜂窝网络、信道接入与冲突避免
网络安全DDoS 防护、SYN Flood、中间人攻击、证书链验证
高性能网络DPDK(绕过内核协议栈)、RDMA、零拷贝技术
CDN 与负载均衡Anycast、反向代理、全局流量调度
协议抓包实战Wireshark 过滤语法、解密 TLS 流量、分析 TCP 重传

参考资料:《计算机网络:自顶向下方法》(James F. Kurose & Keith W. Ross)

标签: none

添加新评论