我有这个问题,我认为它很难解决。
那么,我怎么知道正确的最后一个子网地址。
示例:10.0.0.0 /18
子网 = 1024 主机 = 16384 - 2 = 16382 256-192 = 64
所以我想出了这个
10.0.0.0
10.0.64.0
10.0.128.0
..to..
10.?.?.?
我怎么知道最后一个子网。有什么公式吗。我不知道,因为 1024 个子网非常大,无法输入。
我有这个问题,我认为它很难解决。
那么,我怎么知道正确的最后一个子网地址。
示例:10.0.0.0 /18
子网 = 1024 主机 = 16384 - 2 = 16382 256-192 = 64
所以我想出了这个
10.0.0.0
10.0.64.0
10.0.128.0
..to..
10.?.?.?
我怎么知道最后一个子网。有什么公式吗。我不知道,因为 1024 个子网非常大,无法输入。
用二进制写出掩码并应用它。
00001010 . 00000000 . 00000000 . 00000000 = 10.0.0.0
掩码 = 18 位,因此最大值(又名通配符掩码)为:
00000000 . 00000000 . 00111111 . 11111111 = 0.0.63.255
11111111 . 11111111 . 11000000 . 00000000 = 255.255.192.0
最左边的 18 位代表网络,而 1 代表网络上的主机。要找到广播地址,只需保留原始 10.0.0.0 地址中的前 18 位,并将后面的 14 位替换为 1。为了获得下一个子网,只需增加左侧:
00001010 . 00000000 . 00111111 . 11111111 = 10.0.63.255/18
00001010 . 00000000 . 01111111 . 11111111 = 10.0.127.255/18
00001010 . 00000000 . 10111111 . 11111111 = 10.0.191.255/18
00001010 . 00000000 . 11111111 . 11111111 = 10.0.255.255/18
等等...
类似地,只需将所有主机位(在本例中最右边的 14 位)更改为 0,同时保持前 18 位的原始值来查找网络地址。
因此,最后一个子网必须是,同时保持第一个八位字节完整(RFC 1918 地址):
00001010 . 11111111 . 11000000 . 00000000 = 10.255.192.0/18
假设有 /18 CIDR,没有子网的开头高于该值。