ip地址运算:给出一个ip地址,例如192.168.0.1,如果划分成4个子网,以及主机数量和有效ip地址范围

首先它是个c类地址,c类的默认子网掩码是255.255.255.0,
由于是c类地址,255.255.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,11111111,11111111,11100000
=01100000,10101000,00000000,0000000换算十进制192.168.0.0
广播地址把ip主机位上全填1, 由于网络位为27位,即主机位为5位,01100000,10101000,00000000,00011111换算十进制192.168.0.31

地址范围为192.168.0.1-192.168.0.30,本来是192.168.0.0-192.168.0.31共有32个,但是首尾两个规定了不能用,又因为有8个子网
其余7个子网ip地址范围是192.168.0.33-192.168.0.63 网络id 192.168.0.32
192.168.0.65-192.168.0.95 同理192.168.0.64
192.168.0.97-192.168.0.127 96
192.168.0.129-192.168.0.159 依次类推
192.168.0.161-192.168.0.191
192.168.0.193-192.168.0.223
192.168.0.225-192.168.0.255

posted on 2019-05-19 23:23  幽旅  阅读(144)  评论(0编辑  收藏  举报