子网掩码就是用来区分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.0ip地址: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网段。
例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 0000000111111111.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 0000000111111111.11111111.11111111.00000000然后得到:11000000 10101000 00000010 00000000转换成网络号就是:192.168.2.0很明显,二者的结果是不一样的,一个是网段192.168.1.0,一个是网段192.168.2.0,所以不是一个网段。
参考文章:
如何判断两个IP地址是否在同一个网段?什么是子网掩码? - 埃文科技的文章 - 知乎
https://zhuanlan.zhihu.com/p/57171127