判断两个IP地址是不是属于同一子网的方法

一个IP地址有三种写法:

第一种,单个IP,如192.168.55.28

第二种,IP/子网掩码,如192.168.55.28/255.255.255.0

第三种,IP/子网掩码长度,如192.168.55.28/24

对于第一种单个IP的形式,其实际相当于192.168.55.28/32或192.168.55.28/255.255.255.255。

下面说明如何判断两个IP是否属于同一子网。

这里定义两个方法,第一种方法通过IP和子网掩码计算出其网络号,第二种方法通过IP和子网掩码长度计算出其网络号,然后对比网络号是否相同以判断他们是否是属于同一个子网的。如果网络号相同,那么他们就是属于同一个子网的IP,否则,就不是。

转发请注明出处:http://www.cnblogs.com/it-deepinmind/

时间: 2024-10-18 07:21:37

判断两个IP地址是不是属于同一子网的方法的相关文章

如何判断两个IP地址是不是处于同一网段?

要判断两个IP地址是不是在同一个网段,就将它们的IP地址分别与子网掩码做与运算,得到的结果-->网络号,如果网络号相同,就在同一子网,否则,不在同一子网. 例:假定选择了子网掩码255.255.254.0,把IP地址和子网掩码转换为二进制,分别将上述两个IP地址分别与掩码做与运算,如下所示: 211.95.165.24 11010011 01011111 10100101 00011000 255.255.254.0 11111111 11111111 111111110 00000000 与的

如何判断两个IP是不是在同一个网段内

和子网掩码转2进制相与 后,得到网络地址,网络地址一样则在一个子网. 子网掩码是一个32位地址,子网掩码的作用是用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上.一般的IP地址设置如下: 而怎么求网络标识和主机标识呢?网络标识的求法如下:将子网掩码的二进制与IP地址的二进制相"与".具体如下 主机标识的求法:将子网掩码的二进制值取反后,再与IP地址进行与(AND)运算,具体如下: 要判断两个IP地址是不是在同一个网段,就是比较网络标识(网络

判断两个IP是否处于同一子网(网段)

大学的时候有上过计算机网络的课程,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:11

五层结构 判断两个IP是否处于同一子网?

互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层 应用层(各种协议)                                              端口 HTTP-----超文本传输协议----- 80 FTP  -----文件传输协议    ----- 21DNS  -----域名解析协议    ----- 53Telnet---远程控制协议      ----- 23SMTP ----网络管理协议    ----- 25 传输层 基于端口进行通讯补充:端口

华为OJ——判断两个IP是否属于同一子网

题目描述 子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据. 子网掩码与IP地址结构相同,是32位二进制数,其中网络号部分全为"1"和主机号部分全为"0".利用子网掩码可以判断两台主机是否中同一子网中.若两台主机的IP地址分别与它们的子网掩码相"与"后的结果相同,则说明这两台主机在同一子网中. 示例: I P 地址  192.168.0.1 子网掩码  255.255.255.0 转化为二进制进行运算: I P 地址 11010

判断两个IP是否属于同一子网

描述 子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据.子网掩码与IP地址结构相同,是32位二进制数,其中网络号部分全为“1”和主机号部分全为“0”.利用子网掩码可以判断两台主机是否中同一子网中.若两台主机的IP地址分别与它们的子网掩码相“与”后的结果相同,则说明这两台主机在同一子网中. 示例:I P 地址  192.168.0.1子网掩码  255.255.255.0 转化为二进制进行运算: I P 地址 11010000.10101000.00000000.00000001

如何判断两个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地址. 具体如下: 此刻路由环境:同时都设置成一种模式(仅主机或者桥接模式),主机A和主机B分别为192.168.197.252/24.172.17.251.150/16:而路由器配置的两个网卡分别和主机A.主机B在同一个网段. ①配置主机A ip地址. ②设置主机A路由. ③A主机ping172.17.250.250ip地址. ④A主机ping192.168.197.253ip地址. ⑤给路由增加一个ip. ip a a 172.17.250.250/16 dev

C语言实现IP地址合法性检测和子网匹配

#include <stdio.h> #include <stdlib.h> #ifdef WIN32 #include <Winsock2.h> #else #include <fcntl.h> #include <string.h> #include <sys/socket.h> #include <netinet/in.h> #include <netinet/tcp.h> #include <ar