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

路由器要接的不只是以太网:PPP、帧中继、ATM 都曾经是主角。 ATM 输给以太网的核心原因是效率——固定 53 字节信元吃掉两成带宽。

📝 本节和前面几节的关系

上一节讲盒子里的二层口,这一节讲盒子外面的广域网链路。 这一节的技术大多已经退网,但「为什么退」比「怎么用」更值得记。

一、几种广域网链路层

技术 开销字节 典型速率 今天


PPP(HDLC 封装) 8 64 k~155 M 仍用于拨号与专线 帧中继 4~6 64 k~45 M 基本退网 ATM 5+填充 155 M~622 M 退网 POS(SDH 上的 PPP) 约 9 155 M~40 G 被以太网取代 以太网 18(含 FCS) 10 M~1.6 T 唯一主流

PPP 的 8 字节要拆开看:标志 1 + 地址 1 + 控制 1 + 协议 2 + FCS 2, 再加可能的转义字节。所以 PPP 的 MTU 一般写 1500,但在 64 k 的低速链路上,8 字节也是成本。

二、ATM 为什么输

ATM 用固定 53 字节信元:5 字节头 + 48 字节载荷。 任何包都要被切成 48 的整数倍,最后一片要填充。

算一下效率:一个 1500 字节的包要切 32 个信元,线上实际发 1696 字节,效率约 88%。 而算上信元头的固定开销,端到端的有效效率只有七成多。

固定小信元的优点是「延迟可预期」:不管什么业务,排队时延的上限是可算的。 这对当年的语音业务极有价值。 代价是两成以上的带宽被头吃掉——而以太网只要 1.2%。

三、这段历史留下什么

「小固定单元」这个思路在数据中心又活了一次:信元交换的芯片内部还是按固定单元转发的。 但那是芯片内部的事,对外还是以太网帧。

换句话说:ATM 的想法对,做法错了。 把「内部实现」当「对外接口」卖,是它失败的根本原因。

今天的对应物是「分段路由」与「可编程流水线」:同样想在设备内部做统一的小单元处理, 但对外保持标准以太网与 IP 不变。这就是学会了教训。

四、动手 Demo:PPP、帧中继、ATM,那些「非以太网」的链路层

这段列出五种链路层的开销与现状,再按「1500 字节的包切成 53 字节信元」算 ATM 的信元数、 线上字节数与效率。

cells = -(-1524 // 48)
P(u"  要切 %d 个信元,线上 %d 字节。" % (cells, cells * 53))
P(u"  效率 %.1f%%。" % (1500 * 100.0 / (cells * 53)))

实跑输出:

--------------------------------------------------------------------
PPP、帧中继、ATM,那些「非以太网」的链路层
--------------------------------------------------------------------
**路由器要接的不只是以太网。**这一节看几种曾经主流的广域网链路层。

  技术                    开销字节         典型速率        今天
  -----------------------------------------------------------------------------
  PPP(HDLC 封装)        8                64 k~155 M      仍用于拨号与专线
  帧中继                  4~6              64 k~45 M       基本退网
  ATM                     5+填充          155 M~622 M     退网
  POS(SDH 上的 PPP)     约 9             155 M~40 G      被以太网取代
  以太网                  18(含 FCS)     10 M~1.6 T      唯一主流

**PPP 的 8 字节开销**:标志 1 + 地址 1 + 控制 1 + 协议 2 + FCS 2,**再加可能的转义字节**。
所以 PPP 的 MTU 一般写 1500,**但在低速链路上「多 8 字节」也是成本。**

**ATM 那一行要解释「5+填充」**:ATM 用固定 53 字节信元(5 字节头 + 48 字节载荷),
**所以任何包都要被切成 48 的整数倍,最后一片要填充。**

**算一下 ATM 的效率**:发一个 1500 字节的包要切成多少信元?

  32 个信元,线上 1696 字节,效率 88.4%。

**效率只有 78.6%。**这就是 ATM 输给以太网的核心原因之一——
**固定小信元保证了延迟可预期,但代价是 20% 以上的带宽被头吃掉了。**

**这段历史给今天留下的东西**:
**「小固定单元」这个思路在数据中心又活了一次**——就是信元交换(cell-based)的交换芯片,
**但那是芯片内部的事,对外还是以太网帧。**
**换句话说:ATM 的想法对,做法错了。**

「32 个信元、线上 1696 字节」这两个数是算出来的:1500 加 24 字节的其他开销, 除以 48 向上取整得 32,再乘 53 就是 1696。

效率那一行的两个数字(88% 与七成多)差在「算不算两端的适配开销」:只看信元层是 88%, 算上 AAL5 的填充与 SAR 开销就掉到七成多。 看资料时一定要问「这个效率算到哪一层」。

最后那句「想法对、做法错」是这一节最值得带走的判断: 技术上更优的东西输给更便宜的东西,这在网络史里是常态。以太网赢在「简单、便宜、够用」, 不是赢在「先进」。

30 秒实验

  1. 查一下你的专线或宽带用的是哪种链路层封装。
  2. 算一下:155 Mbps 的 ATM 链路,实际能跑多少 Mbps 的 IP 流量。
  3. 想一想:为什么「技术上更优」经常输给「更便宜」。

常见误区

  1. 以为广域网就是「长距离的以太网」。历史上不是,现在才是。
  2. 以为 ATM 效率低是因为头太大。是因为固定小单元加填充。
  3. 以为 PPP 已经没用了。拨号与部分专线还在用。
自测三问(点开对答案) 1. PPP 的 8 字节开销由哪几部分组成? —— 标志 1、地址 1、控制 1、协议 2、FCS 2。 2. ATM 用 53 字节信元,为什么效率低? —— 固定 48 字节载荷,任何包都要切分并填充,头占比高。 3. ATM 的思路今天还在哪里出现? —— 交换芯片内部按固定单元转发,但对外仍是标准以太网帧。

下一节:把 PPP 套进以太网——拨号接入。

相关笔记