首先要理解同一网段的概念:
两个ip地址是否是同一网段是通过将ip地址与子网掩码做与运算,得到的结果即为网络号,一致则为同一网段,不一致就不是同一网段。如PC1--PC2 进行通信,PC1会拿自己的掩码与PC2的IP进行与运算,PC2同理。
与运算即IP地址与掩码对应的位进行与运算(1与1得1,1与0得0,0与1得0,0与0得0),得出的即为网络号,一致则认为是同一网段,反之则不可通信,需要值得注意的是,PC2也必须完成这个过程,因为通信是双方的,发送方与回应方必须都得“认为”对方和自己是同一网段才行。
计算方法:
192.168.0.1 255.255.255.0 转换为二进制为
11000000.10101000.00000000.00000001
11111111.11111111.11111111.00000000 与运算得出
11000000.10101000.00000000.00000000 即为 192.168.0.0
通过1可知,能不能通信是建立在同一网段(网络号一致)的基础上的,并不是说子网掩码一致或不一致就可以通信或不能通信。举个例子:192.168.0.1/24与192.168.0.2/25 子网掩码分别是255.255.255.0与255.255.255.128,通过ip地址与子网掩码与运算得出网络号均为192.168.0.0,即这两个 IP是属于同一网段,可以通信。
而192.168.0.1/25与192.168.0.65/25,虽然子网掩码一致,但不属于同一网段,前者是192.168.0.0 后者是192.168.0.64,不能进行通信。
备注:
网络号简单计算方法: 网络位不变,主机位全变0,计算方法如本例 192.168.0.1/25 后面的25就是网络位占用25位剩余的7位是主机位的意思,
等同于 192.168.0.1 255.255.255.128
转换为二进制 ip为11000000.10101000.00000000.00000001
掩码 11111111.11111111.11111111.10000000
从左到右,前25位为网络位(1对应的即网络位),这25位不变,后7位(主机 位)置0得出结果为:
11000000.10101000.00000000.0 0000000转换为点分十进制即为 192.168.0.0/25
子网掩码:
子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。
参考资料
子网掩码.百度百科[引用时间2018-1-5]
你试一下 192.168.1.2/24和192.168.1.1/8 通不通?结果是通,所以你的问题就不对