如何判断两个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.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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值