如何判断两个ip地址是否处于同一子网?
通过计算得到网络号,如果相同则在同一网段,不同则不在同一网段。
掩码和IP的二进制式进行“与”运算,1和1=1 1和0=0 0和0=0。
子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。
判断是否处于同一子网的简单易懂法:
1、打开网络邻居,查看工作组计算机,如果在里面能看到对方的计算机名称。那么两台电脑同属于一个局域网。
2、连接同个交换机或者路由器,而且都能上网,那么肯定是同个局域网。
3、用局域网查看工具来查,出现的电脑为同个局域网。
如果是在b类网的基础上,就不用看160.162段了,就看第三段,192转换成2进制就是11000000,说明第三段的前2位是网络号;
再看2个ip,将他们的第三段转换成2进制,分别是00000011和10101100,看他们的前面2位,如果一样的话就是处于同一个子网,显然这2个ip前面2位不一样,所以他们不在同一个子网。
专业知识计算法:
把两台电脑的IP地址与子网掩码转成二进制,然后相应位进行相与运算,得出的结果相同(结果再转成10进制更方便判断),就是属于同一子网。
相与运算是两个条件同时为1结果才为1,否则为0(1与1=1,1与0=0,0与0=0)。
两个IP在同一个子网,是指在相同的网段,主要是看看他们的网络标识是否一样。
接下来我们举例说明,如何去判断A和B两个IP是否在同一网段。
A IP:202.194.128.9
B IP:202.194.128.14
子网掩码:255.255.255.0
1、把A和B的地址转换为二进制的
A:1100 1010.1100 0010.1000 0000.0000 1001
B:1100 1010.1100 0010.1000 0000.0000 1101
掩码 :1111 1111.1111 1111. 1111 1111 .0000 0000
2、要判断两个IP是否在同一网段,主要是看看他们的网络标识是否一样,其实一个IP的网络标识也就是他的IP和子网掩码AND之后的结——比如上面两个AND以后的结果如下:
A:11001010.1100 0010.1000 0000 .0000 0000 转化为十进制:202.194.128.0
B:1100 1010.1100 0010.1000 0000.0000 0000 转化为十进制:202.194.128.0
这说明两个IP的网络标识相同,也就是说他们在同一子网。
3、有的时候我们还想知道,两个IP各自的主机标识,先将子网掩码取反,再和IP做AND.
A:1100 1010.1100 0010.1000 0000.0000 1001
B:1100 1010.1100 0010.1000 0000.0000 1101
掩码取反:0000 0000.0000 0000.0000 0000.1111 1111
AND 之后结果:
A:0000 0000.0000 0000.0000 0000.0000 1001 转化为十进制:9
B:0000 0000.0000 0000.0000 0000.0000 1101 转化为十进制:14
也就是说A和B的主机标识为9和14
2013-11-24