站长视角
用户至上

如何判断两个IP地址是否在同一个网段?什么是子网掩码?

子网掩码

用来区分IP是属于那个网段的

IP地址:192.168.1.1 子网掩码:255.255.255.0

IP地址:192.168.1.2 子网掩码:255.255.255.0

我们可以直接的判断,他们是同属于一个网段的IP地址。

IP地址:192.168.1.1 子网掩码:255.255.255.0

IP地址:192.168.1.2 子网掩码:255.255.0.0

这两个IP地址虽然在不看掩码的情况下,比较像,但他们并不是同一个网段内的。

这个可以从子网掩码来判断,

192.168.1.1 255.255.255.0 是属于 192.168.1.0 网段的。

192.168.1.2 255.255.0.0 是属于 192.168.0.0 网段。

根据掩码来确定IP地址网段

通常我们在划分VLAN的时候会使用以下例子:

例1:

创建vlan1:IP地址:192.168.1.1 子网掩码:255.255.255.0

创建vlan2:IP地址:192.168.2.1 子网掩码:255.255.255.0

那么他们是不是在同一个网段呢?平时配置IP地址较多的朋友,可以直观的判断,他们并不是属于同一个网段,那么如何计算呢?要想判断两个IP地址是不是在同一个网段,只需将IP地址与子网掩码做与运算,如果得出的结果一样,则这两个IP地址是同一个子网当中。

详细计算

将IP地址 192.168.1.1 转换为二进制

11000000 10101000 00000001 00000001

将子网掩码 255.255.255.0 转换成二进制

11111111.11111111.11111111.00000000

然后将两者相“与(and)”运算:

11000000 10101000 00000001 00000001

11111111.11111111.11111111.00000000

然后得到:

11000000 10101000 00000001 00000000

转换成网络号就是:192.168.1.0

将IP地址 192.168.2.1 转换为二进制

11000000 10101000 00000010 00000001

将子网掩码 255.255.255.0 转换成二进制

11111111.11111111.11111111.00000000

然后将两者相“与(and)”运算:

11000000 10101000 00000010 00000001

11111111.11111111.11111111.00000000

然后得到:

11000000 10101000 00000010 00000000

转换成网络号就是:192.168.2.0

很明显,二者的结果是不一样的,一个是网段 192.168.1.0,一个是网段 192.168.2.0,所以不是一个网段。

例2

IP地址1:192.168.1.1 子网掩码:255.255.252.0

IP地址2:192.168.2.1 子网掩码:255.255.252.0

很明显,我们这个和上面例1的IP地址是一样的,只是子网掩码不一样,如果不看子网掩码,首先可能就判断他们不是同一个网段。

这里面和上面例1中变化就是子网掩码从255.255.255.0换成了255.255.252.0了,那我们来看下,他们是否属于同一个网段。

详细计算

将IP地址 192.168.1.1 转换为二进制

11000000 10101000 00000001 00000001

将子网掩码255.255.252.0转换成二进制

11111111.11111111.11111100.00000000

然后将两者相“与(and)”运算:

11000000 10101000 00000001 00000001

11111111.11111111.11111100.00000000

然后得到:

11000000 10101000 00000000 00000000

转换成网络号就是:192.168.0.0

将IP地址 192.168.2.1 转换为二进制

11000000 10101000 00000010 00000001

将子网掩码 255.255.252.0 转换成二进制

11111111.11111111.11111100.00000000

然后将两者相“与(and)”运算:

11000000 10101000 00000010 00000001

11111111.11111111.11111100.00000000

然后得到:

11000000 10101000 00000000 00000000

转换成网络号就是:192.168.0.0

很明显,二者的结果是一样的,都是属于 192.168.0.0 网段,所以他们是同属于一个网段。

当然,如果对子网较熟了就不需要经过这些运算了,大部分的网段可以通过分析子网掩码与IP地址就可以判断出来是否属于网一网段,但前提是你需要熟悉网段的原理与运算的方法。

确定IP地址子网掩码

大部分的情况下,我们网络中只要不超过254台主机的的话,子网掩码都可以设置成255.255.255.0。那么超过了254台主机的话怎么办呢?

可以划分vlan,也可以设置成一个大网段,划分vlan我们就不说了,上面有例子,设置成一个大网段就有一个难点,如何确定这个大网段里面的子网掩码呢?

例如

假设监控网络中有600个点位,我们现在也不想把它划分vlan(实际项目中大部分是会划分vlan的),假设只想用一个大网段把这600个点位分配IP地址,如何设置IP地址,如何确定子网掩码?

分析:首先我们知道600个点位,可以使用3个254个IP地址段来分配。

可以使用

IP段一:192.168.0.1——192.168.0.254

IP段二:192.168.1.1——192.168.1.254

IP段三:192.168.2.1——192.168.2.254

每个网段有254个IP地址,完全够600个点位用的。

那么问题来了,如果要使这三个IP段在同一个网段内,那么这个大网段共同的子网掩码是多少呢?

我们来分析下:

将IP地址 192.168.0.1 转换为二进制

11000000 10101000 00000000 00000001

将IP地址 192.168.1.1 转换为二进制

11000000 10101000 00000001 00000001

将IP地址 192.168.2.1 转换为二进制

11000000 10101000 00000010 00000001

转换成了二进制,可以看得出,三个IP段的二进制前面22位的是不变的,那么可以将他们表示成:

IP段一:192.168.0.1/22

IP段二:192.168.1.1/22

IP段三:192.168.2.1/22

这种192.168.1.x/22形式的IP地址相信大家平时都见过,就是已经告诉了子网掩码了。

也就是说他们共同的子网掩码二进制前面22个都是1。

11111111 11111111 11111100 00000000

转换成十进制,那就是 255.255.252.0,所以他们共同的子网掩码就是 255.255.252.0

当然在实际项目中,与网络接触较多的弱电人不需要通过一系列的换算,直接可以通过简单的判断估算出来这个大网段的子网掩码,因此,今天弱电君是讲原理,方便大家理解,所以所有的换算都是通过运算出来的。

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权, 转载请注明出处。
文章名称:《如何判断两个IP地址是否在同一个网段?什么是子网掩码?》
文章链接:https://www.veidc.com/19215.html
【声明】:国外主机测评仅分享信息,不参与任何交易,也非中介,所有内容仅代表个人观点,均不作直接、间接、法定、约定的保证,读者购买风险自担。一旦您访问国外主机测评,即表示您已经知晓并接受了此声明通告。
【关于安全】:任何 IDC商家都有倒闭和跑路的可能,备份永远是最佳选择,服务器也是机器,不勤备份是对自己极不负责的表现,请保持良好的备份习惯。