如何通过子网掩码判断是否在同一个网络内

发布网友

我来回答

1个回答

热心网友

要想在同一网段,必需做到网络标识相同,那网络标识怎么算呢?

  各类IP的网络标识算法都是不一样的。

  A类,只算第一段。
  B类,只算第一、二段。
  C类,算第一、二、三段。

  算法只要把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.11011010
  255.255.254.0 11111111.11111111.11111110.00000000

  分别AND,得

  10111100.10111100.00000000.00000000
  10111100.10111100.00000100.00000000

  网络标识不一样,即不在同一网段。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com