先说明网段,斜线/后的数字表示需要暴露出来的位数,即转换为32位二进制之后从最高位开始,值为1的位数。
计算过程
现有网段10.0.0.0/24,计算IP个数。
10.0.0.0/24
转换为二进制
0000 1100.0000 0000.0000 0000.0000 0000
根据/24计算掩码的二进制。前24位是1
1111 1111.1111 1111.1111 1111.0000 0000
换算为十进制,即得到子网掩码
255.255.255.0
上边两个二进制与运算(且的关系,11得1,其他均为0)得到网络id。
0000 1100.0000 0000.0000 0000.0000 0000
即 10.0.0.0
计算网络标识。即非掩码部分,这里是后8位全部为0的IP地址
0000 1100.0000 0000.0000 0000.**0000 0000**
也就是网关:10.0.0.0
计算广播地址,非掩码部分全为1
0000 1100.0000 0000.0000 0000.**1111 1111**
广播地址是:10.0.0.255
IP处于10.0.0.0~10.0.0.255之间
计算到IP个数:
28-2=254
快速计算:32减去掩码/后的数字,即网络位,得到的就是主机位n,2的n次方得到所有IP,去除网关和广播占用的两个,剩下的就是可用IP。即2n-2
一些计算实例
192.168.0.0/16
1100 0000.1010 1000.0000 0000.0000 0000
1111 1111.1111 1111.0000 0000.0000 0000
1100 0000.1010 1000.0000 0000.0000 0000
网关:102.168.0.0
广播:192.168.255.255
IP个数:2^16^-2=65536
10.192.168.0/24
0000 1100.1100 0000.1010 1000.0000 0000
1111 1111.1111 1111.1111 1111.0000 0000
0000 1100.1100 0000.1010 1000.0000 0000
10.192.168.0
10.192.168.255
10.192.160.0/23
0000 1100.1100 0000.1010 0000.0000 0000
1111 1111.1111 1111.1111 1110.0000 0000
0000 1100.1100 0000.1010 0000.0000 0000
10.192.160.0
10.192.161.255
10.192.160.1~10.192.161.254