C 类私有 IP 地址范围(甚至是 A 类或 B 类)是否既有理论性又有实践性,还是仅仅是理论上的?

C 类私有 IP 地址范围(甚至是 A 类或 B 类)是否既有理论性又有实践性,还是仅仅是理论上的?

我感到困惑的是,如果我们以 C 类私有 IP 范围为例,它允许 254 个主机。这是理论上的数量,还是实际上可以有 254 个主机?

我认为家庭网络上有 254 台主机肯定会降低网络速度或阻止网络正常运行,还是我遗漏了什么?

答案1

首先,自 20 世纪 90 年代中期以来,分类寻址就没有再使用过。一切现在使用 CIDR,它允许将 IPv4 地址空间拆分为从/32(2^(32-32) = 1 个地址) 到/0(2^(32-0) 个地址) 的任意大小。相应的尺寸对于(古老的)C 类网络来说,将是/24CIDR 中的子网。

从理论角度来看,您可以拥有任意规模的网络(即 2 的幂)。当然,正如您正确猜测的那样,您在某些时候会遇到实际问题,因此我们必须在网络设计上付出一些努力。


现在,路由器通常不关心单个子网中有多少个地址。它们会将它们转发到正确的目的地。在路由级别,您可能会遇到问题,如果您有太多/28子网 - 为了解决 IPv4 耗尽的问题,我们一直在将子网划分得越来越小,因此,过去一家公司可能能够购买一个连续的 14 个可用地址,但/29现在他们可能需要分别购买两个 6 个可用地址。

以前只有一个/16(最初在 30 年前被指定为 B 类)的路由现在可能会被拆分成 1000 个/26,这意味着路由表中会多出 1000 个条目。这样做几千次,你的路由表就会满了。这导致了严重停电以前如此,而且很可能还会再次如此。

这只对互联网核心路由器上的公共可路由地址有影响,因为这些路由器必须知道通往每个网络的路由。您的家庭“路由器”只会通过其默认路由转发所有内容,并让您的 ISP 处理。这对于私有地址也基本无关紧要,因为私有地址按定义不可公共路由。


您提到的另一个潜在问题适用于路由级别以下,在单个子网内。您可能会遇到以下问题:广播域太大了。虽然广播域不一定与子网相同,但对于大多数(尤其是消费者/家庭)用途而言,它们是相同的。

当您的广播域变得太大时,您可能会遇到问题:操作系统的 ARP 表可能会溢出(Windows 中默认为 ~256,Linux 中默认为 ~1024,但两者都可以调整)。这意味着您的操作系统开始忘记 IP 地址对应的 MAC 地址,需要通过发送 ARP 请求来重新发现它……该请求会广播到每个主机。如果主机太多,您的网络带宽中很大一部分会被 ARP 请求和响应占用。

此外,您的网络交换机(通常作为 4 个“LAN”端口内置于消费者路由器中)可能会因主机过多而感到不满,因为它们的转发表(基于 MAC 地址,而不是 IP 地址)只有固定大小,并且它们可能会开始“忘记”要转发到哪个端口。

幸运的是(或者是设计使然?),这些问题往往出现在 256 台主机以北的某个地方,因此单个子网中的 254 台主机可能不会遇到这些问题。它们通常您应该在/24s 之间进行路由而不是使用单个 的原因/16


分配一个整体的另一个好处/24是,这样我们就有了一些备用空间来分配 DHCP 分配的地址。如今,大多数家庭网络都没有为每个主机分配静态地址 - 它们是由 DHCP 服务器选择并保留一段时间,因此,例如,您的手机不会在每次断开连接时都获得一个新地址。当您的网络几乎满,您会强制 DHCP 服务器尽快开始回收地址。

消费者路由器上的大部分 DHCP 服务器默认地址池只有 100 个地址,因此如果不调整池大小或分配静态地址,您将永远无法达到 254 个地址。


归根结底,虽然我们在全球范围内面临 IPv4 耗尽的问题,但绝对不缺私人的地址(有三个大范围, a /8、 a/12和 a /16,可以使用 - 可以包含超过 65000/24个)。几乎没有理由尝试保存它们,因此没有人会费心使用小于 a 的值/24

而且,如果您愿意,您当然可以在 上拥有 254 个活动主机/24。大多数消费级路由器/交换机和操作系统在大多数情况下都可以很好地处理它,尽管可能需要进行一些调整(尤其是 DHCP)。

答案2

它们是真实/具体的限制,而不仅仅是理论上的限制。IP 寻址方案并没有“突破”技术的界限,因此其工作原理与宣传的完全一致。

C 类使用 8 位进行主机寻址,因此实际范围是 00000000 - 11111111(0-255 或 256 个序数值)。其中顶部和底部值保留用于广播和路由 ID,从而剩下 254 个可用地址。

IP 寻址根本不关心您的性能。这完全取决于运行网络的硬件和软件,与 IP 寻址方案无关。

相关内容