如何仅知道可用地址即可找到子网掩码

如何仅知道可用地址即可找到子网掩码

我正在学习认证,在一次模拟过程中,我偶然发现了一个问题,这让我意识到我不太确定如何计算 IP 和掩码。

就是这样:

某公司有一个包含 4 个站点的林。子网如下:

MainOffice 172.16.1.0 Subnet: 255.255.255.0 Gateway 172.16.1.254 
Site1 192.168.12.0 Subnet: 255.255.255.0 
Site 2 192.168.13.0 Subnet: 255.255.255.0 
Site 3 192.168.14.0 Subnet: 255.255.255.0 
Site 4 192.168.15.0 Subnet: 255.255.255.0

您向 MainOffice 添加了一个新服务器,并且它需要能够与所有站点通信。您将运行哪个路由命令?

route add -p 192.168.12.0 netmask 255.255.240.0 172.16.1.254
route add -p 192.168.8.0 netmask 255.255.252.0 172.16.1.254
route add -p 192.168.0.0 netmask 255.255.248.0 172.16.1.254
route add -p 192.168.12.0 netmask 255.255.252.0 172.16.1.254

我知道这个问题的答案,但我不知道如何仅根据可用的 IP 192.168.12.0192.168.13.0192.168.14.0来获取网络掩码192.168.15.0

我使用 IP 计算器发现192.160.12.1192.160.15.254255.255.252.0子网掩码是 22,但在考试中如何计算呢?有人可以告诉我吗??!!

答案1

把所有这些网络想象成前缀,并且网络掩码只是一种冗长、过时的书写前缀长度的方式(在您的情况下,所有四个网络都是/24)。

现在,由于您需要一条与所有四个网络匹配的路由(又名超网或聚合路由),因此您必须确定所有四个网络相同的前缀。

其中一种方法是写出第一个网络的第一个地址和最后一个网络的最后一个地址,然后从左边开始计算匹配的位:

192.168.12.0:    11000000 10101000 00001100 00000000
192.168.15.255:  11000000 10101000 00001111 11111111
                 ^^^^^^^^ ^^^^^^^^ ^^^^^^-- -------- 22 bits

另一种方法是写出来全部以二进制形式列出网络地址,并计算匹配的位。这有时可以更容易地发现网络之间的漏洞:

192.168.12.0/24:  11000000 10101000 00001100 xxxxxxxx
192.168.13.0/24:  11000000 10101000 00001101 xxxxxxxx
192.168.14.0/24:  11000000 10101000 00001110 xxxxxxxx
192.168.15.0/24:  11000000 10101000 00001111 xxxxxxxx
                  ^^^^^^^^ ^^^^^^^^ ^^^^^^-- 22 bits

无论哪种方式,那都是 /22,路由的前缀长度,并且所有相同的位都等于192.168.12.0/22– 现在将其转换为网络掩码255.255.252.0


(当然,为了节省时间,您可以立即标记192.168为 2×8 相同的位,并且只以二进制形式写出12.0…… 15.255。)

答案2

请参阅此备忘单:

255.255.255.255  11111111.11111111.11111111.11111111  /32  Host (single addr)
255.255.255.254  11111111.11111111.11111111.11111110  /31  Unuseable
255.255.255.252  11111111.11111111.11111111.11111100  /30    2  useable
255.255.255.248  11111111.11111111.11111111.11111000  /29    6  useable
255.255.255.240  11111111.11111111.11111111.11110000  /28   14  useable
255.255.255.224  11111111.11111111.11111111.11100000  /27   30  useable
255.255.255.192  11111111.11111111.11111111.11000000  /26   62  useable
255.255.255.128  11111111.11111111.11111111.10000000  /25  126  useable
255.255.255.0    11111111.11111111.11111111.00000000  /24 "Class C" 254 useable

255.255.254.0    11111111.11111111.11111110.00000000  /23    2  Class C's
255.255.252.0    11111111.11111111.11111100.00000000  /22    4  Class C's
255.255.248.0    11111111.11111111.11111000.00000000  /21    8  Class C's
255.255.240.0    11111111.11111111.11110000.00000000  /20   16  Class C's
255.255.224.0    11111111.11111111.11100000.00000000  /19   32  Class C's
255.255.192.0    11111111.11111111.11000000.00000000  /18   64  Class C's
255.255.128.0    11111111.11111111.10000000.00000000  /17  128  Class C's
255.255.0.0      11111111.11111111.00000000.00000000  /16  "Class B"

255.254.0.0      11111111.11111110.00000000.00000000  /15    2  Class B's
255.252.0.0      11111111.11111100.00000000.00000000  /14    4  Class B's
255.248.0.0      11111111.11111000.00000000.00000000  /13    8  Class B's
255.240.0.0      11111111.11110000.00000000.00000000  /12   16  Class B's
255.224.0.0      11111111.11100000.00000000.00000000  /11   32  Class B's
255.192.0.0      11111111.11000000.00000000.00000000  /10   64  Class B's
255.128.0.0      11111111.10000000.00000000.00000000  /9   128  Class B's
255.0.0.0        11111111.00000000.00000000.00000000  /8   "Class A"

C 类(在旧的有类网络中)是标准的家庭网络,是一个很好的起点。每个位都是 2 的幂,因此您可以根据“上行”或“下行”来加倍或减半。

在考试中最简单的事情就是学习:

255.255.255.0      /24 "Class C" 254 usable

将其写在页面中间,然后在其上方写上其余部分,然后写在下面。遵循 +-1 到 CIDR 表示法 (/) 的模式,并将可用主机 (-network 和 bcast) 的一半加倍。掩码的最后一个八位字节遵循易于记忆的模式。

相关内容