Netmask

CIDR的计算比较简单,比如10.0.0.0/24,掩码24,前三个8位不变,最后一个8为0~255,也就是10.0.0.0~10.0.0.255

稍微IP段再大一点10.0.0.0/20,掩码20,前两个8位不变,第三个8位前4位不变,后两个8位换成二进制也就是

00000000 00000000 ~ 00001111 11111111

换算一下也就是10.0.0.0~10.0.15.255,包含有4096个IP地址

Linux下有一个简单的计算工具,名字就叫netmask,用apt或者yun安装即可,用起来更十分简单

lihui@2015:~$ netmask -r 10.0.0.0/20
       10.0.0.0-10.0.15.255     (4096)
lihui@2015:~$ netmask -c 10.0.0.0~10.0.15.255
^C
lihui@2015:~$ netmask -c 10.0.0.0:10.0.15.255
       10.0.0.0/20
lihui@2015:~$ netmask -b 10.0.15.255
00001010 00000000 00001111 11111111 / 11111111 11111111 11111111 11111111

更多的用法可以直接找man

Code控们,可以搜索下各种版本的转换脚本,java,python,perl都有

http://www.cnblogs.com/diyunpeng/p/3456784.html

发表回复