这个子网划分限制意味着什么

网络工程 ip ipv4 子网 IP地址
2021-07-25 07:05:10

我正在阅读 Forouzan 的数据通信书,其中 Internet 当局对 CIDR 子网划分有一个限制:

块中的第一个 IP 地址应该可以被地址数整除。例如,下面的第一个地址转换为十进制数时为 3440387360,除以 16(块大小)后为 215024210。 在此处输入图片说明

由于这并没有明确这一限制背后的实际意义,我继续探索并遇到了视频,其中解释如下:

每当我们将任何数字除以2k次方(另一个限制是块大小应为 2^k)时,提醒是最低有效 k 位。因此可被 2^k 整除意味着最低有效 k 位应全部为 0。这样分配的地址块的第一个地址可以用作块 ID,因为它在主机 ID 部分全为 0。

现在这似乎更合乎逻辑,尽管我不明白如何

被地址数整除2^k

翻译成

最低有效 k 位应全部为 0

难道不是最低有效 k 位的十进制等效值应该可以被 2 整除。我的意思是如果最低有效 4 位(对于 2^4 个地址的块)是二进制 1010,那么它转换为十进制 10,即可被 2 整除。

所以简而言之,为什么均匀可分转换为所有 0 LSB

2个回答

创建 CIDR 的这个限制是为了禁止可以创建任意块,让我们看一个例子:

假设我们有完整的块 192.168.1.0/24 并且我们想用/27对它进行子网划分

/27表示从地址的 32 位开始,27 位是网络,5 位是主机,那么我们每个子网就有 2^5 个地址。

子网是:

First Address    Last Octet  Last Octet 
                             in decimal /32

192.168.1.0      000 00000       0
192.168.1.32     001 00000       1
192.168.1.64     010 00000       2
192.168.1.96     011 00000       3
192.168.1.128    100 00000       4
192.168.1.160    101 00000       5
192.168.1.192    110 00000       6
192.168.1.224    111 00000       7

第一个地址除以每个子网的地址数总是一个没有小数的整数,这是可能的,因为最后k位是 0。

例如,不可能有一个从192.168.1.133开始的块,因为 133/32 = 4.15625

我的意思是,如果最低有效 4 位(对于 2^4 个地址的块)是二进制 1010,那么它会转换为可被 2 整除的十进制 10。

实际上,2^4是十进制16,十六进制10,二进制10000,所以最低有效四位(指数中的2^4)都是0

请记住,IP 地址是 32 位,因此2^4主机地址来自 32 位数字。这是它的布局方式,N地址的网络部分中的二进制位在哪里,地址H的主机部分中的二进制位是:

NNNNNNN.NNNNNNNNN.NNNNNNNN.NNNNHHHH

这本书和视频试图告诉您的是,增加主机位的数量会使该地址块中的主机数量增加 2 的幂。对于地址块中的每个主机位,您可以拥有的主机数量增加一倍。然后可以仅使用网络位引用整个地址块(称为网络或子网),主机位都设置为0