如何计算ip地址是否在同一个网段

如题所述

如何判断两个IP地址是不是在同一个网段
要判断两个IP地址是不是在同一个网段,就将它们的IP地址分别与子网掩码做与运算,得到的结果一网络号,如果网络号相同,就在同一子网,否则,不在同一子网。
例:假定选择了子网掩码255.255.254.0,现在分别将上述两个IP地址分别与掩码做与运算,如下所示:
211.95.165.24
11010011
01011111
10100101
00011000
255.255.254.0
11111111
11111111
111111110
00000000
与的结果是:
11010011
01011111
10100100
00000000
211.95.164.78
11010011
01011111
10100100
01001110
255.255.254.0
11111111
11111111
111111110
00000000
与的结果是:
11010011
01011111
10100100
00000000
可以看出,得到的结果(这个结果就是网络地址)都是一样的,因此可以判断这两个IP地址在同一个子网。
例如:有一个C类地址为:192.9.200.13,按其IP地址类型,它的缺省子网掩码为:255.255.255.0,则它的网络号和主机号可按如下方法得到:
第1步,将IP地址192.9.200.13转换为二进制11000000
00001001
11001000
00001101
第2步,将子网掩码255.255.255.0转换为二进制11111111
11111111
11111111
00000000
第3步,将以上两个二进制数逻辑进行与(AND)运算,得出的结果即为网络部分。“11000000
00001001
11001000
00001101”与“11111111
11111111
11111111
00000000”进行“与”运算后得到“11000000
00001001
11001000
00000000”,即“192.9.200.0”,这就是这个IP地址的网络号,或者称“网络地址”。
第4步,将子网掩码的二进制值取反后,再与IP地址进行与(AND)运算,得到的结果即为主机部分。如将“00000000
00000000
00000000
11111111(子网掩码的取值)反”与“11000000
00001001
11001000
00001101”进行与运算后得到“00000000
00000000
00000000
00001101”,即“0.0.0.13”,这就是这个IP地址主机号(可简化为“13”)。
主机位中有3位被划为“网络标识号”占用,因网络标识号应全为“1”,所以主机号对应的字节段为“11100000”。转换成十进制后为224,这就最终确定的子网掩码。如果是C类网,则子网掩码为255.255.255.224;如果是B类网,则子网掩码为255.255.224.0;如果是A类网,则子网掩码为255.224.0.0。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-03-07
是这样,ip地址的网段是和子网掩码有关的.ip地址是一个32位的二进制数,子网掩码也一样,是一个32位的二进制数值.通常子网掩码的值是前面多少位是1,而后面的都是0。例如,255.255.255.0,这个子网掩码就是前24位是1后8位是0.在区分网段时要把ip地址和子网掩码相与,这样等到一个数值,数值相同的为同一个网段。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网