子网掩码计算

来源:互联网 发布:jvcs500知乎 编辑:程序博客网 时间:2024/06/05 15:36


子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。

子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。

子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。

与二进制IP地址相同,子网掩码由1和0组成,且1和0分别连续。

子网掩码的长度也是32位,左边是网络位,用二进制数字“1”表示,1的数目等于网络位的长度;右边是主机位,用二进制数字“0”表示,0的数目等于主机位的长度。

这样做的目的是为了让掩码与ip地址做按位与运算时用0遮住原主机数,而不改变原网络段数字,而且很容易通过0的位数确定子网的主机数

(2的主机位数次方-2,因为主机号全为1时表示该网络广播地址,全为0时表示该网络的网络号,这是两个特殊地址)。

只有通过子网掩码,才能表明一台主机所在的子网与其他子网的关系,使网络正常工作。



方法一:利用子网数来计算。


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的子网掩码。



通过计算机的子网掩码判断两台计算机是否属于同一网段的方法是,将计算机十进制的IP地址和子网掩码转换为二进制的形式,

然后进行二进制“与”(AND)计算(全1则得1,不全1则得0),

如果得出的结果是相同的,那么这两台计算机就属于同一网段。

原创粉丝点击