CIDR 块 172.16.0.0/12 表示的 IP 地址范围是多少?

网络工程 ip
2022-02-20 12:10:03

我为这个问题提供了一个解决方案......

*CIDR 块包括 1010 1010 0001 **** **** **** **** **** 形式的所有地址(其中 * 可能是 0 或 1)。因此,此块表示从 172.16.0.0 到 172.31.255.255 的 IP 地址。netid 为 1010 1010 0001,CIDR 块包含 2^20 个地址。*

我完全理解 CIDR 块有 2^20 个主机 ID 地址,并且它位于 B 类网络中。我以为我可以简单地说 netid 是 172.16,但我打算以二进制形式提供它,但是我不明白这如何转换为 1010 1010 0001。

我知道 00010000 代表 16,并且我理解为什么 netid 只有 12 位,但我不明白 1010 1010 来自哪里,因为这代表 170。我会输入 1010 1100 代表 172。

我也不明白该块如何表示从 172.16.0.0 到 172.31.255.255 的 IP 地址。我在互联网上做了很多研究,但似乎找不到任何有用的东西。

如果有人可以提供解释,我将不胜感激。

3个回答

答案不正确(嘿,它发生了)。

你说得对,172 是 0x10101100。那是他们的一个错误。

主机地址的 20 位,当添加到 netid 时,为您提供从 172.16.0.0 到 172.31.255.255 的所有地址。

老实说,IMO,他们让它变得比它需要的更复杂。我已经这样做了很长时间,唯一一次我看到像“netid”这样的东西是在教科书中。

还有一点:地址类(A、B、C)被 CIDR(C 代表无类)取代,所以说它是 B 类地址是没有意义的。此外,所有这些都发生在 1993 年(我猜是在你出生之前),所以地址类已经过时了。然而,出于某种原因,他们一直在教它。

我不明白 1010 1010 是从哪里来的,因为这代表 170。我会把 1010 1100 代表 172。”

你是对的,解决方案表是错误的。可能只是编写解决方案表的人的一个错字。

也不明白该块如何表示从 172.16.0.0 到 172.31.255.255 的 IP 地址。

1010 1100 0001 0000 0000 0000 0000 0000 是 172.16.0.0
1010 1100 0001 1111 1111 1111 1111 1111 是 172.31.255.255

虽然我看不出这与安全相关:

至于你的第一个问题:

正如你所说,二进制的 172 应该是 10101100。这看起来像是在写出您得到答案的来源时的错误。

至于你的第二个问题:

如果你用点分隔它们的十进制形式表示八位位组,认为第二个八位位组的一半是“计数”,即从

16 (00010000) 至 17 (00010001)

一直到

31 (00011111)。

16比31的差距如此之大。