📡 第三章 路由器和它庞大的功能
📄 一句话概括

路由器存在的第一个理由不是「连不同网络」,是「让广播停下来」。 划网段与上路由器是同一件事的两面——没有路由器,网段之间什么也不通。

📝 本节和前面几节的关系

第二章把 L2 交换机拆完了,从这一章开始拆「看 IP 的设备」。 02.08.05 讲 VLAN 时提到「广播域」,这一节把那个账算到底。

一、广播域太大,终端先垮

一个不划网段的平面网络,就是一个广播域。每台设备每秒发 1 个 ARP,域里就有 N 个广播, 每台都要收一遍、处理一遍。

5000 台的平面网络,每台每秒要处理 5000 个广播——而处理一个广播要几十微秒, 光这个就把 CPU 吃满了。

划成 /24 之后每台只处理 254 个,降了一个数量级。 但要跨网段通信,就必须有设备在中间转发——那就是路由器。

二、三个理由

一、隔离广播:把大广播域切成小的,这是最直接的动机。 二、地址分块:IP 地址按前缀分配,不同前缀必须由路由器连起来。 三、策略:网段之间可以拒绝、限速、审计——这些在二层做不到。

三条里第三条最容易被忽略:二层设备只会「转发或丢弃」, 它没有「这个网段的人不许访问那个网段」这种概念。这就是为什么有 VLAN 之后还需要三层设备做访问控制。

三、动手 Demo:设备数、广播量与终端的负担

这段按「每台每秒 1 个 ARP」算六个规模下每台设备要处理的广播数, 并给出「还能忍/明显变慢/开始掉包/基本瘫痪」的判读。

for n in (50, 200, 500, 1000, 3000, 5000):
    if n <= 200:
        note = u"还能忍"
    elif n <= 1000:
        note = u"明显变慢"
    T([u"%d" % n, u"%d" % n, u"%d 个" % n, note], [0, 0, 0, 0])

实跑输出:

--------------------------------------------------------------------
没有路由器,一个网要背多少广播
--------------------------------------------------------------------
**路由器存在的第一个理由不是「连不同网络」,是「让广播停下来」。**这一节先把这个账算清。

**一个不划网段的平面网络,就是一个广播域。**假设每台设备每秒发 1 个 ARP,
那么这个域里每秒就有 N 个广播,**每台设备都要收一遍、处理一遍。**

  设备数     每秒广播     每台每秒要处理     后果
  -------------------------------------------------------
  50         50           50 个              还能忍
  200        200          200 个             还能忍
  500        500          500 个             明显变慢
  1000       1000         1000 个            明显变慢
  3000       3000         3000 个            开始掉包
  5000       5000         5000 个            基本瘫痪

**5000 台的平面网络,每台每秒要处理 5000 个广播。**而一台终端处理一个广播要几十微秒,
**光是这个就把它吃满了。**

**划成 /24 网段之后**(每段 254 台),每台的负担变成:

  每台每秒 254 个广播,是原来的 1/19。

**但要跨网段通信,就必须有设备在网段之间转发——那就是路由器。**
**所以「划网段」与「上路由器」是同一件事的两面。**

**第二个理由才是「地址不够用」**:IP 地址分块分配,不同网段要用不同的前缀,
**跨前缀必须由路由器连起来**。
**第三个理由是「策略」**:网段之间可以拒绝、可以限速、可以审计——**这些在二层做不到。**

从 200 到 1000 是分水岭:这个区间里「广播」从背景噪声变成主要负担。 而办公网的人数常常正好落在这个区间——这就是为什么「一个 /24 一个部门」是常见做法。

5000 台那一行是「基本瘫痪」,但真实情况更糟:广播风暴时不止 ARP,还有 NetBIOS 名称查询、 DHCP 发现、以及各种协议的自发现报文——实际广播量可能是这个数的好几倍。

所以「划网段」这件事要在设计阶段做,不能等网络慢了再补。 补的时候要改地址、改配置、改防火墙策略,代价比一开始就划高得多。

30 秒实验

  1. 数一下你所在网段有多少台设备。
  2. 在交换机上查端口的广播报文计数。
  3. 看你的默认网关是哪台设备,它是不是同时在做路由与防火墙。

常见误区

  1. 以为 VLAN 就等于隔离了网络。VLAN 之间还要路由器才通。
  2. 以为平面网络「只是慢一点」。到几千台就直接不可用。
  3. 以为路由器只是「连两根线」。它做的是隔离与策略。
自测三问(点开对答案) 1. 路由器存在的最直接理由是什么? —— 隔离广播域,让终端不必处理整个网络的广播。 2. 为什么「划网段」与「上路由器」是同一件事? —— 网段之间必须有三层设备转发才能互通。 3. 二层设备做不到哪件事? —— 基于网段的策略控制(拒绝、限速、审计)。

下一节:路由器要做两件不同的事——选路与转发,先看选路。

相关笔记