2. 历史和问题描述 (History and Problem Description)
- 历史和问题描述 (History and Problem Description)
如今被称为 Internet 的系统, 起初是 1970 年代的一个研究项目, 目标是设计和开发一组协议,
这些协议可与多种不同的网络技术配合使用, 从而为一组多样化的端系统 (end systems)
提供无缝的端到端互连能力. 在确定如何使用 32-bit 地址空间时, 人们对要连接的组织数量,
每个组织的端系统数量, 以及网络中端系统总数作出了一些假设. 最终结果是建立了三类网络
(见 [RFC791]): Class A (最高有效地址位为 '00'), 可有 128 个可能的网络,
每个网络有 16777216 个端系统 (减去为网络/广播地址保留的特殊位值);
Class B (MSB 为 '10'), 可有 16384 个可能的网络, 每个网络有 65536 个端系统
(少于保留值); 以及 Class C (MSB 为 '110'), 可有 2097152 个可能的网络,
每个网络有 254 个端系统 (256 种位组合减去保留的全零和全一模式).
MSB 为 '111' 的地址集合被保留供将来使用; 其中一部分后来被定义为 (MSB 为 '1110')
用于 IPv4 组播, 截至本文档写作时仍有部分保留.
1980 年代后期, 原先研究网络的扩张和商业化使许多新组织连接到快速增长的 Internet,
每个新组织都需要按照 Class A/B/C 编址计划获得地址分配. 随着对新网络号
(尤其是 Class B 空间中的网络号) 的需求呈现出近似指数级增长, 运营和工程社区的一些成员
开始担心 Class A/B/C 系统的长期扩展特性, 并开始思考如何修改网络号分配策略和路由协议
以适应这种增长. 1991 年 11 月, Internet Engineering Task Force (IETF)
成立了 ROAD (Routing and Addressing) 小组来研究这一情况. 该小组于 1992 年 1 月召开会议,
并确定了三个主要问题:
-
Class B 网络地址空间耗尽. 该问题的一个根本原因是缺少一种适合中型组织规模的网络类别.
Class C 最多只有 254 个主机地址, 太小; 而 Class B 最多允许 65534 个主机地址,
对多数组织而言又太大, 但它是当时可用于子网划分 (subnetting) 的最佳匹配.
-
Internet 路由器中的路由表增长, 超出了当时软件, 硬件和人员能够有效管理的能力.
-
32-bit IPv4 地址空间最终耗尽.
很明显, 按当时 Internet 的增长速度, 前两个问题会在 1993 年到 1995 年之间的某个时候
变得十分严重. 当时已经在进行基于拓扑的地址分配工作, 用于 Connectionless Network Service
(CLNS), 并已在 1990 年 12 月 Boulder IETF 上向社区介绍. 这项工作引发了关于如何
重新组织 32-bit IPv4 地址空间以延长其寿命的思考. ROAD 小组随后继续推进这项工作,
最终促成了 [RFC1338] 的发布, 之后又促成了 [RFC1519] 的发布.
CIDR 的设计和部署旨在通过一种机制来解决这些问题: 减缓全局路由表的增长,
并降低 IPv4 地址空间的消耗速度. 它过去没有, 现在也不试图解决第三个问题,
因为第三个问题更具长期性质; 相反, CIDR 力图缓解足够多的短期到中期困难,
使 Internet 能够在长期解决方案取得进展的同时继续高效运行.
关于这项工作和 ROAD 小组的更多历史背景, 可参见 [RFC1380] 和 [LWRD].