如何快速判断两个ip地址是否属于同一子网

能够口算,或者简单的运算,而不是用IP和子网掩码进行完全运算来判断,或者有简单的法则也好。

阅读 4.6k
2 个回答

这应该口算不了. 同一子网是按二进制的前n位1来判断, 这个咋口算?

这个必须结合ip地址和掩码来计算的。

不过可以定义简单的工具来比较,因为子网比较,其实用二进制位比较是最快的,对于IPV4来说,IP是一个32bit无符号整数,2个IP同一子网意味着,两个IP高N掩码位相等。
注意对于2个IP/mark,是存在A是B同子网,B与A不同子网的。
比如
A=192.168.0.1/24 ,对应子网有效IP是 192.168.0.1-192.168.0.254
B=192.168.0.129/25 对应子网有效IP是 192.168.0.129-192.168.0.254
对A来说,B属于它所在子网,对B来说,A不属于它所在的子网。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题