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

1990 年代的路由器要同时支持七八种协议簇,因为那时 IP 还没有一统天下。 这段历史在今天重演了一次:IPv4 与 IPv6 双栈,就是「多协议」的缩小版。

📝 本节和前面几节的关系

上一节给了功能分类,这一节看分类里最早消失的一类。 它消失得很彻底,但留下的教训一点没过时。

一、当年要支持哪些协议

协议簇 谁在用 今天


TCP/IP 互联网、UNIX 唯一主流 IPX/SPX Novell NetWare 基本消失 AppleTalk Mac 网络 1990 年代末停用 SNA IBM 主机 少数金融遗留 DECnet DEC 小型机 消失 X.25 分组交换网 被帧中继与 IP 取代

为什么当年要支持这么多:不同厂家的机器说不同的话,而路由器是唯一能把它们连起来的盒子。 这叫「多协议路由」,是当年路由器最值钱的能力——也是它比交换机贵十倍的理由。

二、三种地址结构,三张路由表

IP:4 字节网络号 + 4 字节主机号,固定分界。 IPX:4 字节网络号 + 6 字节节点号,节点号就是 MAC 地址。 AppleTalk:2 字节网络号 + 1 字节节点号,又是一种分法。

三种长度、三种寻址方式,所以路由器要为每种协议单独维护一张路由表。一台设备跑三套协议, 内存与 CPU 都要三份。

这也是为什么当年的路由器那么贵:不是硬件贵, 是「每多支持一种协议,整套转发逻辑都要再实现一遍」。

三、IP 为什么赢了

它最简单,所以最容易实现;实现得多,所以最便宜;便宜,所以最多人用。这是个正反馈。

而 IPX 与 AppleTalk 都犯了一个共同的错:把「自动发现」做得太好。自动发现靠广播, 广播在大网里就是灾难。IP 的「地址要人配」看着笨,但它换来了可规划性。

这段历史在今天重演:IPv4 与 IPv6 并存要同时跑两套路由协议、维护两张表。 所以「双栈」不是免费的——它有实打实的资源与运维代价。

四、动手 Demo:那些消失的协议簇,路由器为什么曾经要支持它们

这段列出七种协议簇的用途与结局,再对比 IP、IPX、AppleTalk 三种地址结构, 算出「支持三套协议要多花几份资源」。

for name, who, today in protos:
    T([name, who, today], [0, 0, 0])
P(u"  支持 3 种协议簇:要 3 张路由表、3 套转发逻辑。")

实跑输出:

--------------------------------------------------------------------
那些消失的协议簇,路由器为什么曾经要支持它们
--------------------------------------------------------------------
**1990 年代的路由器要同时支持七八种协议簇**,因为那时还没有「IP 一统天下」。

  协议簇           谁在用             今天
  ----------------------------------------------------------
  TCP/IP           互联网、UNIX       唯一主流
  IPX/SPX         Novell NetWare     基本消失
  AppleTalk        Mac 网络           1990 年代末停用
  SNA              IBM 主机           少数金融遗留
  DECnet           DEC 小型机         消失
  Banyan VINES     PC 网络            消失
  X.25             分组交换网         被帧中继与 IP 取代

**为什么当年要支持这么多**:因为不同厂家的机器说不同的话,
**而路由器是「唯一能把它们连起来的盒子」。**
**这叫「多协议路由」,是当年路由器最值钱的能力。**

**IPX 的地址结构值得看一眼**,它解释了「为什么路由器要认识多种地址」:

  · IP:**4 字节**网络号 + 4 字节主机号,固定格式。
  · IPX:**4 字节网络号 + 6 字节节点号**(就是 MAC 地址),格式不同。
  · AppleTalk:**2 字节网络号 + 1 字节节点号**,又不同。

**三种地址长度、三种寻址方式**,所以路由器要为每种协议单独维护一张路由表。
**一台设备跑三套协议,内存与 CPU 都要三份。**

**这段历史的意义在今天**:
**IPv6 与 IPv4 并存就是同一个问题的重演**——两台路由器之间要同时跑两套路由协议、维护两张表。
**所以「双栈」不是免费的,它有实打实的资源代价。**

「唯一主流」这四个字是整个网络史最重要的结果之一:它意味着今天的工程师只需要懂一套协议。 而 1995 年的工程师要懂五套。

三种地址结构那段值得细看:IPX 把 MAC 当地址(6 字节节点号), 所以它不需要 ARP——这个设计当年很聪明,但它把「地址」与「硬件」绑死了,换网卡就换地址。

最后一句「双栈不是免费的」要记住:今天很多人把 IPv6 当成「加个地址就行」, 实际上它要多一套路由协议、多一套 ACL、多一套监控。 成本结构与当年的多协议路由完全一样。

30 秒实验

  1. 查一下你的电脑有没有 IPv6 地址。
  2. 看路由表里 IPv4 与 IPv6 各有多少条。
  3. 想一想:如果只用 IPv6 不用 IPv4,能省掉哪些工作?

常见误区

  1. 以为多协议支持是「老掉牙的事」。IPv4/IPv6 双栈就是它。
  2. 以为协议之争是技术优劣。主要是成本与生态的正反馈。
  3. 以为双栈只多一个地址。要多一整套路由、策略与监控。
自测三问(点开对答案) 1. 当年路由器为什么必须支持多种协议簇? —— 不同厂家的机器说不同的协议,路由器是唯一能把它们连起来的盒子。 2. IPX 的地址为什么要 6 字节节点号? —— 它直接用 MAC 地址作节点号,因此不需要 ARP。 3. IP 最终胜出的关键是什么? —— 简单、易实现、便宜、用的人多,形成正反馈。

下一节:看一个今天还在的功能——路由器和交换机长在了一起。

相关笔记