🌐 第六章 路由
📄 一句话概括

路由压缩的终极招式:0.0.0.0/0 默认路由——掩码 0 位,任何地址 AND 它都得 0,永远命中;"表里剩下的全走这条路",一条顶全世界(压缩率 100%)。它是查表优先级最底层的兜底,也是家用路由器唯一的上网出口——删了它,外网立刻全断。

📝 本节和前面几节的关系

6.10 是"部分压缩"(同出口的连续网段并成一条),本节是压缩的极限:把所有查不到的一律归一条。6.3 查表、6.1 默认网关、6.7 四来源里的"默认"三条线在这合流。

一、终极压缩:0.0.0.0/0 为什么"永远命中"

回忆 6.3 的判定动作:目的 IP AND 行掩码 == 网络目标 才算命中。

这就是它"终极"的原因:不是把某几片网压缩,而是把剩下的所有可能性一一网打尽。表里其余行都命中不了的目的地,最后一定会落到它头上。

二、压缩三级跳(第一张配图)

级别 手段 覆盖 表行数
一级 明细路由 一片网(/24) 最占表
二级 路由聚合(6.10) 同出口连续一片大网(/22) 减
三级 默认路由 0.0.0.0/0 其余全部 1 行

家用路由器是最极致的例子:两条直连 + 一条默认,就扛起了整个互联网方向——它根本不知道外面有哪些网,全交给默认路由指向的 WAN 口。

三、它永远不抢戏:优先级最底层(第二张配图)

默认路由虽然"什么都能命中",但永远不会抢走别人的活——因为 6.3 的最长前缀匹配:前缀越短越不具体,优先级越低。

所以"默认路由"这个名字的另一层意思:默认(兜底)的选择。它把"查不到就丢包"改写成"查不到就交给它"。

四、代价:方向全押在它身上

一条行管住所有未知方向,好处是极致省表,代价是错误后果被放大到全网:

五、动手 Demo81:看清这一行(高危只观察)

  1. Win+R → cmd → 回车,敲 ipconfig——记下"默认网关"(比如 192.168.1.1);
  2. 敲 route print,找网络目标 0.0.0.0、掩码 0.0.0.0 那一行——它的"网关"列就是刚才那个默认网关,这一行就是你家与外网的唯一联系;
  3. 对照 6.2 的知识点:这条默认路由不是人写的,是 DHCP 连网关一起发给你的(3.12 三件套的第三件);
  4. 30 秒实验(只观察,别真删):想象一下删掉它——ping 192.168.1.1(网关)依然通,ping 223.5.5.5 立刻"无法访问目标主机"。这就是"外网全断、内网照旧"。真想试的话,恢复办法是重插网线 / 断开重连 Wi-Fi,让 DHCP 重新下发默认路由。
  5. 全部完成。你现在能说清:为什么一条全 0 的行能管住整个互联网方向,以及它为什么永远排最后。

六、常见误区

七、动手自测

点开自测(先自己答,再展开) 1. 默认路由的网络目标和掩码分别是什么? 2. 为什么它"永远命中"?用 6.3 的判定动作解释。 3. 压缩三级跳分别是哪三级?表行数如何变化? 4. 默认路由为什么不会抢明细行的活? 5. "默认"这个词在这里有哪两层意思? 6. 家用路由器的表通常长什么样?谁下发的默认路由? 7. 默认路由指错方向会怎样? 8. 两台路由器互相默认路由指向对方会发生什么? 9. 删掉默认路由的现象是什么?为什么内网还通? 10. 聚合和默认路由的区别是什么?两者怎么配合?

答案:① 0.0.0.0 / 0.0.0.0。② 掩码全 0,任何地址 AND 0.0.0.0 == 0.0.0.0 == 网络目标,所以无一例外命中。③ 明细 → 聚合 → 默认;行数递减到 1 行。④ 最长前缀匹配:前缀越短优先级越低,明细命中它就让位。⑤ "兜底的选择"+"其余的(默认)都走它"。⑥ 两条直连 + 一条默认;由 DHCP 随网关一起下发。⑦ 所有未知方向的包全朝错方向扔。⑧ 环路:包两边来回打转直到 TTL 耗尽。⑨ 外网全断、内网照旧(直连路由不受影响),典型症状是"局域网通、上不了网"。⑩ 聚合是有范围的部分压缩,默认是无范围全兜底;三层配合:明细 + 聚合 + 默认。

八、下一步学什么

相关笔记