IP和子网掩码、同一网段中提到 如何通过计算IP地址和 子网掩码来验证网络是否在同一段中,在此处都提到了同一个例子。
同一网段指的是IP地址和子网掩码相与得到相同的网络地址。想在同一网段,必需做到网络标识相同。各类IP的网络标识算法都是不一样的,需要根据子网掩码的位数来判断。
算法只要把IP和 子网掩码的每位数AND就可以了。
AND方法:0和1=0 0和0=0 1和1=1
如:And 192.168.0.1,255.255.255.0,先转换为二进制,然后AND每一位
IP 11000000.10101000.00000000.00000001
子网掩码 11111111.11111111.11111111.00000000
得出AND结果 11000000.10101000.00000000.00000000
转换为十进制192.168.0.0,这就是 网络标识,
再将 子网掩码反取,也就是00000000.00000000.00000000.11111111,与IP AND
得出结果00000000.00000000.00000000.00000001,转换为10进制,即0.0.0.1,
这0.0.0.1就是 主机标识。要想在同一网段,必需做到网络标识一样。
我们再来看看这个改为默认子网掩码的B类IP
如IP:188.188.0.111,188.188.5.222,子网掩码都设为255.255.254.0,在同一网段吗?
先将这些转换成二进制
188.188.0.111 10111100.10111100.00000000.01101111
188.188.5.222 10111100.10111100.00000101.11011110
255.255.254.0 11111111.11111111.11111110.00000000
分别AND,得
10111100.10111100.00000000.00000000
10111100.10111100.00000100.00000000
网络标识不一样,即不在同一网段。
如何判断两个IP地址是不是在同一个网段
与的结果是: 11010011 01011111 10100100 00000000
可以看出,得到的结果(这个结果就是网络地址)都是一样的,因此可以判断这两个IP地址在同一个子网。