计算机网络(第二版) — 全书拆解¶
30 秒导读: 这是一本 271 页的中文计算机网络教材,回答一个问题:两台相隔千里的计算机,怎么靠一层一层的规则(这一行叫「协议」),把数据一个比特不差地送到对方那个具体的程序手里? 它的讲法是教材里最经典的那种「下上法」:从最底下的物理介质一路往上,每一层都交代「上一层逼出了什么问题、这一层怎么补」。 读完后你手里会有一张完整的因果地图:为什么网线只传比特、为什么以太网(最流行的局域网技术)有最短帧长、为什么 IP 不负责可靠、为什么 TCP 要三次握手(双方互报身份与起点的三段开场对话)、你的浏览器敲一个网址背后发生了哪几件事。
本组文档是我们重写的完整拆解,十二章。读完不必看原书。
1. 先交代清楚:这是谁在什么时候写的¶
| 作者 | 李军怀(中文教材,主编署名) |
| 成书 | 2025 年版,第二版;正文自述引用的标准与 RFC 截至 HTTP/2(RFC 7540)、Wi-Fi 6(802.11ax) |
| 篇幅 | 271 页,10 章(第 6 章网络层最厚,拆成 10 个小节) |
| 定位 | 高校计算机专业「计算机网络」课程教材,机制 + 算例的写法,章末配习题 |
一件事必须先说,否则会误读这本书: 它成书于 2025 年,但骨架是三十年来没换过的经典体系 (OSI 模型、以太网、IPv4、TCP)。第 5 章的 X.25、帧中继、ATM 今天已基本退出实用, 书里也明说了(帧中继「已被更快的 ATM 等技术所取代」)1——它们的价值不在「现在用什么」, 而在「为什么被简化」:每一代广域网技术都是在传输介质变好之后,把网络内部的活儿往两头推。 读这一章时按「技术演化史」读,别按「使用手册」读。
2. 全书一条主线(读完这一节,你就懂了这本书)¶
这本书是一条从下往上的补锅链:每一层都是因为下一层有明确的缺陷才存在的。 下面把这条链完整走一遍 —— 只读这一节,你也能把这本书讲给别人听。
① 最底下:物理层只保证「比特能动」,不保证对错¶
双绞线、光纤、无线电,本质上都只是一根「比特流过的管子」——比特就是 0 和 1,字节是 8 个比特。 协议就是通信双方预先约定好的规则;物理层(第 02 章)管的是电气信号怎么表示 0 和 1、怎么编码、怎么在一条线路上塞进多路信号(复用)。 它清清楚楚地不管一件事:传过去的比特对不对、谁该收。 原书一句话点破:传输介质并不知道所传输的信号的含义2。
② 链路层:把「会出错的线」变成「无差错的链路」¶
物理线路上有噪声,比特说错就错。第 03 章的链路层干了三件事:
到这里,相邻两台机器之间就有了一条「无差错」的逻辑链路。但只限相邻两台。
③ 局域网:一条线上挂几十台机器,谁先说?¶
链路层管的是「两点之间」。办公室里几十台电脑共享一条线,必须有个规矩决定谁先说、 撞车了怎么办。第 04 章给出一个载入史册的答案 —— 以太网的 CSMA/CD: 先听后发、边发边听、冲突停发、随机重传。规矩简单到每台机器的网卡自己就能执行, 不需要任何中央调度。无线环境检测不到冲突,就改成「冲突避免」加预约。 交换机的出现把共享介质改成点对点独占,冲突这回事从此消失了——所以今天的以太网其实已经不再跑 CSMA/CD。(第 04 章)
④ 网络层:把「相邻两台」扩展成「全世界任意两台」¶
以太网是目前绝对主流的局域网技术(第 04 章主角);「模型」指对一套机制的抽象描述;「噪声」指线路上的随机电学干扰。
链路层解决不了跨网络:帧里的地址只在本地有效,出了这个网段没人认识。 第 06、07 章的网络层给出两个划时代的设计:
- IP 地址:全球统一的逻辑地址,路由器只认它,底下的以太网、令牌环差异全部被盖住 —— 这就是「虚拟互连网络」的含义3。
- 路由选择:每台路由器只维护一张「到哪个网络,下一步交给谁」的表,分组一站一站被接力转发。表怎么算出来、坏了怎么「收敛」(全网路由表重新达成一致),是距离向量(每台路由器只向邻居通报「我到各目的地有多远」,RIP 用它)与链路状态(每人一张全网地图各算各的,OSPF 用它)两大流派(第 07 章)。
IP 在这里立了一条全书的铁规矩:尽力而为,但不担保。分组可能丢、可能乱序、可能重复, IP 一概不查、不补、不通知4。为什么敢这么「不负责任」?因为可靠性有更好的地方安放——下一步。
⑤ 传输层:把「主机到主机」变成「程序到程序」,并且补上可靠性¶
一台机器上跑着几十个网络程序,IP 只把分组送到机器,交给谁? 第 09 章:端口号区分程序,TCP 补上可靠:
三次握手建立连接(互相确认双方都在、序号从几开始)
→ 每个字节编号,收方按序确认,丢了超时重传
→ 滑动窗口:收方用「窗口」告诉发方自己还吃得下多少(流量控制)
→ 慢启动 + 拥塞避免:发方自己试探网络容量,丢包就退(拥塞控制)
注意这条链的妙处:可靠性没有放在任何一台中间设备(路由器)上,而是放在通信两端的电脑里。 网络内部被刻意做傻、做快,聪明和可靠全部端到端地解决——这是 TCP/IP 打赢 OSI 的深层原因, 第 01 章对比两个模型时已经把「可靠性是端到端的问题」写明5。
⑥ 应用层:终于轮到给人用¶
底下的层把「两个程序可靠通信」这个底座打好之后,第 10 章的应用层长出了具体的服务: DNS 把域名翻译成 IP 地址(否则你得背数字),HTTP 让浏览器取网页, SMTP/POP 传邮件,DHCP 让电脑开机自动拿到地址。你日常上网的每一个动作, 拆开都是这几层协议的一场接力。
⑦ 全书落点:三个「为什么」¶
把链条倒过来看,这本书真正想让你带走的是三句话:
- 分层不是教条,是分工 —— 每层只补下一层的一个具体缺陷,接口干净了,整网才能异构互连。
- 尽力而为 + 端到端可靠 —— 网络核心做傻,边缘做聪明,这是互联网能长成今天规模的架构决策。
- 地址与名字是全部网络的枢纽 —— 从 MAC 地址、IP 地址、端口号到域名,一层套一层的名字系统, 每一层都靠「把自己层的名字解析成下一层的名字」往下走(ARP、DNS 干的都是这件事)。
3. 十二章地图¶
这张表不用记任何术语 —— 每章后面写的是「读完你能回答什么问题」。
| 章 | 读完你就能回答 |
|---|---|
| 01 概述与分层 | 网络为什么要分层?OSI 和 TCP/IP 差在哪?「时延」到底有哪几种? |
| 02 物理层 | 比特在铜线和光纤里怎么表示?一条线怎么同时传多路信号(复用)?双绞线为什么要「绞」? |
| 03 数据链路层 | 接收方怎么知道一帧从哪开始?CRC 校验码怎么算?停等协议为什么慢、滑动窗口怎么救它? |
| 04 局域网 | 以太网怎么解决「谁先说」?为什么有最短帧长 64B?交换机凭什么比集线器快? |
| 05 广域网 | X.25 为什么那么慢?帧中继砍掉了什么?ATM 的信元为什么定长 53B?MPLS 在 OSI 哪一层? |
| 06 网络层与 IP | IP 地址怎么分类、怎么划子网?一个 4000B 的分组怎么被切开重组?ARP 干的是哪两种地址的翻译? |
| 07 路由选择 | 路由表怎么算出来?RIP 的「无穷计数」是什么病、怎么治?OSPF 和 BGP 为什么一个对内一个对外? |
| 08 多播、IPv6、VPN、NAT | 多播省带宽省在哪?IPv6 不只是地址变长,还改了哪几件事?你家的私有地址是怎么上公网的? |
| 09 传输层 | TCP 凭什么可靠?三次握手为什么必须三次?拥塞窗口的「慢启动」图长什么样? |
| 10 应用层 | 敲一个网址后浏览器做了哪几步?HTTP/1.0 和 1.1 的连接差在哪?邮件是怎么一路送到你邮箱的? |
| 11 网络安全与管理 | 对称加密和公开密钥加密各管什么?数字签名怎么防抵赖?防火墙的「包过滤」和「代理」差在哪? |
| 12 网络系统设计与配置 | 建一个企业网分哪几步?核心层、汇聚层、接入层各干什么?网线水晶头的线序为什么要分 A/B 两个标准? |
推荐顺序: 01 → 02 → 03 → 04 → 06 → 07 → 09 → 10 是主链(链路→网络→传输→应用), 05、08、11、12 是四个专题,插在哪读完主链后读都行,互不依赖。
4. 这本书覆盖什么、不覆盖什么¶
覆盖(读完你能回答):
- 分层体系为什么成立:层、服务、接口、协议四概念,OSI 七层与 TCP/IP 四层的对照与各自的毛病;
- 物理层与链路层的全套机制:编码(曼彻斯特)、调制(ASK/FSK/PSK)、复用(FDM/TDM/WDM/CDMA)、 CRC 检错、停止等待、滑动窗口、HDLC/PPP;
- 以太网从 10Mb/s 到 100G 的速率家族、CSMA/CD 与无线 CSMA/CA、网桥与交换机;
- 网络层主体:IP 编址(分类地址、子网、CIDR)、分组格式与分片、ARP/ICMP、 路由算法(距离向量、链路状态)与 RIP/OSPF/BGP 三协议;
- 传输层:UDP 与 TCP 的报文格式、连接管理、流量控制、拥塞控制(AIMD)、重传计时器;
- 应用层:DNS、HTTP(含持久连接与流水线)、FTP、Telnet/SSH、SMTP/POP/IMAP、DHCP;
- 专题:广域网技术演化(X.25→帧中继→ATM→MPLS)、多播与 IGMP、IPv6 与过渡技术、VPN、NAT;
- 安全与管理:对称/公开密钥加密、RSA 与数字签名、PGP/PEM、IPSec/SSL/SET/EAP、 防火墙三种体系结构、SNMP 网络管理;
- 工程:三层网络设计、VLAN、生成树、综合布线六子系统、机房建设、一个企业网实例。
不覆盖(别指望在这本里找):
| 缺什么 | 说明 |
|---|---|
| 现代数据中心网络 | 云计算、SDN(仅在 MPLS 处提一句)、容器网络、QUIC 这些近十年的事不在;本书的网络观是「企业网 + 运营商网」 |
| 蜂窝移动网 | 5G/6G 只在无线介质处带一句,不讲移动通信网络的体系 |
| Web 安全细节 | SQL 注入、XSS 只有名词级提及,不讲攻击与防御的具体机制 |
| TLS 的现代版本 | 讲 SSL 不讲 TLS 1.3 握手;密码学部分以 DES/RSA 教学为主,AES 只在 WPA 处带过 |
| 实验与实操 | 全书无抓包、无配置命令、无编程作业;章末习题是计算题与简答题 |
| IPv6 的运行细节 | 头格式与过渡技术有,邻居发现、地址自动配置这些日常机制没展开 |
5. 我们的判断¶
判断(我们的,不是书里的): 这本书今天最值钱的是第 03、06、07、09 章这条主链 (链路层可靠传输、IP 编址与分片、路由、TCP),这四个机制三十年来没变过,而它们恰恰是 每个写网络程序的人天天踩在脚下的东西。第 04 章(以太网与交换机)次之; 第 05 章(广域网)按技术史读,价值在「演化逻辑」不在技术本身;第 12 章(工程)适合 真要去机房布线的人,对研究者是浏览级。 如果错,会错在: 如果读者的目标是面试背八股之外的「真懂」,教材的算例密度可能不够, 需要配合抓包实验;另外 2025 年版对 QUIC/HTTP3、TLS1.3 等现代栈只字未提, 拿它当「当今互联网全貌」会缺一块。
判断(我们的,不是书里的): 这本书讲 OSI 七层用了全书最多的篇幅之一(第 01 章), 而 OSI 从来没有被真正建成过。它值得学,但值得学的理由是「分层思想的教具」, 不是「网络的真实结构」——真实结构是第 01 章末尾那个折中的五层。 读任何网络文档、报错、抓包结果时,按五层对号入座,比按七层更快。 如果错,会错在: OSI 的会话层、表示层概念在少数协议(如 Kerberos、ASN.1)里还留着影子; 如果专门研究这些遗留协议,七层模型仍然必要。
6. 许诺兑现表¶
这份拆解里每一处「第 N 章讲」,都在这里记一行、逐行核过。
| 许诺在哪 | 许诺了什么 | 应兑现在哪 | 核过了吗 |
|---|---|---|---|
| 本页 §2 ② | 帧同步、CRC、确认重传怎么补对错 | 03 §3、§4 |
✓ |
| 本页 §2 ③ | CSMA/CD 与交换机为什么消灭冲突 | 04 §3、§7 |
✓ |
| 本页 §2 ④ | 虚拟互连网络、路由两流派 | 06 §2、07 全章 |
✓ |
| 本页 §2 ⑤ | 端口、三次握手、窗口、拥塞控制 | 09 §3–§6 |
✓ |
| 本页 §2 ⑥ | DNS/HTTP/邮件/DHCP 接力 | 10 全章 |
✓ |
| 本页 §1 | 帧中继「已被更快的 ATM 等技术所取代」 | 05 §4 边界节 |
✓ |
02 §6 |
链路层三种服务与帧格式 | 03 §2、§8 |
✓ |
03 §8 |
PPP 之后接网络层 | 06 全章 |
✓ |
04 §7 |
网桥不隔离广播域,需要路由器 | 06 §2、08 §4 |
✓ |
06 §5 |
路由算法两流派 | 07 §3–§6 |
✓ |
07 §7 |
BGP 之后回讲 MPLS | 05 §6 |
✓ |
09 §8 |
socket 接口到应用层协议 | 10 §1 |
✓ |
11 §3 |
防火墙的具体应用形态 | 12 §3 |
✓ |
拆解写于 2026-10-19,依据 2025 年版《计算机网络(第二版)》(李军怀)。原始书籍文件不入库,
本组文档是我们自己的重写;每条引用都可用 node scripts/book-verify.mjs ji-suan-ji-wang-luo-2e 回核。
-
出处:「帧中继」第 278 段(
text/05-ch05.txt:278,搜「所取代」)。原文:「随着技术的发展,帧中继已被更快的 ATM 等技术所取代。」 ↩ -
出处:「物理层」第 41 段(
text/02-ch02.txt:41,搜「并不知道所传输的信号的含义」)。原文:「传输介质并不知道所传输的信号的含义。」 ↩ -
出处:「6.1网络层服务与网络互连」第 84 段(
text/06-ch06-01-6-1.txt:84,搜「虚拟互连网络」)。 ↩ -
出处:「6.2IP」第 46 段(
text/07-ch06-02-6-2ip.txt:46,搜「不保证每个分组」)。原文:「它不保证每个分组都能够正确地送到,分组可能丢失、投递无序或重复投递。」 ↩ -
出处:「第1章概述」第 762 段(
text/01-ch01.txt:762,搜「可靠性是端到端的问题」)。原文:「TCP/IP 模型认为可靠性是端到端的问题,因此它在网络层仅有一种无连接的通信模式,但在传输层支持无连接和面向连接两种模式。」 ↩