2. 历史和问题描述 (History and Problem Description)
现在被称为互联网的系统始于1970年代的一个研究项目,旨在设计和开发一套可以与许多不同网络技术配合使用的协议,以提供无缝的端到端设施来互连各种不同的端系统。当确定如何使用32位地址空间时,对要连接的组织数量、每个组织的端系统数量以及网络上端系统的总数做出了某些假设。最终结果是建立了三类网络 (参见 [RFC791]):
- A类 (Class A): 最高有效地址位为 '00',有128个可能的网络,每个网络有16,777,216个端系统 (减去为网络/广播地址保留的特殊位值)
- B类 (Class B): 最高有效位为 '10',有16,384个可能的网络,每个网络有65,536个端系统 (减去保留值)
- C类 (Class C): 最高有效位为 '110',有2,097,152个可能的网络,每个网络有254个端系统 (256个位组合减去保留的全零和全一模式)
最高有效位为 '111' 的地址集被保留供将来使用; 其中一部分最终被定义 (最高有效位 '1110') 用于IPv4多播 (IPv4 Multicast),截至本文档撰写时,部分仍然保留。
在1980年代后期,随着原研究网络的扩展和商业化,许多新组织连接到了快速增长的互联网,每个新组织都根据A/B/C类地址方案需要地址分配。当对新网络号的需求 (特别是B类空间) 似乎呈指数增长率时,运营和工程社区的一些成员开始关注A/B/C类系统的长期扩展特性,并开始思考如何更改网络号分配策略和路由协议以适应增长。1991年11月,互联网工程任务组 (IETF, Internet Engineering Task Force) 成立了ROAD (Routing and Addressing) 小组来研究这种情况。该小组于1992年1月召开会议并确定了三个主要问题:
-
B类网络地址空间的耗尽 (Exhaustion of the Class B network address space): 此问题的根本原因之一是缺少适合中型组织的网络类别。C类最多254个主机地址太小,而B类允许最多65,534个主机地址,对大多数组织来说太大,但却是与子网划分 (Subnetting) 一起使用的最佳选择。
-
互联网路由器中的路由表增长超出了当前软件、硬件和人员有效管理的能力 (Growth of routing tables in Internet routers beyond the ability of current software, hardware, and people to effectively manage)。
-
32位IPv4地址空间的最终耗尽 (Eventual exhaustion of the 32-bit IPv4 address space)。
根据当时的互联网增长率,很明显前两个问题将在1993年至1995年之间的某个时间变得至关重要。1990年12月博尔德IETF会议上向社区展示的关于无连接网络服务 (CLNS, Connectionless Network Service) 拓扑地址分配的现有工作,指导了如何重构32位IPv4地址空间以延长其寿命的思考。ROAD小组的工作继续进行,最终导致 [RFC1338] 的发布,随后发布了 [RFC1519]。
CIDR的设计和部署旨在通过减缓全局路由表 (Global Routing Table) 的增长并建立具有层次结构的基于拓扑的地址分配方案来降低IPv4地址的消耗率,从而解决这些问题。