CIDR 真的“废除”了 IP 地址类别吗?

网络工程 路由 ipv4 ip 路由汇总
2021-07-29 14:06:48

我仍在努力理解 CIDR 在多大程度上真正使 IP 地址类过时。这是我到目前为止的理解:

  1. 为每个需要寻址超过 255 台主机的组织分配一个 B 类地址,这在技术上可以寻址 65535 台主机,这是非常低效的(也是不可能的)。

  2. 但是,如果这样的组织需要处理大约 700 台主机,则可以只为该组织分配三个(最好是连续的)C 类网络地址。例如:

    192.42.42
    192.42.43
    192.42.44
    
  3. 问题:对于一个组织,路由器必须保存3个在其转发表,这将不能扩展项。

  4. CIDR 通过引入路由汇总/聚合解决了这个问题,使将三个 C 类网络分配给组织的 ISP 可以只向世界其他地方通告一个前缀。例如,

    192.42.42.0/21
    

到现在为止还挺好。但是,我无法理解为什么我接触的每个资源都声称有类寻址“已成为过去”。毕竟,ISP负责的,比方说,C类网络地址,确实它们分配给它的客户。CIDR 只是解决了转发表中有多个条目的问题,对吗?因此,IP 地址类别仍然存在,不是吗?

考试快到了,非常感谢您的帮助。:P

4个回答

分类寻址是“过去的事情”。

这是真的,因为现代互联网中没有任何东西可以进行分类寻址[1]对于有类寻址,网络掩码是基于地址的固定值。在您的示例中,您不能“合并”三个 C 类范围以在一个 LAN 中拥有 700 台主机。每个范围的网络掩码自动为24 位。

CIDR 通过废除地址决定掩码的规则来解决这个问题。因此,LAN 可以是任何大小。

您(以及其他许多人)仍然对“C 类”、“B 类”和“A 类”这三个词感到困惑。那些构造不再存在;并且已经几十年没有了。人们使用该术语时的意思是网络掩码大小分别为 24、16 和 8。它们并不意味着正在应用类语义。

[1] 10.0.0.1/24 是有类系统中的无效配置。

地址委托实际上以三种大小发生:A 类、B 类和 C 类。A 类委托将来自某个地址范围,B 类委托来自不同范围等。因为不同的类使用不同的地址范围,您可以确定通过查看地址的第一部分来分类。这被内置在路由协议中。

  • A类委托每个包含16777216个地址
  • B 类委托每个包含 65536 个地址
  • C 类委托每个包含 256 个地址

对于不适合这些大小的网络,这非常低效。需要 4096 个地址的网络要么获得 16 个 C 类委托(这对全局路由表不利,因为它们中的每一个都必须单独路由:类大小已内置于协议中),或者他们将获得一个 B 类委托委托(这会浪费很多地址)。

1993 年引入了 CIDR。协议被调整为能够处理不同大小的前缀,并且可以路由(内部和外部)前缀,如 /30 或 /21 或 /15 等。 /0 和 /32 之间的任何内容都变成了可能的。需要 2048 个地址的组织可以获得 /21:正是他们需要的。

您可以在内部细分这些地址的方式也受到限制。有关于如何划分子网的规则。最初,您的有类网络中的每个子网都必须具有相同的大小。您需要一个有 128 个地址的子网和另一个有 16 个地址的子网:太糟糕了。

可变长度子网掩码 (VLSM) 是 CIDR 的内部网络等效项。VLSM 比 CIDR 存在的时间更长。1985年就已经提到了。所以CIDR基本上是将VLSM扩展到域间路由。使用 VLSM,您的子网不必都具有相同的大小。您可以根据需要为每个子网分配不同数量的地址。

如今,互联网上的所有路由都是在没有课的情况下完成的。路由表中的前缀可能是巧合(或因为历史)与有类结构匹配,但协议将不再假设它们可以从地址的第一部分推导出前缀长度(子网掩码)。所有前缀长度都明确传达:无类。

说 ISP 负责 C 类网络也同样过时。地址由 RIR(区域互联网注册管理机构,负责将地址委派给具有自己独立地址的 ISP 和企业的组织)完全无类别地分发

IPv4 地址类真的不复存在了,并在 1993 年被弃用了。如果您查看旧的过时路由协议,您当然仍然可以看到它们基于地址类所做的假设,但那是 20 年前......

有类寻址仅支持 3 个单播掩码:/8、/16/、/24。

CIDR 允许掩码是从 /0 到 /32 的任何值。

想想一个点对点的连续剧:这会浪费一个 C 类 /24 (256 xIPs) 以前的分类设置;使用 CIDR,它只需要 /30 (4 xIPs) 或 /31 (2 xIPs)。

大多数 ISP 现在只会为提供 14 个或更少 IP 的客户分配一个 /28。

这两种操作模式不兼容,因为一种(有类)从 IP 猜测掩码,而另一种 (CIDR) 精确指定。

请参阅维基百科文章“有类网络”

正如许多答案已经解释的那样,类已成为过去,因为它们不允许除 /8、/16 和 /24 之外的子网掩码。

这些特定的子网掩码仍然非常流行,尤其是 /24,因为它们对我们人类来说是最简单的。对于这些掩码,地址子网部分的末尾与(点分十进制)IP 地址中的一个点对齐。因此,两个 IP 地址是否在同一子网中一目了然,无需计算。

这就是为什么 A、B 和 C 类术语仍然存在的原因,它们仍然与最常见的子网掩码保持一致。但是它们已经没有意义了,说 10.11.12.0/24 是 C 类是完全错误的。根据定义,C 类的第一个八位字节介于 192 和 223 之间。