🔌 第三章 从网线到网络设备
📄 一句话概括

全表比对无一命中时,若有默认路由(0.0.0.0/0)就整包交给它指的上游;没有则丢弃并回 ICMP 不可达。

📝 本节和前面几节的关系

3.3.4 查表命中;本篇处理查不到的情况。

一、兜底

0.0.0.0/0 是【匹配一切】的记录; 家用/公司网关表里必有它,指向运营商——出口中的出口。

二、没有兜底

无默认路由 + 查不到 → 丢弃并回 ICMP 不可达; 【ping 不通但前几跳能通】常出现在这里。

三、动手 Demo:默认路由兜底

两种结局:

for s in ['有默认路由(0.0.0.0/0)-> 全交给上游网关',
没有默认路由 -> 丢弃,回 ICMP 不可达']:
    print(s)

实跑输出:

--------------------------------------------------------------------
默认路由兜底
--------------------------------------------------------------------
  表里查不到目的网段时:

    有默认路由(0.0.0.0/0)-> 全交给上游网关
    没有默认路由 -> 丢弃,回 ICMP 不可达

  家庭路由器 / 公司网关的表里必有一条默认路由,
  指向运营商——它是【出口中的出口】。

12 课把默认路由称为【高度压缩路由信息的终极方法】(6.11)—— 一句话就是:我不认识的,全交给上级。

30 秒实验

  1. route print 找出默认路由(Destination 0.0.0.0)。
  2. 删掉默认路由(若你有权限),看什么能通什么不能通。
  3. 想想为什么默认路由能大幅缩小路由表。

常见误区

  1. 以为默认路由是可选项——上外网必须有。
  2. 以为查不到会自动尝试其他出口——不,直接丢。
自测三问(点开对答案) 1. 默认路由怎么写? —— 0.0.0.0/0。 2. 查不到且无默认路由会怎样? —— 丢弃并回 ICMP 不可达。 3. 默认路由的意义是什么? —— 兜底,大幅缩小路由表。

相关笔记