IP 类 A、B、C 共有多少台主机?

How many number of hosts do IP classes A, B, and C have?

这个我不太明白,请大家指正。

Class     First Byte Order      Number of Hosts
A         0 - 127               256 * 256 * 256
B         128 - 191             256 * 256
C         192 - 223             256

不明白为什么ClassB和C的主机数少?在我看来,如果上面定义了第一个字节顺序,那么我们应该大致得到 IP

的以下排列数
Class     Permutations
A         128 * 256^3
B         63 * 256^3      
C         31 * 256^3

我的理解是 IP (0.XXX.XXX.XXX) 的最后三个字节在 3 个 IP 类 之间可以是非唯一的,只要第一个字节顺序具有唯一的范围,其中类 不相交。

我的理解有什么问题吗?

不用于主机的位用于标识不同的网络。

有更多 class B 网络,每个网络的主机更少,甚至更多 class C 网络,每个网络的主机更少。

是的,我想你确实有点误会。这个主题在维基百科“Classful network”文章中得到了很好的解释。

Classes 由第一个八位字节的前导位定义:

  • 0 - Class A(128 个网络)
  • 10 - Class B(16384 个网络)
  • 110 - Class C (2097152 网络)
  • 1110 - ClassD(多播)
  • 1111 - ClassE

全部 128 Class 一个网络总共有 2147483648 个不同的主机地址。这个数字是通过将网络总数 (128 == 27) 乘以可用于 each 网络的主机位 (16777216 == 2 24).

所有 2097152 Class C 网络,另一方面,只有 536870912 个不同的地址(同样,221 网络乘以 28主机)。

请注意,并非所有地址都可用;其中一些保留用于广播,一些是网络地址(全零主机位)。在那些 classes 中也有 Special Use Addresses,如环回、专用网络、link-本地地址等。

Class A、B 和 C 网络之间可用地址数量的差异是由于前导位前缀长度(1 位用于 Class A,2 位用于 Class B,Class C) 的 3 位。回答你的问题:

I'm understanding this as the last three bytes of IP (0.XXX.XXX.XXX) can be non unique between the 3 IP classes as long as the first byte order has a unique range where the classes don't intersect.

当仅考虑每个 class 中的地址总数时,您可以更进一步说前导位前缀 (0, 10, 110, 1110) 之后的 none , 1111) 事。只是这些位的数量定义了 class 中可用地址的数量。前缀后面的 None 位在 class 之间必须是唯一的。


当然,当您意识到 CIDR 有效地取代了 classful 网络这一事实时,正如@EJP 在评论中指出的那样,这当然更不准确。