我计算主机网络掩码数的方法,例如:我想知道网络掩码 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=)?
我找到了计算子网的解决方案,例如前缀为 29 的网络掩码
我们有最新的八位字节
所以,主机的数量是6
子网数为 32
这种方式对于IP的C类是可以的,对于A类和B类来说有点困难,但是这里有一个很好的帮助
正如您在计算主机时已经知道的那样,如果您有
n
位,那么您可以有这些位的不同组合。您也可以对子网使用完全相同的计算 - 至少在所有子网具有相同大小时。2n
例如,如果您有一个/24网络(又名“C 类”)并希望将其划分为大小相等的/29子网,您将使用29−24 = 5 个子网位,因此您有2 (29− 24) = 2 5 = 32 个子网。
无论网络大小如何,这都有效;“类”的任何差异都是无关紧要的。再举一个例子,如果你有一个/16网络并且想把它分成/27的,它将是2 (27−16) = 2 11 = 2048个子网。
(如果你把一个网络分成 /32 部分,你会以同样的方式得到主机的数量!)