已知IP地址算子网掩码
子网掩码计算方法有两种:
方法一:利用子网数来计算:
1.首先,将子网数目从十进制数转化为二进制数;
2.接着,统计得到的二进制数的位数,设为n;
3.最后,先求出此ip地址对应的地址类别的子网掩码。再将求出的子网掩码的主机地址部分(也就是“主机号”)的前n位全部置1,这样即可得出该ip地址划分子网的子网掩码。
例如:需将b类ip地址167.194.0.0划分成28个子网:
1)(28)10=(11100)2;
2)此二进制的位数是5,则n=5;
3)此ip地址为b类地址,而b类地址的子网掩码是255.255.0.0,且b类地址的主机地址是后2位(即0-255.1-254)。于是将子网掩码255.255.0.0中的主机地址前5位全部置1,就可得到255.255.248.0,而这组数值就是划分成28个子网的b类ip地址 167.194.0.0的子网掩码。
方法二:利用主机数来计算。
1.首先,将主机数目从十进制数转化为二进制数;
2.接着,如果主机数小于或等于254(注意:应去掉保留的两个ip地址),则统计由“1”中得到的二进制数的位数,设为n;如果主机数大于254,则 n>8,也就是说主机地址将超过8位;
3.最后,使用255.255.255.255将此类ip地址的主机地址位数全部置为1,然后按照“从后向前”的顺序将n位全部置为0,所得到的数值即为所求的子网掩码值。
例如:需将b类ip地址167.194.0.0划分成若干个子网,每个子网内有主机500台:
1)(500)10=(111110100)2;
2)此二进制的位数是9,则n=9;
3)将该b类地址的子网掩码255. 255.0.0的主机地址全部置 1,得到255.255.255.255。然后再从后向前将后9位置0,可得:11111111. 11111111.11111110.00000000即255.255.254.0。这组数值就是划分成主机为500台的b类ip地址167.194.0.0的子网掩码。
————————————————
版权声明:本文为csdn博主「coding1994」的原创文章,遵循cc 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/coding1994/article/details/51835691
上一篇: python面试题之补充缺失的代码
下一篇: 编写可读代码的艺术