目录

前言

一、什么是子网掩码?

二、如何根据掩码来确定ip地址网段

总结


前言

子网掩码的介绍以及如何根据掩码来确定IP地址网段。


一、什么是子网掩码?

子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。子网掩码不能单独存在,它必须结合IP地址一起使用。说的通俗的话,就是用来分割子网和区分那些ip是同一个网段的,那些不是同一网段的。例如,两个人都叫张三,但一个张三是张家村的,另一个张三是张村的,那么如何区分这两个张三分别是属于那个村的呢?得让村长来区分,就可以准确的把各自的张三领回村,那么子网掩码就相当于村长,它就是用来区分ip该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和子网在同一网段Python 判断ip在不在一个网段_网络

二、如何根据掩码来确定ip地址网段

如何确定子网掩码和判断ip地址的网段。

/*
例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地址网段。