怎么计算出2个不同的IP是否在同一网段,学校考试了

来源:百度知道 编辑:UC知道 时间:2024/06/03 13:36:02

给出一个ip地址,例如192.168.0.1,计算下如果划分成4个子网,以及主机数量和有效ip地址范围
首先它是个c类地址,c类的默认子网掩码是255.255.255.0,
但是这样似乎太大了,增加了广播域,浪费ip地址,因此要自配个子网掩码.

由于是c类地址,前****255****网络位,0代表主机位,由于要划分4个子网,因此从主机位借网络位,这样就可以大大增加ip的利用率了,既然是二进制,所以2的2次方=4,如果是6个子网,就要求这个通用的不等式:假设从主机位上借了n位
即:2的n次方>6 这样可以算出n起码要大于等于3,为了节约ip地址,所以选接近6的解,即n=3,

注意 因上述c类地址第4个8位换算成二进制为00000000,借了3位就是11100000,注意111,它就是从主机位变成了网络位,又因为是3位,它的子网络分别是000,001,010,011,100,101,110,111, 这样正好验证了我们前面n=3的解是对的,
由于基数是256,又因为2的8次方=256,这个8是表示默认c类子网掩码主机位的位数为8位,

256/8=32 这个8是2的3次方算出来的,为什么用256/8呢?因为既然有256个主机数量,要划分成个8个子网,
这个很容易理解,100个苹果,10个人分,要求平均,所以100/10=10
256-32=224这表明是最后个主机,子网掩码为255.255.255.224

既然算出来的32代表每个子网里的主机数量,可以用比较笨的方法算出来8个子网里的主机地址:
从0-256里逐渐加32,同理二进制也一样,反正包含32个,为什么?因为二进制里8位的表示方法为00000000,以及11111111,从00000000到11111111,换算成二进制得出为0-256

网络id可以算出来做ip地址与子网掩码的"与"运算
ip192.168.0.1写成二进制01100000,10101000,00000000,00000001
掩码255.255.255.224换算11111111,1111