我计算主机网络掩码数量的方法是,例如:我想知道网络掩码 255.255.255.192(前缀 26)的主机数量
255.255.255.192 11111111.11111111.11111111.11000000 26 128+64=192
192 是最新八位字节的两个“1”的 128+64,主机数是最新八位字节的 0 位(主机部分)的数量,因此 000000 是 6,所以 2^6-2 是 62,并且 ipcalc 确认正常
ipcalc 10.2.0.1/26
Address: 10.2.0.1 00001010.00000010.00000000.00 000001
Netmask: 255.255.255.192 = 26 11111111.11111111.11111111.11 000000
Wildcard: 0.0.0.63 00000000.00000000.00000000.00 111111
=>
Network: 10.2.0.0/26 00001010.00000010.00000000.00 000000
HostMin: 10.2.0.1 00001010.00000010.00000000.00 000001
HostMax: 10.2.0.62 00001010.00000010.00000000.00 111110
Broadcast: 10.2.0.63 00001010.00000010.00000000.00 111111
Hosts/Net: 62 Class A, Private Internet
我的问题是:如何知道/计算带有前缀的子网数量..例如 26 或 27?我必须做网络部分(26“1”位^2=)?
答案1
正如您从计算主机中已经知道的那样,如果您有n
位,那么您可以拥有这些位的不同组合。您可以使用2n
一模一样子网的计算也是如此——至少当所有子网都有相同大小时。
例如,如果你有一个/24网络(又称“C 类”),并希望将其划分为大小相等的/29子网,你将使用29−24 = 5子网位,因此你有2 (29−24) =2 ·5 =32子网。
无论网络规模如何,这种方法都有效;“类别”之间的任何差异都无关紧要。再举一个例子,如果你有一个/16网络,并希望将其划分为/27's,这将是2 (27-16) = 2 11 = 2048子网。
(如果您将网络划分为 /32,您将以相同的方式获得主机数量!)
答案2
我找到了解决方案,用于计算子网,例如前缀为 29 的网络掩码
255.255.255.248 11111111.11111111.11111111.11111000 29 128+64+32+16+8=248
我们在最新的八位字节中
11111000
因此,主机数量为 6
000=3=2^3-2=6
子网数量为 32
11111=2^5=32
这种方法对于 C 类 IP 来说没问题,对于 A 类和 B 类 IP 来说有点困难,但一个好的帮助是这里