怎么判断ip地址之间是否为相同网段?

判断步骤
将IP和掩码转换成二进制
转换后的IP和掩码对位相乘
将相乘后的结果转换成十进制
通过最后的结果判断是否为相同网段

下面以192.168.1.1,192.168.1.2和192.168.2.1 ,掩码都为255.255.255.0为例通过上述步骤来判断。

1.将IP和掩码转换成二进制

192.168.1.1 —> 11000000.10100000.00000001.00000001
192.168.1.2 —> 11000000.10100000.00000001.00000010
192.168.2.1 —> 11000000.10100000.00000010.00000001
255.255.255.0 —> 11111111.11111111.11111111.00000000

2.转换后的IP和掩码对位相乘
192.168.1.1与掩码对位相乘
1 1 0 0 0 0 0 0 . 1 0 1 0 0 0 0 0 . 0 0 0 0 0 0 0 1 . 0 0 0 0 0 0 0 1
1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 . 1 0 1 0 0 0 0 0 . 0 0 0 0 0 0 0 1 . 0 0 0 0 0 0 0 0
转换为十进制:
192.168.1.0

192.168.1.2与掩码对位相乘
1 1 0 0 0 0 0 0 . 1 0 1 0 0 0 0 0 . 0 0 0 0 0 0 0 1 . 0 0 0 0 0 0 1 0
1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 . 1 0 1 0 0 0 0 0 . 0 0 0 0 0 0 0 1 . 0 0 0 0 0 0 0 0
转换为十进制:
192.168.1.0

192.168.2.1与掩码对位相乘
1 1 0 0 0 0 0 0 . 1 0 1 0 0 0 0 0 . 0 0 0 0 0 0 1 0 . 0 0 0 0 0 0 0 1
1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 . 1 0 1 0 0 0 0 0 . 0 0 0 0 0 0 1 0 . 0 0 0 0 0 0 0 0
转换为十进制:
192.168.2.0
4.从以上结果可以看出在同一掩码的ip192.168.1.1和192.168.1.2为同一网段的ip,192.168.2.1与其他两ip为不同网段的ip。

在我们使用时,防止发生ip冲突。
补充:255所对应的位要求相同,0所对应的位要求不同。
备注:如果有多个0,至少有一个0所对应的位要求不同。

猜你喜欢

转载自blog.csdn.net/rzlongg/article/details/88254485